aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteve Baird <baird@adacore.com>2024-04-16 15:45:45 -0700
committerMarc Poulhiès <poulhies@adacore.com>2024-06-10 11:04:01 +0200
commitf32d2d14452a9d7ca704f866a86da43865c966bd (patch)
tree9d12080c0693ca814fa96c8d03c925b1a62e3ba3 /gcc
parent3fb45d7fe1eebddf7dcba3e140b94b98a587dd87 (diff)
downloadgcc-f32d2d14452a9d7ca704f866a86da43865c966bd.zip
gcc-f32d2d14452a9d7ca704f866a86da43865c966bd.tar.gz
gcc-f32d2d14452a9d7ca704f866a86da43865c966bd.tar.bz2
ada: For freezing, treat an extension or delta aggregate like a regular aggregate.
Extend existing special freezing rules for regular aggregates to also apply to extension and delta aggregates. gcc/ada/ * freeze.adb (Should_Freeze_Type.Is_Dispatching_Call_Or_Aggregate): Treat an extension aggregate or a delta aggregate like a regular aggregate.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/freeze.adb4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index ea18f87..c872050 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -222,7 +222,9 @@ package body Freeze is
= Scope (Typ)
then
return Abandon;
- elsif Nkind (N) = N_Aggregate
+ elsif Nkind (N) in N_Aggregate
+ | N_Extension_Aggregate
+ | N_Delta_Aggregate
and then Base_Type (Etype (N)) = Base_Type (Typ)
then
return Abandon;