aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2017-05-15 08:38:37 +0000
committerEric Botcazou <ebotcazou@adacore.com>2017-05-15 08:38:37 +0000
commite496630a3b8690d75ee2bab5a7d600e49ccfe9a1 (patch)
treeee56c6c11ae5ff44f5ae353f706b4c30556c06ab
parent68f644fb10082167e7c9afc0cd28a2e627ce997a (diff)
* gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete
types not coming from a limited context. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@248052 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/gcc-interface/trans.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 8fa7ab7821f..6d9a86d17fe 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,10 @@
2017-05-15 Eric Botcazou <ebotcazou@adacore.com>
+ * gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete
+ types not coming from a limited context.
+
+2017-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
* gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on
the inlined list that are not public.
* gcc-interface/utils.c (create_subprog_decl): Clear TREE_PUBLIC if
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index 117ce261b62..4c80053fabf 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -1044,7 +1044,7 @@ Identifier_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p)
&& (Etype (gnat_node)
== Packed_Array_Impl_Type (gnat_temp_type)))
|| (Is_Class_Wide_Type (Etype (gnat_node)))
- || (IN (Ekind (gnat_temp_type), Private_Kind)
+ || (IN (Ekind (gnat_temp_type), Incomplete_Or_Private_Kind)
&& Present (Full_View (gnat_temp_type))
&& ((Etype (gnat_node) == Full_View (gnat_temp_type))
|| (Is_Packed (Full_View (gnat_temp_type))