diff options
Diffstat (limited to 'tests/codegen-llvm/target-cpu-on-functions.rs')
| -rw-r--r-- | tests/codegen-llvm/target-cpu-on-functions.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/codegen-llvm/target-cpu-on-functions.rs b/tests/codegen-llvm/target-cpu-on-functions.rs new file mode 100644 index 00000000000..25c10e7ce44 --- /dev/null +++ b/tests/codegen-llvm/target-cpu-on-functions.rs @@ -0,0 +1,22 @@ +// This test makes sure that functions get annotated with the proper +// "target-cpu" attribute in LLVM. + +//@ no-prefer-dynamic +// +//@ compile-flags: -C no-prepopulate-passes -C panic=abort -C linker-plugin-lto -Cpasses=name-anon-globals + +#![crate_type = "staticlib"] + +// CHECK-LABEL: define {{.*}} @exported() {{.*}} #0 +#[no_mangle] +pub extern "C" fn exported() { + not_exported(); +} + +// CHECK-LABEL: ; target_cpu_on_functions::not_exported +// CHECK-NEXT: ; Function Attrs: +// CHECK-NEXT: define {{.*}}() {{.*}} #1 +#[inline(never)] +fn not_exported() {} + +// CHECK: attributes #0 = {{.*}} "target-cpu"="{{.*}}" |
