OSDN Git Service

* fe.h (Serious_Errors_Detected): New macro.
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Nov 2011 19:45:17 +0000 (19:45 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Nov 2011 19:45:17 +0000 (19:45 +0000)
commitf2bd5d546797abaf99d7cafb6add5003ff733ff3
tree5894e158f9de464a9516a560a37795fd3caeab43
parent022a1701c4517308af026c64c707883358b37f26
* fe.h (Serious_Errors_Detected): New macro.
* gcc-interface/gigi.h (build_atomic_load): Declare.
(build_atomic_store): Likewise.
* gcc-interface/trans.c (atomic_sync_required_p): New predicate.
(call_to_gnu): Add ATOMIC_SYNC parameter.  Use local variable.
Build an atomic load for an In or In Out parameter if needed.
Build an atomic store for the assignment of an Out parameter if needed.
Build an atomic store to the target if ATOMIC_SYNC is true.
(present_in_lhs_or_actual_p): New predicate.
(gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
<N_Explicit_Dereference>: Likewise.
<N_Indexed_Component>: Likewise.
<N_Selected_Component>: Likewise.
<N_Assignment_Statement>: Adjust call to call_to_gnu.
Build an atomic store to the LHS if needed.
<N_Function_Call>:  Adjust call to call_to_gnu.
* gcc-interface/utils2.c: Include toplev.h.
(resolve_atomic_size): New static function.
(build_atomic_load): New function.
(build_atomic_store): Likewise.
* gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181267 138bc75d-0d04-0410-961f-82ee72b054a4
16 files changed:
gcc/ada/ChangeLog
gcc/ada/fe.h
gcc/ada/gcc-interface/Make-lang.in
gcc/ada/gcc-interface/gigi.h
gcc/ada/gcc-interface/trans.c
gcc/ada/gcc-interface/utils2.c
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/atomic6_1.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/atomic6_2.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/atomic6_3.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/atomic6_4.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/atomic6_5.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/atomic6_6.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/atomic6_7.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/atomic6_8.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/atomic6_pkg.ads [new file with mode: 0644]