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
+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
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;
---------
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;
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;