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

Reply via email to