Boost logo

Boost Users :

From: John Maddock (john_at_[hidden])
Date: 2006-08-05 04:51:48


Thomas Matelich wrote:
>> Finally got around to upgrading to 1.33.1 on HP 11i, g++ 4.1.1.
>>
>> in v4/regex_traits_defaults.hpp, the compiler was not happy with the
>> WCHAR_MIN == 0 and WCHAR_MAX <= USHRT_MAX checks. This appears to
>> be due to their definition:
>> #define WCHAR_MIN (wchar_t)0
>> #define WCHAR_MAX (wchar_t)UINT_MAX
>>
>> I tried a few things I could think of, but ended up undef'ing and
>> redefining them without the (wchar_t).

Those definitions don't conform to the std sadly :-( The std *requires*
those names to be usable in preprocessor definitions, not that that helps
you much at this time!

Can you please report this as a bug to whoever is responsible (HP or gcc)?
Many thanks.

BTW the trick to fix issues like this is to use something like:

#define WCHAR_MIN (wchar_t)+0
#define WCHAR_MAX (wchar_t)+UINT_MAX

which does the right thing in both preprocessing and compiler phases.

And finally, there is a workaround for this in 1.34 already :-)

Thanks for the report, John.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net