rnk marked an inline comment as done. ================ Comment at: lib/Parse/ParseDecl.cpp:2282 @@ -2281,3 +2281,3 @@ // Otherwise, if we don't consume this token, we are going to emit an // error anyway. Try to recover from various common problems. Check ---------------- rsmith wrote: > Maybe put the check here instead. That way, you can apply it for any > DSContext. Done. With that change, we ended up over-accepting invalid C++ like this: template <typename T> struct A : T { C c; // MSVC rejects, C is undeclared. My patch accepted invalid. }; struct B { typedef int C; }; template struct A<B>;
This recovery mode should only be firing inside *methods* of classes with dependent bases, so I tweaked ActOnMSVCUnknownType to do that. http://reviews.llvm.org/D20500 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits