fe.h (Serious_Errors_Detected): New macro.
authorEric Botcazou <ebotcazou@adacore.com>
Thu, 10 Nov 2011 19:45:17 +0000 (19:45 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Thu, 10 Nov 2011 19:45:17 +0000 (19:45 +0000)
commit033ba5bf9cbcdfb60cccbf61796b19b792de0ac9
tree5894e158f9de464a9516a560a37795fd3caeab43
parent8b01bdb087c5112274565d75c9db2250440ee044
fe.h (Serious_Errors_Detected): New macro.

* 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.

From-SVN: r181267
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]