diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2015-11-12 10:57:17 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-11-12 11:57:17 +0100 |
commit | 16f1996259366f82d31429463b0b80f7bdf3cd56 (patch) | |
tree | e61999e42262a8407cf7ede99079eca743f20b38 /gcc/ada/gcc-interface | |
parent | 1d4b96e007641088199133bb37a13338eb4fb2ff (diff) | |
download | gcc-16f1996259366f82d31429463b0b80f7bdf3cd56.zip gcc-16f1996259366f82d31429463b0b80f7bdf3cd56.tar.gz gcc-16f1996259366f82d31429463b0b80f7bdf3cd56.tar.bz2 |
trans.c (gnat_to_gnu): Do not materialize renamed subprograms if only annotating types.
2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Renaming_Decl>: Do
not materialize renamed subprograms if only annotating types.
From-SVN: r230228
Diffstat (limited to 'gcc/ada/gcc-interface')
-rw-r--r-- | gcc/ada/gcc-interface/Makefile.in | 2 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/trans.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index c2750fa..18ce6d5 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 b23cc51..ca66a03 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) |