+2009-04-20 Bob Duff <duff@adacore.com>
+
+ * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
+ debugging output.
+
+2009-04-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb: Minor reformatting
+
+ * gnatcmd.adb: Minor reformatting
+
2009-04-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
-- d.T Force Optimize_Alignment (Time)
-- d.U
-- d.V
- -- d.W
+ -- d.W Print out debugging information for Walk_Library_Items
-- d.X
-- d.Y
-- d.Z
-- d.T Force Optimize_Alignment (Time) mode as the default
+ -- d.W Print out debugging information for Walk_Library_Items, including
+ -- the order in which units are walked. This is primarily for SofCheck
+ -- Inspector.
+
-- d1 Error messages have node numbers where possible. Normally error
-- messages have only source locations. This option is useful when
-- debugging errors caused by expanded code, where the source location
Namet.Lock;
Stringt.Lock;
- -- ???pragma Debug (Check_Library_Items);
- -- Commented out, because it currently does not work if the -gnatn
- -- switch (back end inlining) is used.
+ -- ???Check_Library_Items under control of a debug flag, because it
+ -- currently does not work if the -gnatn switch (back end inlining) is
+ -- used.
+
+ if Debug_Flag_Dot_WW then
+ Check_Library_Items;
+ end if;
-- Here we call the back end to generate the output code
else
declare
- Switch : constant String :=
- Last_Switches.Table (J).all;
-
- ALI_File : constant String (1 .. Switch'Length + 4) :=
- Switch & ".ali";
+ Switch : constant String :=
+ Last_Switches.Table (J).all;
+ ALI_File : constant String (1 .. Switch'Length + 4) :=
+ Switch & ".ali";
Test_Existence : Boolean := False;
package body Sem is
- Debug_Unit_Walk : constant Boolean := False;
- -- Set to True to print out debugging information for Walk_Library_Items
+ Debug_Unit_Walk : Boolean renames Debug_Flag_Dot_WW;
+ -- Controls debugging printouts for Walk_Library_Items
Outer_Generic_Scope : Entity_Id := Empty;
-- Global reference to the outer scope that is generic. In a non
Write_Unit_Info (Unit_Num, Item);
end if;
- -- ??? why is this commented out
+ -- This assertion is commented out because it fails in some
+ -- circumstances related to library-level generic
+ -- instantiations. We need to investigate why.
-- ???pragma Assert (not Seen (Unit_Num));
Seen (Unit_Num) := True;
Ind : Node_Id;
begin
- -- In the case of a generic index type, the bounds may
- -- appear static but the computation is not meaningful,
- -- and may generate a spurious warning.
+ -- In the case of a generic index type, the bounds may appear static
+ -- but the computation is not meaningful in this case, and may
+ -- generate a spurious warning.
Ind := First_Index (P_Type);
-
while Present (Ind) loop
if Is_Generic_Type (Etype (Ind)) then
return;