Daniel Dunbar | a572887 | 2009-12-15 20:14:24 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 %s -fsyntax-only -verify |
Chris Lattner | 9a11b9a | 2007-10-19 20:10:30 +0000 | [diff] [blame] | 2 | |
| 3 | void test() { |
Chris Lattner | 1f6f54b | 2008-11-11 06:13:16 +0000 | [diff] [blame] | 4 | char = 4; // expected-error {{expected identifier}} |
Chris Lattner | 9a11b9a | 2007-10-19 20:10:30 +0000 | [diff] [blame] | 5 | } |
| 6 | |
| 7 | |
Chris Lattner | 8389eab | 2008-08-09 21:35:13 +0000 | [diff] [blame] | 8 | // PR2400 |
Douglas Gregor | 58408bc | 2010-01-11 18:46:21 +0000 | [diff] [blame] | 9 | typedef xtype (*x)(void* handle); // expected-error {{function cannot return function type}} expected-warning {{type specifier missing, defaults to 'int'}} expected-warning {{type specifier missing, defaults to 'int'}} |
Chris Lattner | eaaebc7 | 2009-04-25 08:06:05 +0000 | [diff] [blame] | 10 | |
| 11 | typedef void ytype(); |
| 12 | |
Chris Lattner | 8389eab | 2008-08-09 21:35:13 +0000 | [diff] [blame] | 13 | |
| 14 | typedef struct _zend_module_entry zend_module_entry; |
| 15 | struct _zend_module_entry { |
Chris Lattner | eaaebc7 | 2009-04-25 08:06:05 +0000 | [diff] [blame] | 16 | ytype globals_size; // expected-error {{field 'globals_size' declared as a function}} |
Chris Lattner | 8389eab | 2008-08-09 21:35:13 +0000 | [diff] [blame] | 17 | }; |
| 18 | |
| 19 | zend_module_entry openssl_module_entry = { |
| 20 | sizeof(zend_module_entry) |
| 21 | }; |
| 22 | |
Eli Friedman | 06808f1 | 2012-08-08 04:39:56 +0000 | [diff] [blame] | 23 | // <rdar://problem/11067144> |
| 24 | typedef int (FunctionType)(int *value); |
| 25 | typedef struct { |
| 26 | UndefinedType undef; // expected-error {{unknown type name 'UndefinedType'}} |
| 27 | FunctionType fun; // expected-error {{field 'fun' declared as a function}} |
| 28 | } StructType; |
| 29 | void f(StructType *buf) { |
| 30 | buf->fun = 0; |
| 31 | } |
Fariborz Jahanian | 37c765a | 2012-09-05 17:52:12 +0000 | [diff] [blame] | 32 | |
| 33 | // rdar://11743706 |
| 34 | static void bar(hid_t, char); // expected-error {{expected identifier}} |
| 35 | |
| 36 | static void bar(hid_t p, char); // expected-error {{unknown type name 'hid_t'}} |
| 37 | |
| 38 | void foo() { |
| 39 | (void)bar; |
| 40 | } |
Argyrios Kyrtzidis | d5668a2 | 2013-02-22 06:58:32 +0000 | [diff] [blame^] | 41 | |
| 42 | void test2(); |
| 43 | void test2(undef); // expected-error {{a parameter list without types is only allowed in a function definition}} |
| 44 | void test2() { } |