Daniel Dunbar | d7d5f02 | 2009-03-24 02:24:46 +0000 | [diff] [blame] | 1 | // RUN: clang-cc %s -verify -fsyntax-only |
Steve Naroff | b43eaa5 | 2008-02-11 00:06:17 +0000 | [diff] [blame] | 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}} \ |
Chris Lattner | 35d276f | 2009-02-27 18:53:28 +0000 | [diff] [blame] | 6 | 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 Naroff | b43eaa5 | 2008-02-11 00:06:17 +0000 | [diff] [blame] | 10 | }; |
| 11 | typedef struct _zend_function_entry { } zend_function_entry; |
| 12 | typedef struct _zend_pcre_globals { } zend_pcre_globals; |
| 13 | zend_pcre_globals pcre_globals; |
| 14 | |
| 15 | static void zm_globals_ctor_pcre(zend_pcre_globals *pcre_globals ) { } |
| 16 | static void zm_globals_dtor_pcre(zend_pcre_globals *pcre_globals ) { } |
| 17 | static void zm_info_pcre(zend_module_entry *zend_module ) { } |
| 18 | static int zm_startup_pcre(int type, int module_number ) { } |
| 19 | |
| 20 | static int zm_shutdown_pcre(int type, int module_number ) { |
Chris Lattner | 28eb7e9 | 2008-11-23 23:17:07 +0000 | [diff] [blame] | 21 | zend_function_entry pcre_functions[] = {{ }; // expected-error{{expected '}'}} expected-note {{to match this '{'}} |
Steve Naroff | b43eaa5 | 2008-02-11 00:06:17 +0000 | [diff] [blame] | 22 | 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 | } |