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.