Chris Lattner | 71305cc | 2011-07-15 05:16:14 +0000 | [diff] [blame^] | 1 | // RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s |
Nuno Lopes | 77e1dfc | 2008-06-06 16:41:08 +0000 | [diff] [blame] | 2 | |
| 3 | typedef struct _zend_ini_entry zend_ini_entry; |
| 4 | struct _zend_ini_entry { |
Mike Stump | 1eb4433 | 2009-09-09 15:08:12 +0000 | [diff] [blame] | 5 | void *mh_arg1; |
Nuno Lopes | 77e1dfc | 2008-06-06 16:41:08 +0000 | [diff] [blame] | 6 | }; |
| 7 | |
| 8 | char a; |
| 9 | |
| 10 | const zend_ini_entry ini_entries[] = { |
Mike Stump | 1eb4433 | 2009-09-09 15:08:12 +0000 | [diff] [blame] | 11 | { ((char*)&((zend_ini_entry*)0)->mh_arg1 - (char*)(void*)0)}, |
Nuno Lopes | 77e1dfc | 2008-06-06 16:41:08 +0000 | [diff] [blame] | 12 | }; |
Chris Lattner | 2bc0025 | 2010-07-05 18:03:30 +0000 | [diff] [blame] | 13 | |
| 14 | // PR7564 |
| 15 | struct GLGENH { |
| 16 | int : 27; |
| 17 | int EMHJAA : 1; |
| 18 | }; |
| 19 | |
| 20 | struct GLGENH ABHFBF = {1}; |
Argyrios Kyrtzidis | 65e7a9e | 2011-02-01 00:52:10 +0000 | [diff] [blame] | 21 | |
| 22 | typedef __attribute__(( ext_vector_type(2) )) unsigned int uint2; |
| 23 | typedef __attribute__(( __vector_size__(8) )) unsigned int __neon_uint32x2_t; |
| 24 | |
| 25 | // rdar://8183908 |
| 26 | typedef struct __simd64_uint32_t { |
| 27 | __neon_uint32x2_t val; |
| 28 | } uint32x2_t; |
| 29 | void foo() { |
| 30 | const uint32x2_t signBit = { (uint2) 0x80000000 }; |
| 31 | } |
Chris Lattner | 71305cc | 2011-07-15 05:16:14 +0000 | [diff] [blame^] | 32 | |
| 33 | // CHECK: %struct.fp_struct_foo = type { void (i32)* } |
| 34 | struct fp_struct_bar { int a; }; |
| 35 | |
| 36 | struct fp_struct_foo { |
| 37 | void (*FP)(struct fp_struct_bar); |
| 38 | } G; |
| 39 | |