Good catch!

On Saturday, 6 August 2022 at 17:27:30 UTC, Rumbu wrote:
[...]
  long double x = 0x1p-16383;

dmd -c test2.c
  test2.c(3): Error: number `0x1p-16383` is not representable


It is.

But not in the double type and `0x1p-16383` is a double not a long double.

[...]

Also the value needs a L suffix in clang to not be interpreted a classic double.

GCC is no exception and needs the `L` suffix, too. [1]

[1] https://en.cppreference.com/w/cpp/language/floating_literal

Reply via email to