[Ada] Fix incorrect binding to MapViewOfFile in s-win32.ads
Despite the "dw" prefix on the name, the dwNumberOfBytesToMap argument to MapViewOfFile was changed from DWORD to SIZE_T when 64bit Windows came about. This change adjusts the binding we have for it in System.Win32 accordingly. For consistency with established practice, an s-win32 specific version of size_t is introduced and g-sercom__mingw.adb is adjusted to disambiguate between this new size_t and the one already exposed in System.CRTL. 2019-08-13 Olivier Hainque <hainque@adacore.com> gcc/ada/ * libgnat/s-win32.ads: Define size_t and fix the MapViewOfFile binding to use it instead of DWORD for the dwNumberOfBytesToMap argument. * libgnat/g-sercom__mingw.adb (Read): State which definition of size_t to fetch in call to Last_Index. From-SVN: r274341
This commit is contained in:
parent
07c6ed01a7
commit
3fee1dcfc7
@ -1,3 +1,11 @@
|
||||
2019-08-13 Olivier Hainque <hainque@adacore.com>
|
||||
|
||||
* libgnat/s-win32.ads: Define size_t and fix the MapViewOfFile
|
||||
binding to use it instead of DWORD for the dwNumberOfBytesToMap
|
||||
argument.
|
||||
* libgnat/g-sercom__mingw.adb (Read): State which definition of
|
||||
size_t to fetch in call to Last_Index.
|
||||
|
||||
2019-08-13 Arnaud Charlet <charlet@adacore.com>
|
||||
|
||||
* gcc-interface/Make-lang.in: Remove unused TRACE variable. Pass
|
||||
|
@ -167,7 +167,7 @@ package body GNAT.Serial_Communications is
|
||||
Raise_Error ("read error");
|
||||
end if;
|
||||
|
||||
Last := Last_Index (Buffer'First, size_t (Read_Last));
|
||||
Last := Last_Index (Buffer'First, CRTL.size_t (Read_Last));
|
||||
end Read;
|
||||
|
||||
---------
|
||||
|
@ -63,6 +63,7 @@ package System.Win32 is
|
||||
type BYTE is new Interfaces.C.unsigned_char;
|
||||
type LONG is new Interfaces.C.long;
|
||||
type CHAR is new Interfaces.C.char;
|
||||
type SIZE_T is new Interfaces.C.size_t;
|
||||
|
||||
type BOOL is new Interfaces.C.int;
|
||||
for BOOL'Size use Interfaces.C.int'Size;
|
||||
@ -238,7 +239,7 @@ package System.Win32 is
|
||||
dwDesiredAccess : DWORD;
|
||||
dwFileOffsetHigh : DWORD;
|
||||
dwFileOffsetLow : DWORD;
|
||||
dwNumberOfBytesToMap : DWORD) return System.Address;
|
||||
dwNumberOfBytesToMap : SIZE_T) return System.Address;
|
||||
pragma Import (Stdcall, MapViewOfFile, "MapViewOfFile");
|
||||
|
||||
function UnmapViewOfFile (lpBaseAddress : System.Address) return BOOL;
|
||||
|
Loading…
Reference in New Issue
Block a user