summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-08-23 14:34:43 +0000
committerDouglas Gregor <dgregor@apple.com>2010-08-23 14:34:43 +0000
commita05f5aba9af734b710360535d57941c96678eece (patch)
treedfc6ee1cf811433909434b2f483208c81db0d227 /clang/lib
parent34a462538e66d1ea44fa64c162cee95dd93d1195 (diff)
downloadbcm5719-llvm-a05f5aba9af734b710360535d57941c96678eece.tar.gz
bcm5719-llvm-a05f5aba9af734b710360535d57941c96678eece.zip
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
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Parse/ParseDecl.cpp7
1 files changed, 6 insertions, 1 deletions
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();
OpenPOWER on IntegriCloud