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

It can not happen in  non HLSL code. There is a bunch of earlier stuff already 
gating  the HLSL implicit cast. The getLangOpts().HLSL isn't necessary but thus 
far we always check ` if (getLangOpts().HLSL)` whenever doing a diagnostic 
warning or error that is specific to HLSL. Further if C++ ever did support an 
implicit cast then we would be exposing this warning to them. I think it makes 
sense to future proof and guard for HLSL for now and later future implementers 
can decide to add the truncation warning and generalize this diagnostic beyond 
HLSL.

https://github.com/llvm/llvm-project/pull/168915
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to