diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2014-10-30 09:35:42 +0000 |
---|---|---|
committer | <> | 2015-01-09 11:51:27 +0000 |
commit | c27a97d04853380f1e80525391b3f0d156ed4c84 (patch) | |
tree | 68ffaade7c605bc80cffa18360799c98a810976f /gcc/testsuite/gnat.dg/pack19.adb | |
parent | 6af3fdec2262dd94954acc5e426ef71cbd4521d3 (diff) | |
download | gcc-tarball-c27a97d04853380f1e80525391b3f0d156ed4c84.tar.gz |
Imported from /home/lorry/working-area/delta_gcc-tarball/gcc-4.9.2.tar.bz2.gcc-4.9.2
Diffstat (limited to 'gcc/testsuite/gnat.dg/pack19.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/pack19.adb | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/pack19.adb b/gcc/testsuite/gnat.dg/pack19.adb new file mode 100644 index 0000000000..601039ac0f --- /dev/null +++ b/gcc/testsuite/gnat.dg/pack19.adb @@ -0,0 +1,56 @@ +-- { dg-do run } + +procedure Pack19 is + + subtype Always_False is Boolean range False .. False; + + type Rec1 is record + B1 : Boolean; + B2 : Boolean; + B3 : Boolean; + B4 : Boolean; + B5 : Boolean; + B6 : Boolean; + B7 : Always_False; + B8 : Boolean; + end record; + pragma Pack (Rec1); + + subtype Always_True is Boolean range True .. True; + + type Rec2 is record + B1 : Boolean; + B2 : Boolean; + B3 : Boolean; + B4 : Boolean; + B5 : Boolean; + B6 : Boolean; + B7 : Always_True; + B8 : Boolean; + end record; + pragma Pack (Rec2); + + R1 : Rec1 := (True, True, True, True, True, True, False, False); + R2 : Rec2 := (False, False, False, False, False, False, True, True); + +begin + R1.B8 := True; + if R1.B7 /= False then + raise Program_Error; + end if; + + R1.B7 := False; + if R1.B7 /= False then + raise Program_Error; + end if; + + R2.B8 := False; + if R2.B7 /= True then + raise Program_Error; + end if; + + R2.B7 := True; + if R2.B7 /= True then + raise Program_Error; + end if; +end; |