1 // RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fsyntax-only -Warray-parameter -verify %s
3 void f0(int *a
); // no warning
5 void f1(int a
[]); // expected-note {{previously declared as 'int[]' here}}
6 void f1(int a
[2]); // expected-warning {{argument 'a' of type 'int[2]' with mismatched bound}}
8 void f2(int a
[3]); // expected-note {{previously declared as 'int[3]' here}}
9 void f2(int a
[2]); // expected-warning {{argument 'a' of type 'int[2]' with mismatched bound}}
11 void f3(int a
[const 2]);
12 void f3(int a
[2]); // no warning
14 void f4(int a
[static 2]);
15 void f4(int a
[2]); // no warning
17 void f5(int a
[restrict
2]);
18 void f5(int a
[2]); // no warning
20 void f6(int a
[volatile 2]);
21 void f6(int a
[2]); // no warning
24 void f7(int a
[]); // no warning
26 void f8(int n
, int a
[*]); // expected-note {{previously declared as 'int[*]' here}}
27 void f8(int n
, int a
[n
]); // expected-warning {{argument 'a' of type 'int[n]' with mismatched bound}}
31 void f9(int a
[]); // expected-warning {{argument 'a' of type 'int[]' with mismatched bound}}
32 // expected-note@-2 {{previously declared as 'int[2]' here}}
33 void f9(int a
[2]) // expected-warning {{argument 'a' of type 'int[2]' with mismatched bound}}
34 // expected-note@-3 {{previously declared as 'int[]' here}}