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

Reply via email to