diff options
| -rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/ada/gcc-interface/decl.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 9316290..30428c6 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,10 @@ 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-22 Eric Botcazou <ebotcazou@adacore.com> + PR bootstrap/54820 * gcc-interface/Make-lang.in (GCC_LINK): Remove hardcoded options. diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index 3935bb3..cb40ee6 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -1503,7 +1503,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); |
