OSDN Git Service

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 Oct 2012 08:05:12 +0000 (08:05 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 Oct 2012 08:05:12 +0000 (08:05 +0000)
generate the special PARM_DECL for an Out parameter in LTO mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@192668 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/gcc-interface/decl.c

index 4fac921..f6a4f56 100644 (file)
@@ -1,3 +1,8 @@
+2012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
+       generate the special PARM_DECL for an Out parameter in LTO mode.
+
 2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
index 72bbd80..7c76698 100644 (file)
@@ -1508,7 +1508,11 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
           the VAR_DECL.  Suppress debug info for the latter but make sure it
           will live on the stack so that it can be accessed from within the
           debugger through the PARM_DECL.  */
-       if (kind == E_Out_Parameter && definition && !optimize && debug_info_p)
+       if (kind == E_Out_Parameter
+           && definition
+           && debug_info_p
+           && !optimize
+           && !flag_generate_lto)
          {
            tree param = create_param_decl (gnu_entity_name, gnu_type, false);
            gnat_pushdecl (param, gnat_entity);