https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78488
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-invalid-code Priority|P3 |P1 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- GCC 6 rejects this (clang does so as well) > g++-6 t.ii -S -std=c++1z -B /abuild/rguenther/gcc6-g/gcc t.ii: In function ‘int main()’: t.ii:9:9: error: no matching function for call to ‘Bar::Bar()’ Bar f; ^ t.ii:5:5: note: candidate: Bar::Bar(void*) Bar(void*); // Define another constructor so Foo() isn't generated. ^~~ t.ii:5:5: note: candidate expects 1 argument, 0 provided t.ii:3:8: note: candidate: constexpr Bar::Bar(const Bar&) struct Bar : Foo { ^~~ t.ii:3:8: note: candidate expects 1 argument, 0 provided t.ii:3:8: note: candidate: constexpr Bar::Bar(Bar&&) t.ii:3:8: note: candidate expects 1 argument, 0 provided