From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D465EECAA24 for ; Thu, 25 Aug 2022 16:09:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241454AbiHYQI7 (ORCPT ); Thu, 25 Aug 2022 12:08:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50640 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242947AbiHYQI6 (ORCPT ); Thu, 25 Aug 2022 12:08:58 -0400 X-Greylist: delayed 962 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Thu, 25 Aug 2022 09:08:57 PDT Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B67DB9410 for ; Thu, 25 Aug 2022 09:08:57 -0700 (PDT) X-IronPort-AV: E=Sophos;i="5.93,263,1654588800"; d="scan'208";a="84691156" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 25 Aug 2022 07:37:38 -0800 IronPort-SDR: gqfyrLBj4obLayYIodUELOeYAABsqQvo8uOyOawchBB2Q8+w5UxlnjBrn460q3ycd6wHjJqmjd gh7T7w/QcDRQ6tORaMlE5kUTFcOMmSI30/IrpvCk5Qd/qmt7O9jkSwCyju+AieGSqCOkgrFf0W SQJu/53xgPnTrY4XPza5ZHuv1txMaVQqNKYA+Dwut3Ev6jvZD46k0K/9jtxIlvngRv31VMDc5g PzxQEqscK8aPSncjQkN92X4fOOyz2DX2qWOKXKw1t+6Wr0Z6OmFLRCVUkUOLkHjinfKI7N5oFW iBQ= Date: Thu, 25 Aug 2022 15:37:27 +0000 From: Joseph Myers X-X-Sender: jsm28@digraph.polyomino.org.uk To: David Laight CC: Linus Torvalds , Florian Weimer , Greg Kroah-Hartman , Alejandro Colomar , Alexei Starovoitov , Alex Colomar , Alexei Starovoitov , linux-man , Daniel Borkmann , Zack Weinberg , LKML , glibc , GCC , bpf , LTP List , Linux API , linux-arch , Cyril Hrubis , David Howells , Arnd Bergmann , Rich Felker , Adhemerval Zanella , Michael Kerrisk Subject: RE: [PATCH v3] Many pages: Document fixed-width types with ISO C naming In-Reply-To: <5e10ac07e63e41639b3113d12c264447@AcuMS.aculab.com> Message-ID: References: <20210423230609.13519-1-alx.manpages@gmail.com> <20220824185505.56382-1-alx.manpages@gmail.com> <87ilmgddui.fsf@oldenburg.str.redhat.com> <5e10ac07e63e41639b3113d12c264447@AcuMS.aculab.com> User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-15.mgc.mentorg.com (139.181.222.15) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) Precedence: bulk List-ID: X-Mailing-List: linux-man@vger.kernel.org On Thu, 25 Aug 2022, David Laight wrote: > From: Joseph Myers > > Sent: 25 August 2022 15:39 > > > > On Thu, 25 Aug 2022, Linus Torvalds wrote: > > > > > That's a small detail that yes, we've tried to avoid the absolute > > > humongous mess that the C standard library has with their horrendous > > > 'PRId*' mess, but honestly, it's just a tiny detail. > > > > I've not yet implemented it for glibc or for GCC format checking, but C23 > > adds 'wN' format length modifiers so you will be able to e.g. use "%w64d" > > with printf to print an int64_t and won't need those PRI macros any more. > > Is that meant to work regardless of whether the type is > int, long or long long provided the size is correct? > > Or does it require the compiler know which type inttypes.h > uses for uint32_t and uint64_t? The type passed needs to be that used for the relevant stdint.h typedef, not another of the same size. (For format checking, that means the compiler needs to know what the types used in stdint.h are.) It's now required that if int32_t exists, int_least32_t must have the same type, so int_least32_t can also be used with that format (and there are 'wfN' formats for int_fastN_t / uint_fastN_t as well). -- Joseph S. Myers joseph@codesourcery.com