[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / Sema / array-parameter.c
blob2aa9ab0cdc17c7efc32adf8a0b0982e5fd940d83
1 // RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fsyntax-only -Warray-parameter -verify %s
2 void f0(int a[]);
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
23 void f7(int a[*]);
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}}
29 void f9(int *a);
30 void f9(int a[2]);
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}}