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
This commit is contained in:
Tanya Lattner 2011-07-07 00:12:54 +00:00
parent 2bd65363a8
commit 207189ef25
1 changed files with 3 additions and 4 deletions

View File

@ -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}}};
uchar4 val[4] = {{(uchar4){x.lo}}};
}