[Bug c++/58255] New: [C++11] explicit delegating constructor with no arguments wrongly rejected
ppluzhnikov at google dot com
gcc-bugzilla@gcc.gnu.org
Wed Aug 28 00:25:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58255
Bug ID: 58255
Summary: [C++11] explicit delegating constructor with no
arguments wrongly rejected
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppluzhnikov at google dot com
Google ref: b/10458361
Test:
struct A {
explicit A() { } // remove explicit -> compiles fine
A(int x) : A() { }
};
Builds with Clang.
Fails using g++ (GCC) 4.9.0 20130827 (experimental):
g++ -c -std=c++11 /tmp/t1.cc -o /tmp/t.o
/tmp/t1.cc: In constructor 'A::A(int)':
/tmp/t1.cc:3:16: error: no matching function for call to 'A::A()'
A(int x) : A() { }
^
/tmp/t1.cc:3:16: note: candidates are:
/tmp/t1.cc:3:3: note: A::A(int)
A(int x) : A() { }
^
/tmp/t1.cc:3:3: note: candidate expects 1 argument, 0 provided
/tmp/t1.cc:1:8: note: constexpr A::A(const A&)
struct A {
^
/tmp/t1.cc:1:8: note: candidate expects 1 argument, 0 provided
/tmp/t1.cc:1:8: note: constexpr A::A(A&&)
/tmp/t1.cc:1:8: note: candidate expects 1 argument, 0 provided
This has been broken since at least gcc-4.7
More information about the Gcc-bugs
mailing list