gnatcmd.adb: Changed /COMPILE_ONLY to /ACTIONS=COMPILE Changed /BIND_ONLY to /ACTIONS...
authorGeert Bosch <bosch@gcc.gnu.org>
Tue, 11 Dec 2001 21:49:34 +0000 (22:49 +0100)
committerGeert Bosch <bosch@gcc.gnu.org>
Tue, 11 Dec 2001 21:49:34 +0000 (22:49 +0100)
* gnatcmd.adb:
Changed /COMPILE_ONLY to /ACTIONS=COMPILE
Changed /BIND_ONLY to /ACTIONS=BIND
Changed /LINK_ONLY to /ACTIONS=LINK

* 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.

From-SVN: r47895

gcc/ada/ChangeLog
gcc/ada/exp_ch5.adb
gcc/ada/gnatcmd.adb
gcc/ada/sem_ch12.adb
gcc/ada/sem_ch8.adb

index 9a1631ba9adadc596e09822b0051602ca05f0388..5a24178347a49d05f10ac53faa4f12ee95cdf26a 100644 (file)
@@ -1,3 +1,22 @@
+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 
index 8c56fe386b04cf713096899e00b8fafd7971c9ab..b6b23d0d18fa3290657498cdb3390bae0d0e0349 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---                            $Revision: 1.216 $
+--                            $Revision$
 --                                                                          --
 --          Copyright (C) 1992-2001, Free Software Foundation, Inc.         --
 --                                                                          --
@@ -1895,7 +1895,10 @@ package body Exp_Ch5 is
          --  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
index 127c3045070f1affc3fb734cc04b463ad7e79b85..bf98c69c7e7dc4bc87d7a1c66960812c0f6b189f 100644 (file)
@@ -1011,18 +1011,20 @@ procedure GNATCmd is
    -- 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";
 
@@ -1056,9 +1058,6 @@ procedure GNATCmd is
    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";
 
@@ -1099,11 +1098,10 @@ procedure GNATCmd is
                                             "-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,
@@ -1115,7 +1113,6 @@ procedure GNATCmd is
      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,
index 55adc7548b70f6ce600d67ca80470bb9c3d339dd..2f821b1c72b468d8edc084cd6285dfc03f754337 100644 (file)
@@ -2812,6 +2812,8 @@ package body Sem_Ch12 is
          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;
 
index 3947eb8ec9def7cbd7d276cb2839e6c75b8a75f4..7e24ef65b9a05da2f612c3df425473034375a0ae 100644 (file)
@@ -3687,9 +3687,12 @@ package body Sem_Ch8 is
                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;