]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Fix predicate involving array indexing rejected in generic package
authorEric Botcazou <ebotcazou@adacore.com>
Thu, 12 Dec 2024 22:08:30 +0000 (23:08 +0100)
committerMarc Poulhiès <dkm@gcc.gnu.org>
Mon, 6 Jan 2025 09:14:49 +0000 (10:14 +0100)
commit0d736433f9261fb9705f860a2e41cc407ecd972c
treebd9fcab966bf318c777fabb0bb0b593637cc4b6d
parent06bc21f49d9a11b2b53108c95d9c991e51f3a785
ada: Fix predicate involving array indexing rejected in generic package

The indexing is rejected with the message:

  error: reference to current instance of type does not denote a type

when it is applied to a prefix which is the current instance of the type
to which the predicate is applied.

There is already a specific handling of component selection for this case
present in Find_Selected_Component, so this adds an equivalent specific
handling of indexing for this case to Analyze_Indexed_Component_Form.

gcc/ada/ChangeLog:

PR ada/117569
* sem_ch4.adb (Analyze_Indexed_Component_Form): Do not rewrite the
node as a type conversion if it is the current instance of a type
in a generic unit.
* sem_ch8.adb (Find_Selected_Component): Restrict the special case
of the current instance of a type to a generic unit.
gcc/ada/sem_ch4.adb
gcc/ada/sem_ch8.adb