================ @@ -13,3 +15,18 @@ template <typename T> struct S3 { int T::*foo; }; + +template<int I> struct Base {}; +struct +S5 // #S5 +: +Base<sizeof(int S5::*)> +// expected-error@-1 {{member pointer has incomplete base type 'S5'}} ---------------- rnk wrote:
I agree on the desired behavior, but doesn't this test show that, in the MS ABI mode, clang emits a hard error about an incomplete type? That's my reading of what the code does, and what the test shows. https://github.com/llvm/llvm-project/pull/91990 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits