summaryrefslogtreecommitdiff
path: root/include/clang
diff options
context:
space:
mode:
authorSven van Haastregt <sven.vanhaastregt@arm.com>2018-09-20 10:07:27 +0000
committerSven van Haastregt <sven.vanhaastregt@arm.com>2018-09-20 10:07:27 +0000
commit8141e9ffd63b4473556dce81f900c7eaff65ccc8 (patch)
treeca7e54d99c0fb4a9c061759f9475e500da282458 /include/clang
parent50f21abf91e6c2db9a0ec470f86654f94026099b (diff)
downloadclang-8141e9ffd63b4473556dce81f900c7eaff65ccc8.tar.gz
[OpenCL] Diagnose redundant address space conversion
Add a warning if a parameter with a named address space is passed to a to_addr builtin. For example: int i; to_private(&i); // generate warning as conversion from private to private is redundant. Patch by Alistair Davies. Differential Revision: https://reviews.llvm.org/D51411 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@342638 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang')
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td
index 5cb037ffc2..9aaa7657d4 100644
--- a/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/include/clang/Basic/DiagnosticSemaKinds.td
@@ -8613,6 +8613,10 @@ def err_opencl_variadic_function : Error<
"invalid prototype, variadic arguments are not allowed in OpenCL">;
def err_opencl_requires_extension : Error<
"use of %select{type|declaration}0 %1 requires %2 extension to be enabled">;
+def warn_opencl_generic_address_space_arg : Warning<
+ "passing non-generic address space pointer to %0"
+ " may cause dynamic conversion affecting performance">,
+ InGroup<Conversion>, DefaultIgnore;
// OpenCL v2.0 s6.13.6 -- Builtin Pipe Functions
def err_opencl_builtin_pipe_first_arg : Error<