Boost logo

Boost :

Subject: Re: [boost] WCHAR_MAX not defined on openbsd
From: John Maddock (boost.regex_at_[hidden])
Date: 2010-08-17 04:27:08


> It is wrong for C++0x, which specifically mentions that the macros are
> NOT to be used in <cstdint>.
> §18.4.1

That's not how I read 18.4.1. Quoting from n3092 (the most recent
draft I happen to have handy), 18.4.1/2 says

    The header defines all functions, types, and macros the same as
    7.18 in the C standard. [Note: The macros defined by <cstdint> are
    provided unconditionally. In particular, the symbols
    __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS (mentioned in
    footnotes 219, 220, and 222 in the C standard) play no role in
    C++. -- end note]

I read that as saying that macros such as WCHAR_MAX are always defined
by <cstdint>, irrespective of any definitions (or lack thereof) for
__STDC_LIMIT_MACROS.

~~~~~

That would be my reading too - note that C++03 lists these as required in
table 95 - they're not new C++0x features.

None of which resolves the original question of course...

John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk