4 ms·
At least GCC is I believe fairly buggy in that regard since isnan is optimised out, thus you cannot check if say an incoming value read from the network is a Na
by jcelerier 5y ago
At least GCC is I believe fairly buggy in that regard since isnan is optimised out, thus you cannot check if say an incoming value read from the network is a NaN. There's some lengthy discussion about it on the big tracker iirc..
- jcelerier 5y agoI was misremembering, was thinking about this recent convo on LLVM mailinglist: https://lists.llvm.org/pipermail/llvm-dev/2021-September/152530.html https://lists.llvm.org/pipermail/llvm-dev/2021-September/152...
- usefulcat 5y agoI don't think you are misremembering; -ffast-math causes __builtin_isnan and __builtin_isinf to unconditionally return zero, for both gcc and clang: https://godbolt.org/z/1qjxvW3KK https://godbolt.org/z/1qjxvW3KK I found this out the hard way several years ago and still have my own implementations of these functions laying about in case I want to use -ffast-math.