[config][QNX6] Lack of wide character support in QNX/GNU C++ library

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[config][QNX6] Lack of wide character support in QNX/GNU C++ library

Jim Douglas-2
John,

I note that you have already marked up up one failure in tr1 due to the
lack of wide character support in the QNX supplied GNU C++ library. I
wonder if we should add a condition to libstdcpp3.hpp along the lines of:

#if defined(__QNXNTO__)
#define BOOST_NO_INTRINSIC_WCHAR_T
#endif

..and see how many of the other test failures dissapear.

Or perhaps it could be added to the *_USE_WCHAR_T test section?

Your thoughts please?

Jim

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [config][QNX6] Lack of wide character support inQNX/GNU C++ library

John Maddock
> I note that you have already marked up up one failure in tr1 due to
> the lack of wide character support in the QNX supplied GNU C++
> library. I wonder if we should add a condition to libstdcpp3.hpp
> along the lines of:
>
> #if defined(__QNXNTO__)
> #define BOOST_NO_INTRINSIC_WCHAR_T
> #endif

That's the wrong define, wchar_t is a native type, there's just no library
support for it, things like
BOOST_NO_CWCHAR/BOOST_NO_CCTYPE/BOOST_NO_STD_WSTRING are already defined for
this.

> ..and see how many of the other test failures dissapear.
>
> Or perhaps it could be added to the *_USE_WCHAR_T test section?
>
> Your thoughts please?

Which other test failures are you refering to?  The remaining TR1 failures
are all errors internal to <complex> see:
http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/output/Dramatec-bin-boost-libs-tr1-test-test_complex-test-qcc-3-3-5-gpp-debug.html 
I've no idea what's going on there.

Or did you have some other test failures in mind?

John.

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [config][QNX6] Lack of wide character support inQNX/GNU C++ library

Jim Douglas-2
John Maddock wrote:
>>..and see how many of the other test failures dissapear.
>
> Which other test failures are you refering to?  

I am referring to all the other libraries that fail because there is no
wide character support. Can you confirm that "the right thing to do" is
not to play with the conditional macros, rather to flag these failures
in explicit-failures-markup.xml?

> The remaining TR1 failures are all errors internal to <complex> see:
> http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/output/Dramatec-bin-boost-libs-tr1-test-test_complex-test-qcc-3-3-5-gpp-debug.html 
> I've no idea what's going on there.

QNX are still looking at this (as with the math failures). It may have
to be a failure for the v1.34 release.

Jim

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [config][QNX6] Lack of wide character support inQNX/GNU C++ library

John Maddock
> I am referring to all the other libraries that fail because there is
> no wide character support. Can you confirm that "the right thing to
> do" is not to play with the conditional macros, rather to flag these
> failures in explicit-failures-markup.xml?

Let me see, some of them are failing because integer_traits is not correctly
set up, see for example
http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/output/Dramatec-bin-boost-status-crc_test-test-qcc-3-3-5-gpp-debug.html

Does QNX have a wchar.h at all?  And if so does it define
WCHAR_MAX/WCHAR_MIN ?

If not, if you can tell me whether wchar_t is signed or unsigned and what
size it is then I can patch that header up.

Failures like this one:
http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/output/Dramatec-bin-boost-libs-date_time-test-testfacet-test-qcc-3-3-5-gpp-debug.html 
are because there's no library wide character streams support, take a look
at the mingw results (another platform with poor wide character library
support), if they've been marked up as expected there's a good chance the
QNX ones should be as well.

But if we get integer_traits fixed first then you can see what new passes
you get.

John.

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [config][QNX6] Lack of wide character support inQNX/GNU C++ library

Jim Douglas-2
John Maddock wrote:
> Let me see, some of them are failing because integer_traits is not correctly
> set up, see for example
> http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/output/Dramatec-bin-boost-status-crc_test-test-qcc-3-3-5-gpp-debug.html
>
> Does QNX have a wchar.h at all?  And if so does it define
> WCHAR_MAX/WCHAR_MIN ?

There is a wchar.h in the 'include' directory and it does define
WCHAR_MIN/MAX. You can see WCHAR_MAX in the config_info results.

[...]

> Failures like this one:
> http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/output/Dramatec-bin-boost-libs-date_time-test-testfacet-test-qcc-3-3-5-gpp-debug.html 
> are because there's no library wide character streams support, take a look
> at the mingw results (another platform with poor wide character library
> support), if they've been marked up as expected there's a good chance the
> QNX ones should be as well.

It's not a question of "poor" support, it's none existent :-) I have it
on good authority that _GLIBCPP_USE_WCHAR_T has intentionally been left
undefined because the wide character streams support is broken in the
QNX/GNU C++ std lib.

Jim

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [config][QNX6] Lack of wide character support inQNX/GNU C++ library

John Maddock
> There is a wchar.h in the 'include' directory and it does define
> WCHAR_MIN/MAX. You can see WCHAR_MAX in the config_info results.

OK integer_traits duly patched, should cut out a couple of failures.

John.
_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [config][QNX6] Lack of wide character support inQNX/GNU C++ library

Jeff Garland
In reply to this post by Jim Douglas-2
On Sat, 04 Feb 2006 22:29:07 +0000, Jim Douglas wrote
> John Maddock wrote:
> > Let me see, some of them are failing because integer_traits is not correctly
> > set up, see for example
> >
http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/output/Dramatec-bin-boost-status-crc_test-test-qcc-3-3-5-gpp-debug.html

> >
> > Does QNX have a wchar.h at all?  And if so does it define
> > WCHAR_MAX/WCHAR_MIN ?
>
> There is a wchar.h in the 'include' directory and it does define
> WCHAR_MIN/MAX. You can see WCHAR_MAX in the config_info results.
>
> [...]
>
> > Failures like this one:
> >
http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/output/Dramatec-bin-boost-libs-date_time-test-testfacet-test-qcc-3-3-5-gpp-debug.html

> > are because there's no library wide character streams support, take a look
> > at the mingw results (another platform with poor wide character library
> > support), if they've been marked up as expected there's a good chance the
> > QNX ones should be as well.
>
> It's not a question of "poor" support, it's none existent :-) I have
> it on good authority that _GLIBCPP_USE_WCHAR_T has intentionally
> been left undefined because the wide character streams support is
> broken in the QNX/GNU C++ std lib.

That suprises me.  The usual library used with gcc 3.x has perfectly good wide
char support...well except when compiled for mingw.  In any case, this will
cause a bunch of known failures in date-time (just to randomly pick one :).
So I guess it's time to go mark these up as expected failures :-(

Jeff
_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [config][QNX6] Lack of wide character support inQNX/GNU C++ library

Jim Douglas-2
In reply to this post by John Maddock
John Maddock wrote:
>>There is a wchar.h in the 'include' directory and it does define
>>WCHAR_MIN/MAX. You can see WCHAR_MAX in the config_info results.
>
>
> OK integer_traits duly patched, should cut out a couple of failures.

John,

Can you please check this library. I am fairly sure you fixed this, but
now it's broken (again). Has your patch been overwritten?

Jim

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [config][QNX6] Lack of wide character support inQNX/GNU C++ library

John Maddock
> Can you please check this library. I am fairly sure you fixed this,
> but now it's broken (again). Has your patch been overwritten?

The compile time failure has been fixed, but there's a runtime failure now.
It apears there's a disagreement between WCHAR_MAX and
numeric_limits<wchar_t>::max():

WCHAR_MAX                       0x7fffffff
numeric_limits<wchar_t>::max(): 0xffffffff

At least that appears to be the case from what I can deduce, can you double
check?

I'm not sure that's fixable by us: if this is the case then it looks more
like a QNX or possibly libstdc++3 bug to me.  Interestingly, config_info
reports wchar_t as unsigned so the value for WCHAR_MAX does look wrong to
me.

Oh I don't know, looking again at integer_traits we could fix the test case
by forcing the ::const_max member to have the same value as
numeric_limits<>::max(), but then both would disagree with WCHAR_MAX !  So
<shrug> basically, I don't know what the right thing to do is here.

John.

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing