From: Douglas Gregor Date: Tue, 5 Jul 2011 14:17:04 +0000 (+0000) Subject: Teach Clang's to also include MinGW's , which provides additional... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5254c2638d6822fe3e884d45eab7d00929bd451d;p=clang Teach Clang's to also include MinGW's , which provides additional system definitions, from Ruben Van Boxem git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134407 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Headers/float.h b/lib/Headers/float.h index 28fb882bd2..6eede0b6ba 100644 --- a/lib/Headers/float.h +++ b/lib/Headers/float.h @@ -24,6 +24,48 @@ #ifndef __FLOAT_H #define __FLOAT_H +/* If we're on MinGW, fall baack to the system's float.h, which might have + * additional definitions provided for Windows. + * For more details see http://msdn.microsoft.com/en-us/library/y0ybw9fy.aspx + */ +#if defined(__MINGW32__) && \ + defined(__has_include_next) && __has_include_next() +# include_next + +/* Undefine anything that we'll be redefining below. */ +# undef FLT_EVAL_METHOD +# undef FLT_ROUNDS +# undef FLT_RADIX +# undef FLT_MANT_DIG +# undef DBL_MANT_DIG +# undef LDBL_MANT_DIG +# undef DECIMAL_DIG +# undef FLT_DIG +# undef DBL_DIG +# undef LDBL_DIG +# undef FLT_MIN_EXP +# undef DBL_MIN_EXP +# undef LDBL_MIN_EXP +# undef FLT_MIN_10_EXP +# undef DBL_MIN_10_EXP +# undef LDBL_MIN_10_EXP +# undef FLT_MAX_EXP +# undef DBL_MAX_EXP +# undef LDBL_MAX_EXP +# undef FLT_MAX_10_EXP +# undef DBL_MAX_10_EXP +# undef LDBL_MAX_10_EXP +# undef FLT_MAX +# undef DBL_MAX +# undef LDBL_MAX +# undef FLT_EPSILON +# undef DBL_EPSILON +# undef LDBL_EPSILON +# undef FLT_MIN +# undef DBL_MIN +# undef LDBL_MIN +#endif + /* Characteristics of floating point types, C99 5.2.4.2.2 */ #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__