diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/structs-enums/enum-discrim-manual-sizing.rs | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/structs-enums/enum-discrim-manual-sizing.rs')
-rw-r--r-- | src/test/ui/structs-enums/enum-discrim-manual-sizing.rs | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/src/test/ui/structs-enums/enum-discrim-manual-sizing.rs b/src/test/ui/structs-enums/enum-discrim-manual-sizing.rs deleted file mode 100644 index c8b362c99..000000000 --- a/src/test/ui/structs-enums/enum-discrim-manual-sizing.rs +++ /dev/null @@ -1,111 +0,0 @@ -// run-pass -#![allow(dead_code)] - -use std::mem::{size_of, align_of}; - -#[repr(i8)] -enum Ei8 { - Ai8 = 0, - Bi8 = 1 -} - -#[repr(u8)] -enum Eu8 { - Au8 = 0, - Bu8 = 1 -} - -#[repr(i16)] -enum Ei16 { - Ai16 = 0, - Bi16 = 1 -} - -#[repr(u16)] -enum Eu16 { - Au16 = 0, - Bu16 = 1 -} - -#[repr(i32)] -enum Ei32 { - Ai32 = 0, - Bi32 = 1 -} - -#[repr(u32)] -enum Eu32 { - Au32 = 0, - Bu32 = 1 -} - -#[repr(i64)] -enum Ei64 { - Ai64 = 0, - Bi64 = 1 -} - -#[repr(u64)] -enum Eu64 { - Au64 = 0, - Bu64 = 1 -} - -#[repr(isize)] -enum Eint { - Aint = 0, - Bint = 1 -} - -#[repr(usize)] -enum Euint { - Auint = 0, - Buint = 1 -} - -#[repr(u8)] -enum Eu8NonCLike<T> { - _None, - _Some(T), -} - -#[repr(i64)] -enum Ei64NonCLike<T> { - _None, - _Some(T), -} - -#[repr(u64)] -enum Eu64NonCLike<T> { - _None, - _Some(T), -} - -pub fn main() { - assert_eq!(size_of::<Ei8>(), 1); - assert_eq!(size_of::<Eu8>(), 1); - assert_eq!(size_of::<Ei16>(), 2); - assert_eq!(size_of::<Eu16>(), 2); - assert_eq!(size_of::<Ei32>(), 4); - assert_eq!(size_of::<Eu32>(), 4); - assert_eq!(size_of::<Ei64>(), 8); - assert_eq!(size_of::<Eu64>(), 8); - assert_eq!(size_of::<Eint>(), size_of::<isize>()); - assert_eq!(size_of::<Euint>(), size_of::<usize>()); - assert_eq!(size_of::<Eu8NonCLike<()>>(), 1); - assert_eq!(size_of::<Ei64NonCLike<()>>(), 8); - assert_eq!(size_of::<Eu64NonCLike<()>>(), 8); - let u8_expected_size = round_up(9, align_of::<Eu64NonCLike<u8>>()); - assert_eq!(size_of::<Eu64NonCLike<u8>>(), u8_expected_size); - let array_expected_size = round_up(28, align_of::<Eu64NonCLike<[u32; 5]>>()); - assert_eq!(size_of::<Eu64NonCLike<[u32; 5]>>(), array_expected_size); - assert_eq!(size_of::<Eu64NonCLike<[u32; 6]>>(), 32); - - assert_eq!(align_of::<Eu32>(), align_of::<u32>()); - assert_eq!(align_of::<Eu64NonCLike<u8>>(), align_of::<u64>()); -} - -// Rounds x up to the next multiple of a -fn round_up(x: usize, a: usize) -> usize { - ((x + (a - 1)) / a) * a -} |