diff options
Diffstat (limited to 'Utilities/KWIML/ABI.h.in')
-rw-r--r-- | Utilities/KWIML/ABI.h.in | 506 |
1 files changed, 0 insertions, 506 deletions
diff --git a/Utilities/KWIML/ABI.h.in b/Utilities/KWIML/ABI.h.in deleted file mode 100644 index 87b6e96..0000000 --- a/Utilities/KWIML/ABI.h.in +++ /dev/null @@ -1,506 +0,0 @@ -/*============================================================================ - Kitware Information Macro Library - Copyright 2010-2011 Kitware, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of Kitware, Inc. nor the names of its contributors - may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -============================================================================*/ -#ifndef @KWIML@_ABI_H -#define @KWIML@_ABI_H -/* -This header defines macros with information about the C ABI. -Only information that can be determined using the preprocessor at -compilation time is available. No try-compile results may be added -here. Instead we memorize results on platforms of interest. - -An includer may optionally define the following macros to suppress errors: - - @KWIML@_ABI_NO_VERIFY = skip verification declarations - @KWIML@_ABI_NO_ERROR_CHAR_SIGN = signedness of 'char' may be unknown - @KWIML@_ABI_NO_ERROR_LONG_LONG = existence of 'long long' may be unknown - @KWIML@_ABI_NO_ERROR_ENDIAN = byte order of CPU may be unknown - -An includer may test the following macros after inclusion: - - @KWIML@_ABI_SIZEOF_DATA_PTR = sizeof(void*) - @KWIML@_ABI_SIZEOF_CODE_PTR = sizeof(void(*)(void)) - @KWIML@_ABI_SIZEOF_FLOAT = sizeof(float) - @KWIML@_ABI_SIZEOF_DOUBLE = sizeof(double) - @KWIML@_ABI_SIZEOF_CHAR = sizeof(char) - @KWIML@_ABI_SIZEOF_SHORT = sizeof(short) - @KWIML@_ABI_SIZEOF_INT = sizeof(int) - @KWIML@_ABI_SIZEOF_LONG = sizeof(long) - - @KWIML@_ABI_SIZEOF_LONG_LONG = sizeof(long long) or 0 if not a type - Undefined if existence is unknown and error suppression macro - @KWIML@_ABI_NO_ERROR_LONG_LONG was defined. - - @KWIML@_ABI_SIZEOF___INT64 = 8 if '__int64' exists or 0 if not - Undefined if existence is unknown. - - @KWIML@_ABI___INT64_IS_LONG = 1 if '__int64' is 'long' (same type) - Undefined otherwise. - @KWIML@_ABI___INT64_IS_LONG_LONG = 1 if '__int64' is 'long long' (same type) - Undefined otherwise. - @KWIML@_ABI___INT64_IS_UNIQUE = 1 if '__int64' is a distinct type - Undefined otherwise. - - @KWIML@_ABI_CHAR_IS_UNSIGNED = 1 if 'char' is unsigned, else undefined - @KWIML@_ABI_CHAR_IS_SIGNED = 1 if 'char' is signed, else undefined - One of these is defined unless signedness of 'char' is unknown and - error suppression macro @KWIML@_ABI_NO_ERROR_CHAR_SIGN was defined. - - @KWIML@_ABI_ENDIAN_ID_BIG = id for big-endian (always defined) - @KWIML@_ABI_ENDIAN_ID_LITTLE = id for little-endian (always defined) - @KWIML@_ABI_ENDIAN_ID = id of byte order of target CPU - Defined to @KWIML@_ABI_ENDIAN_ID_BIG or @KWIML@_ABI_ENDIAN_ID_LITTLE - unless byte order is unknown and error suppression macro - @KWIML@_ABI_NO_ERROR_ENDIAN was defined. - -We verify most results using dummy "extern" declarations that are -invalid if the macros are wrong. Verification is disabled if -suppression macro @KWIML@_ABI_NO_VERIFY was defined. -*/ - -/*--------------------------------------------------------------------------*/ -#if !defined(@KWIML@_ABI_SIZEOF_DATA_PTR) -# if defined(__SIZEOF_POINTER__) -# define @KWIML@_ABI_SIZEOF_DATA_PTR __SIZEOF_POINTER__ -# elif defined(_SIZE_PTR) -# define @KWIML@_ABI_SIZEOF_DATA_PTR (_SIZE_PTR >> 3) -# elif defined(_LP64) || defined(__LP64__) -# define @KWIML@_ABI_SIZEOF_DATA_PTR 8 -# elif defined(_ILP32) -# define @KWIML@_ABI_SIZEOF_DATA_PTR 4 -# elif defined(__64BIT__) /* IBM XL */ -# define @KWIML@_ABI_SIZEOF_DATA_PTR 8 -# elif defined(_M_X64) -# define @KWIML@_ABI_SIZEOF_DATA_PTR 8 -# elif defined(__ia64) -# define @KWIML@_ABI_SIZEOF_DATA_PTR 8 -# elif defined(__sparcv9) -# define @KWIML@_ABI_SIZEOF_DATA_PTR 8 -# elif defined(__x86_64) || defined(__x86_64__) -# define @KWIML@_ABI_SIZEOF_DATA_PTR 8 -# elif defined(__amd64) || defined(__amd64__) -# define @KWIML@_ABI_SIZEOF_DATA_PTR 8 -# elif defined(__i386) || defined(__i386__) -# define @KWIML@_ABI_SIZEOF_DATA_PTR 4 -# endif -#endif -#if !defined(@KWIML@_ABI_SIZEOF_DATA_PTR) -# define @KWIML@_ABI_SIZEOF_DATA_PTR 4 -#endif -#if !defined(@KWIML@_ABI_SIZEOF_CODE_PTR) -# define @KWIML@_ABI_SIZEOF_CODE_PTR @KWIML@_ABI_SIZEOF_DATA_PTR -#endif - -/*--------------------------------------------------------------------------*/ -#if !defined(@KWIML@_ABI_SIZEOF_CHAR) -# define @KWIML@_ABI_SIZEOF_CHAR 1 -#endif - -#if !defined(@KWIML@_ABI_CHAR_IS_UNSIGNED) && !defined(@KWIML@_ABI_CHAR_IS_SIGNED) -# if defined(__CHAR_UNSIGNED__) /* GNU, some IBM XL, others? */ -# define @KWIML@_ABI_CHAR_IS_UNSIGNED 1 -# elif defined(_CHAR_UNSIGNED) /* Intel, IBM XL, MSVC, Borland, others? */ -# define @KWIML@_ABI_CHAR_IS_UNSIGNED 1 -# elif defined(_CHAR_SIGNED) /* IBM XL, others? */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 -# elif defined(__CHAR_SIGNED__) /* IBM XL, Watcom, others? */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 -# elif defined(__SIGNED_CHARS__) /* EDG, Intel, SGI MIPSpro */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 -# elif defined(_CHAR_IS_SIGNED) /* Some SunPro, others? */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 -# elif defined(_CHAR_IS_UNSIGNED) /* SunPro, others? */ -# define @KWIML@_ABI_CHAR_IS_UNSIGNED 1 -# elif defined(__GNUC__) /* GNU default */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 -# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) /* SunPro default */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 -# elif defined(__HP_cc) || defined(__HP_aCC) /* HP default (unless +uc) */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 -# elif defined(_SGI_COMPILER_VERSION) /* SGI MIPSpro default */ -# define @KWIML@_ABI_CHAR_IS_UNSIGNED 1 -# elif defined(__PGIC__) /* PGI default */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 -# elif defined(_MSC_VER) /* MSVC default */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 -# elif defined(__WATCOMC__) /* Watcom default */ -# define @KWIML@_ABI_CHAR_IS_UNSIGNED 1 -# elif defined(__BORLANDC__) /* Borland default */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 -# elif defined(__hpux) /* Old HP: no __HP_cc/__HP_aCC/__GNUC__ above */ -# define @KWIML@_ABI_CHAR_IS_SIGNED 1 /* (unless +uc) */ -# endif -#endif -#if !defined(@KWIML@_ABI_CHAR_IS_UNSIGNED) && !defined(@KWIML@_ABI_CHAR_IS_SIGNED) \ - && !defined(@KWIML@_ABI_NO_ERROR_CHAR_SIGN) -# error "Signedness of 'char' unknown." -#endif - -/*--------------------------------------------------------------------------*/ -#if !defined(@KWIML@_ABI_SIZEOF_SHORT) -# if defined(__SIZEOF_SHORT__) -# define @KWIML@_ABI_SIZEOF_SHORT __SIZEOF_SHORT__ -# endif -#endif -#if !defined(@KWIML@_ABI_SIZEOF_SHORT) -# define @KWIML@_ABI_SIZEOF_SHORT 2 -#endif - -/*--------------------------------------------------------------------------*/ -#if !defined(@KWIML@_ABI_SIZEOF_INT) -# if defined(__SIZEOF_INT__) -# define @KWIML@_ABI_SIZEOF_INT __SIZEOF_INT__ -# elif defined(_SIZE_INT) -# define @KWIML@_ABI_SIZEOF_INT (_SIZE_INT >> 3) -# endif -#endif -#if !defined(@KWIML@_ABI_SIZEOF_INT) -# define @KWIML@_ABI_SIZEOF_INT 4 -#endif - -/*--------------------------------------------------------------------------*/ -#if !defined(@KWIML@_ABI_SIZEOF_LONG) -# if defined(__SIZEOF_LONG__) -# define @KWIML@_ABI_SIZEOF_LONG __SIZEOF_LONG__ -# elif defined(_SIZE_LONG) -# define @KWIML@_ABI_SIZEOF_LONG (_SIZE_LONG >> 3) -# elif defined(__LONG_MAX__) -# if __LONG_MAX__ == 0x7fffffff -# define @KWIML@_ABI_SIZEOF_LONG 4 -# elif __LONG_MAX__>>32 == 0x7fffffff -# define @KWIML@_ABI_SIZEOF_LONG 8 -# endif -# elif defined(_MSC_VER) /* MSVC and Intel on Windows */ -# define @KWIML@_ABI_SIZEOF_LONG 4 -# endif -#endif -#if !defined(@KWIML@_ABI_SIZEOF_LONG) -# define @KWIML@_ABI_SIZEOF_LONG @KWIML@_ABI_SIZEOF_DATA_PTR -#endif - -/*--------------------------------------------------------------------------*/ -#if !defined(@KWIML@_ABI_SIZEOF_LONG_LONG) -# if defined(__SIZEOF_LONG_LONG__) -# define @KWIML@_ABI_SIZEOF_LONG_LONG __SIZEOF_LONG_LONG__ -# elif defined(__LONG_LONG_MAX__) -# if __LONG_LONG_MAX__ == 0x7fffffff -# define @KWIML@_ABI_SIZEOF_LONG_LONG 4 -# elif __LONG_LONG_MAX__>>32 == 0x7fffffff -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# endif -# endif -#endif -#if !defined(@KWIML@_ABI_SIZEOF_LONG_LONG) -# if defined(_LONGLONG) /* SGI, some GNU, perhaps others. */ \ - && !defined(_MSC_VER) -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# elif defined(_LONG_LONG) /* IBM XL, perhaps others. */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# elif defined(__NO_LONG_LONG) /* EDG */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 0 -# elif defined(__cplusplus) && __cplusplus > 199711L /* C++0x */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) /* SunPro */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# elif defined(__HP_cc) || defined(__HP_aCC) /* HP */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# elif defined(__PGIC__) /* PGI */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# elif defined(__WATCOMC__) /* Watcom */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# elif defined(__INTEL_COMPILER) /* Intel */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# elif defined(__BORLANDC__) /* Borland */ -# if __BORLANDC__ >= 0x0560 -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# else -# define @KWIML@_ABI_SIZEOF_LONG_LONG 0 -# endif -# elif defined(_MSC_VER) /* Microsoft */ -# if _MSC_VER >= 1310 -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# else -# define @KWIML@_ABI_SIZEOF_LONG_LONG 0 -# endif -# elif defined(__GNUC__) /* GNU */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# elif defined(__hpux) /* Old HP: no __HP_cc/__HP_aCC/__GNUC__ above */ -# define @KWIML@_ABI_SIZEOF_LONG_LONG 8 -# endif -#endif -#if !defined(@KWIML@_ABI_SIZEOF_LONG_LONG) && !defined(@KWIML@_ABI_NO_ERROR_LONG_LONG) -# error "Existence of 'long long' unknown." -#endif - -/*--------------------------------------------------------------------------*/ -#if !defined(@KWIML@_ABI_SIZEOF___INT64) -# if defined(__INTEL_COMPILER) -# define @KWIML@_ABI_SIZEOF___INT64 8 -# elif defined(_MSC_VER) -# define @KWIML@_ABI_SIZEOF___INT64 8 -# elif defined(__BORLANDC__) -# define @KWIML@_ABI_SIZEOF___INT64 8 -# else -# define @KWIML@_ABI_SIZEOF___INT64 0 -# endif -#endif - -#if defined(@KWIML@_ABI_SIZEOF___INT64) && @KWIML@_ABI_SIZEOF___INT64 > 0 -# if @KWIML@_ABI_SIZEOF_LONG == 8 -# define @KWIML@_ABI___INT64_IS_LONG 1 -# elif defined(@KWIML@_ABI_SIZEOF_LONG_LONG) && @KWIML@_ABI_SIZEOF_LONG_LONG == 8 -# define @KWIML@_ABI___INT64_IS_LONG_LONG 1 -# else -# define @KWIML@_ABI___INT64_IS_UNIQUE 1 -# endif -#endif - -/*--------------------------------------------------------------------------*/ -#if !defined(@KWIML@_ABI_SIZEOF_FLOAT) -# if defined(__SIZEOF_FLOAT__) -# define @KWIML@_ABI_SIZEOF_FLOAT __SIZEOF_FLOAT__ -# endif -#endif -#if !defined(@KWIML@_ABI_SIZEOF_FLOAT) -# define @KWIML@_ABI_SIZEOF_FLOAT 4 -#endif - -/*--------------------------------------------------------------------------*/ -#if !defined(@KWIML@_ABI_SIZEOF_DOUBLE) -# if defined(__SIZEOF_DOUBLE__) -# define @KWIML@_ABI_SIZEOF_DOUBLE __SIZEOF_DOUBLE__ -# endif -#endif -#if !defined(@KWIML@_ABI_SIZEOF_DOUBLE) -# define @KWIML@_ABI_SIZEOF_DOUBLE 8 -#endif - -/*--------------------------------------------------------------------------*/ -/* Identify possible endian cases. The macro @KWIML@_ABI_ENDIAN_ID will be - defined to one of these, or undefined if unknown. */ -#if !defined(@KWIML@_ABI_ENDIAN_ID_BIG) -# define @KWIML@_ABI_ENDIAN_ID_BIG 4321 -#endif -#if !defined(@KWIML@_ABI_ENDIAN_ID_LITTLE) -# define @KWIML@_ABI_ENDIAN_ID_LITTLE 1234 -#endif -#if @KWIML@_ABI_ENDIAN_ID_BIG == @KWIML@_ABI_ENDIAN_ID_LITTLE -# error "@KWIML@_ABI_ENDIAN_ID_BIG == @KWIML@_ABI_ENDIAN_ID_LITTLE" -#endif - -#if defined(@KWIML@_ABI_ENDIAN_ID) /* Skip #elif cases if already defined. */ - -/* Use dedicated symbols if the compiler defines them. Do this first - because some architectures allow runtime byte order selection by - the operating system (values for such architectures below are - guesses for compilers that do not define a dedicated symbol). - Ensure that only one is defined in case the platform or a header - defines both as possible values for some third symbol. */ -#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG -#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE -#elif defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG -#elif defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE - -/* Alpha */ -#elif defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE - -/* Arm */ -#elif defined(__arm__) -# if !defined(__ARMEB__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE -# else -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG -# endif - -/* Intel x86 */ -#elif defined(__i386) || defined(__i386__) || defined(_M_IX86) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE -#elif defined(_X86_) || defined(__THW_INTEL__) || defined(__I86__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE -#elif defined(__MWERKS__) && defined(__INTEL__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE - -/* Intel x86-64 */ -#elif defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE -#elif defined(__amd64) || defined(__amd64__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE - -/* Intel Architecture-64 (Itanium) */ -#elif defined(__ia64) || defined(__ia64__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE -#elif defined(_IA64) || defined(__IA64__) || defined(_M_IA64) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE - -/* PowerPC */ -#elif defined(__powerpc) || defined(__powerpc__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG -#elif defined(__ppc) || defined(__ppc__) || defined(__POWERPC__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* SPARC */ -#elif defined(__sparc) || defined(__sparc__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* HP/PA RISC */ -#elif defined(__hppa) || defined(__hppa__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* Motorola 68k */ -#elif defined(__m68k__) || defined(M68000) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* MIPSel (MIPS little endian) */ -#elif defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE - -/* MIPSeb (MIPS big endian) */ -#elif defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* MIPS (fallback, big endian) */ -#elif defined(__mips) || defined(__mips__) || defined(__MIPS__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* NIOS2 */ -#elif defined(__NIOS2__) || defined(__NIOS2) || defined(__nios2__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE - -/* OpenRISC 1000 */ -#elif defined(__or1k__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* RS/6000 */ -#elif defined(__THW_RS600) || defined(_IBMR2) || defined(_POWER) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG -#elif defined(_ARCH_PWR) || defined(_ARCH_PWR2) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* System/370 */ -#elif defined(__370__) || defined(__THW_370__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* System/390 */ -#elif defined(__s390__) || defined(__s390x__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* z/Architecture */ -#elif defined(__SYSC_ZARCH__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* VAX */ -#elif defined(__vax__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -/* Aarch64 */ -#elif defined(__aarch64__) -# if !defined(__AARCH64EB__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE -# else -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG -# endif - -/* Xtensa */ -#elif defined(__XTENSA_EB__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG -#elif defined(__XTENSA_EL__) -# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE - -/* Unknown CPU */ -#elif !defined(@KWIML@_ABI_NO_ERROR_ENDIAN) -# error "Byte order of target CPU unknown." -#endif - -/*--------------------------------------------------------------------------*/ -#if !defined(@KWIML@_ABI_NO_VERIFY) -#define @KWIML@_ABI__VERIFY(n, x, y) extern int (*n)[x]; extern int (*n)[y] -#define @KWIML@_ABI__VERIFY2(n, x, y) extern int (*n)(x*); extern int (*n)(y*) -#if defined(__cplusplus) -# define @KWIML@_ABI__VERIFY3(n, x, y) extern int* n(x*); extern char* n(y*) -#else -# define @KWIML@_ABI__VERIFY3(n, x, y) extern int* n(x*) /* TODO: possible? */ -#endif -#define @KWIML@_ABI__VERIFY_BOOL(m, b) @KWIML@_ABI__VERIFY(m##__VERIFY__, 2, (b)?2:3) -#define @KWIML@_ABI__VERIFY_SIZE(m, t) @KWIML@_ABI__VERIFY(m##__VERIFY__, m, sizeof(t)) -#define @KWIML@_ABI__VERIFY_SAME(m, x, y) @KWIML@_ABI__VERIFY2(m##__VERIFY__, x, y) -#define @KWIML@_ABI__VERIFY_DIFF(m, x, y) @KWIML@_ABI__VERIFY3(m##__VERIFY__, x, y) - -@KWIML@_ABI__VERIFY_SIZE(@KWIML@_ABI_SIZEOF_DATA_PTR, int*); -@KWIML@_ABI__VERIFY_SIZE(@KWIML@_ABI_SIZEOF_CODE_PTR, int(*)(int)); -@KWIML@_ABI__VERIFY_SIZE(@KWIML@_ABI_SIZEOF_CHAR, char); -@KWIML@_ABI__VERIFY_SIZE(@KWIML@_ABI_SIZEOF_SHORT, short); -@KWIML@_ABI__VERIFY_SIZE(@KWIML@_ABI_SIZEOF_INT, int); -@KWIML@_ABI__VERIFY_SIZE(@KWIML@_ABI_SIZEOF_LONG, long); -#if defined(@KWIML@_ABI_SIZEOF_LONG_LONG) && @KWIML@_ABI_SIZEOF_LONG_LONG > 0 -@KWIML@_ABI__VERIFY_SIZE(@KWIML@_ABI_SIZEOF_LONG_LONG, long long); -#endif -#if defined(@KWIML@_ABI_SIZEOF___INT64) && @KWIML@_ABI_SIZEOF___INT64 > 0 -@KWIML@_ABI__VERIFY_SIZE(@KWIML@_ABI_SIZEOF___INT64, __int64); -#endif -@KWIML@_ABI__VERIFY_SIZE(@KWIML@_ABI_SIZEOF_FLOAT, float); -@KWIML@_ABI__VERIFY_SIZE(@KWIML@_ABI_SIZEOF_DOUBLE, double); - -#if defined(@KWIML@_ABI___INT64_IS_LONG) -@KWIML@_ABI__VERIFY_SAME(@KWIML@_ABI___INT64_IS_LONG, __int64, long); -#elif defined(@KWIML@_ABI___INT64_IS_LONG_LONG) -@KWIML@_ABI__VERIFY_SAME(@KWIML@_ABI___INT64_IS_LONG_LONG, __int64, long long); -#elif defined(@KWIML@_ABI_SIZEOF___INT64) && @KWIML@_ABI_SIZEOF___INT64 > 0 -@KWIML@_ABI__VERIFY_DIFF(@KWIML@_ABI___INT64_NOT_LONG, __int64, long); -# if defined(@KWIML@_ABI_SIZEOF_LONG_LONG) && @KWIML@_ABI_SIZEOF_LONG_LONG > 0 -@KWIML@_ABI__VERIFY_DIFF(@KWIML@_ABI___INT64_NOT_LONG_LONG, __int64, long long); -# endif -#endif - -#if defined(@KWIML@_ABI_CHAR_IS_UNSIGNED) -@KWIML@_ABI__VERIFY_BOOL(@KWIML@_ABI_CHAR_IS_UNSIGNED, (char)0x80 > 0); -#elif defined(@KWIML@_ABI_CHAR_IS_SIGNED) -@KWIML@_ABI__VERIFY_BOOL(@KWIML@_ABI_CHAR_IS_SIGNED, (char)0x80 < 0); -#endif - -#undef @KWIML@_ABI__VERIFY_DIFF -#undef @KWIML@_ABI__VERIFY_SAME -#undef @KWIML@_ABI__VERIFY_SIZE -#undef @KWIML@_ABI__VERIFY_BOOL -#undef @KWIML@_ABI__VERIFY3 -#undef @KWIML@_ABI__VERIFY2 -#undef @KWIML@_ABI__VERIFY - -#endif - -#endif |