New ACC version.
committer: mfx <mfx> 1060699213 +0000
This commit is contained in:
+1
-1
@@ -25,7 +25,7 @@
|
|||||||
#ifndef __ACC_H_INCLUDED
|
#ifndef __ACC_H_INCLUDED
|
||||||
#define __ACC_H_INCLUDED
|
#define __ACC_H_INCLUDED
|
||||||
|
|
||||||
#define ACC_VERSION 20030803L
|
#define ACC_VERSION 20030811L
|
||||||
|
|
||||||
#if !defined(ACC_CONFIG_INCLUDE)
|
#if !defined(ACC_CONFIG_INCLUDE)
|
||||||
# define ACC_CONFIG_INCLUDE(file) file
|
# define ACC_CONFIG_INCLUDE(file) file
|
||||||
|
|||||||
@@ -230,6 +230,10 @@
|
|||||||
|
|
||||||
|
|
||||||
ACCCHK_ASSERT(sizeof(acc_int32l_t) >= sizeof(int))
|
ACCCHK_ASSERT(sizeof(acc_int32l_t) >= sizeof(int))
|
||||||
|
#if defined(acc_int32e_t)
|
||||||
|
ACCCHK_ASSERT(sizeof(acc_int32l_t) >= sizeof(acc_int32e_t))
|
||||||
|
#endif
|
||||||
|
|
||||||
ACCCHK_ASSERT(sizeof(acc_int32l_t) >= 4)
|
ACCCHK_ASSERT(sizeof(acc_int32l_t) >= 4)
|
||||||
ACCCHK_ASSERT(sizeof(acc_int32l_t) == SIZEOF_ACC_INT32L_T)
|
ACCCHK_ASSERT(sizeof(acc_int32l_t) == SIZEOF_ACC_INT32L_T)
|
||||||
ACCCHK_ASSERT(sizeof(acc_uint32l_t) >= 4)
|
ACCCHK_ASSERT(sizeof(acc_uint32l_t) >= 4)
|
||||||
@@ -254,6 +258,11 @@
|
|||||||
|
|
||||||
|
|
||||||
ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(int))
|
ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(int))
|
||||||
|
#if defined(acc_int32e_t)
|
||||||
|
ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32e_t))
|
||||||
|
#endif
|
||||||
|
ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
|
||||||
|
|
||||||
ACCCHK_ASSERT(sizeof(acc_int32f_t) >= 4)
|
ACCCHK_ASSERT(sizeof(acc_int32f_t) >= 4)
|
||||||
ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
|
ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
|
||||||
ACCCHK_ASSERT(sizeof(acc_int32f_t) == SIZEOF_ACC_INT32F_T)
|
ACCCHK_ASSERT(sizeof(acc_int32f_t) == SIZEOF_ACC_INT32F_T)
|
||||||
|
|||||||
@@ -0,0 +1,96 @@
|
|||||||
|
/* ACC -- Automatic Compiler Configuration
|
||||||
|
|
||||||
|
Copyright (C) 1996-2003 Markus Franz Xaver Johannes Oberhumer
|
||||||
|
All Rights Reserved.
|
||||||
|
|
||||||
|
This software is a copyrighted work licensed under the terms of
|
||||||
|
the GNU General Public License. Please consult the file "ACC_LICENSE"
|
||||||
|
for details.
|
||||||
|
|
||||||
|
Markus F.X.J. Oberhumer
|
||||||
|
<markus@oberhumer.com>
|
||||||
|
http://www.oberhumer.com/
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __ACC_CXX_H_INCLUDED
|
||||||
|
#define __ACC_CXX_H_INCLUDED
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
//
|
||||||
|
**************************************************************************/
|
||||||
|
|
||||||
|
#if !defined(ACC_CXX_NOTHROW)
|
||||||
|
# define ACC_CXX_NOTHROW throw()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
// disable dynamic allocation of an object
|
||||||
|
**************************************************************************/
|
||||||
|
|
||||||
|
#if defined(new) || defined(delete)
|
||||||
|
#elif (ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
|
||||||
|
#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x029000ul))
|
||||||
|
#else
|
||||||
|
# define __ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_NEW \
|
||||||
|
static void* operator new(size_t, void*);
|
||||||
|
# if (ACC_CC_GNUC >= 0x030000ul)
|
||||||
|
# define __ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_DELETE \
|
||||||
|
static void operator delete(void*, void*) ACC_CXX_NOTHROW { }
|
||||||
|
# elif (ACC_CC_INTELC)
|
||||||
|
# define __ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_DELETE \
|
||||||
|
static void operator delete(void*, void*) ACC_CXX_NOTHROW { }
|
||||||
|
# elif (ACC_CC_MSC && (_MSC_VER >= 1200))
|
||||||
|
# define __ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_DELETE \
|
||||||
|
static void operator delete(void*, void*) ACC_CXX_NOTHROW { }
|
||||||
|
# endif
|
||||||
|
# if !defined(__ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_NEW)
|
||||||
|
# define __ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_NEW
|
||||||
|
# undef __ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_DELETE
|
||||||
|
# endif
|
||||||
|
# if !defined(__ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_DELETE)
|
||||||
|
# define __ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_DELETE
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# define ACC_CXX_DISABLE_NEW_DELETE \
|
||||||
|
private: \
|
||||||
|
static void* operator new(size_t); \
|
||||||
|
static void* operator new[](size_t); \
|
||||||
|
protected: \
|
||||||
|
static void operator delete(void*) ACC_CXX_NOTHROW { } \
|
||||||
|
static void operator delete[](void*) ACC_CXX_NOTHROW { } \
|
||||||
|
private:
|
||||||
|
|
||||||
|
# define ACC_CXX_DISABLE_NEW_DELETE_STRICT \
|
||||||
|
private: \
|
||||||
|
static void* operator new(size_t); \
|
||||||
|
static void* operator new[](size_t); \
|
||||||
|
__ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_NEW \
|
||||||
|
protected: \
|
||||||
|
static void operator delete(void*) ACC_CXX_NOTHROW { } \
|
||||||
|
static void operator delete[](void*) ACC_CXX_NOTHROW { } \
|
||||||
|
__ACC_CXX_DISABLE_NEW_DELETE_PLACEMENT_DELETE \
|
||||||
|
private:
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(ACC_CXX_DISABLE_NEW_DELETE)
|
||||||
|
# define ACC_CXX_DISABLE_NEW_DELETE private:
|
||||||
|
#endif
|
||||||
|
#if !defined(ACC_CXX_DISABLE_NEW_DELETE_STRICT)
|
||||||
|
# define ACC_CXX_DISABLE_NEW_DELETE_STRICT ACC_CXX_DISABLE_NEW_DELETE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
#endif /* already included */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
vi:ts=4:et
|
||||||
|
*/
|
||||||
@@ -90,6 +90,7 @@ ACCLIB_EXTERN(long, acc_hwrite) (int fd, const acc_hvoid_p buf, long size);
|
|||||||
#elif (ACC_OS_TOS)
|
#elif (ACC_OS_TOS)
|
||||||
# define ACC_FN_PATH_MAX 259
|
# define ACC_FN_PATH_MAX 259
|
||||||
#else
|
#else
|
||||||
|
/* arbitrary limit for acclib implementation */
|
||||||
# define ACC_FN_PATH_MAX 1024
|
# define ACC_FN_PATH_MAX 1024
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -181,6 +182,7 @@ ACCLIB_EXTERN(int, acc_closedir) (acc_dir_t* d);
|
|||||||
// wrap misc
|
// wrap misc
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|
||||||
|
#undef acc_alloca
|
||||||
#if defined(__CYGWIN__) || defined(__MINGW32__)
|
#if defined(__CYGWIN__) || defined(__MINGW32__)
|
||||||
# define acc_alloca(x) __builtin_alloca((x))
|
# define acc_alloca(x) __builtin_alloca((x))
|
||||||
#elif defined(__BORLANDC__) && defined(__linux__)
|
#elif defined(__BORLANDC__) && defined(__linux__)
|
||||||
@@ -202,6 +204,32 @@ ACCLIB_EXTERN(int, acc_set_binmode) (int fd, int binary);
|
|||||||
#endif
|
#endif
|
||||||
ACCLIB_EXTERN(acc_uclock_t, acc_uclock) (void);
|
ACCLIB_EXTERN(acc_uclock_t, acc_uclock) (void);
|
||||||
|
|
||||||
|
ACCLIB_EXTERN(unsigned, acc_get_be16) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(acc_uint32l_t, acc_get_be24) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(acc_uint32l_t, acc_get_be32) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_be16) (acc_hvoid_p, unsigned);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_be24) (acc_hvoid_p, acc_uint32l_t);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_be32) (acc_hvoid_p, acc_uint32l_t);
|
||||||
|
ACCLIB_EXTERN(unsigned, acc_get_le16) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(acc_uint32l_t, acc_get_le24) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_le16) (acc_hvoid_p, unsigned);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_le24) (acc_hvoid_p, acc_uint32l_t);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_le32) (acc_hvoid_p, acc_uint32l_t);
|
||||||
|
#if defined(acc_uint64l_t)
|
||||||
|
ACCLIB_EXTERN(acc_uint64l_t, acc_get_be64) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_be64) (acc_hvoid_p, acc_uint64l_t);
|
||||||
|
ACCLIB_EXTERN(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_le64) (acc_hvoid_p, acc_uint64l_t);
|
||||||
|
#endif
|
||||||
|
/* inline versions */
|
||||||
|
#if (ACC_ARCH_IA32)
|
||||||
|
# define ACC_GET_LE16(p) (* (const unsigned short *) (p))
|
||||||
|
# define ACC_GET_LE32(p) (* (const unsigned int *) (p))
|
||||||
|
# define ACC_SET_LE16(p,v) (* (unsigned short *) (p) = (unsigned short) (v))
|
||||||
|
# define ACC_SET_LE32(p,v) (* (unsigned int *) (p) = (unsigned int) (v))
|
||||||
|
#endif
|
||||||
|
|
||||||
ACCLIB_EXTERN(acc_int32l_t, acc_muldiv32) (acc_int32l_t, acc_int32l_t, acc_int32l_t);
|
ACCLIB_EXTERN(acc_int32l_t, acc_muldiv32) (acc_int32l_t, acc_int32l_t, acc_int32l_t);
|
||||||
ACCLIB_EXTERN(acc_uint32l_t, acc_umuldiv32) (acc_uint32l_t, acc_uint32l_t, acc_uint32l_t);
|
ACCLIB_EXTERN(acc_uint32l_t, acc_umuldiv32) (acc_uint32l_t, acc_uint32l_t, acc_uint32l_t);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
/* ACC -- Automatic Compiler Configuration
|
||||||
|
|
||||||
|
Copyright (C) 1996-2003 Markus Franz Xaver Johannes Oberhumer
|
||||||
|
All Rights Reserved.
|
||||||
|
|
||||||
|
This software is a copyrighted work licensed under the terms of
|
||||||
|
the GNU General Public License. Please consult the file "ACC_LICENSE"
|
||||||
|
for details.
|
||||||
|
|
||||||
|
Markus F.X.J. Oberhumer
|
||||||
|
<markus@oberhumer.com>
|
||||||
|
http://www.oberhumer.com/
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(ACCLIB_PUBLIC)
|
||||||
|
# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
// FIXME
|
||||||
|
**************************************************************************/
|
||||||
|
|
||||||
|
ACCLIB_EXTERN(unsigned, acc_get_be16) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(acc_uint32l_t, acc_get_be24) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(acc_uint32l_t, acc_get_be32) (const acc_hvoid_p);
|
||||||
|
|
||||||
|
ACCLIB_EXTERN(void, acc_set_be16) (acc_hvoid_p, unsigned v);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_be24) (acc_hvoid_p, acc_uint32l_t v);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_be32) (acc_hvoid_p, acc_uint32l_t v);
|
||||||
|
|
||||||
|
ACCLIB_EXTERN(unsigned, acc_get_le16) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(acc_uint32l_t, acc_get_le24) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p);
|
||||||
|
|
||||||
|
ACCLIB_EXTERN(void, acc_set_le16) (acc_hvoid_p, unsigned v);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_le24) (acc_hvoid_p, acc_uint32l_t v);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_le32) (acc_hvoid_p, acc_uint32l_t v);
|
||||||
|
|
||||||
|
#if defined(acc_uint64l_t)
|
||||||
|
ACCLIB_EXTERN(acc_uint64l_t, acc_get_be64) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_be64) (acc_hvoid_p, acc_uint64l_t v);
|
||||||
|
|
||||||
|
ACCLIB_EXTERN(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p);
|
||||||
|
ACCLIB_EXTERN(void, acc_set_le64) (acc_hvoid_p, acc_uint64l_t v);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
vi:ts=4:et
|
||||||
|
*/
|
||||||
@@ -150,6 +150,35 @@ ACCLIB_PUBLIC(int, acc_mkdir) (const char* name, unsigned mode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ACCLIB_PUBLIC(acc_int32l_t, acc_muldiv32) (acc_int32l_t a, acc_int32l_t b, acc_int32l_t x)
|
||||||
|
{
|
||||||
|
acc_int32l_t r = 0;
|
||||||
|
if (x == 0)
|
||||||
|
return r;
|
||||||
|
#if (SIZEOF_ACC_INT32L_T > 4)
|
||||||
|
if (a > ACC_INT32L_C(2147483647) || b > (ACC_INT32L_C(-2147483647) - 1))
|
||||||
|
return r;
|
||||||
|
#endif
|
||||||
|
/* FIXME */
|
||||||
|
ACC_UNUSED(a); ACC_UNUSED(b);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
ACCLIB_PUBLIC(acc_uint32l_t, acc_umuldiv32) (acc_uint32l_t a, acc_uint32l_t b, acc_uint32l_t x)
|
||||||
|
{
|
||||||
|
acc_uint32l_t r = 0;
|
||||||
|
if (x == 0)
|
||||||
|
return r;
|
||||||
|
#if (SIZEOF_ACC_INT32L_T > 4)
|
||||||
|
if (a > ACC_UINT32L_C(0xffffffff) || b > ACC_UINT32L_C(0xffffffff))
|
||||||
|
return r;
|
||||||
|
#endif
|
||||||
|
/* FIXME */
|
||||||
|
ACC_UNUSED(a); ACC_UNUSED(b);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
vi:ts=4:et
|
vi:ts=4:et
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user