aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_aggr.adb
diff options
context:
space:
mode:
authorViljar Indus <indus@adacore.com>2023-06-06 14:55:04 +0300
committerMarc Poulhiès <poulhies@adacore.com>2023-06-27 14:05:49 +0200
commit765fc22ca5dbba94198e555ebcebb1944cf24731 (patch)
tree44b197c519b895f516ffc7a3d012883e49fd5d55 /gcc/ada/exp_aggr.adb
parent3c52dff792878306515056ecd94c8aa909f388fb (diff)
downloadgcc-765fc22ca5dbba94198e555ebcebb1944cf24731.zip
gcc-765fc22ca5dbba94198e555ebcebb1944cf24731.tar.gz
gcc-765fc22ca5dbba94198e555ebcebb1944cf24731.tar.bz2
ada: Fix expanding container aggregates
Ensure that that container aggregate expressions are expanded as such and not as records even if the type of the expression is a record. gcc/ada/ * exp_aggr.adb (Expand_N_Aggregate): Ensure that container aggregate expressions do not get expanded as records but instead as container aggregates.
Diffstat (limited to 'gcc/ada/exp_aggr.adb')
-rw-r--r--gcc/ada/exp_aggr.adb1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb
index 5e22fef..d922c3b 100644
--- a/gcc/ada/exp_aggr.adb
+++ b/gcc/ada/exp_aggr.adb
@@ -6463,6 +6463,7 @@ package body Exp_Aggr is
if Is_Record_Type (T)
and then not Is_Private_Type (T)
+ and then not Is_Homogeneous_Aggregate (N)
then
Expand_Record_Aggregate (N);