[clang] [clang][modules] giving the __stddef_ headers their own modules can cause redeclaration errors with -fbuiltin-headers-in-system-modules (PR #84127)

Ian Anderson via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 11 20:49:17 PDT 2024


================
@@ -7,6 +7,11 @@
  *===-----------------------------------------------------------------------===
  */
 
-#ifndef offsetof
+/*
+ * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
+ * and needs to behave as if it was textual.
+ */
+#if !defined(offsetof) ||                                                      \
+    (__has_feature(modules) && !__building_module(_Builtin_stddef))
----------------
ian-twilightcoder wrote:

This header shouldn't be seen at all, and `_Builtin_stddef.offset` should instead be imported/made visible

https://github.com/llvm/llvm-project/pull/84127


More information about the cfe-commits mailing list