[libc-commits] [libc] [libc] Add _Returns_twice to C++ code (PR #153602)

via libc-commits libc-commits at lists.llvm.org
Thu Aug 14 08:42:58 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libc

Author: William Huynh (saturn691)

<details>
<summary>Changes</summary>

Fixes issue with `<csetjmp>` which requires `_Returns_twice` but in C++ mode

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


1 Files Affected:

- (modified) libc/include/__llvm-libc-common.h (+3) 


``````````diff
diff --git a/libc/include/__llvm-libc-common.h b/libc/include/__llvm-libc-common.h
index c6fd33a55532c..b376b05df1678 100644
--- a/libc/include/__llvm-libc-common.h
+++ b/libc/include/__llvm-libc-common.h
@@ -47,6 +47,9 @@
 #define __NOEXCEPT throw()
 #endif
 
+#undef _Returns_twice
+#define _Returns_twice [[gnu::returns_twice]]
+
 // This macro serves as a generic cast implementation for use in both C and C++,
 // similar to `__BIONIC_CAST` in Android.
 #undef __LLVM_LIBC_CAST

``````````

</details>


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


More information about the libc-commits mailing list