Bug 24487 – ImportC does not pick up some macros in Windows headers

Status
NEW
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Windows
Creation time
2024-04-07T18:46:13Z
Last change time
2024-12-13T19:34:30Z
Assigned to
No Owner
Creator
Carl Sturtivant
Moved to GitHub: dmd#20436 →

Comments

Comment #0 by sturtivant — 2024-04-07T18:46:13Z
//======== comheaders.c #define WINVER 0x0A00 #define _WIN32_WINNT 0x0A00 #include <winerror.h> //not parsed by ImportC for E_NOINTERFACE #undef E_NOINTERFACE const ULONG E_NOINTERFACE = 0x80004002; #include <guiddef.h> //not parsed by ImportC for REFIID #undef REFIID typedef const IID* REFIID; #include <wtypes.h> #include <oleauto.h> #include <oaidl.h> #include <ole2.h> #include <objbase.h> #include <activscp.h> //not parsed by ImportC for IActiveScriptParse #undef IActiveScriptParse typedef IActiveScriptParse64 IActiveScriptParse; //========= When compiled by dmd 2.108.0 (64-bit) with ImportC imported in D source, the above macros have not been made available, hopefully for a systematic reason.
Comment #1 by robert.schadek — 2024-12-13T19:34:30Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/20436 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB