diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-02-01 00:52:10 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-02-01 00:52:10 +0000 |
commit | 65e7a9e0597fdd68caa23d49991f3891e724e5c6 (patch) | |
tree | 52ce2264fd9a59466c26e154faa9e12d69a3384e /test/CodeGen/struct-init.c | |
parent | 517ebc6e13c41dc9115bc0eece93f6fc1155743e (diff) |
When initializing struct members, the important thing is that the "initializing" expression is
compatible, not having the same type.
Fix rdar://8183908 in which compatible vector types weren't initialized properly leading to a crash.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124637 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/struct-init.c')
-rw-r--r-- | test/CodeGen/struct-init.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/test/CodeGen/struct-init.c b/test/CodeGen/struct-init.c index 926e5a7f5d..861c41e59c 100644 --- a/test/CodeGen/struct-init.c +++ b/test/CodeGen/struct-init.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - +// RUN: %clang_cc1 %s -emit-llvm-only typedef struct _zend_ini_entry zend_ini_entry; struct _zend_ini_entry { @@ -18,3 +18,14 @@ struct GLGENH { }; struct GLGENH ABHFBF = {1}; + +typedef __attribute__(( ext_vector_type(2) )) unsigned int uint2; +typedef __attribute__(( __vector_size__(8) )) unsigned int __neon_uint32x2_t; + +// rdar://8183908 +typedef struct __simd64_uint32_t { + __neon_uint32x2_t val; +} uint32x2_t; +void foo() { + const uint32x2_t signBit = { (uint2) 0x80000000 }; +} |