summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/gnat_malloc.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/gnat_malloc.adb')
-rw-r--r--gcc/testsuite/gnat.dg/gnat_malloc.adb25
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/gnat_malloc.adb b/gcc/testsuite/gnat.dg/gnat_malloc.adb
new file mode 100644
index 000000000..7e8d6140b
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/gnat_malloc.adb
@@ -0,0 +1,25 @@
+-- { dg-do run }
+-- { dg-options "-O2" }
+
+with Unchecked_Conversion;
+
+procedure gnat_malloc is
+
+ type int1 is new integer;
+ type int2 is new integer;
+ type a1 is access int1;
+ type a2 is access int2;
+
+ function to_a2 is new Unchecked_Conversion (a1, a2);
+
+ v1 : a1 := new int1;
+ v2 : a2 := to_a2 (v1);
+
+begin
+ v1.all := 1;
+ v2.all := 0;
+
+ if v1.all /= 0 then
+ raise Program_Error;
+ end if;
+end;