diff options
| author | Erik Verbruggen <erikjv@me.com> | 2011-10-17 09:54:52 +0000 |
|---|---|---|
| committer | Erik Verbruggen <erikjv@me.com> | 2011-10-17 09:54:52 +0000 |
| commit | fd979b1eaf0f88210625b565166952d6e41fe592 (patch) | |
| tree | f9097556eb5167a2c6b68424f5c9c379f11d2278 /clang/lib | |
| parent | f95c94e9a6b4e4000317d329d0550fa904c4c831 (diff) | |
| download | bcm5719-llvm-fd979b1eaf0f88210625b565166952d6e41fe592.tar.gz bcm5719-llvm-fd979b1eaf0f88210625b565166952d6e41fe592.zip | |
Fixed merge-mistake where ActOnAccessSpecifier was called twice for every access specifier. The testcase has been changed to catch this too.
llvm-svn: 142186
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Parse/ParseDeclCXX.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp index 09f8ab2fc13..472c64b2215 100644 --- a/clang/lib/Parse/ParseDeclCXX.cpp +++ b/clang/lib/Parse/ParseDeclCXX.cpp @@ -2147,11 +2147,6 @@ void Parser::ParseCXXMemberSpecification(SourceLocation RecordLoc, SourceLocation EndLoc; if (Tok.is(tok::colon)) { EndLoc = Tok.getLocation(); - if (Actions.ActOnAccessSpecifier(AS, ASLoc, EndLoc, - AccessAttrs.getList())) { - // found another attribute than only annotations - AccessAttrs.clear(); - } ConsumeToken(); } else if (Tok.is(tok::semi)) { EndLoc = Tok.getLocation(); @@ -2163,7 +2158,13 @@ void Parser::ParseCXXMemberSpecification(SourceLocation RecordLoc, Diag(EndLoc, diag::err_expected_colon) << FixItHint::CreateInsertion(EndLoc, ":"); } - Actions.ActOnAccessSpecifier(AS, ASLoc, EndLoc); + + if (Actions.ActOnAccessSpecifier(AS, ASLoc, EndLoc, + AccessAttrs.getList())) { + // found another attribute than only annotations + AccessAttrs.clear(); + } + continue; } |

