[libcxx-commits] [libcxx] [libc++] Diagnose passing null pointers to a bunch of APIs (PR #148585)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Jul 16 07:22:40 PDT 2025
================
@@ -1095,6 +1095,20 @@ typedef __char32_t char32_t;
# define _LIBCPP_DIAGNOSE_WARNING(...)
# endif
+# if __has_attribute(__diagnose_if__) && !defined(_LIBCPP_APPLE_CLANG_VER) && \
+ (!defined(_LIBCPP_CLANG_VER) || _LIBCPP_CLANG_VER >= 2001)
+# define _LIBCPP_DIAGNOSE_IF(...) __attribute__((__diagnose_if__(__VA_ARGS__)))
+# else
+# define _LIBCPP_DIAGNOSE_IF(...)
+# endif
+
+# define _LIBCPP_DIAGNOSE_NULLPTR_IF(condition, condition_description) \
+ _LIBCPP_DIAGNOSE_IF( \
+ condition, \
+ "null passed to calle that requires a non-null argument" condition_description, \
----------------
ldionne wrote:
```suggestion
"null passed to callee that requires a non-null argument" condition_description, \
```
https://github.com/llvm/llvm-project/pull/148585
More information about the libcxx-commits
mailing list