-
I believe
__STDC_IEC_559__
relies on some library features and can’t be defined solely by the compiler. See this post for some information. This is not uncommon for C — the compiler and the C library must sometimes cooperate in order to implement the entire standard. -
What you’re asking depends on the compiler. I think you would have to have special knowledge of the compiler in order to decide this. In the specific case of GCC, it defines a macro to tell you. Search this node of the manual for
__GCC_IEC_559
. -
Well… I don’t know the answer to this one :-). The original post seems to indicate that, yes, GCC might define
__GCC_IEC_559
if it intends to implement IEEE 754, even if it does not actually do so.