summaryrefslogtreecommitdiff
path: root/gcc/ada/g-socthi-mingw.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-06 08:11:41 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-06 08:11:41 +0000
commit38b9cc41f84542f78353a1f9919a471ff1ff1002 (patch)
tree7b40ce34cdf446910efb8a5c3d278df8429b4f5a /gcc/ada/g-socthi-mingw.adb
parentce4896fb361b815d4018cf46510eedaff8191081 (diff)
downloadgcc-38b9cc41f84542f78353a1f9919a471ff1ff1002.tar.gz
2009-05-06 Gary Dismukes <dismukes@adacore.com>
* sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the Underlying_Type before retrieving the type definition for gathering components, to account for the case where the type is private. 2009-05-06 Tristan Gingold <gingold@adacore.com> * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt). 2009-05-06 Thomas Quinot <quinot@adacore.com> * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg, Windows versions): Fix incorrect base address of Iovec (it's Msg_Iov, not Msg_Iov'Address). (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a System.Address for the To parameter instead of a Sockaddr_In_Access, to achieve independance from AF_INET family, and also to allow this parameter to be retrieved from a Msghdr for the Windows case where these routines are used to implement C_Sendmsg and C_Recvmsg. 2009-05-06 Bob Duff <duff@adacore.com> * g-expect.adb, g-expect.ads: Minor reformatting * sdefault.ads: Minor comment fix * g-expect-vms.adb: Minor reformatting * table.ads, table.adb (Append_All): New convenience procedure for appending a whole array. * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug box message. Call Osint.Dump_Source_File_Names to print out the file list, instead of rummaging around in various data structures. * debug.adb: New switch -gnatd.n, to print source file names as they are read. * alloc.ads: Add parameters for Osint.File_Name_Chars. * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print out source file names during a "bug box". (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free. (Read_Source_File): Print out the file name, if requested via -gnatd.n. If it's not part of the runtimes, store it for later printing by Dump_Source_File_Names. 2009-05-06 Javier Miranda <miranda@adacore.com> * gnat_rm.texi (CPP_Constructor): Avoid duplication of the documentation and add reference to the GNAT user guide for further details. 2009-05-06 Javier Miranda <miranda@adacore.com> * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove also wrong examples that use extension aggregates. 2009-05-06 Albert Lee <lee@adacore.com> * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition of Msg_Iovlen_T for VMS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147148 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/g-socthi-mingw.adb')
-rw-r--r--gcc/ada/g-socthi-mingw.adb38
1 files changed, 17 insertions, 21 deletions
diff --git a/gcc/ada/g-socthi-mingw.adb b/gcc/ada/g-socthi-mingw.adb
index c77048671bc..093731ce40d 100644
--- a/gcc/ada/g-socthi-mingw.adb
+++ b/gcc/ada/g-socthi-mingw.adb
@@ -263,24 +263,20 @@ package body GNAT.Sockets.Thin is
for MH'Address use Msg;
Iovec : array (0 .. MH.Msg_Iovlen - 1) of Vector_Element;
- for Iovec'Address use MH.Msg_Iov'Address;
+ for Iovec'Address use MH.Msg_Iov;
pragma Import (Ada, Iovec);
- pragma Unreferenced (Flags);
-
begin
- -- Windows does not provide an implementation of recvmsg(). The
- -- spec for WSARecvMsg() is incompatible with the data types we
- -- define, and is not available in all versions of Windows. So,
- -- we'll use C_Recv instead. Note that this means the Flags
- -- argument is ignored.
+ -- Windows does not provide an implementation of recvmsg(). The spec for
+ -- WSARecvMsg() is incompatible with the data types we define, and is
+ -- not available in all versions of Windows. So, we use C_Recv instead.
for J in Iovec'Range loop
Res := C_Recv
(S,
Iovec (J).Base.all'Address,
C.int (Iovec (J).Length),
- 0);
+ Flags);
if Res < 0 then
return ssize_t (Res);
@@ -359,7 +355,10 @@ package body GNAT.Sockets.Thin is
-- Check out-of-band data
Length := C_Recvfrom
- (S, Buffer'Address, 1, Flag, null, Fromlen'Unchecked_Access);
+ (S, Buffer'Address, 1, Flag,
+ From => System.Null_Address,
+ Fromlen => Fromlen'Unchecked_Access);
+ -- Is Fromlen necessary if From is Null_Address???
-- If the signal is not an out-of-band data, then it
-- is a connection failure notification.
@@ -399,26 +398,23 @@ package body GNAT.Sockets.Thin is
for MH'Address use Msg;
Iovec : array (0 .. MH.Msg_Iovlen - 1) of Vector_Element;
- for Iovec'Address use MH.Msg_Iov'Address;
+ for Iovec'Address use MH.Msg_Iov;
pragma Import (Ada, Iovec);
- pragma Unreferenced (Flags);
-
begin
- -- Windows does not provide an implementation of sendmsg(). The
- -- spec for WSASendMsg() is incompatible with the data types we
- -- define, and is not available in all versions of Windows. So,
- -- we'll use C_Sendto instead. Note that this means the Flags
- -- argument is ignored.
+ -- Windows does not provide an implementation of sendmsg(). The spec for
+ -- WSASendMsg() is incompatible with the data types we define, and is
+ -- not available in all versions of Windows. So, we'll use C_Sendto
+ -- instead.
for J in Iovec'Range loop
Res := C_Sendto
(S,
Iovec (J).Base.all'Address,
C.int (Iovec (J).Length),
- Flags => 0,
- To => null,
- Tolen => 0);
+ Flags => Flags,
+ To => MH.Msg_Name,
+ Tolen => C.int (MH.Msg_Namelen));
if Res < 0 then
return ssize_t (Res);