================
@@ -0,0 +1,52 @@
+// RUN: %clang_cc1 -finclude-default-header -triple 
dxil-pc-shadermodel6.2-library %s -fnative-half-type -verify
+
+uint16_t test_asuint16_less_argument()
+{
+    return asuint16();
+  // expected-error@-1 {{no matching function for call to 'asuint16'}}
+  // expected-note@hlsl/hlsl_intrinsics.h:* {{candidate function template not 
viable: requires single argument 'V', but no arguments were provided}}
+  // expected-note@hlsl/hlsl_intrinsics.h:* {{candidate function template not 
viable: requires single argument 'F', but no arguments were provided}}
+
+}
+
+int16_t4 test_asuint16_too_many_arg(uint16_t p0, uint16_t p1)
+{
+    return asuint16(p0, p1);
+  // expected-error@-1 {{no matching function for call to 'asuint16'}}
+  // expected-note@hlsl/hlsl_intrinsics.h:* {{candidate function template not 
viable: requires single argument 'V', but 2 arguments were provided}}
+  // expected-note@hlsl/hlsl_intrinsics.h:* {{candidate function template not 
viable: requires single argument 'F', but 2 arguments were provided}}
+
+}
+
+int16_t test_asuint16_int(int p1)
+{
+    return asuint16(p1);
+  // expected-error@-1 {{no matching function for call to 'asuint16'}}
+  // expected-note@hlsl/hlsl_intrinsics.h:* {{candidate template ignored: 
could not match 'vector<T, N>' against 'int'}}
+  // expected-note@hlsl/hlsl_intrinsics.h:* {{candidate template ignored: 
substitution failure [with T = int]: no type named 'Type'}}
----------------
farzonl wrote:

Since this is a language overload resolution rule and not one we defined in 
sema there is not much we can do in this PR. Atleast nothing that woudn't be 
considered scope creep. Worth talk with Chris about though and see if there is 
something we can change.

https://github.com/llvm/llvm-project/pull/132315
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to