From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from m15-114.126.com (m15-114.126.com [220.181.15.114]) by sourceware.org (Postfix) with ESMTPS id 73696383F841 for ; Thu, 7 May 2020 04:09:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 73696383F841 Received: from [192.168.1.2] (unknown [101.86.244.84]) by smtp7 (Coremail) with SMTP id DsmowAC3v2_2ibNeEcTTEg--.41054S2; Thu, 07 May 2020 12:09:27 +0800 (CST) Subject: Re: [Mingw-w64-public] mingw-w64 and __attribute__((format(printf))) issue To: mingw-w64-public@lists.sourceforge.net, =?UTF-8?Q?Martin_Storsj=c3=b6?= Cc: "gcc-help@gcc.gnu.org" References: <84f2a94f-0d73-fe05-78c6-bd64c1f8ee76@126.com> From: Liu Hao Openpgp: preference=signencrypt Autocrypt: addr=lh_mouse@126.com; keydata= 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 Message-ID: <9ed00d40-d2e0-5d39-5627-5c2ea9d098b2@126.com> Date: Thu, 7 May 2020 12:09:22 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="U35PXI60kqPFr17HQSRvI4OjzdR4zOCWN" X-CM-TRANSID: DsmowAC3v2_2ibNeEcTTEg--.41054S2 X-Coremail-Antispam: 1Uf129KBjvdXoWrtrWfJFyUJFy8Xr43Ar18Krg_yoWkurbEkF WxAF1xXrW8Ar4kA3yv9rWxGrWDZw4DJw13Zr4F9rZ7Z34YvwnrWFnrXr97AF1fXanFqr9x Jay0qF4xXrn7WjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU5I9aPUUUUU== X-Originating-IP: [101.86.244.84] X-CM-SenderInfo: 5okbz0xxvhqiyswou0bp/1tbi5BgdRlpD+lzZtwAAs2 X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, KAM_SHORT, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 May 2020 04:09:36 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --U35PXI60kqPFr17HQSRvI4OjzdR4zOCWN Content-Type: multipart/mixed; boundary="mOjRK57PyKem9dPFV52Cwz3VV4Csbdwcq"; protected-headers="v1" From: Liu Hao To: mingw-w64-public@lists.sourceforge.net, =?UTF-8?Q?Martin_Storsj=c3=b6?= Cc: "gcc-help@gcc.gnu.org" Message-ID: <9ed00d40-d2e0-5d39-5627-5c2ea9d098b2@126.com> Subject: Re: [Mingw-w64-public] mingw-w64 and __attribute__((format(printf))) issue References: <84f2a94f-0d73-fe05-78c6-bd64c1f8ee76@126.com> In-Reply-To: --mOjRK57PyKem9dPFV52Cwz3VV4Csbdwcq Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable =E5=9C=A8 2020/5/6 18:48, Martin Storsj=C3=B6 =E5=86=99=E9=81=93: >=20 > So something like this should work: >=20 > #ifdef __MINGW32__ > #define PRINTF_FORMAT __MINGW_PRINTF_FORMAT > #else > #define PRINTF_FORMAT printf > #endif >=20 > __attribute__((format(PRINTF_FORMAT))) >=20 > Not very pretty, but should work without hardcoding any assumptions > about which format actually is used. >=20 This requires `#include ` first. Also I don't think it is correct to check for `__MINGW32__` for this purpose, as the original MinGW.org header doesn't seem to provide `__MINGW_PRINTF_FORMAT` [1]. However a direct check for `__MINGW_PRINTF_FORMAT` should suffice [2]. It is building well now, albeit still with some minor warnings: ``` =2E./../gcc-git/lto-plugin/lto-plugin.c:927:29: note: format string is defined here 927 | sscanf (s, ".%" PRI_LL "x", &obj->out->id); | ~~~~~~~~~~~^ | | | unsigned int * | %" PRI_LL "llx ``` [1] https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/blobs/5.3-trunk/min= gwrt/include/stdio.h [2] https://github.com/msys2/MINGW-packages/pull/6453/files#diff-49b46b088a63= 93d449afcdbfbe4e710e --=20 Best regards, LH_Mouse --mOjRK57PyKem9dPFV52Cwz3VV4Csbdwcq-- --U35PXI60kqPFr17HQSRvI4OjzdR4zOCWN Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEn9eDGptREvfrWRePQbMyeCIxW8QFAl6zifMACgkQQbMyeCIx W8QU6A/+OVW8Ft7oaJf+yCX+Mt3c+naCUc98YxAm0FkW1eqMtFOSGM/3NzP15obG yUsEsPscKBtbrDFLAJ8tqsp7rOATtM6HC0UH8KO4cVLdODy0pNDdrcnDw3NX/nZg F4Zp0TlB4c+igoyO7CI8RMbs2lCGblb2rO0LCAg6UG+5NJzhp+EpgtYuC9VbrPG2 9H6PHk6kei3dTHCFmkrJquK7zOiFSCd952HTFyeKtWOrmTVbkKqqo03jBY/YCOw+ VaGi+ihmdajoCSUGoUzMNVyCe1MB2vPHFT6zSLFwFpakn2K5rqqAsbIvZCc2wsqA b5qVYSgmyQi/krGK4M++I3cZZRSv5bVbMlhNDor+nx70kiPcqLxBrFyxz4B1hy07 Sm4nYTbifwHoelNJ6xgjfu+iUiYRfbLC98TSuoeDSu3Y6RC2wy2bEFs4H6Y6fN01 AURnLp0jydWN9ZJOeMjoC/fPYa4+KBloX91rqwlbu0iqQiUsgYfwwhdJy6jDdKXz jyUJOpNGnVNb9XPas1Ff+Z5Wf2mpfOm6G+6ogPwmCKY8VA6wslCpX0RD0tNHxc6T SdCPcpw9NxspEIjRga+jaV/jHfm51JXDW9dxuyEdd8GFxy3ZuVWjjvmwiaQCzXy5 UsWBu43/6usN+u5fKSU09Y5JJMxxMGmXIoAVTWT8tQWcBlr+qr4= =5qmD -----END PGP SIGNATURE----- --U35PXI60kqPFr17HQSRvI4OjzdR4zOCWN--