http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60958
Bug ID: 60958 Summary: Initialization of arrays in tr1/regex ill-formed or with undefined behaviour Product: gcc Version: 4.8.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: hstong at ca dot ibm.com The header tr1/regex contains code which is either ill-formed or has undefined behaviour. Various C++ language tools choke on this file because of the code in question. In particular, C++03 subclause 8.5 [dcl.init] does not specify the semantics of the array initializations in question and they are ill-formed under C++11. /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/include/c++/tr1/regex:685:22: error: array initializer must be an initializer list const char* const __wb[] = "w"; ^ /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/include/c++/tr1/regex:695:22: error: array initializer must be an initializer list const char* const __bb[] = "blank"; ^ VERSION INFO: $ g++ --version g++ (GCC) 4.8.2 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.