From c9bbc06b95ae78a3280db69745788a98f35f0a2d Mon Sep 17 00:00:00 2001 From: pmderodat Date: Wed, 26 Sep 2018 09:17:56 +0000 Subject: [PATCH] [Ada] ICE on mix of tagged and limited interfaces 2018-09-26 Javier Miranda gcc/ada/ * checks.adb (Install_Null_Excluding_Check): Do not add null-excluding checks when the tree may not be fully decorated. This patch cascade errors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264619 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/ChangeLog | 6 ++++++ gcc/ada/checks.adb | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index e4ab23db68c..2f015afe55d 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2018-09-26 Javier Miranda + + * checks.adb (Install_Null_Excluding_Check): Do not add + null-excluding checks when the tree may not be fully decorated. + This patch cascade errors. + 2018-09-26 Gary Dismukes * sem_ch3.adb (Analyze_Object_Declaration): Remove test for diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb index 1704a2f81f2..2e61e5153bf 100644 --- a/gcc/ada/checks.adb +++ b/gcc/ada/checks.adb @@ -7755,6 +7755,13 @@ package body Checks is -- Start of processing for Install_Null_Excluding_Check begin + -- No need to add null-excluding checks when the tree may not be fully + -- decorated. + + if Serious_Errors_Detected > 0 then + return; + end if; + pragma Assert (Is_Access_Type (Typ)); -- No check inside a generic, check will be emitted in instance -- 2.11.4.GIT