================
@@ -10685,6 +10724,7 @@ QualType Sema::CheckMultiplyDivideOperands(ExprResult
&LHS, ExprResult &RHS,
if (compType.isNull() || !compType->isArithmeticType())
return InvalidOperands(Loc, LHS, RHS);
if (IsDiv) {
+ DetectPrecisionLossInComplexDivision(*this, RHS.get()->getType(), Loc);
----------------
Maetveis wrote:
> How about if we have _Complex float / double? Or _Complex double / float?
> This should need a promotion, and it's not in the patch.
Why would that need a promotion besides the usual arithmetic conversions (i.e.
to double and not long double)? Precision loss from using the complex division
arithmetic formulas does not come into play here, because its elementwise.
Usual arithmetic conversions are already applied at this point:
https://github.com/llvm/llvm-project/pull/131477/files#diff-3c28567b5e0c77d68f174541a0b77f5a85d093f58b89cd3675ee04a550a44880R10718-R10719
https://github.com/llvm/llvm-project/pull/131477
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits