https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78124
Bug ID: 78124
Summary: [7 regression][c++1z] explicit inheriting constructor
is ignored
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: lucdanton at free dot fr
Target Milestone: ---
I have bisected this regression to r241188.
The program fails to compile in C++1z mode on trunk, yielding this:
$ g++-trunk -std=c++1z main.cpp
main.cpp: In function 'int main()':
main.cpp:11:19: error: could not convert '0' from 'int' to 'base'
derived d { 0 };
The testcase:
//----------
struct base {
explicit constexpr base(int&&) {}
};
struct derived: base {
using base::base;
};
int main()
{
derived d { 0 };
}
//----------