On May 6, 2011, at 2:48 PM, Richard Trieu wrote:

> Changed the error message back to the original form.
> 
> On Fri, May 6, 2011 at 12:58 PM, Richard Trieu <[email protected]> wrote:
> Patch for PR7409.  Remove multiple error on invalid typedefs.  Once the first 
> error is emitted, suppress additional errors when using the invalid typedefs. 
>  Also, change the handling of types inside instantiations to be more 
> descriptive.
> 
> Patch attached and available in Code Review:
> http://codereview.appspot.com/4430069/


-      
-      SemaRef.Diag(TL.getBeginLoc(), diag::err_nested_name_spec_non_tag) 
-        << TL.getType() << SS.getRange();
+      // If the namespace is an invalid type def, don't emit an error because

s/namespace/nested-name-specifier?

+      // a previous error should have already been emitted.

will have already been emitted, we hope :)

+      TypedefTypeLoc* TTL = dyn_cast<TypedefTypeLoc>(&TL);
+      if (!TTL || !TTL->getTypedefNameDecl()->isInvalidDecl()) {
+        SemaRef.Diag(TL.getBeginLoc(), diag::err_nested_name_spec_non_tag) 
+          << TL.getType() << SS.getRange();
+      }
       return NestedNameSpecifierLoc();

Looks good, thanks!

        - Doug
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to