1 // RUN: %clang_cc1 -finclude-default-header -triple dxil-pc-shadermodel6.6-library %s -emit-llvm-only -disable-llvm-passes -verify
3 float test_too_few_arg() {
4 return __builtin_hlsl_elementwise_degrees();
5 // expected-error@-1 {{too few arguments to function call, expected 1, have 0}}
8 float2 test_too_many_arg(float2 p0) {
9 return __builtin_hlsl_elementwise_degrees(p0, p0);
10 // expected-error@-1 {{too many arguments to function call, expected 1, have 2}}
13 float builtin_bool_to_float_type_promotion(bool p1) {
14 return __builtin_hlsl_elementwise_degrees(p1);
15 // expected-error@-1 {{passing 'bool' to parameter of incompatible type 'float'}}
18 float builtin_degrees_int_to_float_promotion(int p1) {
19 return __builtin_hlsl_elementwise_degrees(p1);
20 // expected-error@-1 {{passing 'int' to parameter of incompatible type 'float'}}
23 float2 builtin_degrees_int2_to_float2_promotion(int2 p1) {
24 return __builtin_hlsl_elementwise_degrees(p1);
25 // expected-error@-1 {{passing 'int2' (aka 'vector<int, 2>') to parameter of incompatible type '__attribute__((__vector_size__(2 * sizeof(float)))) float' (vector of 2 'float' values)}}