Windows - yuki-kimoto/SPVM GitHub Wiki

MinGW

printf, sprinf, etc

Older versions of MinGW outputs 3 digits exponent format of the printf function, such as +003. This is not compliant to C11. +03 is compliant to C11.

https://sourceforge.net/p/mingw-w64/bugs/732/

Windows 2019 of Github Action have this old version MinGW.

When testing on Windows 2019, Upgrading MinGW is required.

choco upgrade mingw

SPVM supports MinGW v8.1.0+. Otherwise the tests prints warnings.

[Warning]1.23456e+008 is not C11 compliant. 1.23456e+08 is correct. MinGW version is maybe lower than v8.1.0
  at t/02_vm/lib/SPVM/TestCase/TypeConversion.spvm line 619
[Warning]1.23456e-008 is not C11 compliant. 1.23456e-08 is correct. MinGW version is maybe lower than v8.1.0
  at t/02_vm/lib/SPVM/TestCase/TypeConversion.spvm line 626
[Warning]1.23456e+008 is not C11 compliant. 1.23456e+08 is correct. MinGW version is maybe lower than v8.1.0
  at t/02_vm/lib/SPVM/TestCase/TypeConversion.spvm line 633
[Warning]1.23456e-008 is not C11 compliant. 1.23456e-08 is correct MinGW version is maybe lower than v8.1.0
  at t/02_vm/lib/SPVM/TestCase/TypeConversion.spvm line 640
[Warning]1.23456e+018 is not C11 compliant. 1.23456e+18 is correct. MinGW version is maybe lower than v8.1.0
  at t/02_vm/lib/SPVM/TestCase/TypeConversion.spvm line 647
[Warning]1.23456e-018 is not C11 compliant. 1.23456e-18 is correct. MinGW version is maybe lower than v8.1.0
  at t/02_vm/lib/SPVM/TestCase/TypeConversion.spvm line 654
[Warning]1.#INF is not C11 compliant. inf is correct. MinGW version is maybe lower than v8.1.0
  at t/02_vm/lib/SPVM/TestCase/TypeConversion.spvm line 661
[Warning]-1.#INF is not C11 compliant. -inf is correct. MinGW version is maybe lower than v8.1.0
  at t/02_vm/lib/SPVM/TestCase/TypeConversion.spvm line 672