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