diff options
author | Ed Schonberg <schonberg@adacore.com> | 2019-07-09 07:55:17 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2019-07-09 07:55:17 +0000 |
commit | a9e470285b505c4eb28cfd4960a4f1541db5dad9 (patch) | |
tree | 346c0cc4df934a4f63f0fbc2f310f47560fe1aef /libcpp/line-map.c | |
parent | f0bfd1f91fdba41a6d9fa7ada6e02ea8121f604c (diff) | |
download | gcc-a9e470285b505c4eb28cfd4960a4f1541db5dad9.zip gcc-a9e470285b505c4eb28cfd4960a4f1541db5dad9.tar.gz gcc-a9e470285b505c4eb28cfd4960a4f1541db5dad9.tar.bz2 |
[Ada] Crash/infinite loop on program with multiple visibility errors
This patch fixes the behavior of the compiler on a program with multiple
visibility errors. Previous to this fix the compiler would either crash
or enter an infinite loop on a declaration for the formal in a
subprogram declaration, when the parameter type was given by a selected
component that does not denote an entity. This patch also specializes
the error message when a local overloadable name has a homonym that is a
child package, which may containt an otherwise hidden interpreatation.
No simple reproducer.
2019-07-09 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* sem_ch4.adb (Diagnose_Call): Improve error recovery when a
local subprogram name hides a possible candidate name declared
in a child package in the context of the current unit.
* sem_ch6.adb (Process_Formals): Protect against malformed
formal types when the parameter type does not denote an entity.
From-SVN: r273289
Diffstat (limited to 'libcpp/line-map.c')
0 files changed, 0 insertions, 0 deletions