[clang] [HLSL][Matrix] Add support for Matrix element and trunc Casts (PR #168915)

Farzon Lotfi via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 2 10:11:06 PST 2025


================
@@ -12591,6 +12592,19 @@ void Sema::CheckImplicitConversion(Expr *E, QualType T, SourceLocation CC,
   if (auto VecTy = dyn_cast<VectorType>(Target))
     Target = VecTy->getElementType().getTypePtr();
 
+  if (isa<ConstantMatrixType>(Source)) {
+    if (!isa<ConstantMatrixType>(Target)) {
+      return DiagnoseImpCast(*this, E, T, CC, diag::warn_impcast_matrix_scalar);
+    } else if (getLangOpts().HLSL &&
----------------
farzonl wrote:

no because its is now 
```cpp
if (isa<ConstantMatrixType>(Source)) {
    if (Target->isScalarType())
```

https://github.com/llvm/llvm-project/pull/168915


More information about the cfe-commits mailing list