From patchwork Fri Jan 6 18:01:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: LIU Hao X-Patchwork-Id: 1722556 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha256 header.s=default header.b=GiH9hGOT; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NpWPK2tWYz23fF for ; Sat, 7 Jan 2023 05:01:39 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C6B503858D35 for ; Fri, 6 Jan 2023 18:01:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C6B503858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1673028096; bh=7/fykbsb2sg7WGoEjKGHu/78BgakoiheFFZILxD7O0U=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=GiH9hGOTuKBN8TQV9QUvkjXPwQBbMOf88gyCYquSQKJN9enZpfono2lrgJ41FTOq8 9ZLKq9Ni5YtjOFAXZn0fREnGWE9e44FFuWAX041iIffLdSkh0hDSUs5ieQtGobrHPi 1DoDPcSkVPADTCz/sz4Gq5JkSpNRFFUuphYut52Y= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from m126.mail.126.com (m126.mail.126.com [123.126.96.242]) by sourceware.org (Postfix) with ESMTP id 2650A3858D28 for ; Fri, 6 Jan 2023 18:01:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2650A3858D28 Received: from [192.168.1.2] (unknown [101.93.88.116]) by smtp12 (Coremail) with SMTP id fORpCgDHfVrhYbhj6W1mAA--.64356S2; Sat, 07 Jan 2023 02:01:06 +0800 (CST) Message-ID: Date: Sat, 7 Jan 2023 02:01:05 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Content-Language: en-US To: gcc-patches@gcc.gnu.org, Jonathan Yong <10walls@gmail.com> Subject: [PATCH] Always define `WIN32_LEAN_AND_MEAN` before X-CM-TRANSID: fORpCgDHfVrhYbhj6W1mAA--.64356S2 X-Coremail-Antispam: 1Uf129KBjvdXoW7Gr4xWr18AFyUXw1Utr1DKFg_yoWxuFg_Zr n7X3Wjgw42vFW7Ka9xXFsxuF4ak34IqFyrZr1YqrWxC3sxAFZ5C3Z2gFyaqas3Ja9Ivr4q qrn8Wr4jva4SyjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU0Y-e5UUUUU== X-Originating-IP: [101.93.88.116] X-CM-SenderInfo: 5okbz0xxvhqiyswou0bp/1tbi1wPuRl53aduKNAAAsZ X-Spam-Status: No, score=-3132.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_SBL_A, URI_TRY_3LD autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: LIU Hao via Gcc-patches From: LIU Hao Reply-To: LIU Hao Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" This fixes bootstrap issues with current mingw-w64 headers: ``` ../../gcc/gcc/system.h:791:30: error: expected identifier before string constant 791 | #define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__) | ^~~~~~~~ ``` The changes in this commit were generated by the following command, with some post-processing: ``` sed -Ei 's,^( *)#( *)include ,\1#\2define WIN32_LEAN_AND_MEAN\n&,' \ $(grep -Flr "") ``` This has been tested with C, C++, LTO, Fortran, Objective-C, Objective-C++ and JIT, on {i868,x86_64}-w64-mingw32; but it contains changes to Ada, libgo, libgomp and libvtv, which I don't usually build and test. diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c index d2604ca9b77..2cbad88e901 100644 --- a/gcc/ada/adaint.c +++ b/gcc/ada/adaint.c @@ -227,6 +227,7 @@ UINT __gnat_current_ccs_encoding; #elif defined (_WIN32) +#define WIN32_LEAN_AND_MEAN #include #include #include diff --git a/gcc/ada/cio.c b/gcc/ada/cio.c index fa731ca68dd..f004b4bf732 100644 --- a/gcc/ada/cio.c +++ b/gcc/ada/cio.c @@ -67,6 +67,7 @@ extern "C" { #endif #ifdef RTX +#define WIN32_LEAN_AND_MEAN #include #include #endif diff --git a/gcc/ada/ctrl_c.c b/gcc/ada/ctrl_c.c index eeec3e64f70..6b9fc85ac43 100644 --- a/gcc/ada/ctrl_c.c +++ b/gcc/ada/ctrl_c.c @@ -126,6 +126,7 @@ __gnat_uninstall_int_handler (void) #elif defined (__MINGW32__) +#define WIN32_LEAN_AND_MEAN #include "mingw32.h" #include diff --git a/gcc/ada/expect.c b/gcc/ada/expect.c index 48fb1076e91..87dc16825be 100644 --- a/gcc/ada/expect.c +++ b/gcc/ada/expect.c @@ -71,6 +71,7 @@ #ifdef _WIN32 +#define WIN32_LEAN_AND_MEAN #include #include #include diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h index 561f2ffb566..804994e4126 100644 --- a/gcc/ada/gsocket.h +++ b/gcc/ada/gsocket.h @@ -167,6 +167,7 @@ #endif +#define WIN32_LEAN_AND_MEAN #include #elif defined(VMS) diff --git a/gcc/ada/mingw32.h b/gcc/ada/mingw32.h index d038211a1dc..7f6622ad8a8 100644 --- a/gcc/ada/mingw32.h +++ b/gcc/ada/mingw32.h @@ -53,6 +53,7 @@ #define _X86INTRIN_H_INCLUDED #define _EMMINTRIN_H_INCLUDED #endif +#define WIN32_LEAN_AND_MEAN #include /* After including this file it is possible to use the character t as prefix diff --git a/gcc/ada/mkdir.c b/gcc/ada/mkdir.c index d54d5ec71bb..1da321c551f 100644 --- a/gcc/ada/mkdir.c +++ b/gcc/ada/mkdir.c @@ -43,6 +43,7 @@ #endif #ifdef __MINGW32__ +#define WIN32_LEAN_AND_MEAN #include "mingw32.h" #include #ifdef MAXPATHLEN diff --git a/gcc/ada/rtfinal.c b/gcc/ada/rtfinal.c index 543e3a29f07..bd73e2cbd2c 100644 --- a/gcc/ada/rtfinal.c +++ b/gcc/ada/rtfinal.c @@ -46,6 +46,7 @@ extern int __gnat_rt_init_count; /* see initialize.c */ #if defined (__MINGW32__) +#define WIN32_LEAN_AND_MEAN #include "mingw32.h" #include diff --git a/gcc/ada/rtinit.c b/gcc/ada/rtinit.c index 1b351d33203..cd347168506 100644 --- a/gcc/ada/rtinit.c +++ b/gcc/ada/rtinit.c @@ -70,6 +70,7 @@ int __gnat_rt_init_count = 0; and finalize properly the run-time. */ #if defined (__MINGW32__) +#define WIN32_LEAN_AND_MEAN #include "mingw32.h" #include diff --git a/gcc/ada/seh_init.c b/gcc/ada/seh_init.c index 16a1f69d429..85895b64b7c 100644 --- a/gcc/ada/seh_init.c +++ b/gcc/ada/seh_init.c @@ -34,6 +34,7 @@ #if defined (_WIN32) || (defined (__CYGWIN__) && defined (__SEH__)) /* Include system headers, before system.h poisons malloc. */ +#define WIN32_LEAN_AND_MEAN #include #include #endif diff --git a/gcc/ada/sysdep.c b/gcc/ada/sysdep.c index 7bdfcbc047c..edf3b78bc5f 100644 --- a/gcc/ada/sysdep.c +++ b/gcc/ada/sysdep.c @@ -217,6 +217,7 @@ __gnat_ttyname (int filedes) #endif /* __CYGWIN__ */ #if defined (__CYGWIN__) || defined (__MINGW32__) +#define WIN32_LEAN_AND_MEAN #include int __gnat_is_windows_xp (void); @@ -589,6 +590,7 @@ getc_immediate_common (FILE *stream, Ada programs. */ #ifdef WINNT +#define WIN32_LEAN_AND_MEAN #include /* Provide functions to echo the values passed to WinMain (windows bindings diff --git a/gcc/ada/terminals.c b/gcc/ada/terminals.c index 330128abf5d..9e7c2de13dc 100644 --- a/gcc/ada/terminals.c +++ b/gcc/ada/terminals.c @@ -151,6 +151,7 @@ __gnat_setup_winsize (void *desc ATTRIBUTE_UNUSED, #include #include +#define WIN32_LEAN_AND_MEAN #include #include #include diff --git a/gcc/ada/tracebak.c b/gcc/ada/tracebak.c index f4e739d5ecf..c43aadeafa4 100644 --- a/gcc/ada/tracebak.c +++ b/gcc/ada/tracebak.c @@ -93,6 +93,7 @@ extern void (*Unlock_Task) (void); #if defined (_WIN64) && defined (__SEH__) +#define WIN32_LEAN_AND_MEAN #include #define IS_BAD_PTR(ptr) (IsBadCodePtr((FARPROC)ptr)) @@ -455,6 +456,7 @@ struct layout #elif defined (__i386__) || defined (__x86_64__) #if defined (__WIN32) +#define WIN32_LEAN_AND_MEAN #include #define IS_BAD_PTR(ptr) (IsBadCodePtr((FARPROC)ptr)) #elif defined (__sun__) diff --git a/gcc/config/xtensa/xtensa-dynconfig.c b/gcc/config/xtensa/xtensa-dynconfig.c index 0a611fd14b0..91d02ef720f 100644 --- a/gcc/config/xtensa/xtensa-dynconfig.c +++ b/gcc/config/xtensa/xtensa-dynconfig.c @@ -29,6 +29,7 @@ #if defined (HAVE_DLFCN_H) #include #elif defined (_WIN32) +#define WIN32_LEAN_AND_MEAN #include #define ENABLE_PLUGIN #endif diff --git a/gcc/diagnostic-color.cc b/gcc/diagnostic-color.cc index 532f31926cf..5f2856d18e4 100644 --- a/gcc/diagnostic-color.cc +++ b/gcc/diagnostic-color.cc @@ -22,6 +22,7 @@ #include "diagnostic-url.h" #ifdef __MINGW32__ +# define WIN32_LEAN_AND_MEAN # include #endif diff --git a/gcc/jit/jit-w32.h b/gcc/jit/jit-w32.h index 14b75764e63..3c65ff1f530 100644 --- a/gcc/jit/jit-w32.h +++ b/gcc/jit/jit-w32.h @@ -20,6 +20,7 @@ along with GCC; see the file COPYING3. If not see #include "config.h" +#define WIN32_LEAN_AND_MEAN #include namespace gcc { diff --git a/gcc/plugin.cc b/gcc/plugin.cc index 71ddbfe6c10..142f3fa4131 100644 --- a/gcc/plugin.cc +++ b/gcc/plugin.cc @@ -41,6 +41,7 @@ along with GCC; see the file COPYING3. If not see #ifndef NOMINMAX #define NOMINMAX #endif +#define WIN32_LEAN_AND_MEAN #include #endif diff --git a/gcc/prefix.cc b/gcc/prefix.cc index f03d3575bf1..c2a37bde5ea 100644 --- a/gcc/prefix.cc +++ b/gcc/prefix.cc @@ -67,6 +67,7 @@ License along with GCC; see the file COPYING3. If not see #include "system.h" #include "coretypes.h" #if defined(_WIN32) && defined(ENABLE_WIN32_REGISTRY) +#define WIN32_LEAN_AND_MEAN #include #endif #include "prefix.h" diff --git a/libatomic/config/mingw/lock.c b/libatomic/config/mingw/lock.c index 6efa42cea73..0dcf07031e6 100644 --- a/libatomic/config/mingw/lock.c +++ b/libatomic/config/mingw/lock.c @@ -23,6 +23,7 @@ . */ #define UWORD __shadow_UWORD +#define WIN32_LEAN_AND_MEAN #include #undef UWORD #include "libatomic_i.h" diff --git a/libffi/src/aarch64/ffi.c b/libffi/src/aarch64/ffi.c index 5c85fcd0e9c..b394c18fc56 100644 --- a/libffi/src/aarch64/ffi.c +++ b/libffi/src/aarch64/ffi.c @@ -28,6 +28,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include "internal.h" #ifdef _WIN32 +#define WIN32_LEAN_AND_MEAN #include /* FlushInstructionCache */ #endif #include diff --git a/libgcc/config/i386/enable-execute-stack-mingw32.c b/libgcc/config/i386/enable-execute-stack-mingw32.c index 461553581ad..17e068cd8e4 100644 --- a/libgcc/config/i386/enable-execute-stack-mingw32.c +++ b/libgcc/config/i386/enable-execute-stack-mingw32.c @@ -22,6 +22,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ +#define WIN32_LEAN_AND_MEAN #include extern void __enable_execute_stack (void *); diff --git a/libgcc/libgcc2.c b/libgcc/libgcc2.c index 3ebfcc83f35..1f7f19b68a7 100644 --- a/libgcc/libgcc2.c +++ b/libgcc/libgcc2.c @@ -2273,6 +2273,7 @@ __clear_cache (void *beg __attribute__((__unused__)), /* Jump to a trampoline, loading the static chain address. */ #if defined(WINNT) && ! defined(__CYGWIN__) +#define WIN32_LEAN_AND_MEAN #include int getpagesize (void); int mprotect (char *,int, int); diff --git a/libgcc/unwind-generic.h b/libgcc/unwind-generic.h index bf721282d03..37fff9a8111 100644 --- a/libgcc/unwind-generic.h +++ b/libgcc/unwind-generic.h @@ -30,6 +30,7 @@ #if defined (__SEH__) && !defined (__USING_SJLJ_EXCEPTIONS__) /* Only for _GCC_specific_handler. */ +#define WIN32_LEAN_AND_MEAN #include #endif diff --git a/libgfortran/intrinsics/sleep.c b/libgfortran/intrinsics/sleep.c index cbaf590aca8..b15ebfeb235 100644 --- a/libgfortran/intrinsics/sleep.c +++ b/libgfortran/intrinsics/sleep.c @@ -30,6 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #endif #ifdef __MINGW32__ +# define WIN32_LEAN_AND_MEAN # include # undef sleep # define sleep(x) Sleep(1000*(x)) diff --git a/libgo/misc/cgo/test/callback_c.c b/libgo/misc/cgo/test/callback_c.c index 8921b7306c6..ee9397cb496 100644 --- a/libgo/misc/cgo/test/callback_c.c +++ b/libgo/misc/cgo/test/callback_c.c @@ -32,6 +32,7 @@ IntoC(void) } #ifdef WIN32 +#define WIN32_LEAN_AND_MEAN #include long long mysleep(int seconds) { diff --git a/libgomp/config/mingw32/proc.c b/libgomp/config/mingw32/proc.c index 2e2011568c1..120c988832a 100644 --- a/libgomp/config/mingw32/proc.c +++ b/libgomp/config/mingw32/proc.c @@ -30,6 +30,7 @@ The following implementation uses win32 API routines. */ #include "libgomp.h" +#define WIN32_LEAN_AND_MEAN #include /* Count the CPU's currently available to this process. */ diff --git a/libiberty/make-temp-file.c b/libiberty/make-temp-file.c index 7bfc65ea613..b54c87d24fe 100644 --- a/libiberty/make-temp-file.c +++ b/libiberty/make-temp-file.c @@ -37,6 +37,7 @@ Boston, MA 02110-1301, USA. */ #include /* May get R_OK, etc. on some systems. */ #endif #if defined(_WIN32) && !defined(__CYGWIN__) +#define WIN32_LEAN_AND_MEAN #include #endif #if HAVE_SYS_STAT_H diff --git a/libiberty/pex-win32.c b/libiberty/pex-win32.c index 07781230654..67a9f97fd9a 100644 --- a/libiberty/pex-win32.c +++ b/libiberty/pex-win32.c @@ -20,6 +20,7 @@ Boston, MA 02110-1301, USA. */ #include "pex-common.h" +#define WIN32_LEAN_AND_MEAN #include #ifdef HAVE_STDLIB_H diff --git a/libssp/ssp.c b/libssp/ssp.c index 72b7a1d63ce..5ef8643cbb1 100644 --- a/libssp/ssp.c +++ b/libssp/ssp.c @@ -55,6 +55,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see /* Native win32 apps don't know about /dev/tty but can print directly to the console using "CONOUT$" */ #if defined (_WIN32) && !defined (__CYGWIN__) +#define WIN32_LEAN_AND_MEAN #include #include # define _PATH_TTY "CONOUT$" diff --git a/libstdc++-v3/src/c++11/system_error.cc b/libstdc++-v3/src/c++11/system_error.cc index 5707e6b61d6..5c764270061 100644 --- a/libstdc++-v3/src/c++11/system_error.cc +++ b/libstdc++-v3/src/c++11/system_error.cc @@ -33,6 +33,7 @@ #undef __sso_string #if defined(_WIN32) && !defined(__CYGWIN__) +#define WIN32_LEAN_AND_MEAN #include #include #endif diff --git a/libstdc++-v3/src/c++11/thread.cc b/libstdc++-v3/src/c++11/thread.cc index a8038979090..4936f629c5a 100644 --- a/libstdc++-v3/src/c++11/thread.cc +++ b/libstdc++-v3/src/c++11/thread.cc @@ -35,6 +35,7 @@ # ifdef _GLIBCXX_HAVE_SLEEP # include # elif defined(_GLIBCXX_USE_WIN32_SLEEP) +# define WIN32_LEAN_AND_MEAN # include # elif defined _GLIBCXX_NO_SLEEP && defined _GLIBCXX_HAS_GTHREADS // We expect to be able to sleep for targets that support multiple threads: @@ -63,7 +64,7 @@ static inline int get_nprocs() } # define _GLIBCXX_NPROCS get_nprocs() #elif defined(_GLIBCXX_USE_GET_NPROCS_WIN32) -#define WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN # include static inline int get_nprocs() { @@ -79,6 +80,7 @@ static inline int get_nprocs() # include # define _GLIBCXX_NPROCS sysconf(_SC_NPROC_ONLN) #elif defined(_WIN32) +# define WIN32_LEAN_AND_MEAN # include static inline int get_nprocs() { diff --git a/libstdc++-v3/src/c++17/fs_ops.cc b/libstdc++-v3/src/c++17/fs_ops.cc index ed5e9f7d5cf..b540f848313 100644 --- a/libstdc++-v3/src/c++17/fs_ops.cc +++ b/libstdc++-v3/src/c++17/fs_ops.cc @@ -54,6 +54,7 @@ # include // utime #endif #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS +# define WIN32_LEAN_AND_MEAN # include #endif diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc index ab84eb84594..c18cf020507 100644 --- a/libstdc++-v3/src/filesystem/ops.cc +++ b/libstdc++-v3/src/filesystem/ops.cc @@ -55,6 +55,7 @@ # include // utime #endif #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS +# define WIN32_LEAN_AND_MEAN # include #endif diff --git a/libvtv/vtv_malloc.cc b/libvtv/vtv_malloc.cc index 67c5de6d4e9..31b334fa7a2 100644 --- a/libvtv/vtv_malloc.cc +++ b/libvtv/vtv_malloc.cc @@ -33,6 +33,7 @@ #include #include #if defined (__CYGWIN__) || defined (__MINGW32__) +#define WIN32_LEAN_AND_MEAN #include #else #include diff --git a/libvtv/vtv_rts.cc b/libvtv/vtv_rts.cc index ae9e6b6955a..6954b0417b6 100644 --- a/libvtv/vtv_rts.cc +++ b/libvtv/vtv_rts.cc @@ -121,6 +121,7 @@ #include #include #if defined (__CYGWIN__) || defined (__MINGW32__) +#define WIN32_LEAN_AND_MEAN #include #include #include diff --git a/libvtv/vtv_utils.cc b/libvtv/vtv_utils.cc index ed5c7711c44..21c3466afb9 100644 --- a/libvtv/vtv_utils.cc +++ b/libvtv/vtv_utils.cc @@ -33,6 +33,7 @@ #include #include #if defined (__CYGWIN__) || defined (__MINGW32__) +#define WIN32_LEAN_AND_MEAN #include #else #include