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 | |
Chris Lattner | 5f4a682 | 2008-11-23 23:12:31 +0000 | [diff] [blame] | 9 | void func(const char*); // expected-note {{previous declaration is here}} |
| 10 | void func(char*); // expected-error{{conflicting types for 'func'}} |
Steve Naroff | 2565eef | 2008-01-29 18:58:14 +0000 | [diff] [blame] | 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 | |
Chris Lattner | 5f4a682 | 2008-11-23 23:12:31 +0000 | [diff] [blame] | 16 | void h(); // expected-note {{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 | d658b56 | 2008-04-05 06:32:51 +0000 | [diff] [blame] | 21 | int t6(int x, g); // expected-warning {{type specifier missing, defaults to 'int'}} |
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 | |
Chris Lattner | 777f07b | 2008-12-17 07:32:46 +0000 | [diff] [blame] | 32 | // PR3208 |
| 33 | void t12(int) {} // expected-error{{parameter name omitted}} |
| 34 | |
Chris Lattner | 65ce04b | 2008-12-18 02:01:17 +0000 | [diff] [blame^] | 35 | // PR2790 |
| 36 | void t13() { |
| 37 | return 0; // expected-warning {{void function 't13' should not return a value}} |
| 38 | } |
| 39 | int t14() { |
| 40 | return; // expected-warning {{non-void function 't14' should return a value}} |
| 41 | } |