[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Tue, 22 Jun 2010 07:41:14 +0000 (09:41 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 22 Jun 2010 07:41:14 +0000 (09:41 +0200)
2010-06-22  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_disp.adb: Minor code fixes.
* sem_eval.adb: Minor reformatting.

2010-06-22  Vincent Celier  <celier@adacore.com>

* make.adb (Scan_Make_Arg): When invoked with -nostdlib, pass -nostdlib
to gnatlink, except on Open VMS.
* osint.adb (Add_Default_Search_Dirs): Do not suppress the default
object directories if -nostdlib is used.

From-SVN: r161141

gcc/ada/ChangeLog
gcc/ada/make.adb
gcc/ada/osint.adb
gcc/ada/sem_ch3.adb
gcc/ada/sem_disp.adb
gcc/ada/sem_eval.adb

index 81521cf..b6f14bc 100644 (file)
@@ -1,5 +1,17 @@
 2010-06-22  Robert Dewar  <dewar@adacore.com>
 
+       * sem_ch3.adb, sem_disp.adb: Minor code fixes.
+       * sem_eval.adb: Minor reformatting.
+
+2010-06-22  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Scan_Make_Arg): When invoked with -nostdlib, pass -nostdlib
+       to gnatlink, except on Open VMS.
+       * osint.adb (Add_Default_Search_Dirs): Do not suppress the default
+       object directories if -nostdlib is used.
+
+2010-06-22  Robert Dewar  <dewar@adacore.com>
+
        * sem_util.adb (Is_Delegate): Put in proper alpha order.
        * sem_eval.adb: Minor reformatting.
 
index 1368821..eb18485 100644 (file)
@@ -8213,14 +8213,18 @@ package body Make is
 
          elsif Argv (2 .. Argv'Last) = "nostdlib" then
 
-            --  Don't pass -nostdlib to gnatlink, it will disable
-            --  linking with all standard library files.
-
             No_Stdlib := True;
 
             Add_Switch (Argv, Compiler, And_Save => And_Save);
             Add_Switch (Argv, Binder, And_Save => And_Save);
 
+            --  On Open VMS, do not pass -nostdlib to gnatlink, it will disable
+            --  linking with all standard library files.
+
+            if not OpenVMS then
+               Add_Switch (Argv, Linker, And_Save => And_Save);
+            end if;
+
          elsif Argv (2 .. Argv'Last) = "nostdinc" then
 
             --  Pass -nostdinc to the Compiler and to gnatbind
index 6265ede..6d6f388 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -538,7 +538,11 @@ package body Osint is
             end loop;
          end if;
 
-         if not Opt.No_Stdlib and not Opt.RTS_Switch then
+         --  Even when -nostdlib is used, we still want to have visibility on
+         --  the run-time object directory, as it is used by gnatbind to find
+         --  the run-time ALI files in "real" ZFP set up.
+
+         if not Opt.RTS_Switch then
             Search_Path :=
               Read_Default_Search_Dirs
                 (String_Access (Update_Path (Search_Dir_Prefix)),
index f98b3b1..e2382bd 100644 (file)
@@ -6941,9 +6941,8 @@ package body Sem_Ch3 is
 
       --  Ada 2005 (AI-251)
 
-      if Ada_Version = Ada_05
-        and then Is_Tagged
-      then
+      if Ada_Version >= Ada_05 and then Is_Tagged then
+
          --  "The declaration of a specific descendant of an interface type
          --  freezes the interface type" (RM 13.14).
 
index 3f09a3e..6ffdb85 100644 (file)
@@ -679,7 +679,7 @@ package body Sem_Disp is
 
       --  Ada 2005 (AI-345)
 
-      if Ada_Version = Ada_05
+      if Ada_Version >= Ada_05
         and then Present (Tagged_Type)
         and then Is_Concurrent_Type (Tagged_Type)
       then
index 6b2602e..d2aeae9 100644 (file)
@@ -3827,10 +3827,13 @@ package body Sem_Eval is
       then
          return Empty;
 
-      --  There are two cases where the context does not imply the type of the
-      --  operands: either the universal expression appears in a type
-      --  conversion, or we are in the case of a predefined relational
-      --  operator, where the context type is always Boolean.
+      --  There are several cases where the context does not imply the type of
+      --  the operands:
+      --     - the universal expression appears in a type conversion;
+      --     - the expression is a relational operator applied to universal
+      --       operands;
+      --     - the expression is a membership test with a universal operand
+      --       and a range with universal bounds.
 
       elsif Nkind (Parent (N)) = N_Type_Conversion
         or else Is_Relational