aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/adaint.h7
-rw-r--r--gcc/ada/einfo.ads2
-rw-r--r--gcc/ada/makeutl.adb29
-rw-r--r--gcc/ada/makeutl.ads50
-rw-r--r--gcc/ada/prj.adb4
-rw-r--r--gcc/ada/sem_ch3.adb75
-rw-r--r--gcc/ada/sem_util.adb5
8 files changed, 92 insertions, 87 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 036e813..febeecc 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,10 @@
+2009-07-28 Robert Dewar <dewar@adacore.com>
+
+ * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
+ makeutl.adb: Minor reformatting & code reorganization
+ * sem_ch3.adb: Minor reformatting.
+ Fix spelling error (constraint for constrain) in error msg.
+
2009-07-28 Emmanuel Briot <briot@adacore.com>
* make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h
index 471b5ab..79a1e4e 100644
--- a/gcc/ada/adaint.h
+++ b/gcc/ada/adaint.h
@@ -43,10 +43,9 @@
#define Encoding_8bits 1 /* Standard 8bits, CP_ACP on Windows. */
#define Encoding_Unspecified 2 /* Based on GNAT_CODE_PAGE env variable. */
-/* Large file support. It is unclear what portable mechanism we can
- use to determine at compile time what support the system offers for
- large files. For now we just list the platforms we have manually
- tested. */
+/* Large file support. It is unclear what portable mechanism we can use to
+ determine at compile time what support the system offers for large files.
+ For now we just list the platforms we have manually tested. */
#if defined (__GLIBC__) || defined (sun) || defined (__sgi)
#define GNAT_FOPEN fopen64
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads
index e2f1cbe..6330dec 100644
--- a/gcc/ada/einfo.ads
+++ b/gcc/ada/einfo.ads
@@ -3192,7 +3192,7 @@ package Einfo is
-- the case of an appearance of a simple variable that is not a renaming
-- as the left side of an assignment in which case Referenced_As_LHS is
-- set instead, or a similar appearance as an out parameter actual, in
--- which case As_Out_Parameter_Parameter is set.
+-- which case Referenced_As_Out_Parameter is set.
-- Referenced_As_LHS (Flag36):
-- Present in all entities. This flag is set instead of Referenced if a
diff --git a/gcc/ada/makeutl.adb b/gcc/ada/makeutl.adb
index 4bac5a7..c0d9de4 100644
--- a/gcc/ada/makeutl.adb
+++ b/gcc/ada/makeutl.adb
@@ -162,12 +162,14 @@ package body Makeutl is
function Check_Source_Info_In_ALI (The_ALI : ALI_Id) return Boolean is
Unit_Name : Name_Id;
+
begin
- U_Chk :
- for U in ALIs.Table (The_ALI).First_Unit
- .. ALIs.Table (The_ALI).Last_Unit
+ -- Loop through units
+
+ for U in ALIs.Table (The_ALI).First_Unit ..
+ ALIs.Table (The_ALI).Last_Unit
loop
- -- Check if the file name is one of the source of the unit.
+ -- Check if the file name is one of the source of the unit
Get_Name_String (Units.Table (U).Uname);
Name_Len := Name_Len - 2;
@@ -177,12 +179,12 @@ package body Makeutl is
return False;
end if;
- -- Do the same check for each of the withed units
+ -- Loop to do same check for each of the withed units
- W_Check :
for W in Units.Table (U).First_With .. Units.Table (U).Last_With loop
declare
WR : ALI.With_Record renames Withs.Table (W);
+
begin
if WR.Sfile /= No_File then
Get_Name_String (WR.Uname);
@@ -194,21 +196,22 @@ package body Makeutl is
end if;
end if;
end;
- end loop W_Check;
- end loop U_Chk;
+ end loop;
+ end loop;
- -- Check also the subunits
+ -- Loop to check subunits
- D_Check :
- for D in ALIs.Table (The_ALI).First_Sdep
- .. ALIs.Table (The_ALI).Last_Sdep
+ for D in ALIs.Table (The_ALI).First_Sdep ..
+ ALIs.Table (The_ALI).Last_Sdep
loop
declare
SD : Sdep_Record renames Sdep.Table (D);
+
begin
Unit_Name := SD.Subunit_Name;
if Unit_Name /= No_Name then
+
-- For separates, the file is no longer associated with the
-- unit ("proc-sep.adb" is not associated with unit "proc.sep".
-- So we need to check whether the source file still exists in
@@ -240,7 +243,7 @@ package body Makeutl is
end if;
end if;
end;
- end loop D_Check;
+ end loop;
return True;
end Check_Source_Info_In_ALI;
diff --git a/gcc/ada/makeutl.ads b/gcc/ada/makeutl.ads
index 09d8c2b..1dff5a1 100644
--- a/gcc/ada/makeutl.ads
+++ b/gcc/ada/makeutl.ads
@@ -36,8 +36,8 @@ package Makeutl is
type Fail_Proc is access procedure (S : String);
Do_Fail : Fail_Proc := Osint.Fail'Access;
- -- Failing procedure called from procedure Test_If_Relative_Path below.
- -- May be redirected.
+ -- Failing procedure called from procedure Test_If_Relative_Path below. May
+ -- be redirected.
Project_Tree : constant Project_Tree_Ref := new Project_Tree_Data;
-- The project tree
@@ -74,14 +74,14 @@ package Makeutl is
function File_Not_A_Source_Of
(Uname : Name_Id;
Sfile : File_Name_Type) return Boolean;
- -- Check that file name Sfile is one of the source of unit Uname.
- -- Returns True if the unit is in one of the project file, but the file
- -- name is not one of its source. Returns False otherwise.
+ -- Check that file name Sfile is one of the source of unit Uname. Returns
+ -- True if the unit is in one of the project file, but the file name is not
+ -- one of its source. Returns False otherwise.
function Check_Source_Info_In_ALI (The_ALI : ALI.ALI_Id) return Boolean;
- -- Check whether all file references in ALI are still valid (ie the source
- -- files are still associated with the same units).
- -- Return True if everything is still valid
+ -- Check whether all file references in ALI are still valid (ie the
+ -- source files are still associated with the same units). Return True
+ -- if everything is still valid
function Is_External_Assignment (Argv : String) return Boolean;
-- Verify that an external assignment switch is syntactically correct
@@ -92,9 +92,10 @@ package Makeutl is
-- -X"name=other value"
--
-- Assumptions: 'First = 1, Argv (1 .. 2) = "-X"
- -- When this function returns True, the external assignment has
- -- been entered by a call to Prj.Ext.Add, so that in a project
- -- file, External ("name") will return "value".
+ --
+ -- When this function returns True, the external assignment has been
+ -- entered by a call to Prj.Ext.Add, so that in a project file, External
+ -- ("name") will return "value".
procedure Verbose_Msg
(N1 : Name_Id;
@@ -114,6 +115,7 @@ package Makeutl is
-- at least equal to Minimum_Verbosity, then print Prefix to standard
-- output followed by N1 and S1. If N2 /= No_Name then N2 is printed after
-- S1. S2 is printed last. Both N1 and N2 are printed in quotation marks.
+ -- The two forms differ only in taking Name_Id or File_name_Type arguments.
function Linker_Options_Switches
(Project : Project_Id;
@@ -127,8 +129,8 @@ package Makeutl is
-- files exist and that they belong to a project file.
function Unit_Index_Of (ALI_File : File_Name_Type) return Int;
- -- Find the index of a unit in a source file. Return zero if the file
- -- is not a multi-unit source file.
+ -- Find the index of a unit in a source file. Return zero if the file is
+ -- not a multi-unit source file.
package Mains is
@@ -149,8 +151,8 @@ package Makeutl is
-- Reset the index to the beginning of the table
function Next_Main return String;
- -- Increase the index and return the next main.
- -- If table is exhausted, return an empty string.
+ -- Increase the index and return the next main. If table is exhausted,
+ -- return an empty string.
function Get_Location return Source_Ptr;
-- Get the location of the current main
@@ -170,12 +172,12 @@ package Makeutl is
Including_L_Switch : Boolean := True;
Including_Non_Switch : Boolean := True;
Including_RTS : Boolean := False);
- -- Test if Switch is a relative search path switch.
- -- If it is, fail if Parent is the empty string, otherwise prepend the path
- -- with Parent. This subprogram is only called when using project files.
- -- For gnatbind switches, Including_L_Switch is False, because the
- -- argument of the -L switch is not a path. If Including_RTS is True,
- -- process also switches --RTS=.
+ -- Test if Switch is a relative search path switch. If it is, fail if
+ -- Parent is the empty string, otherwise prepend the path with Parent.
+ -- This subprogram is only called when using project files. For gnatbind
+ -- switches, Including_L_Switch is False, because the argument of the -L
+ -- switch is not a path. If Including_RTS is True, process also switches
+ -- --RTS=.
function Path_Or_File_Name (Path : Path_Name_Type) return String;
-- Returns a file name if -df is used, otherwise return a path name
@@ -185,9 +187,9 @@ package Makeutl is
----------------------
procedure Mark (Source_File : File_Name_Type; Index : Int := 0);
- -- Mark a unit, identified by its source file and, when Index is not 0,
- -- the index of the unit in the source file. Marking is used to signal
- -- that the unit has already been inserted in the Q.
+ -- Mark a unit, identified by its source file and, when Index is not 0, the
+ -- index of the unit in the source file. Marking is used to signal that the
+ -- unit has already been inserted in the Q.
function Is_Marked
(Source_File : File_Name_Type;
diff --git a/gcc/ada/prj.adb b/gcc/ada/prj.adb
index 0f4e050..2ad7903 100644
--- a/gcc/ada/prj.adb
+++ b/gcc/ada/prj.adb
@@ -1053,6 +1053,7 @@ package body Prj is
-----------------------------------
procedure Compute_All_Imported_Projects (Project : Project_Id) is
+
procedure Recursive_Add (Prj : Project_Id; Dummy : in out Boolean);
-- Recursively add the projects imported by project Project, but not
-- those that are extended.
@@ -1070,6 +1071,7 @@ package body Prj is
-- A project is not importing itself
Prj2 := Ultimate_Extending_Project_Of (Prj);
+
if Project /= Prj2 then
-- Check that the project is not already in the list. We know the
@@ -1081,6 +1083,7 @@ package body Prj is
if List.Project = Prj2 then
return;
end if;
+
List := List.Next;
end loop;
@@ -1095,6 +1098,7 @@ package body Prj is
procedure For_All_Projects is
new For_Every_Project_Imported (Boolean, Recursive_Add);
+
Dummy : Boolean := False;
begin
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index 5696a1c..84deca1 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -4826,20 +4826,21 @@ package body Sem_Ch3 is
Parent_Type : Entity_Id;
Derived_Type : Entity_Id)
is
- Loc : constant Source_Ptr := Sloc (N);
+ Loc : constant Source_Ptr := Sloc (N);
+
+ Corr_Record : constant Entity_Id :=
+ Make_Defining_Identifier (Loc, New_Internal_Name ('C'));
- Corr_Record : constant Entity_Id
- := Make_Defining_Identifier (Loc, New_Internal_Name ('C'));
Corr_Decl : Node_Id;
Corr_Decl_Needed : Boolean;
- -- If the derived type has fewer discriminants than its parent,
- -- the corresponding record is also a derived type, in order to
- -- account for the bound discriminants. We create a full type
- -- declaration for it in this case.
+ -- If the derived type has fewer discriminants than its parent, the
+ -- corresponding record is also a derived type, in order to account for
+ -- the bound discriminants. We create a full type declaration for it in
+ -- this case.
- Constraint_Present : constant Boolean
- := Nkind (Subtype_Indication (Type_Definition (N)))
- = N_Subtype_Indication;
+ Constraint_Present : constant Boolean :=
+ Nkind (Subtype_Indication (Type_Definition (N))) =
+ N_Subtype_Indication;
D_Constraint : Node_Id;
New_Constraint : Elist_Id;
@@ -4867,8 +4868,9 @@ package body Sem_Ch3 is
-- The new type has fewer discriminants, so we need to create a new
-- corresponding record, which is derived from the corresponding
- -- record of the parent, and has a stored constraint that
- -- captures the values of the discriminant constraints.
+ -- record of the parent, and has a stored constraint that captures
+ -- the values of the discriminant constraints.
+
-- The type declaration for the derived corresponding record has
-- the same discriminant part and constraints as the current
-- declaration. Copy the unanalyzed tree to build declaration.
@@ -4980,15 +4982,13 @@ package body Sem_Ch3 is
while Present (D_Constraint) loop
if Nkind (D_Constraint) /= N_Discriminant_Association then
- -- Positional constraint. If it is a reference to a
- -- new discriminant, it constrains the corresponding
- -- old one.
+ -- Positional constraint. If it is a reference to a new
+ -- discriminant, it constrains the corresponding old one.
if Nkind (D_Constraint) = N_Identifier then
New_Disc := First_Discriminant (Derived_Type);
while Present (New_Disc) loop
- exit when
- Chars (New_Disc) = Chars (D_Constraint);
+ exit when Chars (New_Disc) = Chars (D_Constraint);
Next_Discriminant (New_Disc);
end loop;
@@ -4999,12 +4999,12 @@ package body Sem_Ch3 is
Next_Discriminant (Old_Disc);
- -- if this is a named constraint, search by name for the
- -- old discriminants constrained by the new one.
+ -- if this is a named constraint, search by name for the old
+ -- discriminants constrained by the new one.
elsif Nkind (Expression (D_Constraint)) = N_Identifier then
- -- Find new discriminant with that name.
+ -- Find new discriminant with that name
New_Disc := First_Discriminant (Derived_Type);
while Present (New_Disc) loop
@@ -5015,20 +5015,17 @@ package body Sem_Ch3 is
if Present (New_Disc) then
- -- Verify that the new discriminant renames
- -- some discriminant of the parent type, and
- -- associate the new discriminant with an old
- -- one that it renames (may be more than one).
+ -- Verify that new discriminant renames some discriminant
+ -- of the parent type, and associate the new discriminant
+ -- with one or more old ones that it renames.
declare
Selector : Node_Id;
begin
Selector := First (Selector_Names (D_Constraint));
-
while Present (Selector) loop
Old_Disc := First_Discriminant (Parent_Type);
-
while Present (Old_Disc) loop
exit when Chars (Old_Disc) = Chars (Selector);
Next_Discriminant (Old_Disc);
@@ -5037,7 +5034,6 @@ package body Sem_Ch3 is
if Present (Old_Disc) then
Set_Corresponding_Discriminant
(New_Disc, Old_Disc);
-
end if;
Next (Selector);
@@ -5049,21 +5045,20 @@ package body Sem_Ch3 is
Next (D_Constraint);
end loop;
- New_Disc := First_Discriminant (Derived_Type);
+ New_Disc := First_Discriminant (Derived_Type);
while Present (New_Disc) loop
if No (Corresponding_Discriminant (New_Disc)) then
Error_Msg_NE
- ("new discriminant& must constraint old one",
- N, New_Disc);
+ ("new discriminant& must constrain old one", N, New_Disc);
+
elsif not
- Subtypes_Statically_Compatible (
- Etype (New_Disc),
- Etype (Corresponding_Discriminant (New_Disc)))
+ Subtypes_Statically_Compatible
+ (Etype (New_Disc),
+ Etype (Corresponding_Discriminant (New_Disc)))
then
Error_Msg_NE
("& not statically compatible with parent discriminant",
N, New_Disc);
-
end if;
Next_Discriminant (New_Disc);
@@ -5072,22 +5067,20 @@ package body Sem_Ch3 is
elsif Present (Discriminant_Specifications (N)) then
Error_Msg_N
- ("missing discriminant constraint in untagged derivation",
- N);
+ ("missing discriminant constraint in untagged derivation", N);
end if;
- -- The entity chain of the derived type includes the new
- -- discriminants but shares operations with the parent.
+ -- The entity chain of the derived type includes the new discriminants
+ -- but shares operations with the parent.
if Present (Discriminant_Specifications (N)) then
Old_Disc := First_Discriminant (Parent_Type);
while Present (Old_Disc) loop
-
if No (Next_Entity (Old_Disc))
or else Ekind (Next_Entity (Old_Disc)) /= E_Discriminant
then
- Set_Next_Entity (Last_Entity (Derived_Type),
- Next_Entity (Old_Disc));
+ Set_Next_Entity
+ (Last_Entity (Derived_Type), Next_Entity (Old_Disc));
exit;
end if;
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 6497be3..80d4f28 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -10448,10 +10448,7 @@ package body Sem_Util is
begin
-- Deal with indexed or selected component where prefix is modified
- if Nkind (N) = N_Indexed_Component
- or else
- Nkind (N) = N_Selected_Component
- then
+ if Nkind_In (N, N_Indexed_Component, N_Selected_Component) then
Pref := Prefix (N);
-- If prefix is access type, then it is the designated object that is