[gcc r11-4171] [Ada] Work around missing Long_Long_Long_Size entry in .atp file

Pierre-Marie de Rodat pmderodat@gcc.gnu.org
Wed Oct 21 07:25:37 GMT 2020


https://gcc.gnu.org/g:a219511d1d20775ea418de1b7e60dd90030c8354

commit r11-4171-ga219511d1d20775ea418de1b7e60dd90030c8354
Author: Eric Botcazou <ebotcazou@adacore.com>
Date:   Sun Aug 9 11:48:21 2020 +0200

    [Ada] Work around missing Long_Long_Long_Size entry in .atp file
    
    gcc/ada/
    
            * set_targ.adb (DTN): Fix oversight.
            (Read_Target_Dependent_Values): Do not error out on missing
            Long_Long_Long_Size entry and reuse Long_Long_Size for it.

Diff:
---
 gcc/ada/set_targ.adb | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/gcc/ada/set_targ.adb b/gcc/ada/set_targ.adb
index c1c83cb5751..b8578f5c376 100644
--- a/gcc/ada/set_targ.adb
+++ b/gcc/ada/set_targ.adb
@@ -84,8 +84,8 @@ package body Set_Targ is
           S_Float_Size                 'Unrestricted_Access,
           S_Float_Words_BE             'Unrestricted_Access,
           S_Int_Size                   'Unrestricted_Access,
-          S_Long_Long_Long_Size        'Unrestricted_Access,
           S_Long_Double_Size           'Unrestricted_Access,
+          S_Long_Long_Long_Size        'Unrestricted_Access,
           S_Long_Long_Size             'Unrestricted_Access,
           S_Long_Size                  'Unrestricted_Access,
           S_Maximum_Alignment          'Unrestricted_Access,
@@ -748,8 +748,15 @@ package body Set_Targ is
 
       for J in DTR'Range loop
          if not DTR (J) then
-            Fail ("missing entry for " & DTN (J).all & " in file "
-                  & File_Name);
+            --  Make an exception for Long_Long_Long_Size???
+
+            if DTN (J) = S_Long_Long_Long_Size'Unrestricted_Access then
+               Long_Long_Long_Size := Long_Long_Size;
+
+            else
+               Fail ("missing entry for " & DTN (J).all & " in file "
+                     & File_Name);
+            end if;
          end if;
       end loop;


More information about the Gcc-cvs mailing list