diff options
author | Bob Duff <duff@adacore.com> | 2024-07-17 19:42:57 -0400 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-08-06 10:54:30 +0200 |
commit | 070f973cd3b99ed57cd40582fa90eb08dc5f84c4 (patch) | |
tree | 4d1a08b5730f2b8bf339112f6591c983f842bfbe /libcpp | |
parent | 0c56fd6a1fe086e038e61041b82df63e98958e9c (diff) | |
download | gcc-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