aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/cstreams.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2022-03-09 20:47:00 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2022-05-16 08:42:03 +0000
commit861b78a946b0d0936baed97fb17fe3c7b300a8c5 (patch)
treef8625731ca2c2ba3d78c4a9c1a8cc5dfbc73e07e /gcc/ada/cstreams.c
parent7c88e46a270212180767fc585dd190b7713702db (diff)
downloadgcc-861b78a946b0d0936baed97fb17fe3c7b300a8c5.zip
gcc-861b78a946b0d0936baed97fb17fe3c7b300a8c5.tar.gz
gcc-861b78a946b0d0936baed97fb17fe3c7b300a8c5.tar.bz2
[Ada] Fix internal error on predicate aspect with iterator
The semantic analysis of predicates involves a fair amount of tree copying because of both semantic and implementation considerations, and there is a difficulty with quantified expressions since they declare a new entity that cannot be shared between the various copies of the tree. This change implements a specific processing for it in New_Copy_Tree that subsumes a couple of fixes made earlier for variants of the issue. gcc/ada/ * sem_util.ads (Is_Entity_Of_Quantified_Expression): Declare. * sem_util.adb (Is_Entity_Of_Quantified_Expression): New predicate. (New_Copy_Tree): Deal with all entities of quantified expressions. * sem_ch13.adb (Build_Predicate_Functions): Get rid of superfluous tree copying and remove obsolete code. * sem_ch6.adb (Fully_Conformant_Expressions): Deal with all entities of quantified expressions.
Diffstat (limited to 'gcc/ada/cstreams.c')
0 files changed, 0 insertions, 0 deletions