aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2015-11-12 10:57:17 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2015-11-12 11:57:17 +0100
commit16f1996259366f82d31429463b0b80f7bdf3cd56 (patch)
treee61999e42262a8407cf7ede99079eca743f20b38
parent1d4b96e007641088199133bb37a13338eb4fb2ff (diff)
downloadgcc-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
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/gcc-interface/Makefile.in2
-rw-r--r--gcc/ada/gcc-interface/trans.c5
3 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 2afdfa2..f6a3f40 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
2015-11-12 Pierre-Marie de Rodat <derodat@adacore.com>
* 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 <briot@adacore.com>
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)