From: Tanya Lattner Date: Thu, 7 Jul 2011 00:12:54 +0000 (+0000) Subject: Do not violate the opencl casting rules. This test case still illustrates the problem... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9934078119eed79d06a47af34fe1a266981dfd42;p=clang 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134570 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGenOpenCL/2011-04-15-vec-init-from-vec.cl b/test/CodeGenOpenCL/2011-04-15-vec-init-from-vec.cl index c61be69b57..fbe3d89f10 100644 --- a/test/CodeGenOpenCL/2011-04-15-vec-init-from-vec.cl +++ b/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}}}; +}