about summary refs log tree commit diff
path: root/src/test/incremental
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-02-14 10:32:25 +0000
committerbors <bors@rust-lang.org>2019-02-14 10:32:25 +0000
commitf47ec2ad5b6887b3d400aee49e2294bd27733d18 (patch)
tree8888f8d17504ecad6033bd1992efeb9e04145f93 /src/test/incremental
parentc67d4749a547a0c937e257ad9e0248075178ddc4 (diff)
parent410b4456ca52b6e90259d4aaf04376d862ad36d3 (diff)
downloadrust-f47ec2ad5b6887b3d400aee49e2294bd27733d18.tar.gz
rust-f47ec2ad5b6887b3d400aee49e2294bd27733d18.zip
Auto merge of #58455 - Centril:rollup, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #58309 (Add more profiler events)
 - #58347 (Closure bounds fixes)
 - #58365 (Add an option to print the status of incremental tasks / dep nodes after running them)
 - #58371 (Check user type annotations for range patterns.)
 - #58378 (rustc: Implement incremental "fat" LTO)
 - #58407 (specify "upper camel case" in style lint)
 - #58449 (Notify @topecongiro when the state of rustfmt has changed)

Failed merges:

r? @ghost
Diffstat (limited to 'src/test/incremental')
-rw-r--r--src/test/incremental/lto.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/test/incremental/lto.rs b/src/test/incremental/lto.rs
new file mode 100644
index 00000000000..2a3e3c2467c
--- /dev/null
+++ b/src/test/incremental/lto.rs
@@ -0,0 +1,40 @@
+// no-prefer-dynamic
+// revisions:rpass1 rpass2
+// compile-flags: -C lto
+
+mod x {
+    pub struct X {
+        x: u32, y: u32,
+    }
+
+    #[cfg(rpass1)]
+    fn make() -> X {
+        X { x: 22, y: 0 }
+    }
+
+    #[cfg(rpass2)]
+    fn make() -> X {
+        X { x: 11, y: 11 }
+    }
+
+    pub fn new() -> X {
+        make()
+    }
+
+    pub fn sum(x: &X) -> u32 {
+        x.x + x.y
+    }
+}
+
+mod y {
+    use x;
+
+    pub fn assert_sum() -> bool {
+        let x = x::new();
+        x::sum(&x) == 22
+    }
+}
+
+pub fn main() {
+    y::assert_sum();
+}