// Otherwise the condition is valid or the rparen is present.
T.consumeClose();
-
+
// Check for extraneous ')'s to catch things like "if (foo())) {". We know
// that all callers are looking for a statement after the condition, so ")"
// isn't valid.
<< FixItHint::CreateRemoval(Tok.getLocation());
ConsumeParen();
}
-
+
return false;
}
// Parse the parenthesized condition.
BalancedDelimiterTracker T(*this, tok::l_paren);
T.consumeOpen();
-
+
// FIXME: Do not just parse the attribute contents and throw them away
ParsedAttributesWithRange attrs(AttrFactory);
MaybeParseCXX0XAttributes(attrs);
return StmtError();
}
- bool C99orCXXorObjC = getLangOpts().C99 || getLangOpts().CPlusPlus || getLangOpts().ObjC1;
+ bool C99orCXXorObjC = getLangOpts().C99 || getLangOpts().CPlusPlus ||
+ getLangOpts().ObjC1;
// C99 6.8.5p5 - In C99, the for statement is a block. This is not
// the case for C90. Start the loop scope.
// of an auto-typed loop variable.
StmtResult ForRangeStmt;
StmtResult ForEachStmt;
-
+
if (ForRange) {
ForRangeStmt = Actions.ActOnCXXForRangeStmt(ForLoc, T.getOpenLocation(),
FirstPart.take(),
} else if (ForEach) {
ForEachStmt = Actions.ActOnObjCForCollectionStmt(ForLoc, T.getOpenLocation(),
FirstPart.take(),
- Collection.take(),
+ Collection.take(),
T.getCloseLocation());
}
}
// needSpaceAsmToken - This function handles whitespace around asm punctuation.
-// Returns true if a space should be emitted.
+// Returns true if a space should be emitted.
static inline bool needSpaceAsmToken(Token currTok) {
static Token prevTok;
for (unsigned i = 0, e = AsmToks.size(); i < e; ++i) {
const char *ThisTokBuf = &TokenBuf[0];
bool StringInvalid = false;
- unsigned ThisTokLen =
+ unsigned ThisTokLen =
Lexer::getSpelling(AsmToks[i], ThisTokBuf, PP.getSourceManager(),
PP.getLangOpts(), &StringInvalid);
if (i && (!AsmLineNum || i != LineEnds[AsmLineNum-1]) &&
assert(Tok.is(tok::kw_asm) && "Not an asm stmt");
SourceLocation AsmLoc = ConsumeToken();
- if (getLangOpts().MicrosoftExt && Tok.isNot(tok::l_paren) && !isTypeQualifier()) {
+ if (getLangOpts().MicrosoftExt && Tok.isNot(tok::l_paren) &&
+ !isTypeQualifier()) {
msAsm = true;
return ParseMicrosoftAsmStatement(AsmLoc);
}
return move(TryBlock);
// Borland allows SEH-handlers with 'try'
-
+
if ((Tok.is(tok::identifier) &&
Tok.getIdentifierInfo() == getSEHExceptKeyword()) ||
Tok.is(tok::kw___finally)) {
if (Handlers.empty())
return StmtError();
- return Actions.ActOnCXXTryBlock(TryLoc, TryBlock.take(), move_arg(Handlers));
+ return Actions.ActOnCXXTryBlock(TryLoc, TryBlock.take(),move_arg(Handlers));
}
}
case IEB_Parse:
// Parse the statements below.
break;
-
+
case IEB_Dependent:
llvm_unreachable("Dependent case handled above");
-
+
case IEB_Skip:
Braces.skipToEnd();
return;