================ @@ -0,0 +1,27 @@ +// RUN: %clang_cc1 -finclude-default-header -triple dxil-pc-shadermodel6.6-library %s -verify -DTEST_FUNC=__builtin_hlsl_or +// RUN: %clang_cc1 -finclude-default-header -triple dxil-pc-shadermodel6.6-library %s -verify -DTEST_FUNC=__builtin_hlsl_and + + +bool test_too_few_arg(bool a) +{ + return TEST_FUNC(a); + // expected-error@-1 {{too few arguments to function call, expected 2, have 1}} +} + +bool test_too_many_arg(bool a) +{ + return TEST_FUNC(a, a, a); + // expected-error@-1 {{too many arguments to function call, expected 2, have 3}} +} + +bool2 test_mismatched_args(bool2 a, bool3 b) +{ + return TEST_FUNC(a, b); + // expected-error@-1 {{all arguments to}}{{.*}}{{must have the same type}} ---------------- V-FEXrt wrote:
This suggestion is almost certainly wrong way to type this out. Just trying to show the idea. Does the .* here capture `and`/`or` in the error message? If yes, match the possible valid cases with an or regex instead of allowing anything (another point for DAMP being more clear) ```suggestion // expected-error@-1 {{all arguments to}}{{and|or}}{{must have the same type}} ``` https://github.com/llvm/llvm-project/pull/128979 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits