https://gcc.gnu.org/g:8e649a5f5d98483cb184afa084838a2e89803fab

commit r16-6398-g8e649a5f5d98483cb184afa084838a2e89803fab
Author: Eric Botcazou <[email protected]>
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 308bca602989..729835053ede 100644
--- a/gcc/ada/sem_aggr.adb
+++ b/gcc/ada/sem_aggr.adb
@@ -6645,10 +6645,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;
 
             --  Explicitly add here mutably class-wide types because they do

Reply via email to