diff options
author | Mark Heffernan <meheff@google.com> | 2014-07-21 18:08:34 +0000 |
---|---|---|
committer | Mark Heffernan <meheff@google.com> | 2014-07-21 18:08:34 +0000 |
commit | bd26f5ea4d9c6ed042965167aa2331cc1aecc539 (patch) | |
tree | bcc470dfa7c0a34949bfca3d56c74b2a64077e2f /clang/lib/Parse/ParseStmt.cpp | |
parent | 4f42fc4e1d7e1a373a3f0346de7200b18f49ca22 (diff) | |
download | bcm5719-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.cpp | 12 |
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. |