diff options
| author | Douglas Gregor <dgregor@apple.com> | 2010-08-23 14:34:43 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2010-08-23 14:34:43 +0000 |
| commit | a05f5aba9af734b710360535d57941c96678eece (patch) | |
| tree | dfc6ee1cf811433909434b2f483208c81db0d227 /clang/lib | |
| parent | 34a462538e66d1ea44fa64c162cee95dd93d1195 (diff) | |
| download | bcm5719-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.cpp | 7 |
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(); |

