https://gcc.gnu.org/g:59276c4d98a62e19622dc9ff9905f6d113497811

commit r15-2746-g59276c4d98a62e19622dc9ff9905f6d113497811
Author: Javier Miranda <mira...@adacore.com>
Date:   Mon Jul 22 10:26:41 2024 +0000

    ada: Assert failure in repinfo
    
    Using switch gnatR4, the frontend crashes when generating information
    for a private record type.
    
    gcc/ada/
    
            * repinfo.adb (List_Record_Info): Handle private record types.

Diff:
---
 gcc/ada/repinfo.adb | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gcc/ada/repinfo.adb b/gcc/ada/repinfo.adb
index 7dada5358f7a..c08a232a3ab0 100644
--- a/gcc/ada/repinfo.adb
+++ b/gcc/ada/repinfo.adb
@@ -521,7 +521,11 @@ package body Repinfo is
 
                elsif Is_Record_Type (E) then
                   if List_Representation_Info >= 1 then
-                     List_Record_Info (E, Bytes_Big_Endian);
+                     if Is_Private_Type (E) then
+                        List_Record_Info (Full_View (E), Bytes_Big_Endian);
+                     else
+                        List_Record_Info (E, Bytes_Big_Endian);
+                     end if;
 
                      --  Recurse into entities local to a record type

Reply via email to