From 4d743233ad29c03b5c65cfaf802d7c91f7fcc32c Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Fri, 4 Jun 2021 18:08:49 +0200 Subject: [Ada] Use encoded names only with -fgnat-encodings=all gcc/ada/ * exp_dbug.adb (Get_Encoded_Name): Do not encode names of discrete types with custom bounds, except with -fgnat-encodings=all. * exp_pakd.adb (Create_Packed_Array_Impl_Type): Adjust comment. --- gcc/ada/exp_dbug.adb | 11 +++++------ gcc/ada/exp_pakd.adb | 4 ++-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/gcc/ada/exp_dbug.adb b/gcc/ada/exp_dbug.adb index ed5ae43be9b..bfc3b3356f1 100644 --- a/gcc/ada/exp_dbug.adb +++ b/gcc/ada/exp_dbug.adb @@ -655,10 +655,10 @@ package body Exp_Dbug is Has_Suffix := True; - -- Fixed-point case: generate GNAT encodings when asked to + -- Generate GNAT encodings when asked to for fixed-point case - if Is_Fixed_Point_Type (E) - and then GNAT_Encodings = DWARF_GNAT_Encodings_All + if GNAT_Encodings = DWARF_GNAT_Encodings_All + and then Is_Fixed_Point_Type (E) then Get_External_Name (E, True, "XF_"); Add_Real_To_Buffer (Delta_Value (E)); @@ -668,10 +668,9 @@ package body Exp_Dbug is Add_Real_To_Buffer (Small_Value (E)); end if; - -- Discrete case where bounds do not match size. Not necessary if we can - -- emit standard DWARF. + -- Likewise for discrete case where bounds do not match size - elsif GNAT_Encodings /= DWARF_GNAT_Encodings_Minimal + elsif GNAT_Encodings = DWARF_GNAT_Encodings_All and then Is_Discrete_Type (E) and then not Bounds_Match_Size (E) then diff --git a/gcc/ada/exp_pakd.adb b/gcc/ada/exp_pakd.adb index 7e295024b9d..3477bba3d78 100644 --- a/gcc/ada/exp_pakd.adb +++ b/gcc/ada/exp_pakd.adb @@ -828,8 +828,8 @@ package body Exp_Pakd is elsif not Is_Constrained (Typ) then - -- When generating standard DWARF (i.e when GNAT_Encodings is - -- DWARF_GNAT_Encodings_Minimal), the ___XP suffix will be stripped + -- When generating standard DWARF (i.e when GNAT_Encodings is not + -- DWARF_GNAT_Encodings_All), the ___XP suffix will be stripped -- by the back-end but generate it anyway to ease compiler debugging. -- This will help to distinguish implementation types from original -- packed arrays. -- cgit v1.2.1