]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[Ada] Work around missing Long_Long_Long_Size entry in .atp file
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 9 Aug 2020 09:48:21 +0000 (11:48 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Wed, 21 Oct 2020 07:22:50 +0000 (03:22 -0400)
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.

gcc/ada/set_targ.adb

index c1c83cb5751dbb1502f853034dc7ec45311a5a3f..b8578f5c376cafb28b16f44c440c1aa30d83ba20 100644 (file)
@@ -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;