aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2018-09-26 09:17:56 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2018-09-26 09:17:56 +0000
commitfcf1dd74bc00a857879ef9a34ad719cdf7053295 (patch)
treee625d1b7faa70e986c4fdfe8933032fbb702e735
parent7fea7b5747859e8a741917c22fb4acce15c2bf5b (diff)
downloadgcc-fcf1dd74bc00a857879ef9a34ad719cdf7053295.zip
gcc-fcf1dd74bc00a857879ef9a34ad719cdf7053295.tar.gz
gcc-fcf1dd74bc00a857879ef9a34ad719cdf7053295.tar.bz2
[Ada] ICE on mix of tagged and limited interfaces
2018-09-26 Javier Miranda <miranda@adacore.com> 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. From-SVN: r264619
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/checks.adb7
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index e4ab23d..2f015af 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2018-09-26 Javier Miranda <miranda@adacore.com>
+
+ * 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 <dismukes@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): Remove test for
diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb
index 1704a2f..2e61e51 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