]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
decl.c (set_nonaliased_component_on_array_type): Add missing guard for the presence...
authorEric Botcazou <ebotcazou@gcc.gnu.org>
Sat, 29 Jun 2019 07:30:57 +0000 (07:30 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sat, 29 Jun 2019 07:30:57 +0000 (07:30 +0000)
* gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add
missing guard for the presence of TYPE_CANONICAL.
(set_reverse_storage_order_on_array_type): Likewise.

From-SVN: r272812

gcc/ada/ChangeLog
gcc/ada/gcc-interface/decl.c

index 259b814d0a13545989f0829b2edc0f427cfb2638..00b6c257e72d6e0b48bdc945ea2db6213799c480 100644 (file)
@@ -1,14 +1,18 @@
-2019-06-18  Arnaud Charlet  <charlet@adacore.com>
+2019-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add
+       missing guard for the presence of TYPE_CANONICAL.
+       (set_reverse_storage_order_on_array_type): Likewise.
 
-PR ada/80590
+2019-06-18  Arnaud Charlet  <charlet@adacore.com>
 
+       PR ada/80590
        * sem_ch5.adb (Analyze_Loop_Statement): Avoid exception propagation
        during normal processing.
 
 2019-06-17  Arnaud Charlet  <charlet@adacore.com>
 
-PR ada/80590
-
+       PR ada/80590
        * exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two
        conditions to avoid a unnecessary exception propagation in the default
        case.
index aa88b008b949eb318555a8cd1f8952e992478a72..b8ee7931bf04271dde957de88d65c302fafdb62d 100644 (file)
@@ -6147,7 +6147,8 @@ static void
 set_nonaliased_component_on_array_type (tree type)
 {
   TYPE_NONALIASED_COMPONENT (type) = 1;
-  TYPE_NONALIASED_COMPONENT (TYPE_CANONICAL (type)) = 1;
+  if (TYPE_CANONICAL (type))
+    TYPE_NONALIASED_COMPONENT (TYPE_CANONICAL (type)) = 1;
 }
 
 /* Set TYPE_REVERSE_STORAGE_ORDER on an array type built by means of
@@ -6157,7 +6158,8 @@ static void
 set_reverse_storage_order_on_array_type (tree type)
 {
   TYPE_REVERSE_STORAGE_ORDER (type) = 1;
-  TYPE_REVERSE_STORAGE_ORDER (TYPE_CANONICAL (type)) = 1;
+  if (TYPE_CANONICAL (type))
+    TYPE_REVERSE_STORAGE_ORDER (TYPE_CANONICAL (type)) = 1;
 }
 
 /* Return true if DISCR1 and DISCR2 represent the same discriminant.  */