xref: /aosp_15_r20/external/clang/test/CodeGen/struct-init.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // REQUIRES: arm-registered-target
2*67e74705SXin Li // RUN: %clang_cc1 -S -triple armv7-apple-darwin -target-feature +neon %s -emit-llvm -o - | FileCheck %s
3*67e74705SXin Li 
4*67e74705SXin Li typedef struct _zend_ini_entry zend_ini_entry;
5*67e74705SXin Li struct _zend_ini_entry {
6*67e74705SXin Li   void *mh_arg1;
7*67e74705SXin Li };
8*67e74705SXin Li 
9*67e74705SXin Li char a;
10*67e74705SXin Li 
11*67e74705SXin Li const zend_ini_entry ini_entries[] = {
12*67e74705SXin Li   {  ((char*)&((zend_ini_entry*)0)->mh_arg1 - (char*)(void*)0)},
13*67e74705SXin Li };
14*67e74705SXin Li 
15*67e74705SXin Li // PR7564
16*67e74705SXin Li struct GLGENH {
17*67e74705SXin Li   int : 27;
18*67e74705SXin Li   int EMHJAA : 1;
19*67e74705SXin Li };
20*67e74705SXin Li 
21*67e74705SXin Li struct GLGENH ABHFBF = {1};
22*67e74705SXin Li 
23*67e74705SXin Li typedef __attribute__(( ext_vector_type(2) )) unsigned int uint2;
24*67e74705SXin Li typedef __attribute__(( __vector_size__(8) )) unsigned int __neon_uint32x2_t;
25*67e74705SXin Li 
26*67e74705SXin Li // rdar://8183908
27*67e74705SXin Li typedef unsigned int uint32_t;
28*67e74705SXin Li typedef __attribute__((neon_vector_type(2)))  uint32_t uint32x2_t;
foo()29*67e74705SXin Li void foo() {
30*67e74705SXin Li     const uint32x2_t signBit = { (uint2) 0x80000000 };
31*67e74705SXin Li }
32*67e74705SXin Li 
33*67e74705SXin Li // CHECK: %struct.fp_struct_foo = type { void ([1 x i32])* }
34*67e74705SXin Li struct fp_struct_bar { int a; };
35*67e74705SXin Li 
36*67e74705SXin Li struct fp_struct_foo {
37*67e74705SXin Li   void (*FP)(struct fp_struct_bar);
38*67e74705SXin Li } G;
39