diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2018-12-11 11:10:27 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2018-12-11 11:10:27 +0000 |
commit | 504775519d3199ea89400f85a599cb791f736cb7 (patch) | |
tree | ccc7225b608c67e93265f33bc741e4dac5c7e268 /gcc/ada/gcc-interface/Make-lang.in | |
parent | f3e0577c2a2d3463ec8e05ec187ed7ad4f906159 (diff) | |
download | gcc-504775519d3199ea89400f85a599cb791f736cb7.zip gcc-504775519d3199ea89400f85a599cb791f736cb7.tar.gz gcc-504775519d3199ea89400f85a599cb791f736cb7.tar.bz2 |
[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.
From-SVN: r266993
Diffstat (limited to 'gcc/ada/gcc-interface/Make-lang.in')
0 files changed, 0 insertions, 0 deletions