aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppdefault.h
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2025-01-31 20:21:09 +0000
committerEric Botcazou <ebotcazou@adacore.com>2025-06-06 16:44:46 +0200
commitf59d33ad52cbc9c3096862a7e286021463a05998 (patch)
treeecbe6174d11111485842e6b6600ebc4af29f003a /gcc/cppdefault.h
parente0777e78bede3108d41a506d8877c03997bed2c5 (diff)
downloadgcc-f59d33ad52cbc9c3096862a7e286021463a05998.zip
gcc-f59d33ad52cbc9c3096862a7e286021463a05998.tar.gz
gcc-f59d33ad52cbc9c3096862a7e286021463a05998.tar.bz2
ada: Constant_Indexing used when context requires a variable
In the case of an assignment where the type of its left hand side is an indexable container that has indexable container components (for example a container vector of container vectors), and both indexable containers have Constant_Indexing and Variable_Indexing aspects, the left hand side of the assignment is erroneously interpreted as constant indexing. The error results in spurious compile-time error messages saying that the left hand side of the assignment must be a variable. gcc/ada/ChangeLog: * sem_ch4.adb (Constant_Indexing_OK): Add missing support for RM 4.1.6(13/3), and improve performance to avoid climbing more than needed. Add documentation. (Try_Indexing_Function): New subprogram. (Expr_Matches_In_Formal): Added new formals. (Handle_Selected_Component): New subprogram. (Has_IN_Mode): New subprogram. (Try_Container_Indexing): Add documentation, code reorganization and extend its functionality to improve its support for prefixed notation calls.
Diffstat (limited to 'gcc/cppdefault.h')
0 files changed, 0 insertions, 0 deletions