c2hs-0.28.3: tests/bugs/issue-82/include/sys/cdefs.h
/*
* Copyright (c) 2006 - 2008 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/***********************************************************************
* Not to be installed in /usr/include
***********************************************************************/
#ifndef _LIBC_SYS_CDEFS_H_
#define _LIBC_SYS_CDEFS_H_
/*
* Now include the real sys/cdefs.h. The checks in libc-features.h will assure
* that those macros are consistent with the current build environment.
*/
#include_next <sys/cdefs.h>
#ifndef _LIBC_NO_FEATURE_VERIFICATION
#if defined(__arm__) || defined(__i386__) || defined(__x86_64__)
/*# include "libc-features.h"*/
#else
# error "Unknown architecture."
#endif
#endif /* _LIBC_NO_FEATURE_VERIFICATION */
/*
* symbol suffixes used for symbol versioning
*/
#if defined(VARIANT_LEGACY)
# define LIBC_SUF_UNIX03 /* nothing */
# define LIBC_SUF_64_BIT_INO_T /* nothing */
# define LIBC_SUF_NON_CANCELABLE /* nothing */
# define LIBC_SUF_1050 /* nothing */
#else /* !VARIANT_LEGACY */
# if __DARWIN_ONLY_UNIX_CONFORMANCE
# define LIBC_SUF_UNIX03 /* nothing */
# else /* !__DARWIN_ONLY_UNIX_CONFORMANCE */
# define LIBC_SUF_UNIX03 "$UNIX2003"
# endif /* __DARWIN_ONLY_UNIX_CONFORMANCE */
# if defined(VARIANT_INODE32)
# define LIBC_SUF_64_BIT_INO_T /* nothing */
# else /* !VARIANT_INODE32 */
# if __DARWIN_ONLY_64_BIT_INO_T
# define LIBC_SUF_64_BIT_INO_T /* nothing */
# else /* !__DARWIN_ONLY_64_BIT_INO_T */
# define LIBC_SUF_64_BIT_INO_T "$INODE64"
# endif /* __DARWIN_ONLY_64_BIT_INO_T */
# endif /* VARIANT_INODE32 */
# if defined(VARIANT_CANCELABLE)
# define LIBC_SUF_NON_CANCELABLE /* nothing */
# else /* !LIBC_NON_CANCELABLE */
# define LIBC_SUF_NON_CANCELABLE "$NOCANCEL"
# endif /* LIBC_NON_CANCELABLE */
# if defined(VARIANT_PRE1050)
# define LIBC_SUF_1050 /* nothing */
# else /* !VARIANT_PRE1050 */
# if __DARWIN_ONLY_VERS_1050
# define LIBC_SUF_1050 /* nothing */
# else /* !__DARWIN_ONLY_VERS_1050 */
# define LIBC_SUF_1050 "$1050"
# endif /* __DARWIN_ONLY_VERS_1050 */
# endif /* VARIANT_PRE1050 */
#endif /* LIBC_UNIX03 */
#define LIBC_SUF_EXTSN "$DARWIN_EXTSN"
/*
* symbol versioning macros
*/
#define LIBC_ALIAS(sym) __asm("_" __STRING(sym) LIBC_SUF_UNIX03)
#define LIBC_ALIAS_C(sym) __asm("_" __STRING(sym) LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03)
#define LIBC_ALIAS_I(sym) __asm("_" __STRING(sym) LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03)
#define LIBC_INODE64(sym) __asm("_" __STRING(sym) LIBC_SUF_64_BIT_INO_T)
#define LIBC_1050(sym) __asm("_" __STRING(sym) LIBC_SUF_1050)
#define LIBC_1050ALIAS(sym) __asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_UNIX03)
#define LIBC_1050ALIAS_C(sym) __asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03)
#define LIBC_1050ALIAS_I(sym) __asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03)
#define LIBC_1050INODE64(sym) __asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_64_BIT_INO_T)
#define LIBC_EXTSN(sym) __asm("_" __STRING(sym) LIBC_SUF_EXTSN)
#define LIBC_EXTSN_C(sym) __asm("_" __STRING(sym) LIBC_SUF_EXTSN LIBC_SUF_NON_CANCELABLE)
extern int pthread_key_init_np(int, void (*)(void *));
#include <TargetConditionals.h>
#if TARGET_IPHONE_SIMULATOR
/* Simulator keys are offset by 200 */
#define __LIBC_PTHREAD_KEY(x) (210 + (x))
#else
#define __LIBC_PTHREAD_KEY(x) (10 + (x))
#endif
/*
* Libc pthread key assignments
*/
#define __LIBC_PTHREAD_KEY_XLOCALE __LIBC_PTHREAD_KEY(0)
#define __LIBC_PTHREAD_KEY_TTYNAME __LIBC_PTHREAD_KEY(1)
#define __LIBC_PTHREAD_KEY_LOCALTIME __LIBC_PTHREAD_KEY(2)
#define __LIBC_PTHREAD_KEY_GMTIME __LIBC_PTHREAD_KEY(3)
#define __LIBC_PTHREAD_KEY_GDTOA_BIGINT __LIBC_PTHREAD_KEY(4)
#define __LIBC_PTHREAD_KEY_PARSEFLOAT __LIBC_PTHREAD_KEY(5)
#endif /* _LIBC_SYS_CDEFS_H_ */