diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:18:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:18:58 +0000 |
commit | a4b7ed7a42c716ab9f05e351f003d589124fd55d (patch) | |
tree | b620cd3f223850b28716e474e80c58059dca5dd4 /src/test/codegen/external-no-mangle-fns.rs | |
parent | Adding upstream version 1.67.1+dfsg1. (diff) | |
download | rustc-a4b7ed7a42c716ab9f05e351f003d589124fd55d.tar.xz rustc-a4b7ed7a42c716ab9f05e351f003d589124fd55d.zip |
Adding upstream version 1.68.2+dfsg1.upstream/1.68.2+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/codegen/external-no-mangle-fns.rs')
-rw-r--r-- | src/test/codegen/external-no-mangle-fns.rs | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/src/test/codegen/external-no-mangle-fns.rs b/src/test/codegen/external-no-mangle-fns.rs deleted file mode 100644 index 70349b2ec..000000000 --- a/src/test/codegen/external-no-mangle-fns.rs +++ /dev/null @@ -1,75 +0,0 @@ -// compile-flags: -C no-prepopulate-passes -// `#[no_mangle]`d functions always have external linkage, i.e., no `internal` in their `define`s - -#![crate_type = "lib"] -#![no_std] - -// CHECK: define{{( dso_local)?}} void @a() -#[no_mangle] -fn a() {} - -// CHECK: define{{( dso_local)?}} void @b() -#[no_mangle] -pub fn b() {} - -mod private { - // CHECK: define{{( dso_local)?}} void @c() - #[no_mangle] - fn c() {} - - // CHECK: define{{( dso_local)?}} void @d() - #[no_mangle] - pub fn d() {} -} - -const HIDDEN: () = { - // CHECK: define{{( dso_local)?}} void @e() - #[no_mangle] - fn e() {} - - // CHECK: define{{( dso_local)?}} void @f() - #[no_mangle] - pub fn f() {} -}; - -// The surrounding item should not accidentally become external -// CHECK-LABEL: ; external_no_mangle_fns::x -// CHECK-NEXT: ; Function Attrs: -// CHECK-NEXT: define internal -#[inline(never)] -fn x() { - // CHECK: define{{( dso_local)?}} void @g() - #[no_mangle] - fn g() { - x(); - } - - // CHECK: define{{( dso_local)?}} void @h() - #[no_mangle] - pub fn h() {} - - // side effect to keep `x` around - unsafe { - core::ptr::read_volatile(&42); - } -} - -// CHECK: define{{( dso_local)?}} void @i() -#[no_mangle] -#[inline] -fn i() {} - -// CHECK: define{{( dso_local)?}} void @j() -#[no_mangle] -#[inline] -pub fn j() {} - -// CHECK: define{{( dso_local)?}} void @k() -#[no_mangle] -#[inline(always)] -fn k() {} - -// CHECK: define{{( dso_local)?}} void @l() -#[no_mangle] -#[inline(always)] -pub fn l() {} |