* gcc-interface/utils2.c (gnat_rewrite_reference) <REALPART_EXPR>: New
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 20 Dec 2015 10:38:09 +0000 (10:38 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 20 Dec 2015 10:38:09 +0000 (10:38 +0000)
case identical to FLOAT_EXPR.
<IMAGPART_EXPR>: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231861 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/gcc-interface/utils2.c
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/complex1.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/complex1_pkg.ads [new file with mode: 0644]

index 1a97c93..7226214 100644 (file)
@@ -1,5 +1,11 @@
 2015-12-20  Eric Botcazou  <ebotcazou@adacore.com>
 
+       * gcc-interface/utils2.c (gnat_rewrite_reference) <REALPART_EXPR>: New
+       case identical to FLOAT_EXPR.
+       <IMAGPART_EXPR>: Likewise.
+
+2015-12-20  Eric Botcazou  <ebotcazou@adacore.com>
+
        * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: During
        layout in type_annotate_only mode, skip discriminants of derived
        tagged types renaming those of the parent type.
index 8af121e..feed1cb 100644 (file)
@@ -2664,6 +2664,8 @@ gnat_rewrite_reference (tree ref, rewrite_fn func, void *data, tree *init)
     CASE_CONVERT:
     case FLOAT_EXPR:
     case FIX_TRUNC_EXPR:
+    case REALPART_EXPR:
+    case IMAGPART_EXPR:
     case VIEW_CONVERT_EXPR:
       result
        = build1 (code, type,
index b1c4833..6a3e044 100644 (file)
@@ -1,3 +1,8 @@
+2015-12-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/complex1.adb: New test.
+       * gnat.dg/complex1_pkg.ads: New helper.
+
 2015-12-19  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc.target/sparc/20151219-1.c: New test.
diff --git a/gcc/testsuite/gnat.dg/complex1.adb b/gcc/testsuite/gnat.dg/complex1.adb
new file mode 100644 (file)
index 0000000..f6b1d2c
--- /dev/null
@@ -0,0 +1,10 @@
+-- { dg-do compile }\r
+\r
+with Ada.Numerics.Complex_types; use Ada.Numerics.Complex_types;\r
+with Complex1_Pkg; use Complex1_Pkg;\r
+\r
+procedure Complex1 is\r
+  Z : Complex;\r
+begin\r
+  Coord (Z.Re, Z.Im);\r
+end;\r
diff --git a/gcc/testsuite/gnat.dg/complex1_pkg.ads b/gcc/testsuite/gnat.dg/complex1_pkg.ads
new file mode 100644 (file)
index 0000000..7d6e035
--- /dev/null
@@ -0,0 +1,5 @@
+package Complex1_Pkg is\r
+\r
+  procedure Coord (x,y : out Float);\r
+\r
+end Complex1_Pkg;\r