diff options
author | Javier Miranda <miranda@adacore.com> | 2025-01-31 20:21:09 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@adacore.com> | 2025-06-06 16:44:46 +0200 |
commit | f59d33ad52cbc9c3096862a7e286021463a05998 (patch) | |
tree | ecbe6174d11111485842e6b6600ebc4af29f003a /gcc/cppdefault.h | |
parent | e0777e78bede3108d41a506d8877c03997bed2c5 (diff) | |
download | gcc-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