From: charlet Date: Thu, 12 Nov 2015 10:57:17 +0000 (+0000) Subject: 2015-11-12 Eric Botcazou X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=698a7deb7e8e22f787992767de928d5f7326f50c;p=thirdparty%2Fgcc.git 2015-11-12 Eric Botcazou * gcc-interface/trans.c (gnat_to_gnu) : Do not materialize renamed subprograms if only annotating types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230228 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 2afdfa2acfd5..f6a3f40c0b90 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2015-11-12 Eric Botcazou + + * gcc-interface/trans.c (gnat_to_gnu) : Do + not materialize renamed subprograms if only annotating types. + 2015-11-12 Pierre-Marie de Rodat * gcc-interface/decl.c (gnat_to_gnu_entity): Create @@ -16,7 +21,6 @@ Consider N_Defining_Operator_Symbol as valid entities. (gnat_write_global_declarations): Output debugging information for top-level imported declarations. - * gcc-interface/Makefile.in: Fix typo. 2015-11-12 Emmanuel Briot diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index c2750faeb219..18ce6d5c244b 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -148,7 +148,7 @@ GCC_CFLAGS = $(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS) # We don't use cross-make. Instead we use the tools from the build tree, # if they are available. -# program_transform_name and objdir are set by configure.in. +# program_transform_name and objdir are set by configure.ac. program_transform_name = objdir = . diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index b23cc5110926..ca66a03e47ed 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -5971,12 +5971,13 @@ gnat_to_gnu (Node_Id gnat_node) skip them when they aren't needed. Avoid doing this if: - there is a freeze node: in this case the renamed entity is not - elaborated yet; + elaborated yet, - the renamed subprogram is intrinsic: it will not be available in the debugging information (note that both or only one of the renaming and the renamed subprograms can be intrinsic). */ - if (No (Freeze_Node (gnat_renaming)) + if (!type_annotate_only && Needs_Debug_Info (gnat_renaming) + && No (Freeze_Node (gnat_renaming)) && Present (gnat_renamed) && (Ekind (gnat_renamed) == E_Function || Ekind (gnat_renamed) == E_Procedure)