summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/assert1.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/assert1.adb')
-rw-r--r--gcc/testsuite/gnat.dg/assert1.adb39
1 files changed, 39 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/assert1.adb b/gcc/testsuite/gnat.dg/assert1.adb
new file mode 100644
index 000000000..d761cd0d9
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/assert1.adb
@@ -0,0 +1,39 @@
+-- { dg-do run }
+-- { dg-options "-gnatws" }
+
+pragma Assertion_Policy (Check);
+with Text_IO; use Text_IO;
+procedure assert1 is
+ type p1 is array (1 .. 113) of Boolean;
+ pragma Pack (p1);
+ type p2 is array (1 .. 13) of Boolean;
+ pragma Pack (p2);
+ type p3 is array (1 .. 113) of Boolean;
+ pragma Pack (p3);
+ for p3'size use 113;
+ type p4 is array (1 .. 13) of Boolean;
+ pragma Pack (p4);
+ for p4'size use 13;
+ v1 : p1;
+ v2 : p2;
+ v3 : p3;
+ v4 : p4;
+begin
+ pragma Assert (p1'Size = 120);
+ pragma Assert (p2'Size = 13);
+ pragma Assert (p3'Size = 113);
+ pragma Assert (p4'Size = 13);
+ pragma Assert (p1'Value_Size = 120);
+ pragma Assert (p2'Value_Size = 13);
+ pragma Assert (p3'Value_Size = 113);
+ pragma Assert (p4'Value_Size = 13);
+ pragma Assert (p1'Object_Size = 120);
+ pragma Assert (p2'Object_Size = 16);
+ pragma Assert (p3'Object_Size = 120);
+ pragma Assert (p4'Object_Size = 16);
+ pragma Assert (v1'Size = 120);
+ pragma Assert (v2'Size = 16);
+ pragma Assert (v3'Size = 120);
+ pragma Assert (v4'Size = 16);
+ null;
+end;