aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2019-08-13 08:08:01 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2019-08-13 08:08:01 +0000
commitaa1b718b769c34f35c66ed11e516a350fc51d547 (patch)
treee6424f49e660298b171a9eb43b44ce419cc9a5a4 /gcc/ada
parent9e42b1920b40e5f1f2dd5443f48d28b38dd32af6 (diff)
downloadgcc-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
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/sem_ch13.adb6
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.