[clang] [Headers] Don't declare unreachable() from stddef.h in C++ (PR #86748)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 26 16:21:32 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-x86
@llvm/pr-subscribers-clang
Author: Ian Anderson (ian-twilightcoder)
<details>
<summary>Changes</summary>
Even if __need_unreachable is set, stddef.h should not declare unreachable() in C++ because it conflicts with the declaration in <utility>.
---
Full diff: https://github.com/llvm/llvm-project/pull/86748.diff
1 Files Affected:
- (modified) clang/lib/Headers/__stddef_unreachable.h (+4)
``````````diff
diff --git a/clang/lib/Headers/__stddef_unreachable.h b/clang/lib/Headers/__stddef_unreachable.h
index 518580c92d3f5d..61df43e9732f8a 100644
--- a/clang/lib/Headers/__stddef_unreachable.h
+++ b/clang/lib/Headers/__stddef_unreachable.h
@@ -7,6 +7,8 @@
*===-----------------------------------------------------------------------===
*/
+#ifndef __cplusplus
+
/*
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header
* and needs to behave as if it was textual.
@@ -15,3 +17,5 @@
(__has_feature(modules) && !__building_module(_Builtin_stddef))
#define unreachable() __builtin_unreachable()
#endif
+
+#endif
``````````
</details>
https://github.com/llvm/llvm-project/pull/86748
More information about the cfe-commits
mailing list