diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2022-06-08 13:14:46 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-07-06 13:29:47 +0000 |
commit | c061e99b7dec27f2dd4f154b95dd42cd477bf6ef (patch) | |
tree | e8d9d8783702ab2caad007faea03b6663ac1d956 /compile | |
parent | b33dd7874523af5c244fff3c45be1358815691e4 (diff) | |
download | gcc-c061e99b7dec27f2dd4f154b95dd42cd477bf6ef.zip gcc-c061e99b7dec27f2dd4f154b95dd42cd477bf6ef.tar.gz gcc-c061e99b7dec27f2dd4f154b95dd42cd477bf6ef.tar.bz2 |
[Ada] Fix spurious error for aggregate with box component choice
It comes from the Volatile_Full_Access (or Atomic) aspect: the aggregate is
effectively analyzed/resolved twice and this does not work. It is fixed by
calling Is_Full_Access_Aggregate before resolution.
gcc/ada/
* exp_aggr.adb (Expand_Record_Aggregate): Do not call
Is_Full_Access_Aggregate here.
* freeze.ads (Is_Full_Access_Aggregate): Delete.
* freeze.adb (Is_Full_Access_Aggregate): Move to...
(Freeze_Entity): Do not call Is_Full_Access_Aggregate here.
* sem_aggr.adb (Is_Full_Access_Aggregate): ...here
(Resolve_Aggregate): Call Is_Full_Access_Aggregate here.
Diffstat (limited to 'compile')
0 files changed, 0 insertions, 0 deletions