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