diff options
Diffstat (limited to 'src/test/codegen')
| -rw-r--r-- | src/test/codegen/link_section.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test/codegen/link_section.rs b/src/test/codegen/link_section.rs new file mode 100644 index 00000000000..99b43552b0d --- /dev/null +++ b/src/test/codegen/link_section.rs @@ -0,0 +1,36 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// compile-flags: -C no-prepopulate-passes + +// CHECK: @VAR1 = constant i32 1, section ".test_one" +#[no_mangle] +#[link_section = ".test_one"] +pub static VAR1: u32 = 1; + +pub enum E { + A(u32), + B(f32) +} + +// CHECK: @VAR2 = constant {{.*}} { i32 0, i32 666, {{.*}} }, section ".test_two" +#[no_mangle] +#[link_section = ".test_two"] +pub static VAR2: E = E::A(666); + +// CHECK: @VAR3 = constant {{.*}} { i32 1, float 1.000000e+00, {{.*}} }, section ".test_three" +#[no_mangle] +#[link_section = ".test_three"] +pub static VAR3: E = E::B(1.); + +// CHECK: define void @fn1() {{.*}} section ".test_four" { +#[no_mangle] +#[link_section = ".test_four"] +pub fn fn1() {} |
