https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79746
--- Comment #1 from sgunderson at bigfoot dot com --- Actually this is interesting; this code (derived from the previous one) compiles without warning in GCC 7.0 and Clang, but gives an error in GCC 6.3: struct Base { Base(const char *foo) : m_foo(foo) {} virtual int func() = 0; const char *m_foo; }; struct Derived : public virtual Base { Derived(const char *foo) { (void)foo; } }; Which compiler is right?