+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb:
+ Changed /COMPILE_ONLY to /ACTIONS=COMPILE
+ Changed /BIND_ONLY to /ACTIONS=BIND
+ Changed /LINK_ONLY to /ACTIONS=LINK
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch8.adb (Find_Selected_Component): improved search for a
+ candidate package in case of error.
+
+ * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
+ chain back on scope stack before reinstalling use clauses.
+
+ * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
+ is enabled, do not kill the code for the condition, to preserve
+ warning.
+
2001-12-11 Robert Dewar <dewar@gnat.com>
* checks.adb (Insert_Valid_Check): Apply validity check to expression
-- --
-- B o d y --
-- --
--- $Revision: 1.216 $
+-- $Revision$
-- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- the Then statements
else
- Kill_Dead_Code (Condition (N));
+ if not Constant_Condition_Warnings then
+ Kill_Dead_Code (Condition (N));
+ end if;
+
Kill_Dead_Code (Then_Statements (N));
-- If there are no elsif statements, then we simply replace
-- Switches for GNAT MAKE --
----------------------------
+ S_Make_Actions : aliased constant S := "/ACTIONS=" &
+ "COMPILE " &
+ "-c " &
+ "BIND " &
+ "-b " &
+ "LINK " &
+ "-l ";
+
S_Make_All : aliased constant S := "/ALL_FILES " &
"-a";
- S_Make_Bind_Only : aliased constant S := "/BIND_ONLY " &
- "-b";
-
S_Make_Bind : aliased constant S := "/BINDER_QUALIFIERS=?" &
"-bargs BIND";
- S_Make_Compile_Only : aliased constant S := "/COMPILE_ONLY " &
- "-c";
-
S_Make_Comp : aliased constant S := "/COMPILER_QUALIFIERS=?" &
"-cargs COMPILE";
S_Make_Link : aliased constant S := "/LINKER_QUALIFIERS=?" &
"-largs LINK";
- S_Make_Link_Only : aliased constant S := "/LINK_ONLY " &
- "-l";
-
S_Make_Minimal : aliased constant S := "/MINIMAL_RECOMPILATION " &
"-m";
"-v";
Make_Switches : aliased constant Switches := (
+ S_Make_Actions 'Access,
S_Make_All 'Access,
S_Make_Bind 'Access,
- S_Make_Bind_Only'Access,
S_Make_Comp 'Access,
- S_Make_Compile_Only'Access,
S_Make_Cond 'Access,
S_Make_Cont 'Access,
S_Make_Current 'Access,
S_Make_Inplace 'Access,
S_Make_Library 'Access,
S_Make_Link 'Access,
- S_Make_Link_Only'Access,
S_Make_Minimal 'Access,
S_Make_Nolink 'Access,
S_Make_Nostinc 'Access,
end if;
for J in reverse 1 .. Num_Scopes loop
+ Scope_Stack.Table (Scope_Stack.Last - J + 1).First_Use_Clause :=
+ Use_Clauses (J);
Install_Use_Clauses (Use_Clauses (J));
end loop;
then
-- Prefix may mention a package that is hidden by a local
- -- declaration: let the user know.
+ -- declaration: let the user know. Scan the full homonym
+ -- chain, the candidate package may be anywhere on it.
- if Present (Homonym (P_Name)) then
+ if Present (Homonym (Current_Entity (P_Name))) then
+
+ P_Name := Current_Entity (P_Name);
while Present (P_Name) loop
exit when Ekind (P_Name) = E_Package;