forked from OSchip/llvm-project
e123cd674c
Currently, there is some refactoring needed in existing interface of OpenCL option settings to support OpenCL C 3.0. The problem is that OpenCL extensions and features are not only determined by the target platform but also by the OpenCL version. Also, there are core extensions/features which are supported unconditionally in specific OpenCL C version. In fact, these rules are not being followed for all targets. For example, there are some targets (as nvptx and r600) which don't support OpenCL C 2.0 core features (nvptx.languageOptsOpenCL.cl, r600.languageOptsOpenCL.cl). After the change there will be explicit differentiation between optional core and core OpenCL features which allows giving diagnostics if target doesn't support any of necessary core features for specific OpenCL version. This patch also eliminates `OpenCLOptions` instance duplication from `TargetOptions`. `OpenCLOptions` instance should take place in `Sema` as it's going to be modified during parsing. Removing this duplication will also allow to generally simplify `OpenCLOptions` class for parsing purposes. Reviewed By: Anastasia Differential Revision: https://reviews.llvm.org/D92277 |
||
---|---|---|
.. | ||
Inputs | ||
amdgcn.languageOptsOpenCL.cl | ||
attr-source-range.cpp | ||
backend-optimization-failure-nodbg.cpp | ||
backend-optimization-failure.cpp | ||
backend-resource-limit-diagnostics.cl | ||
backend-stack-frame-diagnostics-fallback.cpp | ||
backend-stack-frame-diagnostics.cpp | ||
caret-diags-macros.c | ||
caret-diags-multiline.cpp | ||
caret-diags-scratch-buffer.c | ||
cc1as-asm-debug.s | ||
cc1as-asm.s | ||
cc1as-compress.s | ||
cc1as-split-dwarf.s | ||
dev-fd-fs.c | ||
diag-aka-types.cpp | ||
diag-format.c | ||
diag-greatergreater.cpp | ||
diag-inline-namespace.cpp | ||
diag-line-wrapping.cpp | ||
diag-macro-backtrace.c | ||
diag-macro-backtrace2.c | ||
diag-mapping.c | ||
diag-mapping2.c | ||
diag-null-bytes-in-line.cpp | ||
diag-presumed.c | ||
diag-special-chars.c | ||
diag-template-diffing-color.cpp | ||
diag-template-diffing-cxx98.cpp | ||
diag-template-diffing.cpp | ||
diag-template.cpp | ||
diag-trailing-null-bytes.cpp | ||
diag-verify.cpp | ||
diagnostic-crash.cpp | ||
driver-verify.c | ||
emit-html-insert.c | ||
emit-html.c | ||
error-limit-multiple-notes.cpp | ||
error-limit.c | ||
explicit.cpp | ||
find-diagnostic-id.c | ||
freebsd-arm-size_t.c | ||
include-stack-for-note-flag.cpp | ||
integer-literal-printing.cpp | ||
interpreter.c | ||
languageOptsOpenCL.cl | ||
loop-opt-setup.c | ||
macro-backtrace.c | ||
message-length.c | ||
no-warn-in-system-macro.c | ||
no-warn-in-system-macro.c.inc | ||
nvptx.languageOptsOpenCL.cl | ||
pr32207.c | ||
pragma-attribute-cxx.cpp | ||
pragma-attribute-objc.m | ||
pragma-attribute-strict-subjects.c | ||
pragma-attribute-supported-attributes-list.test | ||
predefines.c | ||
printer.c | ||
r600.languageOptsOpenCL.cl | ||
reduced-diags-macros-backtrace.cpp | ||
reduced-diags-macros.cpp | ||
remap-file.c | ||
serialized-diags-bcanalyzer.c | ||
serialized-diags-driver.c | ||
serialized-diags-frontend.c | ||
serialized-diags-no-category.c | ||
serialized-diags-no-issue.c | ||
serialized-diags-really-long-text.cpp | ||
serialized-diags-single-issue.c | ||
serialized-diags-stable.c | ||
serialized-diags.c | ||
serialized-diags.h | ||
serialized-diags.m | ||
show-diag-options.c | ||
tabstop.c | ||
target-invalid-cpu-note.c | ||
target-parser.c | ||
time-passes.c | ||
unnecessary-elipses.cpp | ||
unprintable.c | ||
verify.c | ||
warn-in-system-header.c | ||
warn-in-system-header.h | ||
warn-in-system-macro-def.c | ||
warn-in-system-macro-def.c.inc | ||
warn-sysheader.cpp | ||
warning-flags-enabled.c | ||
warning-flags-tree.c | ||
warning-flags.c | ||
warning-wall.c | ||
win32-macho.c | ||
working-directory.c | ||
wrong-encoding.c | ||
wrong-encoding2.c |