[Bug libstdc++/60958] Initialization of arrays in tr1/regex ill-formed or with undefined behaviour
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60958 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added CC||bergner at gcc dot gnu.org --- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org --- *** Bug 60987 has been marked as a duplicate of this bug. ***
[Bug libstdc++/60958] Initialization of arrays in tr1/regex ill-formed or with undefined behaviour
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60958 --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org --- Yes, I have a patch for this somewhere, but why are you including tr1/regex anyway? It's completely useless and doesn't work.
[Bug libstdc++/60958] Initialization of arrays in tr1/regex ill-formed or with undefined behaviour
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60958 --- Comment #2 from Hubert Tong hstong at ca dot ibm.com --- (In reply to Jonathan Wakely from comment #1) Yes, I have a patch for this somewhere, but why are you including tr1/regex anyway? It's completely useless and doesn't work. I am trying to use a code base which used a TR1 regex implementation on another platform. Your comment led me to find http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr1, which does indicate that tr1/regex does not work. Is the recommendation (short of switching over to C++11) to use the Boost implementation? Is the TR1 implementation status of regex in libstdc++ likely to change in the future?
[Bug libstdc++/60958] Initialization of arrays in tr1/regex ill-formed or with undefined behaviour
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60958 --- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org --- (In reply to Hubert Tong from comment #2) I am trying to use a code base which used a TR1 regex implementation on another platform. Your comment led me to find http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr1, which does indicate that tr1/regex does not work. It's incomplet and incorrekt. Even with those array initializers fixed that function tries to call a non-existent std::ctype::isspace() function and does (__f | __wt) when it should be (__f __wt), and only works for char not wchar_t, and probably other issues. Is the recommendation (short of switching over to C++11) to use the Boost implementation? Is the TR1 implementation status of regex in libstdc++ likely to change in the future? The TR1 code in libstdc++ is not going to change, so if Boost is an option then yes, use that.
[Bug libstdc++/60958] Initialization of arrays in tr1/regex ill-formed or with undefined behaviour
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60958 --- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org --- Author: redi Date: Fri Apr 25 16:10:25 2014 New Revision: 209807 URL: http://gcc.gnu.org/viewcvs?rev=209807root=gccview=rev Log: PR libstdc++/60958 * include/tr1/regex (regex_traits::isctype): Comment out broken code. * testsuite/util/testsuite_regex.h (regex_match_debug): Improve comment. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/tr1/regex trunk/libstdc++-v3/testsuite/util/testsuite_regex.h
[Bug libstdc++/60958] Initialization of arrays in tr1/regex ill-formed or with undefined behaviour
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60958 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Target Milestone|--- |4.10.0 --- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org --- Fixed on trunk (by using #if 0 around the offending code)