https://github.com/ian-twilightcoder created https://github.com/llvm/llvm-project/pull/137432
float.h doesn't define anything in Apple's SDKs that the clang float.h doesn't undefine, so all the include_next does is add an unnecessary module dependency. Skip the include_next and completely shadow the SDK header. >From 398d6e7ca77c68de61f83c013e973a52fbfef034 Mon Sep 17 00:00:00 2001 From: Ian Anderson <i...@apple.com> Date: Fri, 25 Apr 2025 19:15:19 -0700 Subject: [PATCH] [clang][headers][Apple] Don't include_next float.h to avoid an unnecessary module dependency float.h doesn't define anything in Apple's SDKs that the clang float.h doesn't undefine, so all the include_next does is add an unnecessary module dependency. Skip the include_next and completely shadow the SDK header. --- clang/lib/Headers/float.h | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/clang/lib/Headers/float.h b/clang/lib/Headers/float.h index e5c439a9d47ae..84551af473b28 100644 --- a/clang/lib/Headers/float.h +++ b/clang/lib/Headers/float.h @@ -18,21 +18,12 @@ * additional definitions provided for Windows. * For more details see http://msdn.microsoft.com/en-us/library/y0ybw9fy.aspx * - * Also fall back on Darwin and AIX to allow additional definitions and + * Also fall back on AIX to allow additional definitions and * implementation-defined values. */ -#if (defined(__APPLE__) || defined(__MINGW32__) || defined(_MSC_VER) || \ - defined(_AIX)) && \ +#if (defined(__MINGW32__) || defined(_MSC_VER) || defined(_AIX)) && \ __STDC_HOSTED__ && __has_include_next(<float.h>) -/* Prior to Apple's 10.7 SDK, float.h SDK header used to apply an extra level - * of #include_next<float.h> to keep Metrowerks compilers happy. Avoid this - * extra indirection. - */ -#ifdef __APPLE__ -#define _FLOAT_H_ -#endif - # include_next <float.h> /* Undefine anything that we'll be redefining below. */ _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits