================
@@ -0,0 +1,18 @@
+// RUN: %clang_cc1 -finclude-default-header -triple 
dxil-pc-shadermodel6.6-library %s -fnative-half-type -emit-llvm-only 
-disable-llvm-passes -verify -verify-ignore-unexpected
----------------
joaosaffran wrote:

I've updated the tests, but here is the full error message, for such tests:

```hlsl
/workspace/llvm-project/build-debug/bin/clang -cc1 -internal-isystem 
/workspace/llvm-project/build-debug/lib/clang/20/include -nostdsysteminc 
-finclude-default-header -x hlsl -triple dxil-pc-shadermodel6.3-library 
/workspace/llvm-project/clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl 
-fnative-half-type -emit-llvm 
[12/12] Creating executable symlink bin/clang
/workspace/llvm-project/clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl:5:10: 
error: no matching function for call to 'asuint'
    5 |   return asuint(p0, p1);
      |          ^~~~~~
/workspace/llvm-project/build-debug/lib/clang/20/include/hlsl/hlsl_intrinsics.h:401:30:
 note: candidate function template not viable: requires single argument 'V', 
but 2 arguments were provided
  401 | _HLSL_INLINE vector<uint, N> asuint(vector<T, N> V) {
      |                              ^      ~~~~~~~~~~~~~~
/workspace/llvm-project/build-debug/lib/clang/20/include/hlsl/hlsl_intrinsics.h:405:41:
 note: candidate function template not viable: requires single argument 'F', 
but 2 arguments were provided
  405 | template <typename T> _HLSL_INLINE uint asuint(T F) {
      |                                         ^      ~~~
/workspace/llvm-project/build-debug/lib/clang/20/include/hlsl/hlsl_intrinsics.h:406:10:
 error: no matching function for call to 'bit_cast'
  406 |   return __detail::bit_cast<uint, T>(F);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/workspace/llvm-project/clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl:12:12: 
note: in instantiation of function template specialization 
'hlsl::asuint<double>' requested here
   12 |     return asuint(p1);
      |            ^
/workspace/llvm-project/build-debug/lib/clang/20/include/hlsl/hlsl_detail.h:27:1:
 note: candidate template ignored: could not match 'vector<double, N>' against 
'double'
   27 | bit_cast(vector<T, N> V) {
      | ^
/workspace/llvm-project/build-debug/lib/clang/20/include/hlsl/hlsl_detail.h:32:66:
 note: candidate template ignored: substitution failure [with U = uint, T = 
double]: no type named 'Type' in 'hlsl::__detail::enable_if<false, unsigned 
int>'
   32 | _HLSL_INLINE typename enable_if<sizeof(U) == sizeof(T), U>::Type 
bit_cast(T F) {
      |              ~~~~~~~~                                            ^
In file included from <built-in>:1:
In file included from 
/workspace/llvm-project/build-debug/lib/clang/20/include/hlsl.h:13:
/workspace/llvm-project/build-debug/lib/clang/20/include/hlsl/hlsl_intrinsics.h:406:10:
 error: no matching function for call to 'bit_cast'
  406 |   return __detail::bit_cast<uint, T>(F);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/workspace/llvm-project/clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl:20:12: 
note: in instantiation of function template specialization 'hlsl::asuint<half>' 
requested here
   20 |     return asuint(p1);
      |            ^
/workspace/llvm-project/build-debug/lib/clang/20/include/hlsl/hlsl_detail.h:27:1:
 note: candidate template ignored: could not match 'vector<half, N>' against 
'half'
   27 | bit_cast(vector<T, N> V) {
      | ^
/workspace/llvm-project/build-debug/lib/clang/20/include/hlsl/hlsl_detail.h:32:66:
 note: candidate template ignored: substitution failure [with U = uint, T = 
half]: no type named 'Type' in 'hlsl::__detail::enable_if<false, unsigned int>'
   32 | _HLSL_INLINE typename enable_if<sizeof(U) == sizeof(T), U>::Type 
bit_cast(T F) {
      |              ~~~~~~~~                                            ^
3 errors generated.
```

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

Reply via email to