[Ada] ICE on array of task type with -gnatct
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 26 Sep 2018 09:17:10 +0000 (09:17 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Wed, 26 Sep 2018 09:17:10 +0000 (09:17 +0000)
2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Task_Type>: In
-gnatct mode, process the discriminants only for a definition.

From-SVN: r264610

gcc/ada/ChangeLog
gcc/ada/gcc-interface/decl.c

index 83685b4d07793284d1db131df9e21e7900702c68..a0252f8d1afb31eb511201c8258c97039296844c 100644 (file)
@@ -1,3 +1,8 @@
+2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Task_Type>: In
+       -gnatct mode, process the discriminants only for a definition.
+
 2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>
 
        * repinfo.adb (List_Record_Layout): Be prepared for JSON output.
index c15b0c8ef2e9280408e1de9d88d9788cd9675eee..8dd62f73d5e18cbaec5ab5a5bd0b21fb250383e2 100644 (file)
@@ -4158,7 +4158,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition)
         part of the associated body so they need to be translated.  */
       if (type_annotate_only && gnat_equiv_type == gnat_entity)
        {
-         if (Has_Discriminants (gnat_entity)
+         if (definition
+             && Has_Discriminants (gnat_entity)
              && Root_Type (gnat_entity) == gnat_entity)
            {
              tree gnu_field_list = NULL_TREE;