[clang] [clang] Add __nullptr as a keyword to C (PR #123119)

via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 15 18:06:42 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Aidan Goldfarb (AidanGoldfarb)

<details>
<summary>Changes</summary>

This PR resolves #<!-- -->121503. 

I was not sure whether I added my test in the correct place, and if so, if that deprecates [nullptr-98.cpp](https://github.com/llvm/llvm-project/blob/main/clang/test/SemaCXX/nullptr-98.cpp)

---
Full diff: https://github.com/llvm/llvm-project/pull/123119.diff


2 Files Affected:

- (modified) clang/include/clang/Basic/TokenKinds.def (+1-1) 
- (modified) clang/test/Sema/nullptr.c (+3) 


``````````diff
diff --git a/clang/include/clang/Basic/TokenKinds.def b/clang/include/clang/Basic/TokenKinds.def
index 2c692c999bdff5..8902a20b07ffa8 100644
--- a/clang/include/clang/Basic/TokenKinds.def
+++ b/clang/include/clang/Basic/TokenKinds.def
@@ -707,7 +707,7 @@ ALIAS("__decltype"       , decltype     , KEYCXX)
 ALIAS("__imag__"         , __imag       , KEYALL)
 ALIAS("__inline"         , inline       , KEYALL)
 ALIAS("__inline__"       , inline       , KEYALL)
-ALIAS("__nullptr"        , nullptr      , KEYCXX)
+ALIAS("__nullptr"        , nullptr      , KEYALL)
 ALIAS("__real__"         , __real       , KEYALL)
 ALIAS("__restrict"       , restrict     , KEYALL)
 ALIAS("__restrict__"     , restrict     , KEYALL)
diff --git a/clang/test/Sema/nullptr.c b/clang/test/Sema/nullptr.c
index d11765a9c881a1..64095fc00691cd 100644
--- a/clang/test/Sema/nullptr.c
+++ b/clang/test/Sema/nullptr.c
@@ -108,3 +108,6 @@ void test_f1() {
   int ir = (f1)(nullptr);
 }
 
+// __nullptr keyword in C
+void foo(void *);
+void bar() { foo(__nullptr); }
\ No newline at end of file

``````````

</details>


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


More information about the cfe-commits mailing list