r266993 - in /trunk/gcc: ada/ChangeLog ada/fe.h...
pmderodat@gcc.gnu.org
pmderodat@gcc.gnu.org
Tue Dec 11 11:10:00 GMT 2018
Author: pmderodat
Date: Tue Dec 11 11:10:27 2018
New Revision: 266993
URL: https://gcc.gnu.org/viewcvs?rev=266993&root=gcc&view=rev
Log:
[Ada] Complete implementation of RM C.6(19) clause
This ensures that the compiler fully implements the C.6(19) clause of
the Ada Reference Manual and gives a warning when the clause does change
the passing mechanism of the affected parameter.
2018-12-11 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* fe.h (Is_Atomic_Object): Declare.
(Is_Volatile_Object): Likewise.
* gcc-interface/trans.c (atomic_or_volatile_copy_required_p):
New.
(Call_to_gnu): Generate a copy for an actual parameter passed by
reference if the conditions set forth by RM C.6(19) are met and
specificially deal with an atomic actual parameter.
gcc/testsuite/
* gnat.dg/atomic11.adb, gnat.dg/atomic11_pkg1.ads,
gnat.dg/atomic11_pkg2.ads: New testcase.
Added:
trunk/gcc/testsuite/gnat.dg/atomic11.adb
trunk/gcc/testsuite/gnat.dg/atomic11_pkg1.ads
trunk/gcc/testsuite/gnat.dg/atomic11_pkg2.ads
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/fe.h
trunk/gcc/ada/gcc-interface/trans.c
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-cvs
mailing list