diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-01-12 06:51:15 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-01-12 06:51:15 +0000 |
commit | bba1234849adbabe7563fc2e2b7beecd107df624 (patch) | |
tree | 431fe9956e21b3bfb47fd12c33d6147d4c6baca3 /clang/lib/Parse/ParseCXXInlineMethods.cpp | |
parent | 06b7d006b82c4279d603be4daca228d0028d12eb (diff) | |
download | bcm5719-llvm-bba1234849adbabe7563fc2e2b7beecd107df624.tar.gz bcm5719-llvm-bba1234849adbabe7563fc2e2b7beecd107df624.zip |
Parse: Just a small tidy-up in ParseLexedMethodDeclaration
No functional change intended, just tidy up the parse flow.
llvm-svn: 225620
Diffstat (limited to 'clang/lib/Parse/ParseCXXInlineMethods.cpp')
-rw-r--r-- | clang/lib/Parse/ParseCXXInlineMethods.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/clang/lib/Parse/ParseCXXInlineMethods.cpp b/clang/lib/Parse/ParseCXXInlineMethods.cpp index 375041ebe12..0d5bb2e97d4 100644 --- a/clang/lib/Parse/ParseCXXInlineMethods.cpp +++ b/clang/lib/Parse/ParseCXXInlineMethods.cpp @@ -337,14 +337,16 @@ void Parser::ParseLexedMethodDeclaration(LateParsedMethodDeclaration &LM) { DefArgResult = ParseBraceInitializer(); } else DefArgResult = ParseAssignmentExpression(); + bool DefArgTokenFound = + Tok.is(tok::eof) && Tok.getEofData() == LM.DefaultArgs[I].Param; + if (DefArgTokenFound) + ConsumeAnyToken(); DefArgResult = Actions.CorrectDelayedTyposInExpr(DefArgResult); - if (DefArgResult.isInvalid()) + if (DefArgResult.isInvalid()) { Actions.ActOnParamDefaultArgumentError(LM.DefaultArgs[I].Param, EqualLoc); - else { - if (Tok.is(tok::eof) && Tok.getEofData() == LM.DefaultArgs[I].Param) { - ConsumeAnyToken(); - } else { + } else { + if (!DefArgTokenFound) { // The last two tokens are the terminator and the saved value of // Tok; the last token in the default argument is the one before // those. |