diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/volatile11.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/volatile11.adb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/volatile11.adb b/gcc/testsuite/gnat.dg/volatile11.adb new file mode 100644 index 0000000000..54031d975a --- /dev/null +++ b/gcc/testsuite/gnat.dg/volatile11.adb @@ -0,0 +1,41 @@ +-- { dg-do run } +-- { dg-options "-O -gnatp" } + +with Volatile11_Pkg; use Volatile11_Pkg; + +procedure Volatile11 is + + Value : Integer := 1; + Bit1 : Boolean := false; + pragma Volatile (Bit1); + Bit2 : Boolean := false; + pragma Volatile (Bit2); + Bit3 : Boolean := false; + pragma Volatile (Bit3); + Bit4 : Boolean := false; + pragma Volatile (Bit4); + Bit5 : Boolean := false; + pragma Volatile (Bit5); + Bit6 : Boolean := false; + pragma Volatile (Bit6); + Bit7 : Boolean := false; + pragma Volatile (Bit7); + Bit8 : Boolean := false; + pragma Volatile (Bit8); + +begin + Bit_Test(Input => Value, + Output1 => Bit1, + Output2 => Bit2, + Output3 => Bit3, + Output4 => Bit4, + Output5 => Bit5, + Output6 => Bit6, + Output7 => Bit7, + Output8 => F.all); + + -- Check that F is invoked before Bit_Test + if B /= True then + raise Program_Error; + end if; +end; |