diff options
author | Javier Miranda <miranda@adacore.com> | 2024-07-22 10:26:41 +0000 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-08-06 10:54:30 +0200 |
commit | 59276c4d98a62e19622dc9ff9905f6d113497811 (patch) | |
tree | 9b10ec998f497d4d94f8acb4088ce23ea9a75fa2 | |
parent | b25472f38da013d9a0575473db4522bc81d32781 (diff) | |
download | gcc-59276c4d98a62e19622dc9ff9905f6d113497811.zip gcc-59276c4d98a62e19622dc9ff9905f6d113497811.tar.gz gcc-59276c4d98a62e19622dc9ff9905f6d113497811.tar.bz2 |
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.
-rw-r--r-- | gcc/ada/repinfo.adb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/repinfo.adb b/gcc/ada/repinfo.adb index 7dada53..c08a232 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 |