[libcxx-commits] [libcxx] [libc++] Fix -Wgnu-include-next in stddef.h (PR #88214)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Tue Apr 9 16:49:59 PDT 2024


https://github.com/ldionne created https://github.com/llvm/llvm-project/pull/88214

As reported in #86843, we must have #pragma GCC system_header before we use #include_next, otherwise the compiler may not understand that we're in a system header and may issue a diagnostic for our usage of

>From 10c558ff84b20989f9b1c4c80e7a2096ad173cd7 Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Tue, 9 Apr 2024 19:48:20 -0400
Subject: [PATCH] [libc++] Fix -Wgnu-include-next in stddef.h

As reported in #86843, we must have #pragma GCC system_header before
we use #include_next, otherwise the compiler may not understand that
we're in a system header and may issue a diagnostic for our usage of
---
 libcxx/include/stddef.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libcxx/include/stddef.h b/libcxx/include/stddef.h
index 470b5408336c6d..1583e78e3739ba 100644
--- a/libcxx/include/stddef.h
+++ b/libcxx/include/stddef.h
@@ -26,6 +26,10 @@
 
 #include <__config>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+#  pragma GCC system_header
+#endif
+
 // Note: This include is outside of header guards because we sometimes get included multiple times
 //       with different defines and the underlying <stddef.h> will know how to deal with that.
 #include_next <stddef.h>
@@ -33,10 +37,6 @@
 #ifndef _LIBCPP_STDDEF_H
 #  define _LIBCPP_STDDEF_H
 
-#  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#    pragma GCC system_header
-#  endif
-
 #  ifdef __cplusplus
 typedef decltype(nullptr) nullptr_t;
 #  endif



More information about the libcxx-commits mailing list