aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppbuiltin.c
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2021-06-25 06:54:17 -0700
committerPierre-Marie de Rodat <derodat@adacore.com>2021-09-20 12:31:32 +0000
commit325443d24bb480a2c75d36496f1ccc3fe2943968 (patch)
tree6a6dcbc0402bd4488f5132788adf75eeeacd4cba /gcc/cppbuiltin.c
parent535a706f7e6ee32aab2b6c667d4d1b807d7ef1e6 (diff)
downloadgcc-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