https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108300
--- Comment #7 from niXman <i.nixman at autistici dot org> --- (In reply to CVS Commits from comment #6) > The master branch has been updated by Jonathan Yong <jy...@gcc.gnu.org>: > > https://gcc.gnu.org/g:902c755930326cb4405672aa3ea13c35c653cbff > > commit r13-5055-g902c755930326cb4405672aa3ea13c35c653cbff > Author: LIU Hao <lh_mo...@126.com> > Date: Fri Jan 6 23:18:15 2023 +0800 > > Always define `WIN32_LEAN_AND_MEAN` before <windows.h> > > Recently, mingw-w64 has got updated <msxml.h> from Wine which is included > indirectly by <windows.h> if `WIN32_LEAN_AND_MEAN` is not defined. The > `IXMLDOMDocument` class has a member function named `abort()`, which gets > affected by our `abort()` macro in "system.h". > > `WIN32_LEAN_AND_MEAN` should, nevertheless, always be defined. This > can exclude 'APIs such as Cryptography, DDE, RPC, Shell, and Windows > Sockets' [1], and speed up compilation of these files a bit. > > [1] > https://learn.microsoft.com/en-us/windows/win32/winprog/using-the-windows- > headers > > gcc/ > > PR middle-end/108300 > * config/xtensa/xtensa-dynconfig.c: Define `WIN32_LEAN_AND_MEAN` > before <windows.h>. > * diagnostic-color.cc: Likewise. > * plugin.cc: Likewise. > * prefix.cc: Likewise. > > gcc/ada/ > > PR middle-end/108300 > * adaint.c: Define `WIN32_LEAN_AND_MEAN` before `#include > <windows.h>`. > * cio.c: Likewise. > * ctrl_c.c: Likewise. > * expect.c: Likewise. > * gsocket.h: Likewise. > * mingw32.h: Likewise. > * mkdir.c: Likewise. > * rtfinal.c: Likewise. > * rtinit.c: Likewise. > * seh_init.c: Likewise. > * sysdep.c: Likewise. > * terminals.c: Likewise. > * tracebak.c: Likewise. > > gcc/jit/ > > PR middle-end/108300 > * jit-w32.h: Define `WIN32_LEAN_AND_MEAN` before <windows.h>. > > libatomic/ > > PR middle-end/108300 > * config/mingw/lock.c: Define `WIN32_LEAN_AND_MEAN` before > <windows.h>. > > libffi/ > > PR middle-end/108300 > * src/aarch64/ffi.c: Define `WIN32_LEAN_AND_MEAN` before > <windows.h>. > > libgcc/ > > PR middle-end/108300 > * config/i386/enable-execute-stack-mingw32.c: Define > `WIN32_LEAN_AND_MEAN` before <windows.h>. > * libgcc2.c: Likewise. > * unwind-generic.h: Likewise. > > libgfortran/ > > PR middle-end/108300 > * intrinsics/sleep.c: Define `WIN32_LEAN_AND_MEAN` before > <windows.h>. > > libgomp/ > > PR middle-end/108300 > * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before > <windows.h>. > > libiberty/ > > PR middle-end/108300 > * make-temp-file.c: Define `WIN32_LEAN_AND_MEAN` before > <windows.h>. > * pex-win32.c: Likewise. > > libssp/ > > PR middle-end/108300 > * ssp.c: Define `WIN32_LEAN_AND_MEAN` before <windows.h>. > > libstdc++-v3/ > > PR middle-end/108300 > * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before > <windows.h>. > * src/c++11/thread.cc: Likewise. > * src/c++17/fs_ops.cc: Likewise. > * src/filesystem/ops.cc: Likewise. > > libvtv/ > > PR middle-end/108300 > * vtv_malloc.cc: Define `WIN32_LEAN_AND_MEAN` before <windows.h>. > * vtv_rts.cc: Likewise. > * vtv_utils.cc: Likewise. now it bootstrapped OK, thanks!