warn-char-subscripts.c revision 76e2b710a92bceb9575a81db181109664946986e
1// RUN: clang-cc -Wchar-subscripts -fsyntax-only -verify %s
2
3void t1() {
4  int array[1] = { 0 };
5  char subscript = 0;
6  int val = array[subscript]; // expected-warning{{array subscript is of type 'char'}}
7}
8
9void t2() {
10  int array[1] = { 0 };
11  char subscript = 0;
12  int val = subscript[array]; // expected-warning{{array subscript is of type 'char'}}
13}
14
15void t3() {
16  int *array = 0;
17  char subscript = 0;
18  int val = array[subscript]; // expected-warning{{array subscript is of type 'char'}}
19}
20
21void t4() {
22  int *array = 0;
23  char subscript = 0;
24  int val = subscript[array]; // expected-warning{{array subscript is of type 'char'}}
25}
26
27char returnsChar();
28void t5() {
29  int *array = 0;
30  int val = array[returnsChar()]; // expected-warning{{array subscript is of type 'char'}}
31}
32