summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseStmt.cpp
diff options
context:
space:
mode:
authorMark Heffernan <meheff@google.com>2014-07-21 18:08:34 +0000
committerMark Heffernan <meheff@google.com>2014-07-21 18:08:34 +0000
commitbd26f5ea4d9c6ed042965167aa2331cc1aecc539 (patch)
treebcc470dfa7c0a34949bfca3d56c74b2a64077e2f /clang/lib/Parse/ParseStmt.cpp
parent4f42fc4e1d7e1a373a3f0346de7200b18f49ca22 (diff)
downloadbcm5719-llvm-bd26f5ea4d9c6ed042965167aa2331cc1aecc539.tar.gz
bcm5719-llvm-bd26f5ea4d9c6ed042965167aa2331cc1aecc539.zip
Add support for '#pragma unroll'.
llvm-svn: 213574
Diffstat (limited to 'clang/lib/Parse/ParseStmt.cpp')
-rw-r--r--clang/lib/Parse/ParseStmt.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/clang/lib/Parse/ParseStmt.cpp b/clang/lib/Parse/ParseStmt.cpp
index 1e8c4a69d86..ec0ca6b1fdd 100644
--- a/clang/lib/Parse/ParseStmt.cpp
+++ b/clang/lib/Parse/ParseStmt.cpp
@@ -1833,18 +1833,16 @@ StmtResult Parser::ParsePragmaLoopHint(StmtVector &Stmts, bool OnlyStatement,
// Create temporary attribute list.
ParsedAttributesWithRange TempAttrs(AttrFactory);
- // Get vectorize hints and consume annotated token.
+ // Get loop hints and consume annotated token.
while (Tok.is(tok::annot_pragma_loop_hint)) {
LoopHint Hint = HandlePragmaLoopHint();
ConsumeToken();
- if (!Hint.LoopLoc || !Hint.OptionLoc || !Hint.ValueLoc)
- continue;
-
- ArgsUnion ArgHints[] = {Hint.OptionLoc, Hint.ValueLoc,
+ ArgsUnion ArgHints[] = {Hint.PragmaNameLoc, Hint.OptionLoc, Hint.ValueLoc,
ArgsUnion(Hint.ValueExpr)};
- TempAttrs.addNew(Hint.LoopLoc->Ident, Hint.Range, nullptr,
- Hint.LoopLoc->Loc, ArgHints, 3, AttributeList::AS_Pragma);
+ TempAttrs.addNew(Hint.PragmaNameLoc->Ident, Hint.Range, nullptr,
+ Hint.PragmaNameLoc->Loc, ArgHints, 4,
+ AttributeList::AS_Pragma);
}
// Get the next statement.
OpenPOWER on IntegriCloud