aboutsummaryrefslogtreecommitdiff
path: root/gcc/ginclude/stddef.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ginclude/stddef.h')
-rw-r--r--gcc/ginclude/stddef.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
index 0d53103..bacf24d 100644
--- a/gcc/ginclude/stddef.h
+++ b/gcc/ginclude/stddef.h
@@ -89,6 +89,21 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#undef _PTRDIFF_T_
#endif
+/* When modular code is enabled with macOS SDKs from version 15, the
+ include guards are set in the includers of this code, rather than as
+ part of it. This means the we must unset them or the intended code
+ here will be bypassed (resulting in undefined values). */
+#if defined (__APPLE__)
+# if defined(__has_feature) && __has_feature(modules)
+# if defined (__need_ptrdiff_t)
+# undef __PTRDIFF_T
+# endif
+# if defined (__need_size_t)
+# undef __SIZE_T
+# endif
+# endif
+#endif
+
/* On VxWorks, <type/vxTypesBase.h> may have defined macros like
_TYPE_size_t which will typedef size_t. fixincludes patched the
vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is