[OpenCL] Prevent adding extension pragma by default.
authorAnastasia Stulova <anastasia.stulova@arm.com>
Wed, 3 Mar 2021 12:05:38 +0000 (12:05 +0000)
committerAnastasia Stulova <anastasia.stulova@arm.com>
Wed, 3 Mar 2021 15:02:21 +0000 (15:02 +0000)
commit25ad188bfcdb2a85416013c6303f30cbc7775674
treef05df37bb6b2be9f20a5902febbdda120d357d18
parent0a5dd067181dac2a8882a139ea3bd19bdea5fa44
[OpenCL] Prevent adding extension pragma by default.

This commit refactors extension support to allow
specifying whether pragma is needed or not explicitly.

For backward compatibility pragmas are set to required
for all extensions that were added prior to this but
not for OpenCL 3.0 features.

Differential Revision: https://reviews.llvm.org/D97052
clang/include/clang/Basic/OpenCLExtensions.def
clang/include/clang/Basic/OpenCLOptions.h
clang/lib/Basic/OpenCLOptions.cpp
clang/lib/Basic/Targets.cpp
clang/lib/Parse/ParsePragma.cpp
clang/lib/Serialization/ASTReader.cpp
clang/lib/Serialization/ASTWriter.cpp
clang/test/SemaOpenCL/extension-version.cl