trans.c (gnat_to_gnu): Do not materialize renamed subprograms if only annotating...
authorEric Botcazou <ebotcazou@adacore.com>
Thu, 12 Nov 2015 10:57:17 +0000 (10:57 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 12 Nov 2015 10:57:17 +0000 (11:57 +0100)
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

gcc/ada/ChangeLog
gcc/ada/gcc-interface/Makefile.in
gcc/ada/gcc-interface/trans.c

index 2afdfa2acfd50c9127c55a6bfc0191650ea2f4dc..f6a3f40c0b901b70ea3aad2284cace71f3735264 100644 (file)
@@ -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>
 
index c2750faeb219e587ff3aca5c149e13a109d1faba..18ce6d5c244b9af2a1aa34f3368be74c44777658 100644 (file)
@@ -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 = .
 
index b23cc51109265aa300620301804156f1b0c2f314..ca66a03e47eddade26052214b8bad8cc638f5b8a 100644 (file)
@@ -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)