https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108300

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
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.

Reply via email to