]> git.ipfire.org Git - thirdparty/gcc.git/commit - libiberty/pex-win32.c
Always define `WIN32_LEAN_AND_MEAN` before <windows.h>
authorLIU Hao <lh_mouse@126.com>
Fri, 6 Jan 2023 15:18:15 +0000 (23:18 +0800)
committerJonathan Yong <10walls@gmail.com>
Sat, 7 Jan 2023 06:51:06 +0000 (06:51 +0000)
commit902c755930326cb4405672aa3ea13c35c653cbff
tree85bf90bbe6b8030c78b94e14cc3f0bce4abf28aa
parentd808db1f7b20a3fc3cf1c173f8a3d7e289cb1e60
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.
36 files changed:
gcc/ada/adaint.c
gcc/ada/cio.c
gcc/ada/ctrl_c.c
gcc/ada/expect.c
gcc/ada/gsocket.h
gcc/ada/mingw32.h
gcc/ada/mkdir.c
gcc/ada/rtfinal.c
gcc/ada/rtinit.c
gcc/ada/seh_init.c
gcc/ada/sysdep.c
gcc/ada/terminals.c
gcc/ada/tracebak.c
gcc/config/xtensa/xtensa-dynconfig.c
gcc/diagnostic-color.cc
gcc/jit/jit-w32.h
gcc/plugin.cc
gcc/prefix.cc
libatomic/config/mingw/lock.c
libffi/src/aarch64/ffi.c
libgcc/config/i386/enable-execute-stack-mingw32.c
libgcc/libgcc2.c
libgcc/unwind-generic.h
libgfortran/intrinsics/sleep.c
libgo/misc/cgo/test/callback_c.c
libgomp/config/mingw32/proc.c
libiberty/make-temp-file.c
libiberty/pex-win32.c
libssp/ssp.c
libstdc++-v3/src/c++11/system_error.cc
libstdc++-v3/src/c++11/thread.cc
libstdc++-v3/src/c++17/fs_ops.cc
libstdc++-v3/src/filesystem/ops.cc
libvtv/vtv_malloc.cc
libvtv/vtv_rts.cc
libvtv/vtv_utils.cc