llvm-project/clang/lib
Joel E. Denny 7d5bc55433 [OpenMP] Permit map with DSA on combined directive
For `map`, the following restriction changed in OpenMP 5.0:

* OpenMP 4.5 [2.15.5.1, Restrictions]: "A list item cannot appear in
  both a map clause and a data-sharing attribute clause on the same
  construct.

* OpenMP 5.0 [2.19.7.1, Restrictions]: "A list item cannot appear in
  both a map clause and a data-sharing attribute clause on the same
  construct unless the construct is a combined construct."

This patch removes this restriction in the case of combined constructs
and OpenMP 5.0, and it updates Sema not to capture a scalar by copy in
the target region when `firstprivate` and `map` appear for that scalar
on a combined target construct.

This patch also adds a fixme to a test that now reveals that a
diagnostic about loop iteration variables is dropped in the case of
OpenMP 5.0.  That bug exists regardless of this patch's changes.

Reviewed By: ABataev, jdoerfert, hfinkel, kkwli0

Differential Revision: https://reviews.llvm.org/D65835

llvm-svn: 369619
2019-08-22 03:34:30 +00:00
..
ARCMigrate [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
AST [ASTImporter] Import ctor initializers after setting flags. 2019-08-16 12:10:03 +00:00
ASTMatchers [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
Analysis [clang] Use the new Regex::isValid() with no parameter 2019-08-20 16:07:31 +00:00
Basic NFCI: Simplify SourceManager::translateFile by removing code path that should never be taken 2019-08-21 21:37:09 +00:00
CodeGen [LTO] Always mark regular LTO units with EnableSplitLTOUnit=1 under the new pass manager 2019-08-21 17:24:14 +00:00
CrossTU [CrossTU] Fix problem with CrossTU AST load limit and progress messages. 2019-08-12 07:15:29 +00:00
DirectoryWatcher [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
Driver win: Enable /Zc:twoPhase by default if targeting MSVC 2017 update 3 or newer 2019-08-20 16:28:11 +00:00
Edit [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast 2019-07-02 18:28:13 +00:00
Format [clang-format] Fix a bug that joins template closer and = 2019-08-18 18:51:39 +00:00
Frontend Implement P1668R1 2019-08-19 17:39:59 +00:00
FrontendTool [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
Headers [OpenCL] Fix lang mode predefined macros for C++ mode. 2019-08-12 10:44:07 +00:00
Index [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
Lex clang: Fix typo in comment 2019-08-21 15:41:29 +00:00
Parse [Attr] Support _attribute__ ((fallthrough)) 2019-08-20 17:16:49 +00:00
Rewrite [Rewrite][NFC] Add FIXMEs and tests for RemoveLineIfEmpty bug 2019-08-15 21:17:48 +00:00
Sema [OpenMP] Permit map with DSA on combined directive 2019-08-22 03:34:30 +00:00
Serialization [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
StaticAnalyzer [analyzer] CastValueChecker: Model isa(), isa_and_nonnull() 2019-08-22 02:57:59 +00:00
Tooling [Syntax] Added function to get macro expansion tokens to TokenBuffer. 2019-08-20 13:34:01 +00:00
CMakeLists.txt Reland [clang] DirectoryWatcher 2019-07-12 20:34:10 +00:00