From 9a2d53b60f9f0cca6417885befabfb47213912a9 Mon Sep 17 00:00:00 2001 From: charlet Date: Thu, 9 Jul 2009 10:32:08 +0000 Subject: [PATCH] 2009-07-09 Thomas Quinot * g-socket.adb (Check_Selector): Do not create local copies of the socket sets on the stack. 2009-07-09 Vasiliy Fofanov * 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 | 9 ++++++++ gcc/ada/g-socket.adb | 60 ++++++++++++--------------------------------------- gcc/ada/gnat_ugn.texi | 8 +++---- 3 files changed, 27 insertions(+), 50 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index e63554a..7cd08af 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,12 @@ +2009-07-09 Thomas Quinot + + * g-socket.adb (Check_Selector): Do not create local copies of the + socket sets on the stack. + +2009-07-09 Vasiliy Fofanov + + * gnat_ugn.texi: Add missing VMS translations. + 2009-07-09 Ed Schonberg * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the diff --git a/gcc/ada/g-socket.adb b/gcc/ada/g-socket.adb index a473aad..22c28ec 100644 --- a/gcc/ada/g-socket.adb +++ b/gcc/ada/g-socket.adb @@ -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; ----------- diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index cb1f6df..1664999 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -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 -- 2.7.4