[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2014-06-13 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

Rainer Orth  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #15 from Rainer Orth  ---
4.7 branch closed.


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2012-01-11 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #14 from ro at CeBiTec dot Uni-Bielefeld.DE  2012-01-11 16:30:03 UTC ---
Great, thanks.

Rainer


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2012-01-11 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #13 from Jonathan Wakely  2012-01-11 
16:27:58 UTC ---
I have some ideas for PR 51772 which would also be relevant to this bug, and
wouldn't affect other platforms. 

I'll see what I can do over the next few days


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2012-01-11 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

Rainer Orth  changed:

   What|Removed |Added

 CC||redi at gcc dot gnu.org

--- Comment #12 from Rainer Orth  2012-01-11 16:17:45 
UTC ---
Jonathan, do you see a way of getting this fixed for 4.7?

Thanks.
  Rainer


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-04-06 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #11 from ro at CeBiTec dot Uni-Bielefeld.DE  2011-04-06 08:55:22 UTC ---
> --- Comment #10 from Jonathan Wakely  2011-04-03 
> 17:58:14 UTC ---
> Created attachment 23858
>   --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23858
> handle ctype::mask values that don't fit in 16bits
>
> this should fix it, but changes the size of ctype on Irix, which 
> would
> break the ABI

Unfortunately, it didn't work.  At first, I applied the patch to my
previous build tree and reran make and make check in libstdc++, but the
failures persisted.  To make sure there wasn't any missing dependency, I
removed the libstdc++-v3 directory, reconfigure and rebuilt, but with
the same results.

I happened to build on Tru64 UNIX from the same sources, and see lots of
wchar_t failures there, too.

Rainer


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-04-03 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #10 from Jonathan Wakely  2011-04-03 
17:58:14 UTC ---
Created attachment 23858
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23858
handle ctype::mask values that don't fit in 16bits

this should fix it, but changes the size of ctype on Irix, which would
break the ABI


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-03-30 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #9 from ro at CeBiTec dot Uni-Bielefeld.DE  2011-03-30 15:06:50 UTC ---
> --- Comment #7 from Jonathan Wakely  2011-03-30 
> 11:29:27 UTC ---
> it will be *at least* two weeks before I have time to start that work

Don't worry about that: this bug has existed for a long time and I only
now got around to having a closer look.

So absolutely no need to hurry.

Rainer


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-03-30 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #8 from ro at CeBiTec dot Uni-Bielefeld.DE  2011-03-30 15:06:04 UTC ---
> I'm planning to add isblank to std::locale (LWG 2019) which will need changes
> to all the locale models so while I'm doing that I will overhaul the ieee
> locale model (possibly adding a POSIX 2008 version as well, which would be
> close to the gnu model) and I'll also address this, so we can handle values
> over (1<<15).  Currently that '15' maximum is hardcoded in a few places.

That's great news, thanks for doing this.

Rainer


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-03-30 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #7 from Jonathan Wakely  2011-03-30 
11:29:27 UTC ---
it will be *at least* two weeks before I have time to start that work


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-03-30 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #6 from Jonathan Wakely  2011-03-30 
11:27:09 UTC ---
(In reply to comment #5)
> > --- Comment #4 from Jonathan Wakely  2011-03-30 
> > 11:07:13 UTC ---
> > Are you using a specific configure value for --enable-clocale or just using 
> > the
> > default "generic" model?
> 
> I'm using the generic model: last time I tried ieee_1003.1-2001 (both on
> Solaris and IRIX), it failed (PR libstdc++/41495) and I haven't yet
> gotten around to do anything about this.

Yep.

> > What about this test, I assume the assertion fails:
> 
> Indeed.
> 
> > What is the value of _ISspace in /usr/include/ctype.h ?
> 
> #define _ISspace(_S | _BL)
> 
> #define _S  0x0008  /* Spacing character */
> #define _BL 0x8000  /* The blank character class */
> 
> > If it's greater than (1<<15) that would explain it
> 
> There we have it.

Badabing.

I'm planning to add isblank to std::locale (LWG 2019) which will need changes
to all the locale models so while I'm doing that I will overhaul the ieee
locale model (possibly adding a POSIX 2008 version as well, which would be
close to the gnu model) and I'll also address this, so we can handle values
over (1<<15).  Currently that '15' maximum is hardcoded in a few places.


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-03-30 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #5 from ro at CeBiTec dot Uni-Bielefeld.DE  2011-03-30 11:16:55 UTC ---
> --- Comment #4 from Jonathan Wakely  2011-03-30 
> 11:07:13 UTC ---
> Are you using a specific configure value for --enable-clocale or just using 
> the
> default "generic" model?

I'm using the generic model: last time I tried ieee_1003.1-2001 (both on
Solaris and IRIX), it failed (PR libstdc++/41495) and I haven't yet
gotten around to do anything about this.

> What about this test, I assume the assertion fails:

Indeed.

> What is the value of _ISspace in /usr/include/ctype.h ?

#define _ISspace(_S | _BL)

#define _S  0x0008  /* Spacing character */
#define _BL 0x8000  /* The blank character class */

> If it's greater than (1<<15) that would explain it

There we have it.

Rainer


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-03-30 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.03.30 11:07:13
 Ever Confirmed|0   |1

--- Comment #4 from Jonathan Wakely  2011-03-30 
11:07:13 UTC ---
Are you using a specific configure value for --enable-clocale or just using the
default "generic" model?

What about this test, I assume the assertion fails:

#include 
#include 

int main()
{
struct ctype : std::ctype
{
bool test()
{
return this->is(std::ctype_base::space, L' ');
}
} c;

assert( c.test() == iswctype(L' ', wctype("space")) );
}


What is the value of _ISspace in /usr/include/ctype.h ?
If it's greater than (1<<15) that would explain it


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-03-29 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE  2011-03-29 18:09:05 UTC ---
Both return 0.  I wonder if the fact that char is unsigned on IRIX might
have something to do with this?  OTOH, compiling them with -fsigned-char
doesn't change anything.

If I compile the tests with SGI CC instead, they do return 1.

Rainer


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-03-29 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #2 from Jonathan Wakely  2011-03-29 
17:52:44 UTC ---
Here's a simpler test, which should return 1:

#include 

int main()
{
return isspace(L' ', std::locale());
}

if that works, how about this, which should also return 1:

#include 
#include 
#include 

int main()
{
std::wstring s(L" ");
std::wistringstream ss;
return isspace(s[0], ss.getloc());
}


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

2011-03-29 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48340

--- Comment #1 from Jonathan Wakely  2011-03-29 
17:38:58 UTC ---
(In reply to comment #0)
> 
> (gdb) p str10
> $1 = {static npos = 4294967295, _M_dataplus = {> =
> {<__gnu_cxx::new_allocator> = {}, },
> _M_p = 0x1000e2f4
> L"\000\000\000s\000\000\000a\000\000\000i\000\000\000l\000\000\000i\000\000\000n\000\000\000g\000\000\000

extracting str10 doesn't seem to have stopped at the first whitespace
character, implying a problem with the wchar_t equivalent of iswspace