diff options
author | Arnaud Charlet <charlet@adacore.com> | 2019-08-13 08:08:01 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2019-08-13 08:08:01 +0000 |
commit | aa1b718b769c34f35c66ed11e516a350fc51d547 (patch) | |
tree | e6424f49e660298b171a9eb43b44ce419cc9a5a4 | |
parent | 9e42b1920b40e5f1f2dd5443f48d28b38dd32af6 (diff) | |
download | gcc-aa1b718b769c34f35c66ed11e516a350fc51d547.zip gcc-aa1b718b769c34f35c66ed11e516a350fc51d547.tar.gz gcc-aa1b718b769c34f35c66ed11e516a350fc51d547.tar.bz2 |
[Ada] Protect analysis of Indexing aspect against cascaded errors
2019-08-13 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* sem_ch13.adb (Check_Iterator_Functions): Protect against
cascaded errors.
From-SVN: r274351
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/sem_ch13.adb | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index bd3450f..162d027 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-08-13 Arnaud Charlet <charlet@adacore.com> + + * sem_ch13.adb (Check_Iterator_Functions): Protect against + cascaded errors. + 2019-08-13 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Analyze_Subprogram_Renaming): Do no suppress mode diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index 4ce248f..8c5c424 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -4653,10 +4653,12 @@ package body Sem_Ch13 is end if; if not Is_Overloaded (Expr) then - if not Check_Primitive_Function (Entity (Expr)) then + if Entity (Expr) /= Any_Id + and then not Check_Primitive_Function (Entity (Expr)) + then Error_Msg_NE ("aspect Indexing requires a function that applies to type&", - Entity (Expr), Ent); + Entity (Expr), Ent); end if; -- Flag the default_iterator as well as the denoted function. |