[Ada] Implement RM C.6(19) clause entirely in the front-end

Programming / Compilers / GCC - pmderodat [138bc75d-0d04-0410-961f-82ee72b054a4] - 16 December 2019 10:33 UTC

2019-12-16 Eric Botcazou

gcc/ada/

- exp_ch6.adb (Requires_Atomic_Or_Volatile_Copy): New predicate. (Expand_Actuals): Use it to decide whether to add call by copy code as per the RM C.6(19) clause.
- fe.h (Is_Atomic_Object): Remove. (Is_Volatile_Object): Likewise.
- sem_util.ads (Is_Atomic_Object): Remove WARNING note. (Is_Volatile_Object): Likewise.
- gcc-interface/trans.c (atomic_or_volatile_copy_required_p): Delete. (Call_to_gnu): Do not implement the RM C.6(19) clause.

9c15b49b2e0 [Ada] Implement RM C.6(19) clause entirely in the front-end
gcc/ada/ChangeLog | 12 ++++++++
gcc/ada/exp_ch6.adb | 70 ++++++++++++++++++++++++++++++-------------
gcc/ada/fe.h | 4 ---
gcc/ada/gcc-interface/trans.c | 54 ++++-----------------------------
gcc/ada/sem_util.ads | 4 ---
5 files changed, 68 insertions(+), 76 deletions(-)

Upstream: gcc.gnu.org


  • Share