xref: /aosp_15_r20/external/clang/test/Sema/invalid-struct-init.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 %s -verify -fsyntax-only
2*67e74705SXin Li 
3*67e74705SXin Li typedef struct _zend_module_entry zend_module_entry;
4*67e74705SXin Li struct _zend_module_entry {
5*67e74705SXin Li   _efree((p)); // expected-error{{type name requires a specifier or qualifier}} \
6*67e74705SXin Li                   expected-warning {{type specifier missing, defaults to 'int'}}
7*67e74705SXin Li 
8*67e74705SXin Li };
9*67e74705SXin Li typedef struct _zend_function_entry { } zend_function_entry;
10*67e74705SXin Li typedef struct _zend_pcre_globals { } zend_pcre_globals;
11*67e74705SXin Li zend_pcre_globals pcre_globals;
12*67e74705SXin Li 
zm_globals_ctor_pcre(zend_pcre_globals * pcre_globals)13*67e74705SXin Li static void zm_globals_ctor_pcre(zend_pcre_globals *pcre_globals ) { }
zm_globals_dtor_pcre(zend_pcre_globals * pcre_globals)14*67e74705SXin Li static void zm_globals_dtor_pcre(zend_pcre_globals *pcre_globals ) { }
zm_info_pcre(zend_module_entry * zend_module)15*67e74705SXin Li static void zm_info_pcre(zend_module_entry *zend_module ) { }
zm_startup_pcre(int type,int module_number)16*67e74705SXin Li static int zm_startup_pcre(int type, int module_number ) { }
17*67e74705SXin Li 
zm_shutdown_pcre(int type,int module_number)18*67e74705SXin Li static int zm_shutdown_pcre(int type, int module_number ) {
19*67e74705SXin Li   zend_function_entry pcre_functions[] = {{ }; // expected-error{{expected '}'}} expected-note {{to match this '{'}}
20*67e74705SXin Li   zend_module_entry pcre_module_entry = {
21*67e74705SXin Li     sizeof(zend_module_entry), 20071006, 0, 0, ((void *)0), ((void *)0),
22*67e74705SXin Li     "pcre",  pcre_functions,  zm_startup_pcre,  zm_shutdown_pcre,  ((void *)0),
23*67e74705SXin Li     ((void *)0),  zm_info_pcre,  ((void *)0),  sizeof(zend_pcre_globals), &pcre_globals,
24*67e74705SXin Li     ((void (*)(void* ))(zm_globals_ctor_pcre)),  ((void (*)(void* ))(zm_globals_dtor_pcre)),
25*67e74705SXin Li     ((void *)0),  0, 0, ((void *)0), 0
26*67e74705SXin Li   };
27*67e74705SXin Li }
28