Chris Lattner | 99d724f | 2008-02-10 23:08:00 +0000 | [diff] [blame] | 1 | // RUN: clang %s -fsyntax-only -verify -pedantic |
Chris Lattner | 529bd02 | 2008-01-02 22:50:48 +0000 | [diff] [blame] | 2 | // PR1892 |
| 3 | void f(double a[restrict][5]); // should promote to restrict ptr. |
| 4 | void f(double (* restrict a)[5]); |
| 5 | |
Steve Naroff | ba03eda | 2008-01-29 00:15:50 +0000 | [diff] [blame] | 6 | int foo (__const char *__path); |
| 7 | int foo(__const char *__restrict __file); |
| 8 | |
Steve Naroff | 2565eef | 2008-01-29 18:58:14 +0000 | [diff] [blame] | 9 | void func(const char*); //expected-error{{previous declaration is here}} |
| 10 | void func(char*); //expected-error{{conflicting types for 'func'}} |
| 11 | |
Chris Lattner | 1adb883 | 2008-01-14 05:45:46 +0000 | [diff] [blame] | 12 | void g(int (*)(const void **, const void **)); |
| 13 | void g(int (*compar)()) { |
| 14 | } |
| 15 | |
Eli Friedman | f963339 | 2008-02-15 06:56:02 +0000 | [diff] [blame] | 16 | void h(); //expected-error{{previous declaration is here}} |
| 17 | void h (const char *fmt, ...) {} //expected-error{{conflicting types for 'h'}} |
Chris Lattner | 868d08f | 2008-01-31 06:06:29 +0000 | [diff] [blame] | 18 | |
| 19 | // PR1965 |
| 20 | int t5(b); // expected-error {{parameter list without types}} |
Chris Lattner | 99d724f | 2008-02-10 23:08:00 +0000 | [diff] [blame] | 21 | int t6(int x, g); // expected-warning {{type specifier required for parameter 'g'}} |
Chris Lattner | 868d08f | 2008-01-31 06:06:29 +0000 | [diff] [blame] | 22 | |
Chris Lattner | 99d724f | 2008-02-10 23:08:00 +0000 | [diff] [blame] | 23 | int t7(, ); // expected-error {{expected parameter declarator}} expected-error {{expected parameter declarator}} |
| 24 | int t8(, int a); // expected-error {{expected parameter declarator}} |
| 25 | int t9(int a, ); // expected-error {{expected parameter declarator}} |
Chris Lattner | 868d08f | 2008-01-31 06:06:29 +0000 | [diff] [blame] | 26 | |
| 27 | |
Chris Lattner | 5280408 | 2008-02-17 19:31:09 +0000 | [diff] [blame] | 28 | // PR2042 |
| 29 | void t10(){} |
| 30 | void t11(){t10(1);} |
| 31 | |