diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2015-12-15 08:19:24 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2015-12-15 08:19:24 +0000 |
commit | 28c75417b2c48780432eaf5eb35cf7c0a2ad5217 (patch) | |
tree | 8e88b9b6ac7433a5fc459fc538e5072884cf9e0c /clang/lib/Parse/ParseOpenMP.cpp | |
parent | cc03b49444cf9053a111c211227d5574354dd8b8 (diff) | |
download | bcm5719-llvm-28c75417b2c48780432eaf5eb35cf7c0a2ad5217.tar.gz bcm5719-llvm-28c75417b2c48780432eaf5eb35cf7c0a2ad5217.zip |
[OPENMP 4.5] Parsing/sema for 'hint' clause of 'critical' directive.
OpenMP 4.5 adds 'hint' clause to critical directive. Patch adds parsing/semantic analysis for this clause.
llvm-svn: 255625
Diffstat (limited to 'clang/lib/Parse/ParseOpenMP.cpp')
-rw-r--r-- | clang/lib/Parse/ParseOpenMP.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp index c3d810da349..bf190892a1d 100644 --- a/clang/lib/Parse/ParseOpenMP.cpp +++ b/clang/lib/Parse/ParseOpenMP.cpp @@ -404,7 +404,7 @@ bool Parser::ParseOpenMPSimpleVarList(OpenMPDirectiveKind Kind, /// update-clause | capture-clause | seq_cst-clause | device-clause | /// simdlen-clause | threads-clause | simd-clause | num_teams-clause | /// thread_limit-clause | priority-clause | grainsize-clause | -/// nogroup-clause | num_tasks-clause +/// nogroup-clause | num_tasks-clause | hint-clause /// OMPClause *Parser::ParseOpenMPClause(OpenMPDirectiveKind DKind, OpenMPClauseKind CKind, bool FirstClause) { @@ -430,6 +430,7 @@ OMPClause *Parser::ParseOpenMPClause(OpenMPDirectiveKind DKind, case OMPC_priority: case OMPC_grainsize: case OMPC_num_tasks: + case OMPC_hint: // OpenMP [2.5, Restrictions] // At most one num_threads clause can appear on the directive. // OpenMP [2.8.1, simd construct, Restrictions] @@ -541,7 +542,7 @@ OMPClause *Parser::ParseOpenMPClause(OpenMPDirectiveKind DKind, /// \brief Parsing of OpenMP clauses with single expressions like 'final', /// 'collapse', 'safelen', 'num_threads', 'simdlen', 'num_teams', -/// 'thread_limit', 'simdlen', 'priority', 'grainsize' or 'num_tasks'. +/// 'thread_limit', 'simdlen', 'priority', 'grainsize', 'num_tasks' or 'hint'. /// /// final-clause: /// 'final' '(' expression ')' @@ -567,6 +568,9 @@ OMPClause *Parser::ParseOpenMPClause(OpenMPDirectiveKind DKind, /// num_tasks-clause: /// 'num_tasks' '(' expression ')' /// +/// hint-clause: +/// 'hint' '(' expression ')' +/// OMPClause *Parser::ParseOpenMPSingleExprClause(OpenMPClauseKind Kind) { SourceLocation Loc = ConsumeToken(); |