Skip to content

Commit 103cdd4

Browse files
committed
[Matrix] Add test showing unintended implicit sign conversion warning.
1 parent b7863d1 commit 103cdd4

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// RUN: %clang_cc1 -triple arm64-apple-macosx -std=c++11 -fenable-matrix -fsyntax-only -verify -Wsign-conversion %s
2+
3+
template <typename T, int R, int C> using m __attribute__((__matrix_type__(R,C))) = T;
4+
5+
// FIXME: should not warn here.
6+
double index1(m<double,3,1> X, int i) { return X[i][0]; }
7+
// expected-warning@-1 {{implicit conversion changes signedness: 'int' to 'unsigned long'}}
8+
9+
double index2(m<double,3,1> X, unsigned i) { return X[i][0]; }
10+
11+
double index3(m<double,3,1> X, char i) { return X[i][0]; }
12+
// expected-warning@-1 {{implicit conversion changes signedness: 'char' to 'unsigned long'}}
13+
14+
double index4(m<double,3,1> X, int i) { return X[0][i]; }
15+
// expected-warning@-1 {{implicit conversion changes signedness: 'int' to 'unsigned long'}}
16+
17+
double index5(m<double,3,1> X, unsigned i) { return X[0][i]; }
18+
19+
double index6(m<double,3,1> X, char i) { return X[0][i]; }
20+
// expected-warning@-1 {{implicit conversion changes signedness: 'char' to 'unsigned long'}}

0 commit comments

Comments
 (0)