|
Boost Testing : |
From: Eric Niebler (eric_at_[hidden])
Date: 2006-01-08 18:04:46
Jim Douglas wrote:
> Eric Niebler wrote:
>
>>But looking
>>at http://tinyurl.com/8k2ba, I see that for some reason _CPPLIB_VER was
>>defined for this test, and not __GLIBC__. Is this toolset misconfigured?
>
> No, just configured in QNX's idiosyncratic way ;-(
>
> _CPPLIB_VER is unconditionally defined in yvals.h so it is inserted for
> both the GNU & Dinkum libs.
>
> You could test BOOST_DINKUMWARE_STDLIB as this is defined when
> Boost.config (correctly) detects the use of the Dinkum C++ lib.
OK, thanks.
> For QNX6 __GLIBCPP__ is defined (only) when using the GNU libs. There
> does not appear to be a BOOST_* macro specifically for the GNU lib.
I'm confused. qcc/gcc is using the GNU libs, right? Do you mean
__GLIBCPP__ and _CPPLIB_VER are defined but __GLIBC__ is not? How odd.
>>Also, the qcc/cpp test, which supposedly *is* using Dinkumware's std
>>lib, is having problems of its own. Elsewhere, Dinkumware's lib defined
>>the following globals for use with _isctype: _ALPHA _UPPER _LOWER _DIGIT
>>_SPACE _PUNCT _CONTROL _BLANK _HEX _LEADBYTE. But they don't exist for
>>qcc/cpp. Why is that? Is there an equivalent I can use?
>
>
> Can you tell me where "elsewhere" and which version of the Dinkum lib
> has these defined? Do you happen to know in which header file they are
> defined? AFAIK the lib is Dinkum's standard product.
Every version of the Dinkumware std lib that has ever shipped with
Visual C++ has these, AFAIK. They are in ctype.h, and they are sadly
non-standard. That's because, while iswctype() is standard, there is no
narrow-char equivalent. Most std libs provide one anyway, but each one
does it differently. GLIBC has __isctype() and _ISalpha, _ISdigit, etc.,
VC++ has _isctype() and _ALPHA, _DIGIT, etc., Cygwin has yet another
variant, MinGW another, etc.
So does qcc have something like this in its ctype.h?
-- Eric Niebler Boost Consulting www.boost-consulting.com