blob: 73e2e446f1311329448a3c2f22372a3f61b238b2 [file] [log] [blame]
Daniel Dunbard7d5f022009-03-24 02:24:46 +00001// RUN: clang-cc %s -verify -fsyntax-only
Steve Naroffb43eaa52008-02-11 00:06:17 +00002
3typedef struct _zend_module_entry zend_module_entry;
4struct _zend_module_entry {
5 _efree((p)); // expected-error{{type name requires a specifier or qualifier}} \
Chris Lattner35d276f2009-02-27 18:53:28 +00006 expected-error{{field '_efree' declared as a function}} \
7 expected-warning {{type specifier missing, defaults to 'int'}} \
8 expected-warning {{type specifier missing, defaults to 'int'}}
9
Steve Naroffb43eaa52008-02-11 00:06:17 +000010};
11typedef struct _zend_function_entry { } zend_function_entry;
12typedef struct _zend_pcre_globals { } zend_pcre_globals;
13zend_pcre_globals pcre_globals;
14
15static void zm_globals_ctor_pcre(zend_pcre_globals *pcre_globals ) { }
16static void zm_globals_dtor_pcre(zend_pcre_globals *pcre_globals ) { }
17static void zm_info_pcre(zend_module_entry *zend_module ) { }
18static int zm_startup_pcre(int type, int module_number ) { }
19
20static int zm_shutdown_pcre(int type, int module_number ) {
Chris Lattner28eb7e92008-11-23 23:17:07 +000021 zend_function_entry pcre_functions[] = {{ }; // expected-error{{expected '}'}} expected-note {{to match this '{'}}
Steve Naroffb43eaa52008-02-11 00:06:17 +000022 zend_module_entry pcre_module_entry = {
23 sizeof(zend_module_entry), 20071006, 0, 0, ((void *)0), ((void *)0),
24 "pcre", pcre_functions, zm_startup_pcre, zm_shutdown_pcre, ((void *)0),
25 ((void *)0), zm_info_pcre, ((void *)0), sizeof(zend_pcre_globals), &pcre_globals,
26 ((void (*)(void* ))(zm_globals_ctor_pcre)), ((void (*)(void* ))(zm_globals_dtor_pcre)),
27 ((void *)0), 0, 0, ((void *)0), 0
28 };
29}