]> git.ipfire.org Git - thirdparty/gcc.git/commit
[Ada] Fix internal error on untagged record type with equality operator
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 1 Jul 2022 08:47:36 +0000 (10:47 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Wed, 13 Jul 2022 10:01:14 +0000 (10:01 +0000)
commit6faa271f09f32b32a6f4e32e3964faadc8372907
treea1a014c040f8b542924dd97f9efa82bed6c6ae46
parent730814edc8b3c1bc872c54a39064ac59e2b8fdbd
[Ada] Fix internal error on untagged record type with equality operator

After the binding interpretation issued under AI12-0413, a user-defined
primitive equality operator of an untagged record type hides the predefined
equality operator in an instantiation, but this does not apply if the
instantiation appears in the same declarative region as the type and
before the declaration of this user-defined operator.

gcc/ada/

* sem_res.adb (Resolve_Equality_Op): Make sure that the user-defined
operator of an untagged record type is declared ahead of an instance
before using it to resolve the equality operator in the instance.
gcc/ada/sem_res.adb