[flang-commits] [flang] [flang][runtime] Fix integer overflow check in FORMAT (PR #79368)

via flang-commits flang-commits at lists.llvm.org
Wed Jan 24 16:10:44 PST 2024


================
@@ -214,15 +215,13 @@ template <typename CHAR> void FormatValidator<CHAR>::NextToken() {
   case '7':
   case '8':
   case '9': {
-    int64_t lastValue;
     const CHAR *lastCursor;
     integerValue_ = 0;
     bool overflow{false};
     do {
-      lastValue = integerValue_;
       lastCursor = cursor_;
       integerValue_ = 10 * integerValue_ + c - '0';
-      if (lastValue > integerValue_) {
+      if (integerValue_ > std::numeric_limits<int>::max()) {
----------------
vdonaldson wrote:

Why restrict values to 32 bits? Don't we typically accommodate 64 values by "default"?

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


More information about the flang-commits mailing list