From a219511d1d20775ea418de1b7e60dd90030c8354 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Sun, 9 Aug 2020 11:48:21 +0200 Subject: [PATCH] [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. --- 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;