gcc-12.3 cannot build gcc-ada on Cygwin
Achim Gratz
Stromeko@nexgo.de
Mon May 22 20:08:19 GMT 2023
LIU Hao via Gcc writes:
> 在 2023-05-22 00:35, Achim Gratz 写道:
>> The error probably is in part a result of using g++ for the compilation,
>> but other than that I don't really have an idea what goes on here or how
>> to fix it.
>
> This looks like https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108300.
Apparently yes. Thanks for pointing that out.
> It's because GCC defines `abort` as a macro; and the Windows header
> 'msxml.h', which is included indirectly by 'accctrl.h' (within Ada and
> GCC JIT), has a member function with that same name.
>
> Previously, mingw-w64 had a distinct 'msxml.h' which did `push_macro`
> and `pop_macro`, but it's now imported from wine for additional
> functionality, while the wine header does not have those pragmas and
> is causing trouble. GCC should not have defined macros which match
> standard functions like that (see Comment 9 on the PR above). Sadly
> nobody has refactored it so far.
>
> A temporary fix for this issue is to add `-DCOM_NO_WINDOWS_H` in
> `CPPFLAGS` when building GCC.
I've backported the patch _and_ defined both WIN32_LEAN_AND_MEAN and
COM_NO_WINDOWS_H (of which I find no reference anywhere in the sources,
so it's probably doing something in the Windows headers?) and the build
has been working through stage 3.
The Cygwin build probably shouldn't pull in Windows headers at all, but
checking that is for another time.
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
More information about the Gcc
mailing list