OSDN Git Service

2009-07-09 Thomas Quinot <quinot@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 9 Jul 2009 10:32:08 +0000 (10:32 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 9 Jul 2009 10:32:08 +0000 (10:32 +0000)
* g-socket.adb (Check_Selector): Do not create local copies of the
socket sets on the stack.

2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>

* gnat_ugn.texi: Add missing VMS translations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149414 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/g-socket.adb
gcc/ada/gnat_ugn.texi

index e63554a..7cd08af 100644 (file)
@@ -1,3 +1,12 @@
+2009-07-09  Thomas Quinot  <quinot@adacore.com>
+
+       * g-socket.adb (Check_Selector): Do not create local copies of the
+       socket sets on the stack.
+
+2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * gnat_ugn.texi: Add missing VMS translations.
+
 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
 
        * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
index a473aad..22c28ec 100644 (file)
@@ -465,9 +465,6 @@ package body GNAT.Sockets is
       Res  : C.int;
       Last : C.int;
       RSig : Socket_Type renames Selector.R_Sig_Socket;
-      RSet : Socket_Set_Type;
-      WSet : Socket_Set_Type;
-      ESet : Socket_Set_Type;
       TVal : aliased Timeval;
       TPtr : Timeval_Access;
 
@@ -483,29 +480,20 @@ package body GNAT.Sockets is
          TPtr := TVal'Unchecked_Access;
       end if;
 
-      --  Copy R_Socket_Set in RSet and add read signalling socket
+      --  Add read signalling socket
 
-      RSet := R_Socket_Set;
-      Set (RSet, RSig);
+      Set (R_Socket_Set, RSig);
 
-      --  Copy W_Socket_Set in WSet
-
-      WSet := W_Socket_Set;
-
-      --  Copy E_Socket_Set in ESet
-
-      ESet := E_Socket_Set;
-
-      Last := C.int'Max (C.int'Max (C.int (RSet.Last),
-                                    C.int (WSet.Last)),
-                                    C.int (ESet.Last));
+      Last := C.int'Max (C.int'Max (C.int (R_Socket_Set.Last),
+                                    C.int (W_Socket_Set.Last)),
+                                    C.int (E_Socket_Set.Last));
 
       Res :=
         C_Select
          (Last + 1,
-          RSet.Set'Access,
-          WSet.Set'Access,
-          ESet.Set'Access,
+          R_Socket_Set.Set'Access,
+          W_Socket_Set.Set'Access,
+          E_Socket_Set.Set'Access,
           TPtr);
 
       if Res = Failure then
@@ -515,8 +503,8 @@ package body GNAT.Sockets is
       --  If Select was resumed because of read signalling socket, read this
       --  data and remove socket from set.
 
-      if Is_Set (RSet, RSig) then
-         Clear (RSet, RSig);
+      if Is_Set (R_Socket_Set, RSig) then
+         Clear (R_Socket_Set, RSig);
 
          Res := Signalling_Fds.Read (C.int (RSig));
 
@@ -530,31 +518,11 @@ package body GNAT.Sockets is
          Status := Expired;
       end if;
 
-      --  Update RSet, WSet and ESet in regard to their new socket sets
-
-      Narrow (RSet);
-      Narrow (WSet);
-      Narrow (ESet);
-
-      --  Reset RSet as it should be if R_Sig_Socket was not added
-
-      if Is_Empty (RSet) then
-         Empty (RSet);
-      end if;
-
-      if Is_Empty (WSet) then
-         Empty (WSet);
-      end if;
-
-      if Is_Empty (ESet) then
-         Empty (ESet);
-      end if;
-
-      --  Deliver RSet, WSet and ESet
+      --  Update socket sets in regard to their new contents
 
-      R_Socket_Set := RSet;
-      W_Socket_Set := WSet;
-      E_Socket_Set := ESet;
+      Narrow (R_Socket_Set);
+      Narrow (W_Socket_Set);
+      Narrow (E_Socket_Set);
    end Check_Selector;
 
    -----------
index cb1f6df..1664999 100644 (file)
@@ -6996,8 +6996,8 @@ This not normally required, but is used by separate analysis tools.
 Typically
 these tools do the necessary compilations automatically, so you should
 not have to specify this switch in normal operation.
-Note that the combination of switches @option{-gnatct} generates a tree
-in the form required by ASIS applications.
+Note that the combination of switches @option{^-gnatct^/NOLOAD /TREE_OUTPUT^}
+generates a tree in the form required by ASIS applications.
 
 @item -gnatu
 @cindex @option{-gnatu} (@command{gcc})
@@ -20824,8 +20824,8 @@ structure and semantics as the @code{string_LITERAL} parameter of GNAT pragma
 @code{Style_Checks} (for further information about this pragma,
 @pxref{Pragma Style_Checks,,, gnat_rm, GNAT Reference Manual}). For example,
 @code{+RStyle_Checks:O} rule option activates and adds to @command{gnatcheck}
-output the compiler style check that corresponds to @code{-gnatyO} style
-check option.
+output the compiler style check that corresponds to
+@code{^-gnatyO^/STYLE_CHECKS=OVERRIDING_INDICATORS^} style check option.
 
 @item Warnings
 To record compiler warnings (@pxref{Warning Message Control}), use the rule