aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/inline.adb
diff options
context:
space:
mode:
authorSteve Baird <baird@adacore.com>2023-11-03 16:00:20 -0700
committerMarc Poulhiès <poulhies@adacore.com>2023-11-30 11:12:47 +0100
commitcff5ecd412493784d88a963da248ca9a1b0a9f64 (patch)
treefb3ca3e5de81bb2c10ded19c1fc8014bb0bdbbf1 /gcc/ada/inline.adb
parent769e5925f6a076436981ba64335979b19106f828 (diff)
downloadgcc-cff5ecd412493784d88a963da248ca9a1b0a9f64.zip
gcc-cff5ecd412493784d88a963da248ca9a1b0a9f64.tar.gz
gcc-cff5ecd412493784d88a963da248ca9a1b0a9f64.tar.bz2
ada: Name resolution in expanded instances
In building the tree for an instance of a generic, expansion sets entity fields on names that refer to things declared outside of the instance, but leaves the entity field unset on names that should end up referring to things declared within the instance. These will instead be set by analysis - the idea is that if a name resolves a certain way in the generic, then we should get corresponding results if we resolve the corresponding name in an instance. For this to work, we have to prevent unrelated declarations that happen to be visible at the point of the instantiation from participating in resolution. Add code to filter out such unwanted name resolution candidates. gcc/ada/ * sem_ch8.adb (Find_Direct_Name): In the case of a resolving a name that occurs within an instantiation, add code to detect and filter out unwanted candidate resolutions. The filtering is performed via a call to Remove_Interp.
Diffstat (limited to 'gcc/ada/inline.adb')
0 files changed, 0 insertions, 0 deletions