r181267 - in /trunk/gcc: ada/ChangeLog ada/fe.h...
ebotcazou@gcc.gnu.org
ebotcazou@gcc.gnu.org
Thu Nov 10 19:45:00 GMT 2011
Author: ebotcazou
Date: Thu Nov 10 19:45:17 2011
New Revision: 181267
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181267
Log:
* 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.
Added:
trunk/gcc/testsuite/gnat.dg/atomic6_1.adb
trunk/gcc/testsuite/gnat.dg/atomic6_2.adb
trunk/gcc/testsuite/gnat.dg/atomic6_3.adb
trunk/gcc/testsuite/gnat.dg/atomic6_4.adb
trunk/gcc/testsuite/gnat.dg/atomic6_5.adb
trunk/gcc/testsuite/gnat.dg/atomic6_6.adb
trunk/gcc/testsuite/gnat.dg/atomic6_7.adb
trunk/gcc/testsuite/gnat.dg/atomic6_8.adb
trunk/gcc/testsuite/gnat.dg/atomic6_pkg.ads
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/fe.h
trunk/gcc/ada/gcc-interface/Make-lang.in
trunk/gcc/ada/gcc-interface/gigi.h
trunk/gcc/ada/gcc-interface/trans.c
trunk/gcc/ada/gcc-interface/utils2.c
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-cvs
mailing list