[Issue 6909] New: incorrect definition of the OVERLAPPED struct in core.sys.windows.windows ?
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Nov 8 13:42:48 PST 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6909
Summary: incorrect definition of the OVERLAPPED struct in
core.sys.windows.windows ?
Product: D
Version: D2
Platform: x86
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P3
Component: druntime
AssignedTo: nobody at puremagic.com
ReportedBy: webby at beardmouse.org.uk
--- Comment #0 from Richard Webb <webby at beardmouse.org.uk> 2011-11-08 13:42:10 PST ---
While trying to get the Juno library building with the latest DMD2, i found
that core.sys.windows.windows defines OVERLAPPED as:
struct OVERLAPPED
{
DWORD Internal;
DWORD InternalHigh;
DWORD Offset;
DWORD OffsetHigh;
HANDLE hEvent;
}
whereas Juno defines it as:
struct OVERLAPPED {
uint Internal;
uint InternalHigh;
union {
struct {
uint Offset;
uint OffsetHigh;
}
void* Pointer;
}
Handle hEvent;
}
And as Juno makes use of the Pointer member, the druntime version fails to
compile.
The MinGW Windows headers define it as:
typedef struct _OVERLAPPED {
ULONG_PTR Internal;
ULONG_PTR InternalHigh;
__GNUC_EXTENSION union {
__GNUC_EXTENSION struct {
DWORD Offset;
DWORD OffsetHigh;
};
PVOID Pointer;
};
HANDLE hEvent;
} OVERLAPPED,*POVERLAPPED,*LPOVERLAPPED;
and the MSDN is similar, so the Juno version looks correct.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list