1
1
// Copyright Kani Contributors
2
2
// SPDX-License-Identifier: Apache-2.0 OR MIT
3
3
4
- // Check that we get the expected results for the `min_align_of_val ` intrinsic
4
+ // Check that we get the expected results for the `align_of_val ` intrinsic
5
5
// with common data types. Note that these tests assume an x86_64 architecture,
6
6
// which is the only architecture supported by Kani at the moment.
7
7
#![ feature( core_intrinsics) ]
8
- use std:: intrinsics:: min_align_of_val ;
8
+ use std:: intrinsics:: align_of_val ;
9
9
10
10
struct MyStruct {
11
11
val : u32 ,
@@ -26,55 +26,55 @@ fn main() {
26
26
#[ cfg( target_arch = "x86_64" ) ]
27
27
unsafe {
28
28
// Scalar types
29
- assert ! ( min_align_of_val ( & 0i8 ) == 1 ) ;
30
- assert ! ( min_align_of_val ( & 0i16 ) == 2 ) ;
31
- assert ! ( min_align_of_val ( & 0i32 ) == 4 ) ;
32
- assert ! ( min_align_of_val ( & 0i64 ) == 8 ) ;
33
- assert ! ( min_align_of_val ( & 0i128 ) == 16 ) ;
34
- assert ! ( min_align_of_val ( & 0isize ) == 8 ) ;
35
- assert ! ( min_align_of_val ( & 0u8 ) == 1 ) ;
36
- assert ! ( min_align_of_val ( & 0u16 ) == 2 ) ;
37
- assert ! ( min_align_of_val ( & 0u32 ) == 4 ) ;
38
- assert ! ( min_align_of_val ( & 0u64 ) == 8 ) ;
39
- assert ! ( min_align_of_val ( & 0u128 ) == 16 ) ;
40
- assert ! ( min_align_of_val ( & 0usize ) == 8 ) ;
41
- assert ! ( min_align_of_val ( & 0f32 ) == 4 ) ;
42
- assert ! ( min_align_of_val ( & 0f64 ) == 8 ) ;
43
- assert ! ( min_align_of_val ( & false ) == 1 ) ;
44
- assert ! ( min_align_of_val ( & ( 0 as char ) ) == 4 ) ;
29
+ assert ! ( align_of_val ( & 0i8 ) == 1 ) ;
30
+ assert ! ( align_of_val ( & 0i16 ) == 2 ) ;
31
+ assert ! ( align_of_val ( & 0i32 ) == 4 ) ;
32
+ assert ! ( align_of_val ( & 0i64 ) == 8 ) ;
33
+ assert ! ( align_of_val ( & 0i128 ) == 16 ) ;
34
+ assert ! ( align_of_val ( & 0isize ) == 8 ) ;
35
+ assert ! ( align_of_val ( & 0u8 ) == 1 ) ;
36
+ assert ! ( align_of_val ( & 0u16 ) == 2 ) ;
37
+ assert ! ( align_of_val ( & 0u32 ) == 4 ) ;
38
+ assert ! ( align_of_val ( & 0u64 ) == 8 ) ;
39
+ assert ! ( align_of_val ( & 0u128 ) == 16 ) ;
40
+ assert ! ( align_of_val ( & 0usize ) == 8 ) ;
41
+ assert ! ( align_of_val ( & 0f32 ) == 4 ) ;
42
+ assert ! ( align_of_val ( & 0f64 ) == 8 ) ;
43
+ assert ! ( align_of_val ( & false ) == 1 ) ;
44
+ assert ! ( align_of_val ( & ( 0 as char ) ) == 4 ) ;
45
45
// Compound types (tuple and array)
46
- assert ! ( min_align_of_val ( & ( 0i32 , 0i32 ) ) == 4 ) ;
47
- assert ! ( min_align_of_val ( & [ 0i32 ; 5 ] ) == 4 ) ;
46
+ assert ! ( align_of_val ( & ( 0i32 , 0i32 ) ) == 4 ) ;
47
+ assert ! ( align_of_val ( & [ 0i32 ; 5 ] ) == 4 ) ;
48
48
// Custom data types (struct and enum)
49
- assert ! ( min_align_of_val ( & MyStruct { val: 0u32 } ) == 4 ) ;
50
- assert ! ( min_align_of_val ( & MyEnum :: Variant ) == 1 ) ;
51
- assert ! ( min_align_of_val ( & CStruct { a: 0u8 , b: 0i32 } ) == 4 ) ;
49
+ assert ! ( align_of_val ( & MyStruct { val: 0u32 } ) == 4 ) ;
50
+ assert ! ( align_of_val ( & MyEnum :: Variant ) == 1 ) ;
51
+ assert ! ( align_of_val ( & CStruct { a: 0u8 , b: 0i32 } ) == 4 ) ;
52
52
}
53
53
#[ cfg( target_arch = "aarch64" ) ]
54
54
unsafe {
55
55
// Scalar types
56
- assert ! ( min_align_of_val ( & 0i8 ) == 1 ) ;
57
- assert ! ( min_align_of_val ( & 0i16 ) == 2 ) ;
58
- assert ! ( min_align_of_val ( & 0i32 ) == 4 ) ;
59
- assert ! ( min_align_of_val ( & 0i64 ) == 8 ) ;
60
- assert ! ( min_align_of_val ( & 0i128 ) == 16 ) ;
61
- assert ! ( min_align_of_val ( & 0isize ) == 8 ) ;
62
- assert ! ( min_align_of_val ( & 0u8 ) == 1 ) ;
63
- assert ! ( min_align_of_val ( & 0u16 ) == 2 ) ;
64
- assert ! ( min_align_of_val ( & 0u32 ) == 4 ) ;
65
- assert ! ( min_align_of_val ( & 0u64 ) == 8 ) ;
66
- assert ! ( min_align_of_val ( & 0u128 ) == 16 ) ;
67
- assert ! ( min_align_of_val ( & 0usize ) == 8 ) ;
68
- assert ! ( min_align_of_val ( & 0f32 ) == 4 ) ;
69
- assert ! ( min_align_of_val ( & 0f64 ) == 8 ) ;
70
- assert ! ( min_align_of_val ( & false ) == 1 ) ;
71
- assert ! ( min_align_of_val ( & ( 0 as char ) ) == 4 ) ;
56
+ assert ! ( align_of_val ( & 0i8 ) == 1 ) ;
57
+ assert ! ( align_of_val ( & 0i16 ) == 2 ) ;
58
+ assert ! ( align_of_val ( & 0i32 ) == 4 ) ;
59
+ assert ! ( align_of_val ( & 0i64 ) == 8 ) ;
60
+ assert ! ( align_of_val ( & 0i128 ) == 16 ) ;
61
+ assert ! ( align_of_val ( & 0isize ) == 8 ) ;
62
+ assert ! ( align_of_val ( & 0u8 ) == 1 ) ;
63
+ assert ! ( align_of_val ( & 0u16 ) == 2 ) ;
64
+ assert ! ( align_of_val ( & 0u32 ) == 4 ) ;
65
+ assert ! ( align_of_val ( & 0u64 ) == 8 ) ;
66
+ assert ! ( align_of_val ( & 0u128 ) == 16 ) ;
67
+ assert ! ( align_of_val ( & 0usize ) == 8 ) ;
68
+ assert ! ( align_of_val ( & 0f32 ) == 4 ) ;
69
+ assert ! ( align_of_val ( & 0f64 ) == 8 ) ;
70
+ assert ! ( align_of_val ( & false ) == 1 ) ;
71
+ assert ! ( align_of_val ( & ( 0 as char ) ) == 4 ) ;
72
72
// Compound types (tuple and array)
73
- assert ! ( min_align_of_val ( & ( 0i32 , 0i32 ) ) == 4 ) ;
74
- assert ! ( min_align_of_val ( & [ 0i32 ; 5 ] ) == 4 ) ;
73
+ assert ! ( align_of_val ( & ( 0i32 , 0i32 ) ) == 4 ) ;
74
+ assert ! ( align_of_val ( & [ 0i32 ; 5 ] ) == 4 ) ;
75
75
// Custom data types (struct and enum)
76
- assert ! ( min_align_of_val ( & MyStruct { val: 0u32 } ) == 4 ) ;
77
- assert ! ( min_align_of_val ( & MyEnum :: Variant ) == 1 ) ;
78
- assert ! ( min_align_of_val ( & CStruct { a: 0u8 , b: 0i32 } ) == 4 ) ;
76
+ assert ! ( align_of_val ( & MyStruct { val: 0u32 } ) == 4 ) ;
77
+ assert ! ( align_of_val ( & MyEnum :: Variant ) == 1 ) ;
78
+ assert ! ( align_of_val ( & CStruct { a: 0u8 , b: 0i32 } ) == 4 ) ;
79
79
}
80
80
}
0 commit comments