summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2011-03-24 15:15:44 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2011-03-24 15:15:44 +0000
commit3aac0828b6757484a985c309ad6affa8025604e6 (patch)
treec1c65e774a237e5997724407c49c3b5a2b70bd41 /gcc/testsuite/gnat.dg
parent45c0b11876b56c2a46d1d9a13bb6e0ab5ec9326f (diff)
downloadgcc-3aac0828b6757484a985c309ad6affa8025604e6.tar.gz
* gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
non-conversion to the nominal result type at the end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171398 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gnat.dg')
-rw-r--r--gcc/testsuite/gnat.dg/derived_type2.adb40
1 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/derived_type2.adb b/gcc/testsuite/gnat.dg/derived_type2.adb
new file mode 100644
index 00000000000..607eb0b22c4
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/derived_type2.adb
@@ -0,0 +1,40 @@
+-- { dg-do run }
+-- { dg-options "-gnatws" }
+
+procedure Derived_Type2 is
+
+ package Pkg is
+
+ type Parent (B : Boolean := True) is record
+ case B is
+ when True => S : String (1 .. 5);
+ when False => F : Float;
+ end case;
+ end record;
+
+ function Create (X : Parent) return Parent;
+
+ end Pkg;
+
+ package body Pkg is
+
+ function Create (X : Parent) return Parent is
+ begin
+ return (True, "12345");
+ end;
+
+ end Pkg;
+
+ use Pkg;
+
+ type T is new Parent (True);
+
+ X : T;
+
+begin
+
+ if Create (X).B /= True then
+ raise Program_Error;
+ end if;
+
+end;