Mingw32 std :: isnan con -ffast-math

Estoy compilando el siguiente código con el-ffast-math opción

#include <limits>
#include <cmath>
#include <iostream>

int main() {
    std::cout << std::isnan(std::numeric_limits<double>::quiet_NaN() ) << std::endl;
}

Estoy obteniendo 0 como salida. ¿Cómo puede mi código decir si un número de coma flotante es NaN cuando se compila con-ffast-math?

Nota: En Linux, std :: isnan funciona incluso con -ffast-math.

Respuestas a la pregunta(2)

Su respuesta a la pregunta