diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 8fa7ab7..6d9a86d 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 117ce26..4c80053 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))