diff options
author | Nate Begeman <natebegeman@mac.com> | 2009-06-26 00:50:28 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2009-06-26 00:50:28 +0000 |
commit | c69b740df42c28c4063627a0103310f1a1b85ff2 (patch) | |
tree | 9b042f869669e5adf5891e0a93f1cb2276ece2fd /clang/test/Sema/ext_vector_casts.c | |
parent | 2aaad91bbeb3373fc2bf8fbba79349beda31cfed (diff) | |
download | bcm5719-llvm-c69b740df42c28c4063627a0103310f1a1b85ff2.tar.gz bcm5719-llvm-c69b740df42c28c4063627a0103310f1a1b85ff2.zip |
OpenCL 1.0 support: explicit casts to ext-vector types
llvm-svn: 74247
Diffstat (limited to 'clang/test/Sema/ext_vector_casts.c')
-rw-r--r-- | clang/test/Sema/ext_vector_casts.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/test/Sema/ext_vector_casts.c b/clang/test/Sema/ext_vector_casts.c new file mode 100644 index 00000000000..8aa762ebcf2 --- /dev/null +++ b/clang/test/Sema/ext_vector_casts.c @@ -0,0 +1,23 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +typedef __attribute__(( ext_vector_type(2) )) float float2; +typedef __attribute__(( ext_vector_type(4) )) int int4; +typedef __attribute__(( ext_vector_type(4) )) float float4; +typedef float t3 __attribute__ ((vector_size (16))); + +static void test() { + float2 vec2; + float4 vec4, vec4_2; + int4 ivec4; + t3 vec4_3; + + vec4 = (float4)5.0f; + vec4 = (float4)5; + vec4 = (float4)vec4_3; + + ivec4 = (int4)5.0f; + ivec4 = (int4)5; + ivec4 = (int4)vec4_3; + + vec4 = (float4)vec2; // expected-error {{invalid conversion between ext-vector type 'float4' and 'float2'}} +} |