[libcxx-commits] [libcxx] [libc++] stddef.h needs to #include_next for the new clang __need_ macros (PR #86252)

via libcxx-commits libcxx-commits at lists.llvm.org
Mon Mar 25 14:28:05 PDT 2024


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff 36713a47c8fea0732bcb798ffba4e7c5d22d19f3 3859239632527201ba747bf8f4358a97a7fc714f -- libcxx/test/libcxx/language.support/support.c.headers/support.c.headers.other/stddef.verify.cpp libcxx/test/libcxx/language.support/support.c.headers/support.c.headers.other/stddefneeds.verify.cpp libcxx/include/stddef.h
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/libcxx/include/stddef.h b/libcxx/include/stddef.h
index 7ace3fcb4c..0c9fedbc80 100644
--- a/libcxx/include/stddef.h
+++ b/libcxx/include/stddef.h
@@ -17,14 +17,14 @@
 
 #  if defined(__need_nullptr_t) && defined(__cplusplus)
 // stddef.h will undef __need_nullptr_t
-#  define __cxx_need_nullptr_t
-#endif
+#    define __cxx_need_nullptr_t
+#  endif
 
 #  include_next <stddef.h>
 
 #  ifdef __cxx_need_nullptr_t
 typedef decltype(nullptr) nullptr_t;
-#  undef __cxx_need_nullptr_t
+#    undef __cxx_need_nullptr_t
 #  endif
 
 #elif !defined(_LIBCPP_STDDEF_H) || (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1)
diff --git a/libcxx/test/libcxx/language.support/support.c.headers/support.c.headers.other/stddef.verify.cpp b/libcxx/test/libcxx/language.support/support.c.headers/support.c.headers.other/stddef.verify.cpp
index 26d53871a8..c80dd06f34 100644
--- a/libcxx/test/libcxx/language.support/support.c.headers/support.c.headers.other/stddef.verify.cpp
+++ b/libcxx/test/libcxx/language.support/support.c.headers/support.c.headers.other/stddef.verify.cpp
@@ -9,18 +9,22 @@
 // This is the same test as clang/test/Headers/stddef.c, but to test the
 // libc++ version of stddef.h interacts properly with the clang version.
 
-struct astruct { char member; };
+struct astruct {
+  char member;
+};
 
-ptrdiff_t p0; // expected-error{{unknown type name 'ptrdiff_t'}}
-size_t s0; // expected-error{{unknown type name 'size_t'}}
-rsize_t r0; // expected-error{{unknown type name 'rsize_t'}}
-wchar_t wc0; // wchar_t is a keyword in C++
-void *v0 = NULL; // expected-error{{use of undeclared identifier 'NULL'}}
-nullptr_t n0; // expected-error{{unknown type name 'nullptr_t'}}
+ptrdiff_t p0;                           // expected-error{{unknown type name 'ptrdiff_t'}}
+size_t s0;                              // expected-error{{unknown type name 'size_t'}}
+rsize_t r0;                             // expected-error{{unknown type name 'rsize_t'}}
+wchar_t wc0;                            // wchar_t is a keyword in C++
+void* v0 = NULL;                        // expected-error{{use of undeclared identifier 'NULL'}}
+nullptr_t n0;                           // expected-error{{unknown type name 'nullptr_t'}}
 static void f0(void) { unreachable(); } // expected-error{{undeclared identifier 'unreachable'}}
-max_align_t m0; // expected-error{{unknown type name 'max_align_t'}}
-size_t o0 = offsetof(struct astruct, member); // expected-error{{unknown type name 'size_t'}} expected-error{{expected expression}} expected-error{{use of undeclared identifier 'member'}}
-wint_t wi0; // expected-error{{unknown type name 'wint_t'}}
+max_align_t m0;                         // expected-error{{unknown type name 'max_align_t'}}
+size_t o0 = offsetof(
+    struct astruct,
+    member); // expected-error{{unknown type name 'size_t'}} expected-error{{expected expression}} expected-error{{use of undeclared identifier 'member'}}
+wint_t wi0;  // expected-error{{unknown type name 'wint_t'}}
 
 #include <stddef.h>
 
@@ -28,7 +32,7 @@ ptrdiff_t p1;
 size_t s1;
 rsize_t r1; // expected-error{{unknown type}} expected-note at __stddef_size_t.h:*{{'size_t' declared here}}
 wchar_t wc1;
-void *v1 = NULL;
+void* v1 = NULL;
 nullptr_t n1;
 // unreachable() is declared in <utility> in C++
 static void f1(void) { unreachable(); } // expected-error{{undeclared identifier}}
@@ -43,7 +47,7 @@ ptrdiff_t p2;
 size_t s2;
 rsize_t r2;
 wchar_t wc2;
-void *v2 = NULL;
+void* v2 = NULL;
 nullptr_t n2;
 static void f2(void) { unreachable(); } // expected-error{{undeclared identifier}}
 max_align_t m2;
diff --git a/libcxx/test/libcxx/language.support/support.c.headers/support.c.headers.other/stddefneeds.verify.cpp b/libcxx/test/libcxx/language.support/support.c.headers/support.c.headers.other/stddefneeds.verify.cpp
index b8a7aae737..6d17d562d5 100644
--- a/libcxx/test/libcxx/language.support/support.c.headers/support.c.headers.other/stddefneeds.verify.cpp
+++ b/libcxx/test/libcxx/language.support/support.c.headers/support.c.headers.other/stddefneeds.verify.cpp
@@ -9,31 +9,37 @@
 // This is the same test as clang/test/Headers/stddefneeds.c, but to test the
 // libc++ version of stddef.h interacts properly with the clang version.
 
-struct astruct { char member; };
-
-ptrdiff_t p0; // expected-error{{unknown type name 'ptrdiff_t'}}
-size_t s0; // expected-error{{unknown type name 'size_t'}}
-rsize_t r0; // expected-error{{unknown type name 'rsize_t'}}
-wchar_t wc0; // wchar_t is a keyword in C++
-void *v0 = NULL; // expected-error{{use of undeclared identifier 'NULL'}}
-nullptr_t n0; // expected-error{{unknown type name 'nullptr_t'}}
+struct astruct {
+  char member;
+};
+
+ptrdiff_t p0;                           // expected-error{{unknown type name 'ptrdiff_t'}}
+size_t s0;                              // expected-error{{unknown type name 'size_t'}}
+rsize_t r0;                             // expected-error{{unknown type name 'rsize_t'}}
+wchar_t wc0;                            // wchar_t is a keyword in C++
+void* v0 = NULL;                        // expected-error{{use of undeclared identifier 'NULL'}}
+nullptr_t n0;                           // expected-error{{unknown type name 'nullptr_t'}}
 static void f0(void) { unreachable(); } // expected-error{{undeclared identifier 'unreachable'}}
-max_align_t m0; // expected-error{{unknown type name 'max_align_t'}}
-size_t o0 = offsetof(struct astruct, member); // expected-error{{unknown type name 'size_t'}} expected-error{{expected expression}} expected-error{{use of undeclared identifier 'member'}}
-wint_t wi0; // expected-error{{unknown type name 'wint_t'}}
+max_align_t m0;                         // expected-error{{unknown type name 'max_align_t'}}
+size_t o0 = offsetof(
+    struct astruct,
+    member); // expected-error{{unknown type name 'size_t'}} expected-error{{expected expression}} expected-error{{use of undeclared identifier 'member'}}
+wint_t wi0;  // expected-error{{unknown type name 'wint_t'}}
 
 #define __need_ptrdiff_t
 #include <stddef.h>
 
 ptrdiff_t p1;
-size_t s1; // expected-error{{unknown type}}
+size_t s1;  // expected-error{{unknown type}}
 rsize_t r1; // expected-error{{unknown type}}
 wchar_t wc1;
-void *v1 = NULL; // expected-error{{undeclared identifier}}
-nullptr_t n1; // expected-error{{unknown type}}
+void* v1 = NULL;                        // expected-error{{undeclared identifier}}
+nullptr_t n1;                           // expected-error{{unknown type}}
 static void f1(void) { unreachable(); } // expected-error{{undeclared identifier}}
-max_align_t m1; // expected-error{{unknown type}}
-size_t o1 = offsetof(struct astruct, member); // expected-error{{unknown type}} expected-error{{expected expression}} expected-error{{undeclared identifier}}
+max_align_t m1;                         // expected-error{{unknown type}}
+size_t o1 = offsetof(
+    struct astruct,
+    member); // expected-error{{unknown type}} expected-error{{expected expression}} expected-error{{undeclared identifier}}
 wint_t wi1; // expected-error{{unknown type}}
 
 // The "must be declared before used" errors are only emitted the first time a
@@ -50,12 +56,13 @@ ptrdiff_t p2;
 size_t s2;
 rsize_t r2; // expected-error{{unknown type}}
 wchar_t wc2;
-void *v2 = NULL; // expected-error{{undeclared identifier}}
-nullptr_t n2; // expected-error{{unknown type}}
+void* v2 = NULL;                        // expected-error{{undeclared identifier}}
+nullptr_t n2;                           // expected-error{{unknown type}}
 static void f2(void) { unreachable(); } // expected-error{{undeclared identifier}}
-max_align_t m2; // expected-error{{unknown type}}
-size_t o2 = offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
-wint_t wi2; // expected-error{{unknown type}}
+max_align_t m2;                         // expected-error{{unknown type}}
+size_t o2 =
+    offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
+wint_t wi2;                           // expected-error{{unknown type}}
 
 #define __need_rsize_t
 #include <stddef.h>
@@ -64,12 +71,13 @@ ptrdiff_t p3;
 size_t s3;
 rsize_t r3;
 wchar_t wc3;
-void *v3 = NULL; // expected-error{{undeclared identifier}}
-nullptr_t n3; // expected-error{{unknown type}}
+void* v3 = NULL;                        // expected-error{{undeclared identifier}}
+nullptr_t n3;                           // expected-error{{unknown type}}
 static void f3(void) { unreachable(); } // expected-error{{undeclared identifier}}
-max_align_t m3; // expected-error{{unknown type}}
-size_t o3 = offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
-wint_t wi3; // expected-error{{unknown type}}
+max_align_t m3;                         // expected-error{{unknown type}}
+size_t o3 =
+    offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
+wint_t wi3;                           // expected-error{{unknown type}}
 
 #define __need_wchar_t
 #include <stddef.h>
@@ -78,12 +86,13 @@ ptrdiff_t p4;
 size_t s4;
 rsize_t r4;
 wchar_t wc4;
-void *v4 = NULL; // expected-error{{undeclared identifier}}
-nullptr_t n4; // expected-error{{unknown type}}
+void* v4 = NULL;                        // expected-error{{undeclared identifier}}
+nullptr_t n4;                           // expected-error{{unknown type}}
 static void f4(void) { unreachable(); } // expected-error{{undeclared identifier}}
-max_align_t m4; // expected-error{{unknown type}}
-size_t o4 = offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
-wint_t wi4; // expected-error{{unknown type}}
+max_align_t m4;                         // expected-error{{unknown type}}
+size_t o4 =
+    offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
+wint_t wi4;                           // expected-error{{unknown type}}
 
 #define __need_NULL
 #include <stddef.h>
@@ -92,12 +101,13 @@ ptrdiff_t p5;
 size_t s5;
 rsize_t r5;
 wchar_t wc5;
-void *v5 = NULL;
-nullptr_t n5; // expected-error{{unknown type}}
+void* v5 = NULL;
+nullptr_t n5;                           // expected-error{{unknown type}}
 static void f5(void) { unreachable(); } // expected-error{{undeclared identifier}}
-max_align_t m5; // expected-error{{unknown type}}
-size_t o5 = offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
-wint_t wi5; // expected-error{{unknown type}}
+max_align_t m5;                         // expected-error{{unknown type}}
+size_t o5 =
+    offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
+wint_t wi5;                           // expected-error{{unknown type}}
 
 // nullptr_t doesn't get declared before C23 because its definition
 // depends on nullptr.
@@ -108,12 +118,13 @@ ptrdiff_t p6;
 size_t s6;
 rsize_t r6;
 wchar_t wc6;
-void *v6 = NULL;
+void* v6 = NULL;
 nullptr_t n6;
 static void f6(void) { unreachable(); } // expected-error{{undeclared identifier}}
-max_align_t m6; // expected-error{{unknown type}}
-size_t o6 = offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
-wint_t wi6; // expected-error{{unknown type}}
+max_align_t m6;                         // expected-error{{unknown type}}
+size_t o6 =
+    offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
+wint_t wi6;                           // expected-error{{unknown type}}
 
 #define __need_unreachable
 #include <stddef.h>
@@ -122,12 +133,13 @@ ptrdiff_t p7;
 size_t s7;
 rsize_t r7;
 wchar_t wc7;
-void *v7 = NULL;
+void* v7 = NULL;
 nullptr_t n7;
 static void f7(void) { unreachable(); }
 max_align_t m7; // expected-error{{unknown type}}
-size_t o7 = offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
-wint_t wi7; // expected-error{{unknown type}}
+size_t o7 =
+    offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
+wint_t wi7;                           // expected-error{{unknown type}}
 
 #define __need_max_align_t
 #include <stddef.h>
@@ -136,12 +148,13 @@ ptrdiff_t p8;
 size_t s8;
 rsize_t r8;
 wchar_t wc8;
-void *v8 = NULL;
+void* v8 = NULL;
 nullptr_t n8;
 static void f8(void) { unreachable(); }
 max_align_t m8;
-size_t o8 = offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
-wint_t wi8; // expected-error{{unknown type}}
+size_t o8 =
+    offsetof(struct astruct, member); // expected-error{{expected expression}} expected-error{{undeclared identifier}}
+wint_t wi8;                           // expected-error{{unknown type}}
 
 #define __need_offsetof
 #include <stddef.h>
@@ -152,7 +165,7 @@ rsize_t r9;
 nullptr_t n9;
 static void f9(void) { unreachable(); }
 wchar_t wc9;
-void *v9 = NULL;
+void* v9 = NULL;
 max_align_t m9;
 size_t o9 = offsetof(struct astruct, member);
 wint_t wi9; // expected-error{{unknown type}}
@@ -164,7 +177,7 @@ ptrdiff_t p10;
 size_t s10;
 rsize_t r10;
 wchar_t wc10;
-void *v10 = NULL;
+void* v10 = NULL;
 nullptr_t n10;
 static void f10(void) { unreachable(); }
 max_align_t m10;

``````````

</details>


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


More information about the libcxx-commits mailing list