summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/volatile11.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/volatile11.adb')
-rw-r--r--gcc/testsuite/gnat.dg/volatile11.adb41
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;