Commit 16f19962 by Eric Botcazou Committed by Arnaud Charlet

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
parent 1d4b96e0
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> 2015-11-12 Pierre-Marie de Rodat <derodat@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity): Create * gcc-interface/decl.c (gnat_to_gnu_entity): Create
...@@ -16,7 +21,6 @@ ...@@ -16,7 +21,6 @@
Consider N_Defining_Operator_Symbol as valid entities. Consider N_Defining_Operator_Symbol as valid entities.
(gnat_write_global_declarations): Output debugging information (gnat_write_global_declarations): Output debugging information
for top-level imported declarations. for top-level imported declarations.
* gcc-interface/Makefile.in: Fix typo.
2015-11-12 Emmanuel Briot <briot@adacore.com> 2015-11-12 Emmanuel Briot <briot@adacore.com>
......
...@@ -148,7 +148,7 @@ GCC_CFLAGS = $(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS) ...@@ -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, # We don't use cross-make. Instead we use the tools from the build tree,
# if they are available. # 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 = program_transform_name =
objdir = . objdir = .
......
...@@ -5971,12 +5971,13 @@ gnat_to_gnu (Node_Id gnat_node) ...@@ -5971,12 +5971,13 @@ gnat_to_gnu (Node_Id gnat_node)
skip them when they aren't needed. Avoid doing this if: skip them when they aren't needed. Avoid doing this if:
- there is a freeze node: in this case the renamed entity is not - 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 renamed subprogram is intrinsic: it will not be available in
the debugging information (note that both or only one of the the debugging information (note that both or only one of the
renaming and the renamed subprograms can be intrinsic). */ renaming and the renamed subprograms can be intrinsic). */
if (No (Freeze_Node (gnat_renaming)) if (!type_annotate_only
&& Needs_Debug_Info (gnat_renaming) && Needs_Debug_Info (gnat_renaming)
&& No (Freeze_Node (gnat_renaming))
&& Present (gnat_renamed) && Present (gnat_renamed)
&& (Ekind (gnat_renamed) == E_Function && (Ekind (gnat_renamed) == E_Function
|| Ekind (gnat_renamed) == E_Procedure) || Ekind (gnat_renamed) == E_Procedure)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment