From a05f5aba9af734b710360535d57941c96678eece Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Mon, 23 Aug 2010 14:34:43 +0000 Subject: When complaining about a duplicate declspec, provide a Fix-It that removes the copy. Patch from Eelis van der Weegen, tweaked/updated by me. llvm-svn: 111807 --- clang/lib/Parse/ParseDecl.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'clang/lib/Parse/ParseDecl.cpp') diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index 8a548cf5173..371d8ad02e8 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -1405,7 +1405,12 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS, if (isInvalid) { assert(PrevSpec && "Method did not return previous specifier!"); assert(DiagID); - Diag(Tok, DiagID) << PrevSpec; + + if (DiagID == diag::ext_duplicate_declspec) + Diag(Tok, DiagID) + << PrevSpec << FixItHint::CreateRemoval(Tok.getLocation()); + else + Diag(Tok, DiagID) << PrevSpec; } DS.SetRangeEnd(Tok.getLocation()); ConsumeToken(); -- cgit v1.2.3