File tree Expand file tree Collapse file tree 1 file changed +15
-8
lines changed Expand file tree Collapse file tree 1 file changed +15
-8
lines changed Original file line number Diff line number Diff line change 1
1
//@ compile-flags: -C no-prepopulate-passes -Z mir-opt-level=0
2
+ //@ edition: 2024
2
3
3
4
#![ crate_type = "lib" ]
4
5
#![ feature( fn_align) ]
5
6
6
7
// CHECK: align 16
7
- #[ no_mangle]
8
+ #[ unsafe ( no_mangle) ]
8
9
#[ align( 16 ) ]
9
10
pub fn fn_align ( ) { }
10
11
11
12
pub struct A ;
12
13
13
14
impl A {
14
15
// CHECK: align 16
15
- #[ no_mangle]
16
+ #[ unsafe ( no_mangle) ]
16
17
#[ align( 16 ) ]
17
18
pub fn method_align ( self ) { }
18
19
19
20
// CHECK: align 16
20
- #[ no_mangle]
21
+ #[ unsafe ( no_mangle) ]
21
22
#[ align( 16 ) ]
22
23
pub fn associated_fn ( ) { }
23
24
}
@@ -32,12 +33,12 @@ trait T: Sized {
32
33
33
34
impl T for A {
34
35
// CHECK: align 16
35
- #[ no_mangle]
36
+ #[ unsafe ( no_mangle) ]
36
37
#[ align( 16 ) ]
37
38
fn trait_fn ( ) { }
38
39
39
40
// CHECK: align 16
40
- #[ no_mangle]
41
+ #[ unsafe ( no_mangle) ]
41
42
#[ align( 16 ) ]
42
43
fn trait_method ( self ) { }
43
44
}
@@ -50,21 +51,21 @@ pub fn foo() {
50
51
51
52
// CHECK-LABEL: align_specified_twice_1
52
53
// CHECK-SAME: align 64
53
- #[ no_mangle]
54
+ #[ unsafe ( no_mangle) ]
54
55
#[ align( 32 ) ]
55
56
#[ align( 64 ) ]
56
57
pub fn align_specified_twice_1 ( ) { }
57
58
58
59
// CHECK-LABEL: align_specified_twice_2
59
60
// CHECK-SAME: align 128
60
- #[ no_mangle]
61
+ #[ unsafe ( no_mangle) ]
61
62
#[ align( 128 ) ]
62
63
#[ align( 32 ) ]
63
64
pub fn align_specified_twice_2 ( ) { }
64
65
65
66
// CHECK-LABEL: align_specified_twice_3
66
67
// CHECK-SAME: align 256
67
- #[ no_mangle]
68
+ #[ unsafe ( no_mangle) ]
68
69
#[ align( 32 ) ]
69
70
#[ align( 256 ) ]
70
71
pub fn align_specified_twice_3 ( ) { }
@@ -82,3 +83,9 @@ unsafe extern "C" {
82
83
#[ align( 256 ) ]
83
84
fn align_unmangled ( ) ;
84
85
}
86
+
87
+ // CHECK-LABEL: async_align
88
+ // CHECK-SAME: align 64
89
+ #[ unsafe( no_mangle) ]
90
+ #[ align( 64 ) ]
91
+ pub async fn async_align ( ) { }
You can’t perform that action at this time.
0 commit comments