Cesium icon indicating copy to clipboard operation
Cesium copied to clipboard

Investigate what's up with `printf("%lu", -1)`

Open ForNeVeR opened this issue 2 months ago • 0 comments

We've used to have a following test: https://github.com/ForNeVeR/Cesium/blob/67d2c81c8d06db59f8448f160a9cf63f8a607b75/Cesium.IntegrationTests/stdlib/printf.c#L24-L26

It was, to my surprise, portable across all the platforms: on Windows, Linux and macOS agents we run on, it was printing 4294967295 in all compilers Cesium, GCC and MSVC.

But this is wrong!

On LP64 platforms (Linux and macOS) it ought to be printing 18446744073709551615.

And it started to do so, but only on macOS and only since 2024-04-28 (perhaps after macos-latest has migrated to AARCH64?). On Linux, it still emulates LLP64 it seems?

And Cesium should always be printing this number, since it is an LP64 compiler (this I've fixed in #585).

We should:

  • figure out what the hell happens and why does our Linux agent still emulate LLP64 (is it 32-bit? would be crazy),
  • fix the test portability (see TODO[#586]) and re-enable the test.

ForNeVeR avatar Apr 30 '24 21:04 ForNeVeR