aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2005-01-03 16:36:25 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2005-01-03 16:36:25 +0100
commit42de0044766f78d4dc915b46f5de94a6a5846ae2 (patch)
tree0adf4bc70f43fad200dd4b7b096f51a799772df1 /gcc/ada
parent050d31e81515eeaaad6768904faf40fd0ce7f1dc (diff)
downloadgcc-42de0044766f78d4dc915b46f5de94a6a5846ae2.zip
gcc-42de0044766f78d4dc915b46f5de94a6a5846ae2.tar.gz
gcc-42de0044766f78d4dc915b46f5de94a6a5846ae2.tar.bz2
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
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/exp_aggr.adb4
-rw-r--r--gcc/ada/makegpr.adb77
-rw-r--r--gcc/ada/sem_elim.adb8
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;