|
Boost : |
Subject: Re: [boost] printf official specs or docs, ISO C99, and C++
From: James E. King, III (jking_at_[hidden])
Date: 2017-10-12 22:39:37
On Thu, Oct 12, 2017 at 5:23 PM, Andrey Semashev via Boost <
boost_at_[hidden]> wrote:
> On 10/12/17 21:26, James E. King, III via Boost wrote:
>
>> I found https://svn.boost.org/trac10/ticket/10541 today and my guess is
>> Boost.Format hasn't been updated to support the ISO C99 extensions, or the
>> Microsoft type formats. Before any work is done on this, I'm looking for
>> any official C++ documentation related to printf support requirements.
>> For
>> example the compatibility section in
>> http://www.cplusplus.com/reference/cstdio/printf/ indicates certain
>> language levels have requirements.
>>
>
> The C++ standard simply refers to the C standard (see [cstdio.syn]), so
> you should look there for the primary specification. I think there are also
> a few POSIX extensions, which are widely supported and probably worth
> supporting as well. Microsoft extensions like those mentioned in the ticket
> are probably less useful because they are not present outside MSVC.
> Supporting those extentions encourages non-portable code.
>
> Regardless of the set of features you choose to support, IMO it should be
> the same regardless of the compiler/platform/C++ version being targeted.
>
Perhaps a good place to start looking for discrepancies would be the ISO
C11 specification then?
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
Specifically sections 7.8.1 and 7.21.6 and 7.29.2.
- Jim
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk