From c69b740df42c28c4063627a0103310f1a1b85ff2 Mon Sep 17 00:00:00 2001 From: Nate Begeman Date: Fri, 26 Jun 2009 00:50:28 +0000 Subject: OpenCL 1.0 support: explicit casts to ext-vector types llvm-svn: 74247 --- clang/test/Sema/ext_vector_casts.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 clang/test/Sema/ext_vector_casts.c (limited to 'clang/test/Sema/ext_vector_casts.c') 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'}} +} -- cgit v1.2.3