[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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