New ACC version.
committer: mfx <mfx> 1131596966 +0000
This commit is contained in:
parent
35f6f998e6
commit
5c4f01a68d
458
src/miniacc.h
458
src/miniacc.h
@ -36,7 +36,7 @@
|
||||
|
||||
#ifndef __ACC_H_INCLUDED
|
||||
#define __ACC_H_INCLUDED 1
|
||||
#define ACC_VERSION 20050912L
|
||||
#define ACC_VERSION 20051106L
|
||||
#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
|
||||
# define __CYGWIN__ __CYGWIN32__
|
||||
#endif
|
||||
@ -302,7 +302,7 @@
|
||||
#define ACC_CPP_ECONCAT3(a,b,c) ACC_CPP_CONCAT3(a,b,c)
|
||||
#define ACC_CPP_ECONCAT4(a,b,c,d) ACC_CPP_CONCAT4(a,b,c,d)
|
||||
#define ACC_CPP_ECONCAT5(a,b,c,d,e) ACC_CPP_CONCAT5(a,b,c,d,e)
|
||||
#define __ACC_MASK_GEN(o,b) ((((o << ((b)-1)) - o) << 1) + o)
|
||||
#define __ACC_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o))
|
||||
#if 1 && defined(__cplusplus)
|
||||
# if !defined(__STDC_CONSTANT_MACROS)
|
||||
# define __STDC_CONSTANT_MACROS 1
|
||||
@ -445,6 +445,9 @@
|
||||
# elif defined(__APPLE__) || defined(__MACOS__)
|
||||
# define ACC_OS_POSIX_MACOSX 1
|
||||
# define ACC_INFO_OS_POSIX "macosx"
|
||||
# elif defined(__minix__) || defined(__minix)
|
||||
# define ACC_OS_POSIX_MINIX 1
|
||||
# define ACC_INFO_OS_POSIX "minix"
|
||||
# elif defined(__NetBSD__)
|
||||
# define ACC_OS_POSIX_NETBSD 1
|
||||
# define ACC_INFO_OS_POSIX "netbsd"
|
||||
@ -525,6 +528,10 @@
|
||||
# endif
|
||||
# define ACC_INFO_CC "gcc"
|
||||
# define ACC_INFO_CCVER __VERSION__
|
||||
#elif defined(__ACK__) && defined(_ACK)
|
||||
# define ACC_CC_ACK 1
|
||||
# define ACC_INFO_CC "Amsterdam Compiler Kit C"
|
||||
# define ACC_INFO_CCVER "unknown"
|
||||
#elif defined(__AZTEC_C__)
|
||||
# define ACC_CC_AZTECC 1
|
||||
# define ACC_INFO_CC "Aztec C"
|
||||
@ -533,6 +540,10 @@
|
||||
# define ACC_CC_BORLANDC 1
|
||||
# define ACC_INFO_CC "Borland C"
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__BORLANDC__)
|
||||
#elif defined(_CRAYC) && defined(_RELEASE)
|
||||
# define ACC_CC_CRAYC 1
|
||||
# define ACC_INFO_CC "Cray C"
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(_RELEASE)
|
||||
#elif defined(__DMC__) && defined(__SC__)
|
||||
# define ACC_CC_DMC 1
|
||||
# define ACC_INFO_CC "Digital Mars C"
|
||||
@ -630,7 +641,7 @@
|
||||
# define ACC_INFO_CC "unknown"
|
||||
# define ACC_INFO_CCVER "unknown"
|
||||
#endif
|
||||
#if (ACC_CC_MSC && (_MSC_VER > 1200)) && !defined(_MSC_FULL_VER)
|
||||
#if 0 && (ACC_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
|
||||
# error "ACC_CC_MSC: _MSC_FULL_VER is not defined"
|
||||
#endif
|
||||
#if !defined(__ACC_ARCH_OVERRIDE)
|
||||
@ -1068,11 +1079,12 @@ extern "C" {
|
||||
# undef ACC_SIZEOF_LONG_LONG
|
||||
# endif
|
||||
#endif
|
||||
#if defined(__NO_LONG_LONG)
|
||||
#if defined(ACC_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG)
|
||||
# undef ACC_SIZEOF_LONG_LONG
|
||||
#endif
|
||||
#if !defined(ACC_SIZEOF_VOID_P)
|
||||
#if (ACC_ARCH_I086)
|
||||
# define __ACC_WORDSIZE 2
|
||||
# if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
|
||||
# define ACC_SIZEOF_VOID_P 2
|
||||
# elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
|
||||
@ -1080,14 +1092,20 @@ extern "C" {
|
||||
# else
|
||||
# error "ACC_MM"
|
||||
# endif
|
||||
#elif (ACC_ARCH_AVR || ACC_ARCH_C166 || ACC_ARCH_I086 || ACC_ARCH_MCS51 || ACC_ARCH_MCS251 || ACC_ARCH_MSP430 || ACC_ARCH_Z80)
|
||||
#elif (ACC_ARCH_AVR || ACC_ARCH_Z80)
|
||||
# define __ACC_WORDSIZE 1
|
||||
# define ACC_SIZEOF_VOID_P 2
|
||||
#elif (ACC_ARCH_C166 || ACC_ARCH_MCS51 || ACC_ARCH_MCS251 || ACC_ARCH_MSP430)
|
||||
# define ACC_SIZEOF_VOID_P 2
|
||||
#elif (ACC_ARCH_H8300)
|
||||
# if defined(__NORMAL_MODE__)
|
||||
# define __ACC_WORDSIZE 4
|
||||
# define ACC_SIZEOF_VOID_P 2
|
||||
# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
|
||||
# define __ACC_WORDSIZE 4
|
||||
# define ACC_SIZEOF_VOID_P 4
|
||||
# else
|
||||
# define __ACC_WORDSIZE 2
|
||||
# define ACC_SIZEOF_VOID_P 2
|
||||
# endif
|
||||
# if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x040000ul)) && (ACC_SIZEOF_INT == 4)
|
||||
@ -1095,22 +1113,24 @@ extern "C" {
|
||||
# define ACC_SIZEOF_PTRDIFF_T ACC_SIZEOF_INT
|
||||
# endif
|
||||
#elif (ACC_ARCH_M16C)
|
||||
# define __ACC_WORDSIZE 2
|
||||
# if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
|
||||
# define ACC_SIZEOF_VOID_P 4
|
||||
# else
|
||||
# define ACC_SIZEOF_VOID_P 2
|
||||
# endif
|
||||
#elif (ACC_OS_CONSOLE_PS2)
|
||||
# define ACC_SIZEOF_VOID_P 4
|
||||
#elif (ACC_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
|
||||
# define __ACC_WORDSIZE 8
|
||||
# define ACC_SIZEOF_VOID_P 4
|
||||
#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
|
||||
# define __ACC_WORDSIZE 8
|
||||
# define ACC_SIZEOF_VOID_P 8
|
||||
#elif (ACC_OS_OS400) && defined(__LLP64_IFC__)
|
||||
# define ACC_SIZEOF_VOID_P 8
|
||||
# define ACC_SIZEOF_VOID_P ACC_SIZEOF_LONG
|
||||
# define ACC_SIZEOF_SIZE_T ACC_SIZEOF_LONG
|
||||
# define ACC_SIZEOF_PTRDIFF_T ACC_SIZEOF_LONG
|
||||
#elif (ACC_OS_OS400)
|
||||
# define __ACC_WORDSIZE ACC_SIZEOF_LONG
|
||||
# define ACC_SIZEOF_VOID_P 16
|
||||
# define ACC_SIZEOF_SIZE_T ACC_SIZEOF_LONG
|
||||
# define ACC_SIZEOF_PTRDIFF_T ACC_SIZEOF_LONG
|
||||
@ -1122,6 +1142,13 @@ extern "C" {
|
||||
# define ACC_SIZEOF_VOID_P ACC_SIZEOF_LONG
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(ACC_WORDSIZE)
|
||||
# if defined(__ACC_WORDSIZE)
|
||||
# define ACC_WORDSIZE __ACC_WORDSIZE
|
||||
# else
|
||||
# define ACC_WORDSIZE ACC_SIZEOF_VOID_P
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(ACC_SIZEOF_SIZE_T)
|
||||
#if (ACC_ARCH_I086 || ACC_ARCH_M16C)
|
||||
# define ACC_SIZEOF_SIZE_T 2
|
||||
@ -1146,8 +1173,11 @@ extern "C" {
|
||||
# define ACC_SIZEOF_PTRDIFF_T ACC_SIZEOF_SIZE_T
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(ACC_ABI_BIG_ENDIAN) && !defined(ACC_ABI_LITTLE_ENDIAN) && !defined(ACC_ABI_NEUTRAL_ENDIAN)
|
||||
#if (ACC_ARCH_AMD64 || ACC_ARCH_CRIS || ACC_ARCH_I086 || ACC_ARCH_I386 || ACC_ARCH_MSP430)
|
||||
#if defined(ACC_ABI_NEUTRAL_ENDIAN)
|
||||
# undef ACC_ABI_BIG_ENDIAN
|
||||
# undef ACC_ABI_LITTLE_ENDIAN
|
||||
#elif !defined(ACC_ABI_BIG_ENDIAN) && !defined(ACC_ABI_LITTLE_ENDIAN)
|
||||
#if (ACC_ARCH_ALPHA || ACC_ARCH_AMD64 || ACC_ARCH_CRIS || ACC_ARCH_IA64 || ACC_ARCH_I086 || ACC_ARCH_I386 || ACC_ARCH_MSP430)
|
||||
# define ACC_ABI_LITTLE_ENDIAN 1
|
||||
#elif (ACC_ARCH_M68K || ACC_ARCH_S390)
|
||||
# define ACC_ABI_BIG_ENDIAN 1
|
||||
@ -1155,6 +1185,10 @@ extern "C" {
|
||||
# define ACC_ABI_BIG_ENDIAN 1
|
||||
#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
|
||||
# define ACC_ABI_LITTLE_ENDIAN 1
|
||||
#elif 1 && (ACC_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
|
||||
# define ACC_ABI_BIG_ENDIAN 1
|
||||
#elif 1 && (ACC_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
|
||||
# define ACC_ABI_LITTLE_ENDIAN 1
|
||||
#endif
|
||||
#endif
|
||||
#if defined(ACC_ABI_BIG_ENDIAN) && defined(ACC_ABI_LITTLE_ENDIAN)
|
||||
@ -1231,6 +1265,7 @@ extern "C" {
|
||||
#else
|
||||
# define __acc_gnuc_extension__
|
||||
#endif
|
||||
#if !defined(acc_alignof)
|
||||
#if (ACC_CC_CILLY || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || ACC_CC_PGI)
|
||||
# define acc_alignof(e) __alignof__(e)
|
||||
#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 700))
|
||||
@ -1238,6 +1273,8 @@ extern "C" {
|
||||
#elif (ACC_CC_MSC && (_MSC_VER >= 1300))
|
||||
# define acc_alignof(e) __alignof(e)
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__acc_inline)
|
||||
#if (ACC_CC_TURBOC && (__TURBOC__ <= 0x0295))
|
||||
#elif defined(__cplusplus)
|
||||
# define __acc_inline inline
|
||||
@ -1256,6 +1293,8 @@ extern "C" {
|
||||
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
||||
# define __acc_inline inline
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__acc_forceinline)
|
||||
#if (ACC_CC_GNUC >= 0x030200ul)
|
||||
# define __acc_forceinline __inline__ __attribute__((__always_inline__))
|
||||
#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 450) && (ACC_OS_WIN32 || ACC_OS_WIN64))
|
||||
@ -1267,6 +1306,8 @@ extern "C" {
|
||||
#elif (ACC_CC_MSC && (_MSC_VER >= 1200))
|
||||
# define __acc_forceinline __forceinline
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__acc_noinline)
|
||||
#if (ACC_CC_GNUC >= 0x030200ul)
|
||||
# define __acc_noinline __attribute__((__noinline__))
|
||||
#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 600) && (ACC_OS_WIN32 || ACC_OS_WIN64))
|
||||
@ -1283,9 +1324,11 @@ extern "C" {
|
||||
# define __acc_noinline __declspec(noinline)
|
||||
# endif
|
||||
#endif
|
||||
#endif
|
||||
#if (defined(__acc_forceinline) || defined(__acc_noinline)) && !defined(__acc_inline)
|
||||
# error "this should not happen"
|
||||
#endif
|
||||
#if !defined(__acc_noreturn)
|
||||
#if (ACC_CC_GNUC >= 0x020700ul)
|
||||
# define __acc_noreturn __attribute__((__noreturn__))
|
||||
#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 450) && (ACC_OS_WIN32 || ACC_OS_WIN64))
|
||||
@ -1297,6 +1340,21 @@ extern "C" {
|
||||
#elif (ACC_CC_MSC && (_MSC_VER >= 1200))
|
||||
# define __acc_noreturn __declspec(noreturn)
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__acc_nothrow)
|
||||
#if (ACC_CC_GNUC >= 0x030300ul)
|
||||
# define __acc_nothrow __attribute__((__nothrow__))
|
||||
#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 450) && (ACC_OS_WIN32 || ACC_OS_WIN64))
|
||||
# define __acc_nothrow __declspec(nothrow)
|
||||
#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 800) && (ACC_OS_POSIX))
|
||||
# define __acc_nothrow __attribute__((__nothrow__))
|
||||
#elif (ACC_CC_LLVM || ACC_CC_PATHSCALE)
|
||||
# define __acc_nothrow __attribute__((__nothrow__))
|
||||
#elif (ACC_CC_MSC && (_MSC_VER >= 1200))
|
||||
# define __acc_nothrow __declspec(nothrow)
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__acc_constructor)
|
||||
#if (ACC_CC_GNUC >= 0x030400ul)
|
||||
# define __acc_constructor __attribute__((__constructor__,__used__))
|
||||
#elif (ACC_CC_GNUC >= 0x020700ul)
|
||||
@ -1304,6 +1362,8 @@ extern "C" {
|
||||
#elif (ACC_CC_LLVM || ACC_CC_PATHSCALE)
|
||||
# define __acc_constructor __attribute__((__constructor__))
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__acc_destructor)
|
||||
#if (ACC_CC_GNUC >= 0x030400ul)
|
||||
# define __acc_destructor __attribute__((__destructor__,__used__))
|
||||
#elif (ACC_CC_GNUC >= 0x020700ul)
|
||||
@ -1311,9 +1371,13 @@ extern "C" {
|
||||
#elif (ACC_CC_LLVM || ACC_CC_PATHSCALE)
|
||||
# define __acc_destructor __attribute__((__destructor__))
|
||||
#endif
|
||||
#endif
|
||||
#if defined(__acc_destructor) && !defined(__acc_constructor)
|
||||
# error "this should not happen"
|
||||
#endif
|
||||
#if !defined(__acc_ua_volatile)
|
||||
# define __acc_ua_volatile volatile
|
||||
#endif
|
||||
#if (ACC_CC_GNUC >= 0x030200ul)
|
||||
# define __acc_likely(e) (__builtin_expect(!!(e),1))
|
||||
# define __acc_unlikely(e) (__builtin_expect(!!(e),0))
|
||||
@ -1396,7 +1460,7 @@ extern "C" {
|
||||
# define ACC_COMPILE_TIME_ASSERT(e) {typedef int __acc_cta_t[1-2*!(e)];}
|
||||
# endif
|
||||
#endif
|
||||
#if (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
|
||||
#if (ACC_ARCH_I086 || ACC_ARCH_I386) && (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
|
||||
# if (ACC_CC_GNUC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PACIFICC)
|
||||
# elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
|
||||
# define __acc_cdecl __cdecl
|
||||
@ -1435,7 +1499,7 @@ extern "C" {
|
||||
# else
|
||||
# define __acc_cdecl_sighandler __cdecl
|
||||
# endif
|
||||
#elif (ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
|
||||
#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
|
||||
# define __acc_cdecl cdecl
|
||||
#endif
|
||||
#if !defined(__acc_cdecl)
|
||||
@ -1464,17 +1528,16 @@ extern "C" {
|
||||
# define ACC_HAVE_WINDOWS_H 1
|
||||
# endif
|
||||
#endif
|
||||
#if (ACC_ARCH_AMD64)
|
||||
# define ACC_OPT_UNALIGNED16 1
|
||||
# define ACC_OPT_UNALIGNED32 1
|
||||
# define ACC_OPT_UNALIGNED64 1
|
||||
#elif (ACC_ARCH_ALPHA)
|
||||
#if (ACC_ARCH_ALPHA)
|
||||
# define ACC_OPT_AVOID_UINT_INDEX 1
|
||||
# define ACC_OPT_AVOID_SHORT 1
|
||||
# define ACC_OPT_AVOID_USHORT 1
|
||||
#elif (ACC_ARCH_AMD64)
|
||||
# define ACC_OPT_AVOID_INT_INDEX 1
|
||||
# define ACC_OPT_AVOID_UINT_INDEX 1
|
||||
# define ACC_OPT_UNALIGNED16 1
|
||||
# define ACC_OPT_UNALIGNED32 1
|
||||
# define ACC_OPT_UNALIGNED64 1
|
||||
#elif (ACC_ARCH_ARM && ACC_ARCH_ARM_THUMB)
|
||||
#elif (ACC_ARCH_ARM)
|
||||
# define ACC_OPT_AVOID_SHORT 1
|
||||
@ -1829,6 +1892,13 @@ extern "C" {
|
||||
#if (ACC_OS_CONSOLE)
|
||||
# undef HAVE_DIRENT_H
|
||||
#endif
|
||||
#if (ACC_LIBC_ISOC90 || ACC_LIBC_ISOC99)
|
||||
# undef HAVE_DIRENT_H
|
||||
# undef HAVE_UNISTD_H
|
||||
# undef HAVE_SYS_STAT_H
|
||||
# undef HAVE_SYS_TIME_H
|
||||
# undef HAVE_SYS_TYPES_H
|
||||
#endif
|
||||
#if (ACC_LIBC_GLIBC >= 0x020100ul)
|
||||
# define HAVE_STDINT_H 1
|
||||
#elif (ACC_LIBC_DIETLIBC)
|
||||
@ -2109,6 +2179,17 @@ extern "C" {
|
||||
# undef HAVE_UMASK
|
||||
# undef HAVE_UTIME
|
||||
#endif
|
||||
#if (ACC_LIBC_ISOC90 || ACC_LIBC_ISOC99)
|
||||
# undef HAVE_ACCESS
|
||||
# undef HAVE_CHMOD
|
||||
# undef HAVE_CHOWN
|
||||
# undef HAVE_FSTAT
|
||||
# undef HAVE_GETTIMEOFDAY
|
||||
# undef HAVE_LSTAT
|
||||
# undef HAVE_STAT
|
||||
# undef HAVE_UMASK
|
||||
# undef HAVE_UTIME
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(ACC_CFG_AUTO_NO_SIZES)
|
||||
@ -2315,6 +2396,37 @@ __acc_gnuc_extension__ typedef unsigned long long acc_ullong_t;
|
||||
# error "acc_intptr_t"
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(acc_word_t)
|
||||
#if defined(ACC_WORDSIZE) && (ACC_WORDSIZE > 0)
|
||||
#if (ACC_WORDSIZE == ACC_SIZEOF_ACC_INTPTR_T) && !defined(__ACC_INTPTR_T_IS_POINTER)
|
||||
# define acc_word_t acc_uintptr_t
|
||||
# define acc_sword_t acc_intptr_t
|
||||
# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_INTPTR_T
|
||||
#elif (ACC_WORDSIZE == ACC_SIZEOF_LONG)
|
||||
# define acc_word_t unsigned long
|
||||
# define acc_sword_t long
|
||||
# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_LONG
|
||||
#elif (ACC_WORDSIZE == ACC_SIZEOF_INT)
|
||||
# define acc_word_t unsigned int
|
||||
# define acc_sword_t int
|
||||
# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_INT
|
||||
#elif (ACC_WORDSIZE == ACC_SIZEOF_SHORT)
|
||||
# define acc_word_t unsigned short
|
||||
# define acc_sword_t short
|
||||
# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_SHORT
|
||||
#elif (ACC_WORDSIZE == 1)
|
||||
# define acc_word_t unsigned char
|
||||
# define acc_sword_t signed char
|
||||
# define ACC_SIZEOF_ACC_WORD_T 1
|
||||
#elif (ACC_WORDSIZE == ACC_SIZEOF_ACC_INT64L_T)
|
||||
# define acc_word_t acc_uint64l_t
|
||||
# define acc_sword_t acc_int64l_t
|
||||
# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_INT64L_T
|
||||
#else
|
||||
# error "acc_word_t"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(ACC_INT16_C)
|
||||
# if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 2)
|
||||
# define ACC_INT16_C(c) ((c) + 0)
|
||||
@ -2384,6 +2496,9 @@ __acc_gnuc_extension__ typedef unsigned long long acc_ullong_t;
|
||||
#if !defined(SIZEOF_ACC_INTPTR_T) && defined(ACC_SIZEOF_ACC_INTPTR_T)
|
||||
# define SIZEOF_ACC_INTPTR_T ACC_SIZEOF_ACC_INTPTR_T
|
||||
#endif
|
||||
#if !defined(SIZEOF_ACC_WORD_T) && defined(ACC_SIZEOF_ACC_WORD_T)
|
||||
# define SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_WORD_T
|
||||
#endif
|
||||
#if 1 && !defined(acc_signo_t) && defined(__linux__) && defined(__dietlibc__) && (ACC_SIZEOF_INT != 4)
|
||||
# define acc_signo_t acc_int32e_t
|
||||
#endif
|
||||
@ -2401,24 +2516,26 @@ typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
|
||||
# else
|
||||
#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
|
||||
#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
|
||||
#elif (ACC_CC_INTELC) && defined(_WIN32)
|
||||
#elif (ACC_CC_INTELC && (__INTEL_COMPILER < 700))
|
||||
#elif (ACC_CC_LLVM)
|
||||
#elif (ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE)
|
||||
#if !defined(__acc_ua16_t) && (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
|
||||
typedef struct { acc_uint16e_t v __attribute__((__packed__)); } __acc_ua16_t;
|
||||
typedef struct { __acc_ua_volatile acc_uint16e_t v __attribute__((__packed__)); } __acc_ua16_t;
|
||||
# define __acc_ua16_t __acc_ua16_t
|
||||
#endif
|
||||
#if !defined(__acc_ua32_t) && (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
|
||||
typedef struct { acc_uint32e_t v __attribute__((__packed__)); } __acc_ua32_t;
|
||||
typedef struct { __acc_ua_volatile acc_uint32e_t v __attribute__((__packed__)); } __acc_ua32_t;
|
||||
# define __acc_ua32_t __acc_ua32_t
|
||||
#endif
|
||||
#if !defined(__acc_ua64_t) && (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
|
||||
typedef struct { acc_uint64l_t v __attribute__((__packed__)); } __acc_ua64_t;
|
||||
typedef struct { __acc_ua_volatile acc_uint64l_t v __attribute__((__packed__)); } __acc_ua64_t;
|
||||
# define __acc_ua64_t __acc_ua64_t
|
||||
#endif
|
||||
#endif
|
||||
#if (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
|
||||
#define ACC_UA_GET16(p) (* (const acc_uint16e_t*) (const void*) (p))
|
||||
#define ACC_UA_SET16(p,v) (* (acc_uint16e_t*) (void*) (p) = (acc_uint16e_t) (v))
|
||||
#define ACC_UA_GET16(p) (* (__acc_ua_volatile const acc_uint16e_t*) (__acc_ua_volatile const void*) (p))
|
||||
#define ACC_UA_SET16(p,v) (* (__acc_ua_volatile acc_uint16e_t*) (__acc_ua_volatile void*) (p) = (acc_uint16e_t) (v))
|
||||
#if (ACC_ABI_BIG_ENDIAN)
|
||||
# define ACC_UA_GET_BE16(p) ACC_UA_GET16(p)
|
||||
# define ACC_UA_SET_BE16(p,v) ACC_UA_SET16(p,v)
|
||||
@ -2429,8 +2546,9 @@ typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
|
||||
#if !defined(ACC_CFG_NO_INLINE_ASM) && defined(__acc_forceinline)
|
||||
#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
|
||||
#if !defined(ACC_UA_GET_LE16)
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(const void* pp) {
|
||||
const acc_uint16e_t* p = (const acc_uint16e_t*) pp;
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp);
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
|
||||
__acc_ua_volatile const acc_uint16e_t* p = (__acc_ua_volatile const acc_uint16e_t*) pp;
|
||||
unsigned long v;
|
||||
__asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
|
||||
return v;
|
||||
@ -2438,8 +2556,9 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(const void* pp) {
|
||||
#define ACC_UA_GET_LE16(p) __ACC_UA_GET_LE16(p)
|
||||
#endif
|
||||
#if !defined(ACC_UA_SET_LE16)
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE16(void* pp, unsigned long v) {
|
||||
acc_uint16e_t* p = (acc_uint16e_t*) pp;
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v);
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
|
||||
__acc_ua_volatile acc_uint16e_t* p = (__acc_ua_volatile acc_uint16e_t*) pp;
|
||||
__asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
|
||||
}
|
||||
#define ACC_UA_SET_LE16(p,v) __ACC_UA_SET_LE16(p,v)
|
||||
@ -2451,8 +2570,8 @@ extern __acc_forceinline void __ACC_UA_SET_LE16(void* pp, unsigned long v) {
|
||||
#endif
|
||||
#endif
|
||||
#if (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
|
||||
#define ACC_UA_GET32(p) (* (const acc_uint32e_t*) (const void*) (p))
|
||||
#define ACC_UA_SET32(p,v) (* (acc_uint32e_t*) (void*) (p) = (acc_uint32e_t) (v))
|
||||
#define ACC_UA_GET32(p) (* (__acc_ua_volatile const acc_uint32e_t*) (__acc_ua_volatile const void*) (p))
|
||||
#define ACC_UA_SET32(p,v) (* (__acc_ua_volatile acc_uint32e_t*) (__acc_ua_volatile void*) (p) = (acc_uint32e_t) (v))
|
||||
#if (ACC_ABI_BIG_ENDIAN)
|
||||
# define ACC_UA_GET_BE32(p) ACC_UA_GET32(p)
|
||||
# define ACC_UA_SET_BE32(p,v) ACC_UA_SET32(p,v)
|
||||
@ -2463,8 +2582,9 @@ extern __acc_forceinline void __ACC_UA_SET_LE16(void* pp, unsigned long v) {
|
||||
#if !defined(ACC_CFG_NO_INLINE_ASM) && defined(__acc_forceinline)
|
||||
#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
|
||||
#if !defined(ACC_UA_GET_LE32)
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(const void* pp) {
|
||||
const acc_uint32e_t* p = (const acc_uint32e_t*) pp;
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp);
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
|
||||
__acc_ua_volatile const acc_uint32e_t* p = (__acc_ua_volatile const acc_uint32e_t*) pp;
|
||||
unsigned long v;
|
||||
__asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
|
||||
return v;
|
||||
@ -2472,8 +2592,9 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(const void* pp) {
|
||||
#define ACC_UA_GET_LE32(p) __ACC_UA_GET_LE32(p)
|
||||
#endif
|
||||
#if !defined(ACC_UA_SET_LE32)
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE32(void* pp, unsigned long v) {
|
||||
acc_uint32e_t* p = (acc_uint32e_t*) pp;
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v);
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
|
||||
__acc_ua_volatile acc_uint32e_t* p = (__acc_ua_volatile acc_uint32e_t*) pp;
|
||||
__asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
|
||||
}
|
||||
#define ACC_UA_SET_LE32(p,v) __ACC_UA_SET_LE32(p,v)
|
||||
@ -2485,8 +2606,8 @@ extern __acc_forceinline void __ACC_UA_SET_LE32(void* pp, unsigned long v) {
|
||||
#endif
|
||||
#endif
|
||||
#if (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
|
||||
#define ACC_UA_GET64(p) (* (const acc_uint64l_t*) (const void*) (p))
|
||||
#define ACC_UA_SET64(p,v) (* (acc_uint64l_t*) (void*) (p) = (acc_uint64l_t) (v))
|
||||
#define ACC_UA_GET64(p) (* (__acc_ua_volatile const acc_uint64l_t*) (__acc_ua_volatile const void*) (p))
|
||||
#define ACC_UA_SET64(p,v) (* (__acc_ua_volatile acc_uint64l_t*) (__acc_ua_volatile void*) (p) = (acc_uint64l_t) (v))
|
||||
#if (ACC_ABI_BIG_ENDIAN)
|
||||
# define ACC_UA_GET_BE64(p) ACC_UA_GET64(p)
|
||||
# define ACC_UA_SET_BE64(p,v) ACC_UA_SET64(p,v)
|
||||
@ -2675,6 +2796,37 @@ __acc_gnuc_extension__ typedef unsigned long long acc_ullong_t;
|
||||
# error "acc_intptr_t"
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(acc_word_t)
|
||||
#if defined(ACC_WORDSIZE) && (ACC_WORDSIZE > 0)
|
||||
#if (ACC_WORDSIZE == ACC_SIZEOF_ACC_INTPTR_T) && !defined(__ACC_INTPTR_T_IS_POINTER)
|
||||
# define acc_word_t acc_uintptr_t
|
||||
# define acc_sword_t acc_intptr_t
|
||||
# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_INTPTR_T
|
||||
#elif (ACC_WORDSIZE == ACC_SIZEOF_LONG)
|
||||
# define acc_word_t unsigned long
|
||||
# define acc_sword_t long
|
||||
# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_LONG
|
||||
#elif (ACC_WORDSIZE == ACC_SIZEOF_INT)
|
||||
# define acc_word_t unsigned int
|
||||
# define acc_sword_t int
|
||||
# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_INT
|
||||
#elif (ACC_WORDSIZE == ACC_SIZEOF_SHORT)
|
||||
# define acc_word_t unsigned short
|
||||
# define acc_sword_t short
|
||||
# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_SHORT
|
||||
#elif (ACC_WORDSIZE == 1)
|
||||
# define acc_word_t unsigned char
|
||||
# define acc_sword_t signed char
|
||||
# define ACC_SIZEOF_ACC_WORD_T 1
|
||||
#elif (ACC_WORDSIZE == ACC_SIZEOF_ACC_INT64L_T)
|
||||
# define acc_word_t acc_uint64l_t
|
||||
# define acc_sword_t acc_int64l_t
|
||||
# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_INT64L_T
|
||||
#else
|
||||
# error "acc_word_t"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(ACC_INT16_C)
|
||||
# if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 2)
|
||||
# define ACC_INT16_C(c) ((c) + 0)
|
||||
@ -2744,6 +2896,9 @@ __acc_gnuc_extension__ typedef unsigned long long acc_ullong_t;
|
||||
#if !defined(SIZEOF_ACC_INTPTR_T) && defined(ACC_SIZEOF_ACC_INTPTR_T)
|
||||
# define SIZEOF_ACC_INTPTR_T ACC_SIZEOF_ACC_INTPTR_T
|
||||
#endif
|
||||
#if !defined(SIZEOF_ACC_WORD_T) && defined(ACC_SIZEOF_ACC_WORD_T)
|
||||
# define SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_WORD_T
|
||||
#endif
|
||||
#if 1 && !defined(acc_signo_t) && defined(__linux__) && defined(__dietlibc__) && (ACC_SIZEOF_INT != 4)
|
||||
# define acc_signo_t acc_int32e_t
|
||||
#endif
|
||||
@ -2760,24 +2915,26 @@ typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
|
||||
# if !defined(ACC_CFG_NO_ACC_UA_H)
|
||||
#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
|
||||
#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
|
||||
#elif (ACC_CC_INTELC) && defined(_WIN32)
|
||||
#elif (ACC_CC_INTELC && (__INTEL_COMPILER < 700))
|
||||
#elif (ACC_CC_LLVM)
|
||||
#elif (ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE)
|
||||
#if !defined(__acc_ua16_t) && (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
|
||||
typedef struct { acc_uint16e_t v __attribute__((__packed__)); } __acc_ua16_t;
|
||||
typedef struct { __acc_ua_volatile acc_uint16e_t v __attribute__((__packed__)); } __acc_ua16_t;
|
||||
# define __acc_ua16_t __acc_ua16_t
|
||||
#endif
|
||||
#if !defined(__acc_ua32_t) && (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
|
||||
typedef struct { acc_uint32e_t v __attribute__((__packed__)); } __acc_ua32_t;
|
||||
typedef struct { __acc_ua_volatile acc_uint32e_t v __attribute__((__packed__)); } __acc_ua32_t;
|
||||
# define __acc_ua32_t __acc_ua32_t
|
||||
#endif
|
||||
#if !defined(__acc_ua64_t) && (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
|
||||
typedef struct { acc_uint64l_t v __attribute__((__packed__)); } __acc_ua64_t;
|
||||
typedef struct { __acc_ua_volatile acc_uint64l_t v __attribute__((__packed__)); } __acc_ua64_t;
|
||||
# define __acc_ua64_t __acc_ua64_t
|
||||
#endif
|
||||
#endif
|
||||
#if (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
|
||||
#define ACC_UA_GET16(p) (* (const acc_uint16e_t*) (const void*) (p))
|
||||
#define ACC_UA_SET16(p,v) (* (acc_uint16e_t*) (void*) (p) = (acc_uint16e_t) (v))
|
||||
#define ACC_UA_GET16(p) (* (__acc_ua_volatile const acc_uint16e_t*) (__acc_ua_volatile const void*) (p))
|
||||
#define ACC_UA_SET16(p,v) (* (__acc_ua_volatile acc_uint16e_t*) (__acc_ua_volatile void*) (p) = (acc_uint16e_t) (v))
|
||||
#if (ACC_ABI_BIG_ENDIAN)
|
||||
# define ACC_UA_GET_BE16(p) ACC_UA_GET16(p)
|
||||
# define ACC_UA_SET_BE16(p,v) ACC_UA_SET16(p,v)
|
||||
@ -2788,8 +2945,9 @@ typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
|
||||
#if !defined(ACC_CFG_NO_INLINE_ASM) && defined(__acc_forceinline)
|
||||
#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
|
||||
#if !defined(ACC_UA_GET_LE16)
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(const void* pp) {
|
||||
const acc_uint16e_t* p = (const acc_uint16e_t*) pp;
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp);
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
|
||||
__acc_ua_volatile const acc_uint16e_t* p = (__acc_ua_volatile const acc_uint16e_t*) pp;
|
||||
unsigned long v;
|
||||
__asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
|
||||
return v;
|
||||
@ -2797,8 +2955,9 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(const void* pp) {
|
||||
#define ACC_UA_GET_LE16(p) __ACC_UA_GET_LE16(p)
|
||||
#endif
|
||||
#if !defined(ACC_UA_SET_LE16)
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE16(void* pp, unsigned long v) {
|
||||
acc_uint16e_t* p = (acc_uint16e_t*) pp;
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v);
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
|
||||
__acc_ua_volatile acc_uint16e_t* p = (__acc_ua_volatile acc_uint16e_t*) pp;
|
||||
__asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
|
||||
}
|
||||
#define ACC_UA_SET_LE16(p,v) __ACC_UA_SET_LE16(p,v)
|
||||
@ -2810,8 +2969,8 @@ extern __acc_forceinline void __ACC_UA_SET_LE16(void* pp, unsigned long v) {
|
||||
#endif
|
||||
#endif
|
||||
#if (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
|
||||
#define ACC_UA_GET32(p) (* (const acc_uint32e_t*) (const void*) (p))
|
||||
#define ACC_UA_SET32(p,v) (* (acc_uint32e_t*) (void*) (p) = (acc_uint32e_t) (v))
|
||||
#define ACC_UA_GET32(p) (* (__acc_ua_volatile const acc_uint32e_t*) (__acc_ua_volatile const void*) (p))
|
||||
#define ACC_UA_SET32(p,v) (* (__acc_ua_volatile acc_uint32e_t*) (__acc_ua_volatile void*) (p) = (acc_uint32e_t) (v))
|
||||
#if (ACC_ABI_BIG_ENDIAN)
|
||||
# define ACC_UA_GET_BE32(p) ACC_UA_GET32(p)
|
||||
# define ACC_UA_SET_BE32(p,v) ACC_UA_SET32(p,v)
|
||||
@ -2822,8 +2981,9 @@ extern __acc_forceinline void __ACC_UA_SET_LE16(void* pp, unsigned long v) {
|
||||
#if !defined(ACC_CFG_NO_INLINE_ASM) && defined(__acc_forceinline)
|
||||
#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
|
||||
#if !defined(ACC_UA_GET_LE32)
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(const void* pp) {
|
||||
const acc_uint32e_t* p = (const acc_uint32e_t*) pp;
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp);
|
||||
extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
|
||||
__acc_ua_volatile const acc_uint32e_t* p = (__acc_ua_volatile const acc_uint32e_t*) pp;
|
||||
unsigned long v;
|
||||
__asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
|
||||
return v;
|
||||
@ -2831,8 +2991,9 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(const void* pp) {
|
||||
#define ACC_UA_GET_LE32(p) __ACC_UA_GET_LE32(p)
|
||||
#endif
|
||||
#if !defined(ACC_UA_SET_LE32)
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE32(void* pp, unsigned long v) {
|
||||
acc_uint32e_t* p = (acc_uint32e_t*) pp;
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v);
|
||||
extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
|
||||
__acc_ua_volatile acc_uint32e_t* p = (__acc_ua_volatile acc_uint32e_t*) pp;
|
||||
__asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
|
||||
}
|
||||
#define ACC_UA_SET_LE32(p,v) __ACC_UA_SET_LE32(p,v)
|
||||
@ -2844,8 +3005,8 @@ extern __acc_forceinline void __ACC_UA_SET_LE32(void* pp, unsigned long v) {
|
||||
#endif
|
||||
#endif
|
||||
#if (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
|
||||
#define ACC_UA_GET64(p) (* (const acc_uint64l_t*) (const void*) (p))
|
||||
#define ACC_UA_SET64(p,v) (* (acc_uint64l_t*) (void*) (p) = (acc_uint64l_t) (v))
|
||||
#define ACC_UA_GET64(p) (* (__acc_ua_volatile const acc_uint64l_t*) (__acc_ua_volatile const void*) (p))
|
||||
#define ACC_UA_SET64(p,v) (* (__acc_ua_volatile acc_uint64l_t*) (__acc_ua_volatile void*) (p) = (acc_uint64l_t) (v))
|
||||
#if (ACC_ABI_BIG_ENDIAN)
|
||||
# define ACC_UA_GET_BE64(p) ACC_UA_GET64(p)
|
||||
# define ACC_UA_SET_BE64(p,v) ACC_UA_SET64(p,v)
|
||||
@ -3239,6 +3400,38 @@ ACCLIB_EXTERN(long, acc_hwrite) (int, const acc_hvoid_p, long);
|
||||
#endif
|
||||
ACCLIB_EXTERN(long, acc_safe_hread) (int, acc_hvoid_p, long);
|
||||
ACCLIB_EXTERN(long, acc_safe_hwrite) (int, const acc_hvoid_p, long);
|
||||
ACCLIB_EXTERN(unsigned, acc_ua_get_be16) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_be24) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_be32) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_be16) (acc_hvoid_p, unsigned);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_be24) (acc_hvoid_p, acc_uint32l_t);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_be32) (acc_hvoid_p, acc_uint32l_t);
|
||||
ACCLIB_EXTERN(unsigned, acc_ua_get_le16) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_le24) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_le32) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_le16) (acc_hvoid_p, unsigned);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_le24) (acc_hvoid_p, acc_uint32l_t);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_le32) (acc_hvoid_p, acc_uint32l_t);
|
||||
#if defined(acc_int64l_t)
|
||||
ACCLIB_EXTERN(acc_uint64l_t, acc_ua_get_be64) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_be64) (acc_hvoid_p, acc_uint64l_t);
|
||||
ACCLIB_EXTERN(acc_uint64l_t, acc_ua_get_le64) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_le64) (acc_hvoid_p, acc_uint64l_t);
|
||||
#endif
|
||||
ACCLIB_EXTERN_NOINLINE(int, acc_vget_int) (int, int);
|
||||
ACCLIB_EXTERN_NOINLINE(long, acc_vget_long) (long, int);
|
||||
#if defined(acc_int64l_t)
|
||||
ACCLIB_EXTERN_NOINLINE(acc_int64l_t, acc_vget_acc_int64l_t) (acc_int64l_t, int);
|
||||
#endif
|
||||
ACCLIB_EXTERN_NOINLINE(acc_hsize_t, acc_vget_acc_hsize_t) (acc_hsize_t, int);
|
||||
#if !defined(ACC_CFG_NO_FLOAT)
|
||||
ACCLIB_EXTERN_NOINLINE(float, acc_vget_float) (float, int);
|
||||
#endif
|
||||
#if !defined(ACC_CFG_NO_DOUBLE)
|
||||
ACCLIB_EXTERN_NOINLINE(double, acc_vget_double) (double, int);
|
||||
#endif
|
||||
ACCLIB_EXTERN_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_p) (acc_hvoid_p, int);
|
||||
ACCLIB_EXTERN_NOINLINE(const acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p, int);
|
||||
#if !defined(ACC_FN_PATH_MAX)
|
||||
#if (ACC_OS_DOS16 || ACC_OS_WIN16)
|
||||
# define ACC_FN_PATH_MAX 143
|
||||
@ -3249,7 +3442,7 @@ ACCLIB_EXTERN(long, acc_safe_hwrite) (int, const acc_hvoid_p, long);
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(ACC_FN_PATH_MAX)
|
||||
# define ACC_FN_PATH_MAX 1024
|
||||
# define ACC_FN_PATH_MAX 1023
|
||||
#endif
|
||||
#if !defined(ACC_FN_NAME_MAX)
|
||||
#if (ACC_OS_DOS16 || ACC_OS_WIN16)
|
||||
@ -3364,7 +3557,10 @@ ACCLIB_EXTERN_NOINLINE(void, acc_debug_nop) (void);
|
||||
ACCLIB_EXTERN_NOINLINE(int, acc_debug_align_check_query) (void);
|
||||
ACCLIB_EXTERN_NOINLINE(int, acc_debug_align_check_enable) (int);
|
||||
ACCLIB_EXTERN_NOINLINE(int, acc_debug_running_on_valgrind) (void);
|
||||
#if defined(acc_int64l_t)
|
||||
#if !defined(acc_int64l_t) || defined(ACC_CFG_NO_DOUBLE)
|
||||
# undef __ACCLIB_UCLOCK_USE_RDTSC
|
||||
# undef __ACCLIB_UCLOCK_USE_PERFCTR
|
||||
#else
|
||||
typedef struct {
|
||||
void* h;
|
||||
int mode;
|
||||
@ -3389,19 +3585,20 @@ typedef struct {
|
||||
ACCLIB_EXTERN(int, acc_perfctr_open) (acc_perfctr_handle_p);
|
||||
ACCLIB_EXTERN(int, acc_perfctr_close) (acc_perfctr_handle_p);
|
||||
ACCLIB_EXTERN(void, acc_perfctr_read) (acc_perfctr_handle_p, acc_perfctr_clock_p);
|
||||
#if !defined(ACC_CFG_NO_DOUBLE)
|
||||
ACCLIB_EXTERN(double, acc_perfctr_get_elapsed) (acc_perfctr_handle_p, const acc_perfctr_clock_p, const acc_perfctr_clock_p);
|
||||
ACCLIB_EXTERN(double, acc_perfctr_get_elapsed_tsc) (acc_perfctr_handle_p, acc_uint64l_t);
|
||||
#endif
|
||||
ACCLIB_EXTERN(int, acc_perfctr_flush_cpu_cache) (acc_perfctr_handle_p, unsigned);
|
||||
#else
|
||||
# undef __ACCLIB_UCLOCK_USE_RDTSC
|
||||
# undef __ACCLIB_UCLOCK_USE_PERFCTR
|
||||
#endif
|
||||
#if defined(acc_int32e_t)
|
||||
ACCLIB_EXTERN(int, acc_tsc_read) (acc_uint32e_t*);
|
||||
#else
|
||||
# undef __ACCLIB_UCLOCK_USE_RDTSC
|
||||
#endif
|
||||
#if (ACC_OS_CYGWIN || ACC_OS_EMX || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)
|
||||
#if !defined(acc_int64l_t) || defined(ACC_CFG_NO_DOUBLE)
|
||||
# undef __ACCLIB_UCLOCK_USE_QPC
|
||||
#elif (ACC_OS_CYGWIN || ACC_OS_EMX || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H)
|
||||
# define __ACCLIB_UCLOCK_USE_QPC 1
|
||||
#else
|
||||
# undef __ACCLIB_UCLOCK_USE_QPC
|
||||
@ -3420,7 +3617,9 @@ typedef struct {
|
||||
union {
|
||||
acc_uint32l_t t32;
|
||||
#if !(ACC_OS_DOS16 || ACC_OS_WIN16)
|
||||
# if !defined(ACC_CFG_NO_DOUBLE)
|
||||
double td;
|
||||
# endif
|
||||
# if defined(acc_int64l_t)
|
||||
acc_int64l_t t64;
|
||||
# endif
|
||||
@ -3445,26 +3644,10 @@ typedef struct {
|
||||
ACCLIB_EXTERN(int, acc_uclock_open) (acc_uclock_handle_p);
|
||||
ACCLIB_EXTERN(int, acc_uclock_close) (acc_uclock_handle_p);
|
||||
ACCLIB_EXTERN(void, acc_uclock_read) (acc_uclock_handle_p, acc_uclock_p);
|
||||
#if !defined(ACC_CFG_NO_DOUBLE)
|
||||
ACCLIB_EXTERN(double, acc_uclock_get_elapsed) (acc_uclock_handle_p, const acc_uclock_p, const acc_uclock_p);
|
||||
ACCLIB_EXTERN(int, acc_uclock_flush_cpu_cache) (acc_uclock_handle_p, unsigned);
|
||||
ACCLIB_EXTERN(unsigned, acc_ua_get_be16) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_be24) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_be32) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_be16) (acc_hvoid_p, unsigned);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_be24) (acc_hvoid_p, acc_uint32l_t);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_be32) (acc_hvoid_p, acc_uint32l_t);
|
||||
ACCLIB_EXTERN(unsigned, acc_ua_get_le16) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_le24) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_le32) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_le16) (acc_hvoid_p, unsigned);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_le24) (acc_hvoid_p, acc_uint32l_t);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_le32) (acc_hvoid_p, acc_uint32l_t);
|
||||
#if defined(acc_int64l_t)
|
||||
ACCLIB_EXTERN(acc_uint64l_t, acc_ua_get_be64) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_be64) (acc_hvoid_p, acc_uint64l_t);
|
||||
ACCLIB_EXTERN(acc_uint64l_t, acc_ua_get_le64) (const acc_hvoid_p);
|
||||
ACCLIB_EXTERN(void, acc_ua_set_le64) (acc_hvoid_p, acc_uint64l_t);
|
||||
#endif
|
||||
ACCLIB_EXTERN(int, acc_uclock_flush_cpu_cache) (acc_uclock_handle_p, unsigned);
|
||||
typedef struct {
|
||||
const char* name;
|
||||
int has_arg;
|
||||
@ -3708,9 +3891,18 @@ ACCLIB_EXTERN(int, acc_spawnve) (int mode, const char* fn, const char* const * a
|
||||
# endif
|
||||
#endif
|
||||
ACCCHK_ASSERT(1 == 1)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1UL,2) == 3)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1UL,8) == 255)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1UL,16) == 0xffffU)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1U,2) == 3)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1U,8) == 255)
|
||||
#if (SIZEOF_INT >= 2)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1,15) == 32767)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1U,16) == 0xffffU)
|
||||
#else
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1UL,16) == 0xffffUL)
|
||||
#endif
|
||||
#if (SIZEOF_INT >= 4)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1,31) == 2147483647)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1U,32) == 0xffffffffU)
|
||||
#endif
|
||||
#if (SIZEOF_LONG >= 4)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1UL,32) == 0xffffffffUL)
|
||||
#endif
|
||||
@ -3718,7 +3910,7 @@ ACCLIB_EXTERN(int, acc_spawnve) (int mode, const char* fn, const char* const * a
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1UL,64) == 0xffffffffffffffffUL)
|
||||
#endif
|
||||
#if !defined(ACC_BROKEN_INTEGRAL_PROMOTION)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1UL,SIZEOF_INT*8) == ~(0u))
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1U,SIZEOF_INT*8) == ~(0u))
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1UL,SIZEOF_LONG*8) == ~(0ul))
|
||||
#endif
|
||||
ACCCHK_ASSERT(((-1) >> 7) == -1)
|
||||
@ -3924,6 +4116,13 @@ ACCLIB_EXTERN(int, acc_spawnve) (int mode, const char* fn, const char* const * a
|
||||
ACCCHK_ASSERT(sizeof(acc_intptr_t) >= sizeof(void *))
|
||||
ACCCHK_ASSERT(sizeof(acc_intptr_t) == SIZEOF_ACC_INTPTR_T)
|
||||
ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(acc_uintptr_t))
|
||||
#if defined(acc_word_t)
|
||||
ACCCHK_ASSERT(ACC_WORDSIZE == SIZEOF_ACC_WORD_T)
|
||||
ACCCHK_ASSERT_IS_UNSIGNED_T(acc_word_t)
|
||||
ACCCHK_ASSERT_IS_SIGNED_T(acc_sword_t)
|
||||
ACCCHK_ASSERT(sizeof(acc_word_t) == SIZEOF_ACC_WORD_T)
|
||||
ACCCHK_ASSERT(sizeof(acc_word_t) == sizeof(acc_sword_t))
|
||||
#endif
|
||||
#if defined(ACC_INT16_C)
|
||||
ACCCHK_ASSERT(sizeof(ACC_INT16_C(0)) >= 2)
|
||||
ACCCHK_ASSERT(sizeof(ACC_UINT16_C(0)) >= 2)
|
||||
@ -4259,6 +4458,77 @@ ACCLIB_PUBLIC(void, acc_ua_set_le64) (acc_hvoid_p p, acc_uint64l_t v)
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
#if defined(ACC_WANT_ACCLIB_VGET)
|
||||
# undef ACC_WANT_ACCLIB_VGET
|
||||
#define __ACCLIB_VGET_CH_INCLUDED 1
|
||||
#if !defined(ACCLIB_PUBLIC)
|
||||
# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
|
||||
#endif
|
||||
#if !defined(ACCLIB_PUBLIC_NOINLINE)
|
||||
# if defined(__acc_noinline)
|
||||
# define ACCLIB_PUBLIC_NOINLINE(r,f) __acc_noinline r __ACCLIB_FUNCNAME(f)
|
||||
# else
|
||||
# define ACCLIB_PUBLIC_NOINLINE(r,f) r __ACCLIB_FUNCNAME(f)
|
||||
# endif
|
||||
#endif
|
||||
extern void* volatile __acc_vget_ptr;
|
||||
void* volatile __acc_vget_ptr = (void *) 0;
|
||||
#ifndef __ACC_VGET_BODY
|
||||
#define __ACC_VGET_BODY(T) \
|
||||
if __acc_unlikely(__acc_vget_ptr) { \
|
||||
* (T *) __acc_vget_ptr = v; \
|
||||
* (int *) __acc_vget_ptr = expr; \
|
||||
v = * (T *) __acc_vget_ptr; \
|
||||
} \
|
||||
return v;
|
||||
#endif
|
||||
ACCLIB_PUBLIC_NOINLINE(int, acc_vget_int) (int v, int expr)
|
||||
{
|
||||
__ACC_VGET_BODY(int)
|
||||
}
|
||||
ACCLIB_PUBLIC_NOINLINE(long, acc_vget_long) (long v, int expr)
|
||||
{
|
||||
__ACC_VGET_BODY(long)
|
||||
}
|
||||
#if defined(acc_int64l_t)
|
||||
ACCLIB_PUBLIC_NOINLINE(acc_int64l_t, acc_vget_acc_int64l_t) (acc_int64l_t v, int expr)
|
||||
{
|
||||
__ACC_VGET_BODY(acc_int64l_t)
|
||||
}
|
||||
#endif
|
||||
ACCLIB_PUBLIC_NOINLINE(acc_hsize_t, acc_vget_acc_hsize_t) (acc_hsize_t v, int expr)
|
||||
{
|
||||
__ACC_VGET_BODY(acc_hsize_t)
|
||||
}
|
||||
#if !defined(ACC_CFG_NO_FLOAT)
|
||||
ACCLIB_PUBLIC_NOINLINE(float, acc_vget_float) (float v, int expr)
|
||||
{
|
||||
__ACC_VGET_BODY(float)
|
||||
}
|
||||
#endif
|
||||
#if !defined(ACC_CFG_NO_DOUBLE)
|
||||
ACCLIB_PUBLIC_NOINLINE(double, acc_vget_double) (double v, int expr)
|
||||
{
|
||||
__ACC_VGET_BODY(double)
|
||||
}
|
||||
#endif
|
||||
ACCLIB_PUBLIC_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_p) (acc_hvoid_p v, int expr)
|
||||
{
|
||||
__ACC_VGET_BODY(acc_hvoid_p)
|
||||
}
|
||||
#if (ACC_ARCH_I086 && ACC_CC_TURBOC && (__TURBOC__ == 0x0295)) && !defined(__cplusplus)
|
||||
ACCLIB_PUBLIC_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p vv, int expr)
|
||||
{
|
||||
acc_hvoid_p v = (acc_hvoid_p) vv;
|
||||
__ACC_VGET_BODY(acc_hvoid_p)
|
||||
}
|
||||
#else
|
||||
ACCLIB_PUBLIC_NOINLINE(const acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p v, int expr)
|
||||
{
|
||||
__ACC_VGET_BODY(const acc_hvoid_p)
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
#if defined(ACC_WANT_ACCLIB_HMEMCPY)
|
||||
# undef ACC_WANT_ACCLIB_HMEMCPY
|
||||
#define __ACCLIB_HMEMCPY_CH_INCLUDED 1
|
||||
@ -4410,7 +4680,7 @@ ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt) (acc_randmt_p r)
|
||||
ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt_r32) (acc_randmt_p r)
|
||||
{
|
||||
acc_uint32l_t v;
|
||||
if (r->n == 624) {
|
||||
if __acc_unlikely(r->n == 624) {
|
||||
int i = 0, j;
|
||||
r->n = 0;
|
||||
do {
|
||||
@ -4448,7 +4718,7 @@ ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt64) (acc_randmt64_p r)
|
||||
ACCLIB_PUBLIC(acc_uint64l_t, acc_randmt64_r64) (acc_randmt64_p r)
|
||||
{
|
||||
acc_uint64l_t v;
|
||||
if (r->n == 312) {
|
||||
if __acc_unlikely(r->n == 312) {
|
||||
int i = 0, j;
|
||||
r->n = 0;
|
||||
do {
|
||||
@ -4928,6 +5198,8 @@ ACCLIB_PUBLIC(long, acc_safe_hwrite) (int fd, const acc_hvoid_p buf, long size)
|
||||
# define __ACCLIB_UCLOCK_USE_CLOCK 1
|
||||
#elif (ACC_OS_CONSOLE) && defined(CLOCKS_PER_SEC)
|
||||
# define __ACCLIB_UCLOCK_USE_CLOCK 1
|
||||
#elif (ACC_LIBC_ISOC90 || ACC_LIBC_ISOC99) && defined(CLOCKS_PER_SEC)
|
||||
# define __ACCLIB_UCLOCK_USE_CLOCK 1
|
||||
#endif
|
||||
#if (__ACCLIB_UCLOCK_USE_CLOCK) && !defined(CLOCKS_PER_SEC)
|
||||
# if defined(CLK_TCK)
|
||||
@ -5062,7 +5334,13 @@ ACCLIB_PUBLIC(double, acc_uclock_get_elapsed) (acc_uclock_handle_p h, const acc_
|
||||
d = (double) (stop->ticks.t64 - start->ticks.t64) / (UCLOCKS_PER_SEC);
|
||||
#elif (__ACCLIB_UCLOCK_USE_CLOCK) && defined(acc_int64l_t)
|
||||
h->mode = 13;
|
||||
d = (double) (stop->ticks.t64 - start->ticks.t64) / (CLOCKS_PER_SEC);
|
||||
{
|
||||
acc_int64l_t t;
|
||||
t = stop->ticks.t64 - start->ticks.t64;
|
||||
if (t < 0)
|
||||
t += sizeof(clock_t) == 4 ? ACC_INT64_C(0x100000000) : ACC_INT64_C(0);
|
||||
d = (double) t / (CLOCKS_PER_SEC);
|
||||
}
|
||||
#elif (__ACCLIB_UCLOCK_USE_CLOCK)
|
||||
h->mode = 14;
|
||||
d = (double) (stop->ticks.t32 - start->ticks.t32) / (CLOCKS_PER_SEC);
|
||||
@ -5291,7 +5569,7 @@ ACCLIB_PUBLIC_NOINLINE(void, acc_debug_break) (void)
|
||||
#elif (ACC_OS_WIN32) && (ACC_HAVE_WINDOWS_H)
|
||||
DebugBreak();
|
||||
#else
|
||||
* (int *) 0x1 = -1;
|
||||
* (volatile int *) 0x1 = -1;
|
||||
#endif
|
||||
}
|
||||
ACCLIB_PUBLIC_NOINLINE(void, acc_debug_nop) (void)
|
||||
@ -5387,8 +5665,18 @@ ACC_EXTERN_C int __acc_cdecl _setargv(void) { return __setargv(); }
|
||||
#define __ACCLIB_HAVE_ACC_WILDARGV 1
|
||||
ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
|
||||
{
|
||||
_response(argc, argv);
|
||||
_wildcard(argc, argv);
|
||||
if (argc && argv) {
|
||||
_response(argc, argv);
|
||||
_wildcard(argc, argv);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#if (ACC_OS_CONSOLE_PSP) && defined(__PSPSDK_DEBUG__)
|
||||
#define __ACCLIB_HAVE_ACC_WILDARGV 1
|
||||
ACC_EXTERN_C int acc_psp_init_module(int*, char***, int);
|
||||
ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
|
||||
{
|
||||
acc_psp_init_module(argc, argv, -1);
|
||||
}
|
||||
#endif
|
||||
#if !defined(__ACCLIB_HAVE_ACC_WILDARGV)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user