aboutsummaryrefslogtreecommitdiff
path: root/devel/wasi-libc/files/llvm21/__stddef_null.h
diff options
context:
space:
mode:
Diffstat (limited to 'devel/wasi-libc/files/llvm21/__stddef_null.h')
-rw-r--r--devel/wasi-libc/files/llvm21/__stddef_null.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/devel/wasi-libc/files/llvm21/__stddef_null.h b/devel/wasi-libc/files/llvm21/__stddef_null.h
new file mode 100644
index 000000000000..c10bd2d7d988
--- /dev/null
+++ b/devel/wasi-libc/files/llvm21/__stddef_null.h
@@ -0,0 +1,29 @@
+/*===---- __stddef_null.h - Definition of NULL -----------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#if !defined(NULL) || !__building_module(_Builtin_stddef)
+
+/* linux/stddef.h will define NULL to 0. glibc (and other) headers then define
+ * __need_NULL and rely on stddef.h to redefine NULL to the correct value again.
+ * Modules don't support redefining macros like that, but support that pattern
+ * in the non-modules case.
+ */
+#undef NULL
+
+#ifdef __cplusplus
+#if !defined(__MINGW32__) && !defined(_MSC_VER)
+#define NULL __null
+#else
+#define NULL 0
+#endif
+#else
+#define NULL ((void*)0)
+#endif
+
+#endif