================
@@ -2268,17 +2268,15 @@ static bool IsStandardConversion(Sema &S, Expr* From, 
QualType ToType,
     // handling here.
     if (ToType->isArrayParameterType()) {
       FromType = S.Context.getArrayParameterType(FromType);
-      SCS.First = ICK_HLSL_Array_RValue;
     } else if (FromType->isArrayParameterType()) {
       const ArrayParameterType *APT = cast<ArrayParameterType>(FromType);
       FromType = APT->getConstantArrayType(S.Context);
-      SCS.First = ICK_HLSL_Array_RValue;
-    } else {
-      SCS.First = ICK_Identity;
     }
 
-    if (S.Context.getCanonicalType(FromType) !=
-        S.Context.getCanonicalType(ToType))
+    SCS.First = ICK_HLSL_Array_RValue;
+
----------------
inbelic wrote:

```suggestion

    // Compare unqualified types because irrelevant qualifiers can cause 
assignment
    // to fail. Eg: when casting from a cbuffer value, it will have a unique 
address space
    // that shouldn't matter for casting
```

Or something or other, just to make the why we are dropped the qualifiers more 
visible. From 
https://github.com/llvm/llvm-project/issues/133767#issuecomment-2773224779

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

Reply via email to