www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 24130] New: ImportC: Windows - Cannot build nearly program

https://issues.dlang.org/show_bug.cgi?id=24130

          Issue ID: 24130
           Summary: ImportC: Windows - Cannot build nearly program that
                    uses most system headers as 32-bit.
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Windows
            Status: NEW
          Severity: critical
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: trnsz pobox.com

DMD v2.105.0, Windows 11, latest MSVC community edition:

TYPE test.c
#include <windows.h> int main(void) { return 0; }
DMD -m32 -v test.c
predefs DigitalMars LittleEndian D_Version2 all Windows Win32 CRuntime_Microsoft CppRuntime_Microsoft D_InlineAsm D_InlineAsm_X86 X86 assert D_PreConditions D_PostConditions D_Invariants D_ModuleInfo D_Exceptions D_TypeInfo D_HardFloat binary dmd version v2.105.0-dirty config C:\D\dmd2\windows\bin64\sc.ini DFLAGS -IC:\D\dmd2\windows\bin64\..\..\src\phobos -IC:\D\dmd2\windows\bin64\..\..\src\druntime\import include C:\D\dmd2\windows\bin64\..\..\src\druntime\import\importc.h C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\HostX64\x86\cl.exe /P /Zc:preprocessor /PD /nologo test.c /FIC:\D\dmd2\windows\bin64\..\..\src\druntime\import\importc.h /Fitest.i parse test C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winnt.h(1016): Error: `asm` statements must end in `;` C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winnt.h(1032): Error: `asm` statements must end in `;` C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winnt.h(1048): Error: `asm` statements must end in `;` C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winnt.h(13826): Error: found `i64` when expecting `)` C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winnt.h(13826): Error: found `i64` when expecting `)` C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winnt.h(13826): Error: found `i64` when expecting `)` C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winnt.h(13826): Error: found `i64` when expecting `)` C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winnt.h(13826): Error: found `i64` when expecting `)` C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winnt.h(13826): Error: found `)` when expecting `]` C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winnt.h(13826): Error: `=`, `;` or `,` expected to end declaration instead of `)` --
Sep 01 2023