juliehockett added inline comments.
================ Comment at: test/clang-tidy/fuchsia-multiple-inheritance.cpp:48 +}; + +// Inherits from multiple concrete classes. ---------------- aaron.ballman wrote: > The virtual base test cases I was thinking of were: > ``` > struct Base { virtual void foo() = 0; }; > struct V1 : virtual Base {}; > struct V2 : virtual Base {}; > struct D : V1, V2 {}; // Should be fine > --- > struct Base { virtual void foo(); }; > struct V1 : virtual Base {}; > struct V2 : virtual Base {}; > struct D : V1, V2 {}; // Should be fine (there's only one concrete base)? > --- > struct Base {}; > struct V1 : virtual Base { virtual void f(); } > struct V2 : virtual Base { virtual void g(); } > struct D : V1, V2 {}; // Not okay > --- > struct Base {}; > struct V1 : virtual Base { virtual void f() = 0; } > struct V2 : virtual Base { virtual void g() = 0; } > struct D : V1, V2 {}; // Okay > --- > struct Base { virtual void f(); }; > struct V1 : virtual Base { virtual void f(); } > struct V2 : virtual base { virtual void g() = 0; } > struct D : V1, V2 {}; // Should be okay (V1::f() overrides Base::f() which is > only inherited once)? > ``` Ah okay I see what you mean. We're actually following the Google style guide (see [[ https://google.github.io/styleguide/cppguide.html#Inheritance | here ]]), so virtual inheritance is disallowed. There's another check that covers these cases (see [[ https://reviews.llvm.org/D40813 | D40813 ]]). https://reviews.llvm.org/D40580 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits