xref: /llvm-project/clang/test/SemaHLSL/ArrayAssignable_errors.hlsl (revision d8df118545bf0aff3b03d923ca1aa205e7e74f43)
1*d8df1185SSarah Spall// RUN: %clang_cc1 -finclude-default-header -triple dxil-pc-shadermodel6.6-library %s -verify
2*d8df1185SSarah Spall
3*d8df1185SSarah Spallvoid test_wrong_size1() {
4*d8df1185SSarah Spall  int Arr[2] = {0, 1};
5*d8df1185SSarah Spall  int Arr2[3] = {1, 2, 0};
6*d8df1185SSarah Spall  Arr = Arr2;
7*d8df1185SSarah Spall  // expected-error@-1 {{assigning to 'int[2]' from incompatible type 'int[3]'}}
8*d8df1185SSarah Spall}
9*d8df1185SSarah Spall
10*d8df1185SSarah Spallvoid test_wrong_size2() {
11*d8df1185SSarah Spall  int Arr[2] = {0, 1};
12*d8df1185SSarah Spall  int Arr2[3] = {1, 2, 0};
13*d8df1185SSarah Spall  Arr2 = Arr;
14*d8df1185SSarah Spall  // expected-error@-1 {{assigning to 'int[3]' from incompatible type 'int[2]'}}
15*d8df1185SSarah Spall}
16*d8df1185SSarah Spall
17*d8df1185SSarah Spallvoid test_wrong_size3() {
18*d8df1185SSarah Spall  int Arr[2][2] = {{0, 1}, {2, 3}};
19*d8df1185SSarah Spall  int Arr2[2] = {4, 5};
20*d8df1185SSarah Spall  Arr = Arr2;
21*d8df1185SSarah Spall  // expected-error@-1 {{assigning to 'int[2][2]' from incompatible type 'int[2]'}}
22*d8df1185SSarah Spall}
23*d8df1185SSarah Spall
24*d8df1185SSarah Spallvoid test_wrong_size4() {
25*d8df1185SSarah Spall  int Arr[2][2] = {{0, 1}, {2, 3}};
26*d8df1185SSarah Spall  int Arr2[2] = {4, 5};
27*d8df1185SSarah Spall  Arr2 = Arr;
28*d8df1185SSarah Spall  // expected-error@-1 {{assigning to 'int[2]' from incompatible type 'int[2][2]'}}
29*d8df1185SSarah Spall}
30