42 lines · plain
1// RUN: %clang_cc1 -finclude-default-header -triple dxil-pc-shadermodel6.6-library %s -fnative-half-type -emit-llvm-only -disable-llvm-passes -verify2 3export double2 double_vec_mod_by_int(double2 p1) {4 return p1 % 2;5 // expected-error@-1 {{invalid operands to binary expression ('double2' (aka 'vector<double, 2>') and 'int')}}6}7 8export double2 double_vec_mod_by_float(double2 p1) {9 return p1 % 2.0;10 // expected-error@-1 {{invalid operands to binary expression ('double2' (aka 'vector<double, 2>') and 'float')}}11}12 13export double2 double_vec_mod_by_double(double2 p1, double p2 ) {14 return p1 % p2;15 // expected-error@-1 {{invalid operands to binary expression ('double2' (aka 'vector<double, 2>') and 'double')}}16}17 18export double2 double_vec_mod_by_double_vec(double2 p1, double2 p2 ) {19 return p1 % p2;20 // expected-error@-1 {{invalid operands to binary expression ('double2' (aka 'vector<double, 2>') and 'double2')}}21}22 23export double double_mod_by_int(double p1) {24 return p1 % 2;25 // expected-error@-1 {{invalid operands to binary expression ('double' and 'int')}}26}27 28export double double_mod_by_float(double p1) {29 return p1 % 2.0;30 // expected-error@-1 {{invalid operands to binary expression ('double' and 'float')}}31}32 33export double double_mod_by_double(double p1, double p2 ) {34 return p1 % p2;35 // expected-error@-1 {{invalid operands to binary expression ('double' and 'double')}}36}37 38export double double_mod_by_double_vec(double p1, double2 p2 ) {39 return p1 % p2;40 // expected-error@-1 {{invalid operands to binary expression ('double' and 'double2' (aka 'vector<double, 2>'))}}41}42