The current gawk compatibility harness records -M as unsupported and skips the corresponding bignum / MPFR-oriented gawk fixtures.
Current coverage gap:
src/it/java/io/jawk/GawkMaketestsParser.java treats -M as an unsupported flag today.
src/it/resources/gawk/skips.properties currently skips mpfrbigint, mpfrbigint2, mpfrcase, mpfrcase2, mpfrfield, mpfrnegzero, mpfrnegzero2, mpfrnonum, mpfrnr, mpfrrem, mpfrrndeval, mpfrstrtonum, and mpgforcenum because gawk's -M bignum mode is not implemented by Jawk.
- The vendored gawk manifest uses
-M / --bignum and switches to $@-mpfr.ok expected files when bignum mode is enabled.
We should add a real bignum mode to Jawk so those cases can run instead of being skipped.
Acceptance criteria:
- Jawk accepts both
-M and --bignum on the CLI.
- Arithmetic, conversion, comparison, and formatting semantics are compatible enough to cover the representative vendored fixtures above.
- The compatibility harness can unskip those
mpfr* cases and compare against the correct expected output variant.
- The implementation is covered by focused tests plus the existing gawk compatibility suite.
The current gawk compatibility harness records
-Mas unsupported and skips the corresponding bignum / MPFR-oriented gawk fixtures.Current coverage gap:
src/it/java/io/jawk/GawkMaketestsParser.javatreats-Mas an unsupported flag today.src/it/resources/gawk/skips.propertiescurrently skipsmpfrbigint,mpfrbigint2,mpfrcase,mpfrcase2,mpfrfield,mpfrnegzero,mpfrnegzero2,mpfrnonum,mpfrnr,mpfrrem,mpfrrndeval,mpfrstrtonum, andmpgforcenumbecausegawk's -M bignum mode is not implemented by Jawk.-M/--bignumand switches to$@-mpfr.okexpected files when bignum mode is enabled.We should add a real bignum mode to Jawk so those cases can run instead of being skipped.
Acceptance criteria:
-Mand--bignumon the CLI.mpfr*cases and compare against the correct expected output variant.