[flang] Fixing Windows build (take 3)
Add explicit casts to replace implicit conversions and
recently deleted assignment operators from uint128.h
used in runtime/edit-output.cpp.
GitOrigin-RevId: c5a5517be45af21c6db5a40880a75f68cd76cc7e
diff --git a/runtime/edit-output.cpp b/runtime/edit-output.cpp
index c5d5d6c..f599cb0 100644
--- a/runtime/edit-output.cpp
+++ b/runtime/edit-output.cpp
@@ -25,14 +25,14 @@
case 'G':
case 'I':
if (isNegative) {
- un = -n;
+ un = -un;
}
if (isNegative || (edit.modes.editingFlags & signPlus)) {
signChars = 1; // '-' or '+'
}
while (un > 0) {
auto quotient{un / 10u};
- *--p = '0' + static_cast<int>(un - 10u * quotient);
+ *--p = '0' + static_cast<int>(un - Unsigned{10} * quotient);
un = quotient;
}
break;
@@ -398,7 +398,8 @@
case 'O':
case 'Z':
return EditIntegerOutput<KIND>(io_, edit,
- decimal::BinaryFloatingPointNumber<binaryPrecision>{x_}.raw());
+ static_cast<common::HostSignedIntType<8 * KIND>>(
+ decimal::BinaryFloatingPointNumber<binaryPrecision>{x_}.raw()));
case 'G':
return Edit(EditForGOutput(edit));
default: