diff options
author | Ed Schonberg <schonberg@adacore.com> | 2021-06-25 06:54:17 -0700 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-09-20 12:31:32 +0000 |
commit | 325443d24bb480a2c75d36496f1ccc3fe2943968 (patch) | |
tree | 6a6dcbc0402bd4488f5132788adf75eeeacd4cba /gcc/cppbuiltin.c | |
parent | 535a706f7e6ee32aab2b6c667d4d1b807d7ef1e6 (diff) | |
download | gcc-325443d24bb480a2c75d36496f1ccc3fe2943968.zip gcc-325443d24bb480a2c75d36496f1ccc3fe2943968.tar.gz gcc-325443d24bb480a2c75d36496f1ccc3fe2943968.tar.bz2 |
[Ada] Spurious link error with child unit and different Assertion modes.
gcc/ada/
* exp_util.ads (Force_Evaluation): Add formal parameter
Discr_Number, to indicate discriminant expression for which an
external name must be created.
(Remove_Side_Effects): Ditto.
* exp_util.adb (Force_Evaluation): Call Remove_Side_Effects with
added parameter.
(Remove_Side_Effects, Build_Temporary): If Discr_Number is
positive, create an external name with suffix DISCR and the
given discriminant number, analogous to what is done for
temporaries for array type bounds.
* sem_ch3.adb (Process_Discriminant_Expressions): If the
constraint is for an object or component declaration and the
corresponding entity may be visible in another unit, invoke
Force_Evaluation with the new parameter.
Diffstat (limited to 'gcc/cppbuiltin.c')
0 files changed, 0 insertions, 0 deletions