@@ -10,7 +10,12 @@ pub trait Copy {}
10
10
impl Copy for u32 { }
11
11
12
12
#[ repr( transparent) ]
13
- pub struct ReprTransparentU64 ( u64 ) ;
13
+ pub struct ReprTransparentStructU64 ( u64 ) ;
14
+
15
+ #[ repr( transparent) ]
16
+ pub enum ReprTransparentEnumU64 {
17
+ A ( u64 ) ,
18
+ }
14
19
15
20
#[ repr( C ) ]
16
21
pub struct U32Compound ( u16 , u16 ) ;
@@ -23,15 +28,15 @@ pub fn params(
23
28
f3 : extern "C-cmse-nonsecure-call" fn ( u64 , u64 ) ,
24
29
f4 : extern "C-cmse-nonsecure-call" fn ( u128 ) ,
25
30
f5 : extern "C-cmse-nonsecure-call" fn ( f64 , f32 , f32 ) ,
26
- f6 : extern "C-cmse-nonsecure-call" fn ( ReprTransparentU64 , U32Compound ) ,
31
+ f6 : extern "C-cmse-nonsecure-call" fn ( ReprTransparentStructU64 , U32Compound ) ,
27
32
f7 : extern "C-cmse-nonsecure-call" fn ( [ u32 ; 4 ] ) ,
28
33
) {
29
34
f1 ( ) ;
30
35
f2 ( 1 , 2 , 3 , 4 ) ;
31
36
f3 ( 1 , 2 ) ;
32
37
f4 ( 1 ) ;
33
38
f5 ( 1.0 , 2.0 , 3.0 ) ;
34
- f6 ( ReprTransparentU64 ( 1 ) , U32Compound ( 2 , 3 ) ) ;
39
+ f6 ( ReprTransparentStructU64 ( 1 ) , U32Compound ( 2 , 3 ) ) ;
35
40
f7 ( [ 0xDEADBEEF ; 4 ] ) ;
36
41
}
37
42
@@ -42,8 +47,9 @@ pub fn returns(
42
47
f3 : extern "C-cmse-nonsecure-call" fn ( ) -> i64 ,
43
48
f4 : extern "C-cmse-nonsecure-call" fn ( ) -> f64 ,
44
49
f5 : extern "C-cmse-nonsecure-call" fn ( ) -> [ u8 ; 4 ] ,
45
- f6 : extern "C-cmse-nonsecure-call" fn ( ) -> ReprTransparentU64 ,
46
- f7 : extern "C-cmse-nonsecure-call" fn ( ) -> U32Compound ,
50
+ f6 : extern "C-cmse-nonsecure-call" fn ( ) -> ReprTransparentStructU64 ,
51
+ f7 : extern "C-cmse-nonsecure-call" fn ( ) -> ReprTransparentEnumU64 ,
52
+ f8 : extern "C-cmse-nonsecure-call" fn ( ) -> U32Compound ,
47
53
) {
48
54
f1 ( ) ;
49
55
f2 ( ) ;
@@ -52,4 +58,5 @@ pub fn returns(
52
58
f5 ( ) ;
53
59
f6 ( ) ;
54
60
f7 ( ) ;
61
+ f8 ( ) ;
55
62
}
0 commit comments