https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103635
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |UNCONFIRMED
Ever confirmed|1 |0
Keywords| |rejects-valid, wrong-code
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Mark Harmstone from comment #10)
> So the underlying issue is that _WIN64 is not getting set with -mabi=sysv.
> Is this a bug with GCC, or in the mingw headers?
The mingw headers assume if _WIN64 is not defined then it is mingw32 ABI.
But GCC has:
builtin_define ("__MSVCRT__"); \
builtin_define ("__MINGW32__"); \
builtin_define ("_WIN32"); \
builtin_define_std ("WIN32"); \
builtin_define_std ("WINNT"); \
builtin_define_with_int_value ("_INTEGRAL_MAX_BITS", \
TYPE_PRECISION (intmax_type_node));\
if (TARGET_64BIT && ix86_abi == MS_ABI) \
{ \
builtin_define ("__MINGW64__"); \
builtin_define_std ("WIN64"); \
builtin_define ("_WIN64"); \
} \
At this point, it is up to the mingw maintainers to figure out if the bug is in
GCC or mingw headers because I have no opinion on this really.