[gcc r15-10637] Ada: Adjust fix for internal error on illegal aggregate for private type
Eric Botcazou
ebotcazou@gcc.gnu.org
Fri Dec 26 22:13:14 GMT 2025
https://gcc.gnu.org/g:6f1232d6a3b628b686c4a0ff3afaec95b91b33c4
commit r15-10637-g6f1232d6a3b628b686c4a0ff3afaec95b91b33c4
Author: Eric Botcazou <ebotcazou@gcc.gnu.org>
Date: Fri Dec 26 23:10:15 2025 +0100
Ada: Adjust fix for internal error on illegal aggregate for private type
This adds a more robust guard to Resolve_Record_Aggregate.
gcc/ada/
PR ada/123088
* sem_aggr.adb (Resolve_Record_Aggregate): Add more robust guard.
Diff:
---
gcc/ada/sem_aggr.adb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb
index ad2397d711b6..c78bed006ec2 100644
--- a/gcc/ada/sem_aggr.adb
+++ b/gcc/ada/sem_aggr.adb
@@ -6590,10 +6590,10 @@ package body Sem_Aggr is
-- Typ is not a derived tagged type
- else
+ elsif Nkind (Parent (Base_Type (Typ))) = N_Full_Type_Declaration then
Record_Def := Type_Definition (Parent (Base_Type (Typ)));
- if No (Record_Def) or else Null_Present (Record_Def) then
+ if Null_Present (Record_Def) then
null;
elsif not Has_Unknown_Discriminants (Typ) then
More information about the Gcc-cvs
mailing list