OSDN Git Service

* gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Apr 2010 12:40:15 +0000 (12:40 +0000)
committerMasaki Muranaka <monaka@monami-software.com>
Sun, 23 May 2010 01:02:14 +0000 (10:02 +0900)
commitc5aac50f624d19b4fc5533f43b48dc927093c392
tree6b21c816a40072558abde9b7aa6db3590334ce3d
parent0767dca088849119146ad7ab5dc63db2073aabee
* gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
a statement.  Otherwise, if at top-level, push the processing of the
elaboration routine.  In the misaligned case, issue the error messages
again on entry and create the temporary explicitly.  Do not issue them
for CONSTRUCTORs.
For a function call, emit the range check if necessary.
In the copy-in copy-out case, create the temporary for the return
value explicitly.
Do not unnecessarily convert by-ref parameters to the formal's type.
Remove obsolete guards in conditions.
(gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
target to call_to_gnu in all cases.
(gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
(addressable_p) <CONSTRUCTOR>: Return false if not static.
<COMPOUND_EXPR>: New case.
* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
expression if it has unconstrained array type.
(gnat_mark_addressable) <COMPOUND_EXPR>: New case.
(gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
individual basis.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158371 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/gcc-interface/trans.c
gcc/ada/gcc-interface/utils2.c