From cd93d2d89d3a59e034263b1d1d657286b1074ead Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 4 Jul 2019 08:05:17 +0000 Subject: [PATCH] [Ada] Reduce emitted code size in CCG for aggregate assignment 2019-07-04 Arnaud Charlet gcc/ada/ * exp_aggr.adb (Check_Component): Take into account type conversions. From-SVN: r273046 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/exp_aggr.adb | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 789dc5da914..4de9db792a9 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-07-04 Arnaud Charlet + + * exp_aggr.adb (Check_Component): Take into account type + conversions. + 2019-07-04 Dmitriy Anisimkov * doc/gnat_ugn/platform_specific_information.rst: Document diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index b5bd2225a82..80523e999d3 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -5549,7 +5549,8 @@ package body Exp_Aggr is or else (Nkind (Comp) = N_Selected_Component and then Check_Component (Prefix (Comp))) - or else (Nkind (Comp) = N_Unchecked_Type_Conversion + or else (Nkind_In (Comp, N_Unchecked_Type_Conversion, + N_Type_Conversion) and then Check_Component (Expression (Comp))); end Check_Component; -- 2.30.2