diff options
author | Steve Baird <baird@adacore.com> | 2025-02-07 12:29:46 -0800 |
---|---|---|
committer | Eric Botcazou <ebotcazou@adacore.com> | 2025-06-06 16:44:45 +0200 |
commit | 1189522245be51d435fcc6d205e690f086f12e46 (patch) | |
tree | a10e0e26a49abb4b1f828d3a514df80246eec373 /gcc/cppdefault.h | |
parent | 855fe3625493e3888df5da12aba945c243ec6650 (diff) | |
download | gcc-1189522245be51d435fcc6d205e690f086f12e46.zip gcc-1189522245be51d435fcc6d205e690f086f12e46.tar.gz gcc-1189522245be51d435fcc6d205e690f086f12e46.tar.bz2 |
ada: Incorrect unresolved operator name in an instantiation
In some cases, a generic containing a use of a unary operator successfully
compiles but the compiler incorrectly rejects the corresponding use in
an instantiation.
gcc/ada/ChangeLog:
* sem_ch4.adb
(Find_Unary_Types): Because we reanalyze names in an instance,
we sometimes have to take steps to filter out extraneous name
resolution candidates that happen to be visible at the point of the
instance declaration. Remove some code that appears to have been
written with this in mind. This is done for two reasons. First, the
code sometimes doesn't work (possibly because the In_Instance test
is not specific enough - it probably should be testing to see whether
we are in an instance of the particular generic in which the result
of calling Corresponding_Generic_Type was declared) and causes correct
code to be rejected. Second, the code seems to no longer be necessary
(possibly because of subsequent fixes in this area which are not
specific to unary operators).
Diffstat (limited to 'gcc/cppdefault.h')
0 files changed, 0 insertions, 0 deletions