X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=includes%2FStg.h;h=cae4a3a4aa9b984f5efba69e7d84a3c950f389d4;hp=81a034a0e311ed87bc28abe7b9611f1f86577ad6;hb=HEAD;hpb=0a30f73f8b8757f4cecb9e39804a35e49ea24a7f diff --git a/includes/Stg.h b/includes/Stg.h index 81a034a..cae4a3a 100644 --- a/includes/Stg.h +++ b/includes/Stg.h @@ -61,6 +61,27 @@ that depend on config info, such as __USE_FILE_OFFSET64 */ #include +// On Solaris, we don't get the INFINITY and NAN constants unless we +// #define _STDC_C99, and we can't do that unless we also use -std=c99, +// because _STDC_C99 causes the headers to use C99 syntax (e.g. restrict). +// We aren't ready for -std=c99 yet, so define INFINITY/NAN by hand using +// the gcc builtins. +#if !defined(INFINITY) +#if defined(__GNUC__) +#define INFINITY __builtin_inf() +#else +#error No definition for INFINITY +#endif +#endif + +#if !defined(NAN) +#if defined(__GNUC__) +#define NAN __builtin_nan("") +#else +#error No definition for NAN +#endif +#endif + /* ----------------------------------------------------------------------------- Useful definitions -------------------------------------------------------------------------- */