To illustrate what I mean: Not every C99 system has to implement Annex
F, but those who claim to implement it have to implement it fully.
In practice, however, an implementation of C99 such as gcc or clang implements Appendix F correctly only when its object programs execute on a processor that implements IEEE 754 correctly.

I don't think that gcc would set __STDC_IEC_559__ in this case. If it does, it would be a compiler bug.