|
Message-ID: <20220920144617.GQ9709@brightrain.aerifal.cx> Date: Tue, 20 Sep 2022 10:46:18 -0400 From: Rich Felker <dalias@...c.org> To: Jₑₙₛ Gustedt <jens.gustedt@...ia.fr> Cc: musl@...ts.openwall.com Subject: Re: [PATCH] vfprintf: support C2x %b and %B conversion specifiers On Tue, Sep 20, 2022 at 04:27:28PM +0200, Jₑₙₛ Gustedt wrote: > on Tue, 20 Sep 2022 16:22:36 +0200 you (Jₑₙₛ Gustedt > <jens.gustedt@...ia.fr>) wrote: > > > There is a feature test macro for the maximum width of bit-precise > > integers, `BITINT_MAXWIDTH`. It is guaranteed to be at least > > `ULLONG_WIDTH` but can (and will) be larger on many platforms. > > e.g on my ubuntu-nothing-fancy machine I get > > clang -E -dM -xc /dev/null | grep -i bitint > #define __BITINT_MAXWIDTH__ 128 As I understand it, that gives the application knowledge of what bit-precise types the compiler can provide to it, but doesn't do anything to tell the application what wN modifiers printf can be expected to support. If it were required to support wN for N==BITINT_MAXWIDTH that would at least be something to go from, but I see no such requirement and I'm not sure it's desirable (it means you can't let the compiler offer larger BITINT_MAXWIDTH, but would have to define it as what libc supports). I think a separate macro indicating what printf supports is needed to solve this problem well. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.