From 207189ef25910a6216f852fbed0551b954757db6 Mon Sep 17 00:00:00 2001 From: Tanya Lattner Date: Thu, 7 Jul 2011 00:12:54 +0000 Subject: [PATCH] Do not violate the opencl casting rules. This test case still illustrates the problem. In the future, we should throw an error when doing invalid casting. llvm-svn: 134570 --- clang/test/CodeGenOpenCL/2011-04-15-vec-init-from-vec.cl | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/clang/test/CodeGenOpenCL/2011-04-15-vec-init-from-vec.cl b/clang/test/CodeGenOpenCL/2011-04-15-vec-init-from-vec.cl index c61be69b5739..fbe3d89f10b2 100644 --- a/clang/test/CodeGenOpenCL/2011-04-15-vec-init-from-vec.cl +++ b/clang/test/CodeGenOpenCL/2011-04-15-vec-init-from-vec.cl @@ -1,12 +1,11 @@ // RUN: %clang_cc1 %s -emit-llvm -o %t typedef __attribute__((ext_vector_type(4))) unsigned char uchar4; -typedef __attribute__((ext_vector_type(4))) unsigned int int4; typedef __attribute__((ext_vector_type(8))) unsigned char uchar8; // OpenCL allows vectors to be initialized by vectors Handle bug in // VisitInitListExpr for this case below. -void foo( int4 v ) +void foo( uchar8 x ) { - uchar4 val[4] = {{(uchar4){((uchar8)(v.lo)).lo}}}; -} \ No newline at end of file + uchar4 val[4] = {{(uchar4){x.lo}}}; +}