diff options
author | Bruce Mitchener <bruce.mitchener@gmail.com> | 2013-08-04 00:32:45 +0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-09-13 10:07:02 -0700 |
commit | 5c6e1633d218bd5b9c5077634829eb14d326308f (patch) | |
tree | 50a4fd55b51a0fab6506addf610a666afabaec9b /system/include/libc/stddef.h | |
parent | 27d496610e0ef93c9805a6a1a77de3f053405c6b (diff) |
Update libc headers to use musl headers.
Diffstat (limited to 'system/include/libc/stddef.h')
-rw-r--r-- | system/include/libc/stddef.h | 70 |
1 files changed, 12 insertions, 58 deletions
diff --git a/system/include/libc/stddef.h b/system/include/libc/stddef.h index 9e87ee89..9d522486 100644 --- a/system/include/libc/stddef.h +++ b/system/include/libc/stddef.h @@ -1,64 +1,18 @@ -/*===---- stddef.h - Basic type definitions --------------------------------=== - * - * Copyright (c) 2008 Eli Friedman - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - *===-----------------------------------------------------------------------=== - */ +#ifndef _STDDEF_H +#define _STDDEF_H -#ifndef __STDDEF_H -#define __STDDEF_H +#define NULL 0L -#ifndef _PTRDIFF_T -#define _PTRDIFF_T -typedef __typeof__(((int*)0)-((int*)0)) ptrdiff_t; -#endif -#ifndef _SIZE_T -#define _SIZE_T -typedef __typeof__(sizeof(int)) size_t; -#endif -#ifndef __cplusplus -#ifndef _WCHAR_T -#define _WCHAR_T -typedef __WCHAR_TYPE__ wchar_t; -#endif -#endif +#define __NEED_ptrdiff_t +#define __NEED_size_t +#define __NEED_wchar_t -#undef NULL -#ifdef __cplusplus -#undef __null // VC++ hack. -#define NULL __null +#include <bits/alltypes.h> + +#if __GNUC__ > 3 +#define offsetof(type, member) __builtin_offsetof(type, member) #else -#define NULL ((void*)0) +#define offsetof(type, member) ((size_t)( (char *)&(((type *)0)->member) - (char *)0 )) #endif -#define offsetof(t, d) __builtin_offsetof(t, d) - -#endif /* __STDDEF_H */ - -/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use -__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ -#if defined(__need_wint_t) -#if !defined(_WINT_T) -#define _WINT_T -typedef __WINT_TYPE__ wint_t; -#endif /* _WINT_T */ -#undef __need_wint_t -#endif /* __need_wint_t */ +#endif |