From 1fb5a6163d49f66604ad4b1e3f5f3d9c26723a90 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Sat, 29 Jun 2019 07:32:09 +0000 Subject: [PATCH] decl.c (set_nonaliased_component_on_array_type): Add missing guard for the presence of TYPE_CANONICAL. * 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: r272814 --- gcc/ada/ChangeLog | 6 ++++++ gcc/ada/gcc-interface/decl.c | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index f51693a2611e..e8a8e1c89036 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2019-06-29 Eric Botcazou + + * 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. + 2019-05-28 Eric Botcazou * gcc-interface/trans.c (walk_nesting_tree): New static function. diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index ebc441ccc94b..3a5126ad3dad 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -6307,7 +6307,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 @@ -6317,7 +6318,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. */ -- 2.47.2