[Ada] ICE on mix of tagged and limited interfaces
authorJavier Miranda <miranda@adacore.com>
Wed, 26 Sep 2018 09:17:56 +0000 (09:17 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Wed, 26 Sep 2018 09:17:56 +0000 (09:17 +0000)
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

gcc/ada/ChangeLog
gcc/ada/checks.adb

index e4ab23db68ce8cb62a105e79f4244bc7e1944b0b..2f015afe55d5159fe6ea859eab9d581096813f0d 100644 (file)
@@ -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
index 1704a2f81f2a31a7a7e444b5c810aa2221cf5919..2e61e5153bf4998da44d628f3f5055f68c64880b 100644 (file)
@@ -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