diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/unchecked_convert8.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/unchecked_convert8.adb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/unchecked_convert8.adb b/gcc/testsuite/gnat.dg/unchecked_convert8.adb new file mode 100644 index 000000000..0b8f8d12d --- /dev/null +++ b/gcc/testsuite/gnat.dg/unchecked_convert8.adb @@ -0,0 +1,34 @@ +-- { dg-do compile } +-- { dg-options "-g -O" } + +with Ada.Unchecked_Conversion; + +package body Unchecked_Convert8 is + + type T1 is range 0 .. 255; + + type T2 is + record + A : T1; + B : T1; + end record; + + for T2 use + record + A at 0 range 0 .. 7; + B at 1 range 0 .. 7; + end record; + + for T2'Size use 16; + + type T3 is range 0 .. (2**16 - 1); + for T3'Size use 16; + + function T2_TO_T3 is + new Ada.Unchecked_Conversion (Source => T2, Target => T3); + + C : constant T3 := T2_TO_T3 (S => (A => 0, B => 0)); + + procedure Dummy is begin null; end; + +end Unchecked_Convert8; |