about summary refs log tree commit diff
path: root/tests/codegen/align-fn.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/align-fn.rs')
-rw-r--r--tests/codegen/align-fn.rs143
1 files changed, 0 insertions, 143 deletions
diff --git a/tests/codegen/align-fn.rs b/tests/codegen/align-fn.rs
deleted file mode 100644
index cbc24e2ae2e..00000000000
--- a/tests/codegen/align-fn.rs
+++ /dev/null
@@ -1,143 +0,0 @@
-//@ compile-flags: -C no-prepopulate-passes -Z mir-opt-level=0 -Clink-dead-code
-//@ edition: 2024
-//@ ignore-wasm32 aligning functions is not currently supported on wasm (#143368)
-
-#![crate_type = "lib"]
-// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
-#![feature(rustc_attrs)]
-#![feature(fn_align)]
-
-// CHECK: align 16
-#[unsafe(no_mangle)]
-#[rustc_align(16)]
-pub fn fn_align() {}
-
-pub struct A;
-
-impl A {
-    // CHECK: align 16
-    #[unsafe(no_mangle)]
-    #[rustc_align(16)]
-    pub fn method_align(self) {}
-
-    // CHECK: align 16
-    #[unsafe(no_mangle)]
-    #[rustc_align(16)]
-    pub fn associated_fn() {}
-}
-
-trait T: Sized {
-    fn trait_fn() {}
-
-    fn trait_method(self) {}
-
-    #[rustc_align(8)]
-    fn trait_method_inherit_low(self);
-
-    #[rustc_align(32)]
-    fn trait_method_inherit_high(self);
-
-    #[rustc_align(32)]
-    fn trait_method_inherit_default(self) {}
-
-    #[rustc_align(4)]
-    #[rustc_align(128)]
-    #[rustc_align(8)]
-    fn inherit_highest(self) {}
-}
-
-impl T for A {
-    // CHECK-LABEL: trait_fn
-    // CHECK-SAME: align 16
-    #[unsafe(no_mangle)]
-    #[rustc_align(16)]
-    fn trait_fn() {}
-
-    // CHECK-LABEL: trait_method
-    // CHECK-SAME: align 16
-    #[unsafe(no_mangle)]
-    #[rustc_align(16)]
-    fn trait_method(self) {}
-
-    // The prototype's align is ignored because the align here is higher.
-    // CHECK-LABEL: trait_method_inherit_low
-    // CHECK-SAME: align 16
-    #[unsafe(no_mangle)]
-    #[rustc_align(16)]
-    fn trait_method_inherit_low(self) {}
-
-    // The prototype's align is used because it is higher.
-    // CHECK-LABEL: trait_method_inherit_high
-    // CHECK-SAME: align 32
-    #[unsafe(no_mangle)]
-    #[rustc_align(16)]
-    fn trait_method_inherit_high(self) {}
-
-    // The prototype's align inherited.
-    // CHECK-LABEL: trait_method_inherit_default
-    // CHECK-SAME: align 32
-    #[unsafe(no_mangle)]
-    fn trait_method_inherit_default(self) {}
-
-    // The prototype's highest align inherited.
-    // CHECK-LABEL: inherit_highest
-    // CHECK-SAME: align 128
-    #[unsafe(no_mangle)]
-    #[rustc_align(32)]
-    #[rustc_align(64)]
-    fn inherit_highest(self) {}
-}
-
-trait HasDefaultImpl: Sized {
-    // CHECK-LABEL: inherit_from_default_method
-    // CHECK-LABEL: inherit_from_default_method
-    // CHECK-SAME: align 32
-    #[rustc_align(32)]
-    fn inherit_from_default_method(self) {}
-}
-
-pub struct InstantiateDefaultMethods;
-
-impl HasDefaultImpl for InstantiateDefaultMethods {}
-
-// CHECK-LABEL: align_specified_twice_1
-// CHECK-SAME: align 64
-#[unsafe(no_mangle)]
-#[rustc_align(32)]
-#[rustc_align(64)]
-pub fn align_specified_twice_1() {}
-
-// CHECK-LABEL: align_specified_twice_2
-// CHECK-SAME: align 128
-#[unsafe(no_mangle)]
-#[rustc_align(128)]
-#[rustc_align(32)]
-pub fn align_specified_twice_2() {}
-
-// CHECK-LABEL: align_specified_twice_3
-// CHECK-SAME: align 256
-#[unsafe(no_mangle)]
-#[rustc_align(32)]
-#[rustc_align(256)]
-pub fn align_specified_twice_3() {}
-
-const _: () = {
-    // CHECK-LABEL: align_unmangled
-    // CHECK-SAME: align 256
-    #[unsafe(no_mangle)]
-    #[rustc_align(32)]
-    #[rustc_align(256)]
-    extern "C" fn align_unmangled() {}
-};
-
-unsafe extern "C" {
-    #[rustc_align(256)]
-    fn align_unmangled();
-}
-
-// FIXME also check `gen` et al
-// CHECK-LABEL: async_align
-// CHECK-SAME: align 64
-#[unsafe(no_mangle)]
-#[rustc_align(64)]
-pub async fn async_align() {}