================
@@ -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

Reply via email to