================ @@ -16,6 +17,7 @@ ! RUN: %flang_fc1 -E -fno-reformat %S/Inputs/fixed-line-length-test.f 2>&1 | FileCheck %s --check-prefix=DEFAULTLENGTH ! RUN: not %flang_fc1 -E -fno-reformat -ffixed-line-length=-2 %S/Inputs/fixed-line-length-test.f 2>&1 | FileCheck %s --check-prefix=NEGATIVELENGTH ! RUN: not %flang_fc1 -E -fno-reformat -ffixed-line-length=3 %S/Inputs/fixed-line-length-test.f 2>&1 | FileCheck %s --check-prefix=INVALIDLENGTH +! RUN: not %flang_fc1 -E -fno-reformat -ffixed-line-length=4294967296 %S/Inputs/fixed-line-length-test.f 2>&1 | FileCheck %s --check-prefix=OVERFLOWLENGTH ---------------- eugeneepshteyn wrote:
(This comment was generated with the help of AI) 4294967296 is 2^32, so this test would still pass with a bound of `columns > UINT32_MAX`, which leaves 2147483648 through 4294967295 silently wrapping. Nothing checks that 2147483647 stays accepted either, so `columns >= INT_MAX` would also pass. Please pin both sides of the boundary: ```fortran ! RUN: not %flang_fc1 -E -fno-reformat -ffixed-line-length=2147483648 %S/Inputs/fixed-line-length-test.f 2>&1 | FileCheck %s --check-prefix=BOUNDARY ! RUN: %flang_fc1 -E -fno-reformat -ffixed-line-length=2147483647 %S/Inputs/fixed-line-length-test.f 2>&1 | FileCheck %s --check-prefix=UNLIMITEDLENGTH ! BOUNDARY: invalid value '2147483648' in 'ffixed-line-length=', value must be '2147483647' or smaller ``` The 2147483648 line needs its own prefix because `OVERFLOWLENGTH` spells out `4294967296`. Without this PR, `-ffixed-line-length=2147483648` exits 0 with empty preprocessed output, so the new line fails there. `2147483647` matches `UNLIMITEDLENGTH` with and without the PR. https://github.com/llvm/llvm-project/pull/229972 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
