diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-04-25 14:59:29 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-05-08 19:37:28 -0700 |
| commit | 70c85b1bf1c07db4420e8431c3322bfeb87688ee (patch) | |
| tree | 646b310e667401cc2c44595e6eb69fc52637a8d9 /lib/include/__stddef_null.h | |
| parent | e4029b9943a834bf5fc23e620f0dfc0ea18648f4 (diff) | |
| download | zig-70c85b1bf1c07db4420e8431c3322bfeb87688ee.tar.gz zig-70c85b1bf1c07db4420e8431c3322bfeb87688ee.zip | |
update C language headers to LLVM 18
release/18.x branch, commit 78b99c73ee4b96fe9ce0e294d4632326afb2db42
Diffstat (limited to 'lib/include/__stddef_null.h')
| -rw-r--r-- | lib/include/__stddef_null.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/include/__stddef_null.h b/lib/include/__stddef_null.h new file mode 100644 index 0000000000..c10bd2d7d9 --- /dev/null +++ b/lib/include/__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 |
