aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorBob Duff <duff@adacore.com>2024-07-17 19:42:57 -0400
committerMarc Poulhiès <dkm@gcc.gnu.org>2024-08-06 10:54:30 +0200
commit070f973cd3b99ed57cd40582fa90eb08dc5f84c4 (patch)
tree4d1a08b5730f2b8bf339112f6591c983f842bfbe /libcpp
parent0c56fd6a1fe086e038e61041b82df63e98958e9c (diff)
downloadgcc-070f973cd3b99ed57cd40582fa90eb08dc5f84c4.zip
gcc-070f973cd3b99ed57cd40582fa90eb08dc5f84c4.tar.gz
gcc-070f973cd3b99ed57cd40582fa90eb08dc5f84c4.tar.bz2
ada: Reject use-clause conflicts in the run-time library
This patch fixes a bug where GNAT would fail to detect certain errors when compiling the run-time library. In particular, if two overloaded homographs are both directly visible, it would pick one, rather than complaining about the ambiguity. The problem was that some special-purpose code in Sem_Ch8 was trying to make a user name take precedence over some run-time library declaration that (incorrectly) appears to be visible because of rtsfind. The solution is to disable that code while compiling the run-time library itself. In addition, we fix the newly-found errors in the run-time library. gcc/ada/ * sem_ch8.adb (Find_Direct_Name): Disable the special-purpose code when we are actually compiling the run-time library itself. * libgnarl/a-exetim__posix.adb: Fix newly-found use-clause conflicts. * libgnat/a-direct.adb: Likewise. * libgnat/a-nbnbin.adb: Likewise. * libgnat/a-timoio__128.adb: Likewise. * libgnat/a-timoio.adb: Likewise. * libgnat/a-wtmoio__128.adb: Likewise. * libgnat/a-wtmoio.adb: Likewise. * libgnat/a-ztmoio__128.adb: Likewise. * libgnat/a-ztmoio.adb: Likewise.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions