From 42de0044766f78d4dc915b46f5de94a6a5846ae2 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Mon, 3 Jan 2005 16:36:25 +0100 Subject: exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the bounds can be negative, and must be declared Int, not Nat. * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the bounds can be negative, and must be declared Int, not Nat. * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an array is checked after using the index in the array. * makegpr.adb (Add_Switches): Check if there is a package for the processor. If there is no package, do not look for switches. From-SVN: r92835 --- gcc/ada/exp_aggr.adb | 4 +-- gcc/ada/makegpr.adb | 77 ++++++++++++++++++++++++++-------------------------- gcc/ada/sem_elim.adb | 8 +++--- 3 files changed, 45 insertions(+), 44 deletions(-) diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index d18a02e..5337391 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -5019,8 +5019,8 @@ package body Exp_Aggr is -- Otherwise we are all positional, so convert to proper value declare - Lov : constant Nat := UI_To_Int (Lob); - Hiv : constant Nat := UI_To_Int (Hib); + Lov : constant Int := UI_To_Int (Lob); + Hiv : constant Int := UI_To_Int (Hib); Len : constant Nat := Int'Max (0, Hiv - Lov + 1); -- The length of the array (number of elements) diff --git a/gcc/ada/makegpr.adb b/gcc/ada/makegpr.adb index 4806a9a..28b4670 100644 --- a/gcc/ada/makegpr.adb +++ b/gcc/ada/makegpr.adb @@ -945,55 +945,56 @@ package body Makegpr is Pkg := Value_Of (Name_Compiler, Data.Decl.Packages); end case; - -- Get the Switches ("file name"), if they exist + if Pkg /= No_Package then + -- Get the Switches ("file name"), if they exist - Switches_Array := Prj.Util.Value_Of - (Name => Name_Switches, - In_Arrays => - Packages.Table (Pkg).Decl.Arrays); - - Switches := - Prj.Util.Value_Of - (Index => File_Name, - Src_Index => 0, - In_Array => Switches_Array); + Switches_Array := Prj.Util.Value_Of + (Name => Name_Switches, + In_Arrays => Packages.Table (Pkg).Decl.Arrays); - -- Otherwise, get the Default_Switches ("language"), if they exist + Switches := + Prj.Util.Value_Of + (Index => File_Name, + Src_Index => 0, + In_Array => Switches_Array); + + -- Otherwise, get the Default_Switches ("language"), if they exist + + if Switches = Nil_Variable_Value then + Defaults := Prj.Util.Value_Of + (Name => Name_Default_Switches, + In_Arrays => Packages.Table (Pkg).Decl.Arrays); + Switches := Prj.Util.Value_Of + (Index => Language_Names.Table (Language), + Src_Index => 0, + In_Array => Defaults); + end if; - if Switches = Nil_Variable_Value then - Defaults := Prj.Util.Value_Of - (Name => Name_Default_Switches, - In_Arrays => Packages.Table (Pkg).Decl.Arrays); - Switches := Prj.Util.Value_Of - (Index => Language_Names.Table (Language), - Src_Index => 0, - In_Array => Defaults); - end if; + -- If there are switches, add them to Arguments - -- If there are switches, add them to Arguments + if Switches /= Nil_Variable_Value then + Element_Id := Switches.Values; + while Element_Id /= Nil_String loop + Element := String_Elements.Table (Element_Id); - if Switches /= Nil_Variable_Value then - Element_Id := Switches.Values; - while Element_Id /= Nil_String loop - Element := String_Elements.Table (Element_Id); + if Element.Value /= No_Name then + Get_Name_String (Element.Value); - if Element.Value /= No_Name then - Get_Name_String (Element.Value); + if not Quiet_Output then - if not Quiet_Output then + -- When not in quiet output (no -q), check that the + -- switch is not the concatenation of several valid + -- switches, such as "-g -v". If it is, issue a warning. - -- When not in quiet output (no -q), check that the switch - -- is not the concatenation of several valid switches, - -- such as "-g -v". If it is, issue a warning. + Check (Option => Name_Buffer (1 .. Name_Len)); + end if; - Check (Option => Name_Buffer (1 .. Name_Len)); + Add_Argument (Name_Buffer (1 .. Name_Len), True); end if; - Add_Argument (Name_Buffer (1 .. Name_Len), True); - end if; - - Element_Id := Element.Next; - end loop; + Element_Id := Element.Next; + end loop; + end if; end if; end Add_Switches; diff --git a/gcc/ada/sem_elim.adb b/gcc/ada/sem_elim.adb index f5200ca..b823b7b 100644 --- a/gcc/ada/sem_elim.adb +++ b/gcc/ada/sem_elim.adb @@ -521,14 +521,14 @@ package body Sem_Elim is if Get_Physical_Line_Number (P) = Physical_Line_Number (N) then - while Sloc_Trace (Idx) /= '[' - and then Idx <= Last + while Idx <= Last and then + Sloc_Trace (Idx) /= '[' loop Idx := Idx + 1; end loop; - if Sloc_Trace (Idx) = '[' - and then Idx < Last + if Idx <= Last and then + Sloc_Trace (Idx) = '[' then Idx := Idx + 1; Idx := Skip_Spaces; -- cgit v1.1