trans.c (Handled_Sequence_Of_Statements_to_gnu): When not optimizing the CFG...
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): When not optimizing the CFG, clear the DECL_DECLARED_INLINE_P flag on the at-end procedures. From-SVN: r225004
This commit is contained in:
parent
a22b794dca
commit
bc583f7a9f
2 changed files with 14 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): When
|
||||
not optimizing the CFG, clear the DECL_DECLARED_INLINE_P flag on the
|
||||
at-end procedures.
|
||||
|
||||
2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc-interface/gigi.h (note_types_used_by_globals): Delete.
|
||||
|
|
|
@ -4880,8 +4880,14 @@ Handled_Sequence_Of_Statements_to_gnu (Node_Id gnat_node)
|
|||
to the binding level we made above. Note that add_cleanup is FIFO
|
||||
so we must register this cleanup after the EH cleanup just above. */
|
||||
if (at_end)
|
||||
add_cleanup (build_call_n_expr (gnat_to_gnu (At_End_Proc (gnat_node)), 0),
|
||||
gnat_cleanup_loc_node);
|
||||
{
|
||||
tree proc_decl = gnat_to_gnu (At_End_Proc (gnat_node));
|
||||
/* When not optimizing, disable inlining of finalizers as this can
|
||||
create a more complex CFG in the parent function. */
|
||||
if (!optimize)
|
||||
DECL_DECLARED_INLINE_P (proc_decl) = 0;
|
||||
add_cleanup (build_call_n_expr (proc_decl, 0), gnat_cleanup_loc_node);
|
||||
}
|
||||
|
||||
/* Now build the tree for the declarations and statements inside this block.
|
||||
If this is SJLJ, set our jmp_buf as the current buffer. */
|
||||
|
|
Loading…
Add table
Reference in a new issue