summaryrefslogtreecommitdiff
path: root/test/SemaOpenCL/invalid-image.cl
diff options
context:
space:
mode:
authorAnastasia Stulova <anastasia.stulova@arm.com>2016-07-11 13:46:02 +0000
committerAnastasia Stulova <anastasia.stulova@arm.com>2016-07-11 13:46:02 +0000
commit481ab3b5eba4f2ef26b3d3f9cab4b48ea00632ca (patch)
tree803bd5b0743ec4347c5983846a3bd3b139f2cd2f /test/SemaOpenCL/invalid-image.cl
parentbee5abcb5e31f6bbd91256fbda788678309f5f49 (diff)
downloadclang-481ab3b5eba4f2ef26b3d3f9cab4b48ea00632ca.tar.gz
[OpenCL] Improved diagnostics of OpenCL types.
- Changes diagnostics for Blocks to be implicitly const qualified OpenCL v2.0 s6.12.5. - Added and unified diagnostics of some OpenCL special types: blocks, images, samplers, pipes. These types are intended for use with the OpenCL builtin functions only and, therefore, most regular uses are not allowed including assignments, arithmetic operations, pointer dereferencing, etc. Review: http://reviews.llvm.org/D21989 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@275061 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaOpenCL/invalid-image.cl')
-rw-r--r--test/SemaOpenCL/invalid-image.cl12
1 files changed, 9 insertions, 3 deletions
diff --git a/test/SemaOpenCL/invalid-image.cl b/test/SemaOpenCL/invalid-image.cl
index ed8af09579..d15746fbab 100644
--- a/test/SemaOpenCL/invalid-image.cl
+++ b/test/SemaOpenCL/invalid-image.cl
@@ -1,8 +1,14 @@
// RUN: %clang_cc1 -verify %s
-void test1(image1d_t *i) {} // expected-error {{pointer to type '__read_only image1d_t' is invalid in OpenCL}}
+void test1(image1d_t *i) {} // expected-error{{pointer to type '__read_only image1d_t' is invalid in OpenCL}}
void test2(image1d_t i) {
- image1d_t ti; // expected-error {{type '__read_only image1d_t' can only be used as a function parameter}}
- image1d_t ai[] = {i, i}; // expected-error {{array of '__read_only image1d_t' type is invalid in OpenCL}}
+ image1d_t ti; // expected-error{{type '__read_only image1d_t' can only be used as a function parameter}}
+ image1d_t ai[] = {i, i}; // expected-error{{array of '__read_only image1d_t' type is invalid in OpenCL}}
+ i=i; // expected-error{{invalid operands to binary expression ('__read_only image1d_t' and '__read_only image1d_t')}}
+ i+1; // expected-error{{invalid operands to binary expression ('__read_only image1d_t' and 'int')}}
+ &i; // expected-error{{invalid argument type '__read_only image1d_t' to unary expression}}
+ *i; // expected-error{{invalid argument type '__read_only image1d_t' to unary expression}}
}
+
+image1d_t test3() {} // expected-error{{declaring function return value of type '__read_only image1d_t' is not allowed}}