[Bug c++/61661] New: [C++11][4.9/4.10 Regression] Bogus error: ‘const Outer?=::Foo{&Outer::=?UTF-8?Q?Bar}’ is not a constant expression
brooks at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jun 30 18:16:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61661
Bug ID: 61661
Summary: [C++11][4.9/4.10 Regression] Bogus error: ‘const
Outer::Foo{&Outer::Bar}’ is not a constant expression
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: brooks at gcc dot gnu.org
Google ref: b/15984570
This source:
/// --- cut ---
struct Outer {
void Bar();
struct Foo {
void (Outer::*ptr)() ;
};
static constexpr Foo foo = { &Outer::Bar };
};
/// --- cut ---
compiles fine with gcc-4.8 and Clang, fails with gcc-4_9 and current trunk.
Started to fail after r195189 and before r197259 (boundaries are not exact).
./gcc-svn-r211990/bin/g++ -c -std=c++11 -o /tmp/t.o /tmp/t.cc
/tmp/t.cc:9:44: error: ‘const Outer::Foo{&Outer::Bar}’ is not a constant
expression
static constexpr Foo foo = { &Outer::Bar };
^
More information about the Gcc-bugs
mailing list