From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 99F98385841A for ; Thu, 25 Aug 2022 15:37:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 99F98385841A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.93,263,1654588800"; d="scan'208";a="81949479" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 25 Aug 2022 07:37:35 -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) X-Spam-Status: No, score=-3111.6 required=5.0 tests=BAYES_00,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 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