Skip to content

Commit 17eb05d

Browse files
authored
Revert "[C++] Expose nullptr_t from stddef.h in C++ mode" (#154767)
Reverts #154599 It seems to be causing staging failures: https://lab.llvm.org/staging/#/builders/192/builds/1329 https://lab.llvm.org/staging/#/builders/192/builds/1330
1 parent 3d41197 commit 17eb05d

File tree

3 files changed

+2
-28
lines changed

3 files changed

+2
-28
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,6 @@ Bug Fixes in This Version
229229
cast chain. (#GH149967).
230230
- Fixed a crash with incompatible pointer to integer conversions in designated
231231
initializers involving string literals. (#GH154046)
232-
- Clang's ``<stddef.h>`` now properly declares ``nullptr_t`` in C++ mode. (#GH154577).
233232

234233
Bug Fixes to Compiler Builtins
235234
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

clang/lib/Headers/__stddef_nullptr_t.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
#define _NULLPTR_T
1717

1818
#ifdef __cplusplus
19-
#if __cplusplus >= 201103L || \
20-
(defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED))
19+
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
2120
namespace std {
2221
typedef decltype(nullptr) nullptr_t;
2322
}

clang/test/Headers/stddefneeds.cpp

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
// RUN: %clang_cc1 -fsyntax-only -triple x86_64-apple-macosx10.9.0 -verify -Wsentinel -std=c++11 %s
2-
// RUN: %clang_cc1 -fsyntax-only -triple x86_64-apple-macosx10.9.0 -verify=old,expected -Wsentinel -std=c++98 %s
32

43
ptrdiff_t p0; // expected-error{{unknown}}
54
size_t s0; // expected-error{{unknown}}
65
void* v0 = NULL; // expected-error{{undeclared}}
76
wint_t w0; // expected-error{{unknown}}
87
max_align_t m0; // expected-error{{unknown}}
9-
nullptr_t n0; // expected-error {{unknown}}
108

119
#define __need_ptrdiff_t
1210
#include <stddef.h>
@@ -16,7 +14,6 @@ size_t s1; // expected-error{{unknown}}
1614
void* v1 = NULL; // expected-error{{undeclared}}
1715
wint_t w1; // expected-error{{unknown}}
1816
max_align_t m1; // expected-error{{unknown}}
19-
nullptr_t n1; // expected-error{{unknown}}
2017

2118
#define __need_size_t
2219
#include <stddef.h>
@@ -26,16 +23,6 @@ size_t s2;
2623
void* v2 = NULL; // expected-error{{undeclared}}
2724
wint_t w2; // expected-error{{unknown}}
2825
max_align_t m2; // expected-error{{unknown}}
29-
nullptr_t n2; // expected-error{{unknown}}
30-
31-
#define __need_nullptr_t
32-
#include <stddef.h>
33-
ptrdiff_t p6;
34-
size_t s6;
35-
void* v6 = NULL; // expected-error{{undeclared}}
36-
wint_t w6; // expected-error{{unknown}}
37-
max_align_t m6; // expected-error{{unknown}}
38-
nullptr_t n6; // old-error{{unknown}}
3926

4027
#define __need_NULL
4128
#include <stddef.h>
@@ -45,16 +32,6 @@ size_t s3;
4532
void* v3 = NULL;
4633
wint_t w3; // expected-error{{unknown}}
4734
max_align_t m3; // expected-error{{unknown}}
48-
nullptr_t n3; // old-error{{unknown}}
49-
50-
#define __need_max_align_t
51-
#include <stddef.h>
52-
ptrdiff_t p7;
53-
size_t s7;
54-
void* v7 = NULL;
55-
wint_t w7; // expected-error{{unknown}}
56-
max_align_t m7;
57-
nullptr_t n7; // old-error{{unknown}}
5835

5936
// Shouldn't bring in wint_t by default:
6037
#include <stddef.h>
@@ -64,7 +41,6 @@ size_t s4;
6441
void* v4 = NULL;
6542
wint_t w4; // expected-error{{unknown}}
6643
max_align_t m4;
67-
nullptr_t n4; // old-error{{unknown}}
6844

6945
#define __need_wint_t
7046
#include <stddef.h>
@@ -74,7 +50,7 @@ size_t s5;
7450
void* v5 = NULL;
7551
wint_t w5;
7652
max_align_t m5;
77-
nullptr_t n5; // old-error{{unknown}}
53+
7854

7955
// linux/stddef.h does something like this for cpp files:
8056
#undef NULL

0 commit comments

Comments
 (0)