llvm-project/clang/test/CodeGen/struct-init.c
Nikita Popov 532dc62b90 [OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC)
This adds -no-opaque-pointers to clang tests whose output will
change when opaque pointers are enabled by default. This is
intended to be part of the migration approach described in
https://discourse.llvm.org/t/enabling-opaque-pointers-by-default/61322/9.

The patch has been produced by replacing %clang_cc1 with
%clang_cc1 -no-opaque-pointers for tests that fail with opaque
pointers enabled. Worth noting that this doesn't cover all tests,
there's a remaining ~40 tests not using %clang_cc1 that will need
a followup change.

Differential Revision: https://reviews.llvm.org/D123115
2022-04-07 12:09:47 +02:00

38 lines
917 B
C

// RUN: %clang_cc1 -no-opaque-pointers -triple armv7-apple-darwin -target-feature +neon %s -emit-llvm -o - | FileCheck %s
typedef struct _zend_ini_entry zend_ini_entry;
struct _zend_ini_entry {
void *mh_arg1;
};
char a;
const zend_ini_entry ini_entries[] = {
{ ((char*)&((zend_ini_entry*)0)->mh_arg1 - (char*)(void*)0)},
};
// PR7564
struct GLGENH {
int : 27;
int EMHJAA : 1;
};
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 unsigned int uint32_t;
typedef __attribute__((neon_vector_type(2))) uint32_t uint32x2_t;
void foo(void) {
const uint32x2_t signBit = { (uint2) 0x80000000 };
}
// CHECK: %struct.fp_struct_foo = type { void ([1 x i32])* }
struct fp_struct_bar { int a; };
struct fp_struct_foo {
void (*FP)(struct fp_struct_bar);
} G;