mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
New ACC version.
committer: mfx <mfx> 1075803957 +0000
This commit is contained in:
parent
1018a96b31
commit
8b2e7ffe0b
|
@ -27,7 +27,7 @@
|
|||
#ifndef __ACC_H_INCLUDED
|
||||
#define __ACC_H_INCLUDED 1
|
||||
|
||||
#define ACC_VERSION 20040113L
|
||||
#define ACC_VERSION 20040202L
|
||||
|
||||
#if !defined(ACC_CONFIG_INCLUDE)
|
||||
# define ACC_CONFIG_INCLUDE(file) file
|
||||
|
@ -55,7 +55,7 @@
|
|||
# endif
|
||||
#endif
|
||||
#if 0 && defined(__WATCOMC__)
|
||||
# if (__WATCOMC__ < 1000)
|
||||
# if (__WATCOMC__ < 1060)
|
||||
# pragma warning 203 9 /* W203: Preprocessing symbol '%s' has not been declared */
|
||||
# endif
|
||||
#endif
|
||||
|
|
|
@ -181,10 +181,16 @@
|
|||
# undef HAVE_UTIME_H
|
||||
# define HAVE_SYS_UTIME_H 1
|
||||
#elif (ACC_OS_WIN32 && ACC_CC_MWERKS) && defined(__MSL__)
|
||||
# define HAVE_ALLOCA_H 1
|
||||
# undef HAVE_DOS_H
|
||||
# undef HAVE_SHARE_H
|
||||
# undef HAVE_SYS_TIME_H
|
||||
# define HAVE_ALLOCA_H 1
|
||||
#elif (ACC_CC_NDPC)
|
||||
# undef HAVE_DIRENT_H
|
||||
# undef HAVE_DOS_H
|
||||
# undef HAVE_UNISTD_H
|
||||
# undef HAVE_UTIME_H
|
||||
# undef HAVE_SYS_TIME_H
|
||||
#elif (ACC_CC_PACIFICC)
|
||||
# undef HAVE_DIRECT_H
|
||||
# undef HAVE_DIRENT_H
|
||||
|
@ -323,6 +329,10 @@
|
|||
# undef HAVE_LSTAT
|
||||
# endif
|
||||
#elif (ACC_OS_CYGWIN)
|
||||
# if (ACC_CC_GNUC < 0x025a00ul)
|
||||
# undef HAVE_GETTIMEOFDAY
|
||||
# undef HAVE_LSTAT
|
||||
# endif
|
||||
# if (ACC_CC_GNUC < 0x025f00ul)
|
||||
# undef HAVE_SNPRINTF
|
||||
# undef HAVE_VSNPRINTF
|
||||
|
@ -421,7 +431,18 @@
|
|||
# define vsnprintf _vsnprintf
|
||||
# endif
|
||||
#elif (ACC_OS_WIN32 && ACC_CC_MWERKS) && defined(__MSL__)
|
||||
# undef HAVE_SETMODE
|
||||
# if (__MSL__ < 0x8000ul)
|
||||
# undef HAVE_CHMOD /* <unix.h> which in turn pulls in <windows.h> */
|
||||
# endif
|
||||
#elif (ACC_CC_NDPC)
|
||||
# undef HAVE_ALLOCA
|
||||
# undef HAVE_SNPRINTF
|
||||
# undef HAVE_STRNICMP
|
||||
# undef HAVE_UTIME
|
||||
# undef HAVE_VSNPRINTF
|
||||
# if defined(__cplusplus)
|
||||
# undef HAVE_STAT
|
||||
# endif
|
||||
#elif (ACC_CC_PACIFICC)
|
||||
# undef HAVE_ACCESS
|
||||
# undef HAVE_ALLOCA
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#if defined(__INTEL_COMPILER)
|
||||
# define ACC_CC_INTELC 1
|
||||
# define ACC_INFO_CC "Intel C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__INTEL_COMPILER)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__INTEL_COMPILER)
|
||||
#elif defined(__GNUC__) && defined(__VERSION__)
|
||||
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
|
||||
# define ACC_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
|
||||
|
@ -38,19 +38,19 @@
|
|||
#elif defined(__AZTEC_C__)
|
||||
# define ACC_CC_AZTECC 1
|
||||
# define ACC_INFO_CC "Aztec C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__AZTEC_C__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__AZTEC_C__)
|
||||
#elif defined(__BORLANDC__)
|
||||
# define ACC_CC_BORLANDC 1
|
||||
# define ACC_INFO_CC "Borland C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__BORLANDC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__BORLANDC__)
|
||||
#elif defined(__DMC__)
|
||||
# define ACC_CC_DMC 1
|
||||
# define ACC_INFO_CC "Digital Mars C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__DMC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__DMC__)
|
||||
#elif defined(__DECC)
|
||||
# define ACC_CC_DECC 1
|
||||
# define ACC_INFO_CC "DEC C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__DECC)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__DECC)
|
||||
#elif defined(__HIGHC__)
|
||||
# define ACC_CC_HIGHC 1
|
||||
# define ACC_INFO_CC "MetaWare High C"
|
||||
|
@ -58,7 +58,7 @@
|
|||
#elif defined(__IBMC__)
|
||||
# define ACC_CC_IBMC 1
|
||||
# define ACC_INFO_CC "IBM C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__IBMC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__IBMC__)
|
||||
#elif defined(__LCC__)
|
||||
# define ACC_CC_LCC 1
|
||||
# define ACC_INFO_CC "lcc"
|
||||
|
@ -66,15 +66,19 @@
|
|||
#elif defined(_MSC_VER)
|
||||
# define ACC_CC_MSC 1
|
||||
# define ACC_INFO_CC "Microsoft C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(_MSC_VER)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(_MSC_VER)
|
||||
#elif defined(__MWERKS__)
|
||||
# define ACC_CC_MWERKS 1
|
||||
# define ACC_INFO_CC "Metrowerks C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__MWERKS__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__MWERKS__)
|
||||
#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
|
||||
# define ACC_CC_NDPC 1
|
||||
# define ACC_INFO_CC "Microway NDP C"
|
||||
# define ACC_INFO_CCVER "unknown"
|
||||
#elif defined(__PACIFIC__)
|
||||
# define ACC_CC_PACIFICC 1
|
||||
# define ACC_INFO_CC "Pacific C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__PACIFIC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__PACIFIC__)
|
||||
#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
|
||||
# define ACC_CC_PGI 1
|
||||
# define ACC_INFO_CC "Portland Group PGI C"
|
||||
|
@ -82,11 +86,11 @@
|
|||
#elif defined(__PUREC__)
|
||||
# define ACC_CC_PUREC 1
|
||||
# define ACC_INFO_CC "Pure C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__PUREC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__PUREC__)
|
||||
#elif defined(__SC__)
|
||||
# define ACC_CC_SYMANTECC 1
|
||||
# define ACC_INFO_CC "Symantec C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__SC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__SC__)
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define ACC_CC_SUNPROC 1
|
||||
# define ACC_INFO_CC "Sun C"
|
||||
|
@ -94,26 +98,26 @@
|
|||
#elif defined(__TINYC__)
|
||||
# define ACC_CC_TINYC 1
|
||||
# define ACC_INFO_CC "Tiny C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__TINYC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__TINYC__)
|
||||
#elif defined(__TSC__)
|
||||
# define ACC_CC_TOPSPEEDC 1
|
||||
# define ACC_INFO_CC "TopSpeed C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__TSC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__TSC__)
|
||||
#elif defined(__WATCOMC__)
|
||||
# define ACC_CC_WATCOMC 1
|
||||
# define ACC_INFO_CC "Watcom C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__WATCOMC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__WATCOMC__)
|
||||
#elif defined(__TURBOC__)
|
||||
# define ACC_CC_TURBOC 1
|
||||
# define ACC_INFO_CC "Turbo C"
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__TURBOC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__TURBOC__)
|
||||
#elif defined(__ZTC__)
|
||||
# define ACC_CC_ZORTECHC 1
|
||||
# define ACC_INFO_CC "Zortech C"
|
||||
# if (__ZTC__ == 0x310)
|
||||
# define ACC_INFO_CCVER "0x310"
|
||||
# else
|
||||
# define ACC_INFO_CCVER ACC_MACRO_EXPAND(__ZTC__)
|
||||
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__ZTC__)
|
||||
# endif
|
||||
#else
|
||||
# define ACC_CC_UNKNOWN 1
|
||||
|
|
|
@ -108,7 +108,7 @@
|
|||
ACCCHK_ASSERT(sizeof('\0') == sizeof(char))
|
||||
#else
|
||||
# if (ACC_CC_DMC)
|
||||
/* Digital Mars is broken */
|
||||
/* Digital Mars C is broken */
|
||||
# else
|
||||
ACCCHK_ASSERT(sizeof('\0') == sizeof(int))
|
||||
# endif
|
||||
|
@ -417,10 +417,16 @@
|
|||
// check promotion rules
|
||||
**************************************************************************/
|
||||
|
||||
#if (ACC_CC_NDPC)
|
||||
/* NDP C is broken */
|
||||
#else
|
||||
/* check that the compiler correctly casts signed to unsigned */
|
||||
ACCCHK_ASSERT( (int) ((unsigned char) ((signed char) -1)) == 255)
|
||||
#endif
|
||||
|
||||
#if !defined(ACC_BROKEN_INTEGRAL_PROMOTION) && (SIZEOF_INT > 1)
|
||||
#if (ACC_CC_NDPC)
|
||||
/* NDP C is broken */
|
||||
#elif !defined(ACC_BROKEN_INTEGRAL_PROMOTION) && (SIZEOF_INT > 1)
|
||||
/* check that the compiler correctly promotes integrals */
|
||||
ACCCHK_ASSERT( (((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0)
|
||||
#endif
|
||||
|
|
|
@ -19,29 +19,25 @@
|
|||
|
||||
|
||||
/*************************************************************************
|
||||
// exceptions
|
||||
// exception specification
|
||||
// ACC_CXX_NOTHROW
|
||||
**************************************************************************/
|
||||
|
||||
#if defined(ACC_CXX_NOTHROW)
|
||||
#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul))
|
||||
# define ACC_CXX_NOTHROW
|
||||
#elif (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0450))
|
||||
# define ACC_CXX_NOTHROW
|
||||
#elif (ACC_CC_HIGHC)
|
||||
# define ACC_CXX_NOTHROW
|
||||
#elif (ACC_CC_MSC && (_MSC_VER < 1100))
|
||||
# define ACC_CXX_NOTHROW
|
||||
#elif (ACC_CC_NDPC)
|
||||
#elif (ACC_CC_TURBOC)
|
||||
# define ACC_CXX_NOTHROW
|
||||
#elif (ACC_CC_WATCOMC && !defined(_CPPUNWIND))
|
||||
# define ACC_CXX_NOTHROW
|
||||
#elif (ACC_CC_ZORTECHC)
|
||||
# define ACC_CXX_NOTHROW
|
||||
#else
|
||||
# define ACC_CXX_NOTHROW throw()
|
||||
#endif
|
||||
|
||||
#if !defined(ACC_CXX_NOTHROW)
|
||||
# define ACC_CXX_NOTHROW throw()
|
||||
# define ACC_CXX_NOTHROW
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -52,7 +48,7 @@
|
|||
**************************************************************************/
|
||||
|
||||
#if defined(__ACC_CXX_DO_NEW)
|
||||
#elif (ACC_CC_PGI)
|
||||
#elif (ACC_CC_NDPC || ACC_CC_PGI)
|
||||
# define __ACC_CXX_DO_NEW { return 0; }
|
||||
#else
|
||||
# define __ACC_CXX_DO_NEW ;
|
||||
|
@ -71,17 +67,19 @@
|
|||
/*************************************************************************
|
||||
// disable dynamic allocation of an object
|
||||
// ACC_CXX_DISABLE_NEW_DELETE
|
||||
// ACC_CXX_DISABLE_NEW_DELETE_STRICT
|
||||
**************************************************************************/
|
||||
|
||||
/*
|
||||
#undef __ACC_CXX_HAVE_ARRAY_NEW
|
||||
#undef __ACC_CXX_HAVE_PLACEMENT_NEW
|
||||
#undef __ACC_CXX_HAVE_PLACEMENT_DELETE
|
||||
*/
|
||||
|
||||
#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0450))
|
||||
#elif (ACC_CC_MSC && ACC_MM_HUGE)
|
||||
# define ACC_CXX_DISABLE_NEW_DELETE private:
|
||||
#elif (ACC_CC_MSC && (_MSC_VER < 1100))
|
||||
#elif (ACC_CC_NDPC)
|
||||
#elif (ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
|
||||
#elif (ACC_CC_TURBOC)
|
||||
#elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1100))
|
||||
|
@ -106,65 +104,48 @@
|
|||
#endif
|
||||
|
||||
|
||||
#if !defined(__ACC_CXX_PLACEMENT_NEW) && (__ACC_CXX_HAVE_PLACEMENT_NEW)
|
||||
# define __ACC_CXX_PLACEMENT_NEW \
|
||||
static void* operator new(size_t, void*) __ACC_CXX_DO_NEW
|
||||
#endif
|
||||
#if !defined(__ACC_CXX_PLACEMENT_DELETE) && (__ACC_CXX_HAVE_PLACEMENT_DELETE)
|
||||
# define __ACC_CXX_PLACEMENT_DELETE \
|
||||
static void operator delete(void*, void*) __ACC_CXX_DO_DELETE
|
||||
#endif
|
||||
#if !defined(__ACC_CXX_PLACEMENT_NEW)
|
||||
# define __ACC_CXX_PLACEMENT_NEW
|
||||
#endif
|
||||
#if !defined(__ACC_CXX_PLACEMENT_DELETE)
|
||||
# define __ACC_CXX_PLACEMENT_DELETE
|
||||
#endif
|
||||
|
||||
|
||||
#if !defined(ACC_CXX_DISABLE_NEW_DELETE) && (defined(new) || defined(delete))
|
||||
#if defined(ACC_CXX_DISABLE_NEW_DELETE)
|
||||
#elif defined(new) || defined(delete)
|
||||
# define ACC_CXX_DISABLE_NEW_DELETE private:
|
||||
#endif
|
||||
|
||||
#if !defined(ACC_CXX_DISABLE_NEW_DELETE) && (ACC_CC_GNUC && (ACC_CC_GNUC < 0x025b00ul))
|
||||
#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x025b00ul))
|
||||
# define ACC_CXX_DISABLE_NEW_DELETE private:
|
||||
#endif
|
||||
#if !defined(ACC_CXX_DISABLE_NEW_DELETE) && (ACC_CC_HIGHC)
|
||||
#elif (ACC_CC_HIGHC)
|
||||
# define ACC_CXX_DISABLE_NEW_DELETE private:
|
||||
#endif
|
||||
|
||||
|
||||
#if !defined(ACC_CXX_DISABLE_NEW_DELETE) && !(__ACC_CXX_HAVE_ARRAY_NEW)
|
||||
/* for old compilers use `protected' instead of `private' */
|
||||
#elif !defined(__ACC_CXX_HAVE_ARRAY_NEW)
|
||||
/* for old compilers use `protected' instead of `private' */
|
||||
# define ACC_CXX_DISABLE_NEW_DELETE \
|
||||
protected: static void operator delete(void*) __ACC_CXX_DO_DELETE \
|
||||
protected: static void* operator new(size_t) __ACC_CXX_DO_NEW \
|
||||
private:
|
||||
#endif
|
||||
|
||||
#if !defined(ACC_CXX_DISABLE_NEW_DELETE)
|
||||
#else
|
||||
# define ACC_CXX_DISABLE_NEW_DELETE \
|
||||
protected: \
|
||||
static void operator delete(void*) __ACC_CXX_DO_DELETE \
|
||||
static void operator delete[](void*) __ACC_CXX_DO_DELETE \
|
||||
private: \
|
||||
static void* operator new(size_t) __ACC_CXX_DO_NEW \
|
||||
static void* operator new[](size_t) __ACC_CXX_DO_NEW
|
||||
# define ACC_CXX_DISABLE_NEW_DELETE_STRICT \
|
||||
protected: \
|
||||
static void operator delete(void*) __ACC_CXX_DO_DELETE \
|
||||
static void operator delete[](void*) __ACC_CXX_DO_DELETE \
|
||||
__ACC_CXX_PLACEMENT_DELETE \
|
||||
private: \
|
||||
static void* operator new(size_t) __ACC_CXX_DO_NEW \
|
||||
static void* operator new[](size_t) __ACC_CXX_DO_NEW \
|
||||
__ACC_CXX_PLACEMENT_NEW
|
||||
protected: static void operator delete(void*) __ACC_CXX_DO_DELETE \
|
||||
static void operator delete[](void*) __ACC_CXX_DO_DELETE \
|
||||
private: static void* operator new(size_t) __ACC_CXX_DO_NEW \
|
||||
static void* operator new[](size_t) __ACC_CXX_DO_NEW
|
||||
#endif
|
||||
|
||||
#if !defined(ACC_CXX_DISABLE_NEW_DELETE_STRICT)
|
||||
# define ACC_CXX_DISABLE_NEW_DELETE_STRICT ACC_CXX_DISABLE_NEW_DELETE
|
||||
|
||||
/*************************************************************************
|
||||
// Assist the compiler by defining a unique location for vtables and RTTI.
|
||||
// Every class which has virtual member functions or derives from a class
|
||||
// with virtual members should put this macro at the very top of its
|
||||
// class declaration.
|
||||
// ACC_CXX_TRIGGER_FUNCTION
|
||||
**************************************************************************/
|
||||
|
||||
#if defined(ACC_CXX_TRIGGER_FUNCTION)
|
||||
#else
|
||||
# define ACC_CXX_TRIGGER_FUNCTION \
|
||||
protected: virtual const void* acc_cxx_trigger_function() const; \
|
||||
private:
|
||||
#endif
|
||||
|
||||
#if defined(ACC_CXX_TRIGGER_FUNCTION_IMPL)
|
||||
#else
|
||||
# define ACC_CXX_TRIGGER_FUNCTION_IMPL(klass) \
|
||||
const void* klass::acc_cxx_trigger_function() const { return 0; }
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __cplusplus */
|
||||
|
|
|
@ -14,11 +14,43 @@
|
|||
|
||||
|
||||
/***********************************************************************
|
||||
//
|
||||
// acc_alignof() / acc_inline
|
||||
************************************************************************/
|
||||
|
||||
#if (ACC_CC_GNUC)
|
||||
# define acc_alignof(e) __alignof__(e)
|
||||
#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 700))
|
||||
# define acc_alignof(e) __alignof__(e)
|
||||
#elif (ACC_CC_MSC && (_MSC_VER >= 1300))
|
||||
# define acc_alignof(e) __alignof(e)
|
||||
#elif (ACC_CC_PGI)
|
||||
# define acc_alignof(e) __alignof__(e)
|
||||
#endif
|
||||
|
||||
#if (ACC_CC_TURBOC && (__TURBOC__ <= 0x0295))
|
||||
#elif defined(__cplusplus)
|
||||
# define acc_inline inline
|
||||
#elif (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
|
||||
# define acc_inline __inline
|
||||
#elif (ACC_CC_DMC)
|
||||
# define acc_inline __inline
|
||||
#elif (ACC_CC_GNUC)
|
||||
# define acc_inline __inline__
|
||||
#elif (ACC_CC_INTELC)
|
||||
# define acc_inline __inline
|
||||
#elif (ACC_CC_MSC && (_MSC_VER >= 1000))
|
||||
# define acc_inline __inline
|
||||
#elif (ACC_CC_PGI)
|
||||
# define acc_inline __inline__
|
||||
#endif
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
// ACC_UNUSED / ACC_UNUSED_FUNC
|
||||
************************************************************************/
|
||||
|
||||
#if !defined(ACC_UNUSED)
|
||||
# if (ACC_CC_BORLANDC || ACC_CC_HIGHC || ACC_CC_TURBOC)
|
||||
# if (ACC_CC_BORLANDC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_TURBOC)
|
||||
# define ACC_UNUSED(var) if (&var) ; else
|
||||
# elif (ACC_CC_MSC && (_MSC_VER < 900))
|
||||
# define ACC_UNUSED(var) if (&var) ; else
|
||||
|
@ -29,7 +61,7 @@
|
|||
# endif
|
||||
#endif
|
||||
#if !defined(ACC_UNUSED_FUNC)
|
||||
# if (ACC_CC_BORLANDC || ACC_CC_TURBOC)
|
||||
# if (ACC_CC_BORLANDC || ACC_CC_NDPC || ACC_CC_TURBOC)
|
||||
# define ACC_UNUSED_FUNC(func) if (func) ; else
|
||||
# elif (ACC_CC_MSC && (_MSC_VER < 900))
|
||||
# define ACC_UNUSED_FUNC(func) if (func) ; else
|
||||
|
@ -128,34 +160,18 @@
|
|||
|
||||
|
||||
/***********************************************************************
|
||||
//
|
||||
// acc_auto.h supplements
|
||||
************************************************************************/
|
||||
|
||||
#if (ACC_CC_GNUC)
|
||||
# define acc_alignof(e) __alignof__(e)
|
||||
#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 700))
|
||||
# define acc_alignof(e) __alignof__(e)
|
||||
#elif (ACC_CC_MSC && (_MSC_VER >= 1300))
|
||||
# define acc_alignof(e) __alignof(e)
|
||||
#elif (ACC_CC_PGI)
|
||||
# define acc_alignof(e) __alignof__(e)
|
||||
#endif
|
||||
|
||||
#if (ACC_CC_TURBOC && (__TURBOC__ <= 0x0295))
|
||||
#elif defined(__cplusplus)
|
||||
# define acc_inline inline
|
||||
#elif (ACC_CC_BORLANDC && ACC_MM_FLAT && (__BORLANDC__ >= 0x0550))
|
||||
# define acc_inline __inline
|
||||
#elif (ACC_CC_DMC)
|
||||
# define acc_inline __inline
|
||||
#elif (ACC_CC_GNUC)
|
||||
# define acc_inline __inline__
|
||||
#elif (ACC_CC_INTELC)
|
||||
# define acc_inline __inline
|
||||
#elif (ACC_CC_MSC && (_MSC_VER >= 1000))
|
||||
# define acc_inline __inline
|
||||
#elif (ACC_CC_PGI)
|
||||
# define acc_inline __inline__
|
||||
#if (ACC_OS_CYGWIN || (ACC_OS_EMX && defined(__RSXNT__)) || ACC_OS_WIN32 || ACC_OS_WIN64)
|
||||
# if (ACC_CC_WATCOMC && (__WATCOMC__ < 1000))
|
||||
# elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
|
||||
/* ancient pw32 version */
|
||||
# elif ((ACC_OS_CYGWIN || defined(__MINGW32__)) && (ACC_CC_GNUC && (ACC_CC_GNUC < 0x025f00ul)))
|
||||
/* ancient cygwin/mingw version */
|
||||
# else
|
||||
# define ACC_HAVE_WINDOWS_H 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -67,6 +67,9 @@
|
|||
#if defined(HAVE_SHARE_H)
|
||||
# include <share.h>
|
||||
#endif
|
||||
#if defined(ACC_CC_NDPC)
|
||||
# include <os.h>
|
||||
#endif
|
||||
|
||||
/* TOS */
|
||||
#if defined(__TOS__) && (defined(__PUREC__) || defined(__TURBOC__))
|
||||
|
|
|
@ -23,23 +23,15 @@
|
|||
|
||||
#if (ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
|
||||
# include <tos.h>
|
||||
#elif (ACC_OS_WIN32 || ACC_OS_WIN64 || ACC_OS_CYGWIN || (ACC_OS_EMX && defined(__RSXNT__)))
|
||||
# if (ACC_CC_WATCOMC && (__WATCOMC__ < 1000))
|
||||
# elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
|
||||
/* ancient pw32 version */
|
||||
# elif ((ACC_OS_CYGWIN || defined(__MINGW32__)) && (ACC_CC_GNUC && (ACC_CC_GNUC < 0x025f00ul)))
|
||||
/* ancient cygwin/mingw version */
|
||||
# else
|
||||
# if 1 && !defined(WIN32_LEAN_AND_MEAN)
|
||||
# define WIN32_LEAN_AND_MEAN 1
|
||||
# endif
|
||||
# if 1 && !defined(_WIN32_WINNT)
|
||||
/* Restrict to a subset of Windows NT 4.0 header files */
|
||||
# define _WIN32_WINNT 0x0400
|
||||
# endif
|
||||
# include <windows.h>
|
||||
# define ACC_H_WINDOWS_H 1
|
||||
#elif (ACC_HAVE_WINDOWS_H)
|
||||
# if 1 && !defined(WIN32_LEAN_AND_MEAN)
|
||||
# define WIN32_LEAN_AND_MEAN 1
|
||||
# endif
|
||||
# if 1 && !defined(_WIN32_WINNT)
|
||||
/* Restrict to a subset of Windows NT 4.0 header files */
|
||||
# define _WIN32_WINNT 0x0400
|
||||
# endif
|
||||
# include <windows.h>
|
||||
# if (ACC_CC_BORLANDC || ACC_CC_TURBOC)
|
||||
# include <dir.h>
|
||||
# endif
|
||||
|
@ -63,12 +55,6 @@
|
|||
# if (ACC_CC_WATCOMC)
|
||||
# include <i86.h>
|
||||
# endif
|
||||
# if 0
|
||||
# include <os2.h>
|
||||
# else
|
||||
ACC_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
|
||||
ACC_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -190,11 +190,23 @@
|
|||
|
||||
|
||||
/***********************************************************************
|
||||
// preprocessor macros
|
||||
// ANSI C preprocessor macros (cpp)
|
||||
************************************************************************/
|
||||
|
||||
#define ACC_STRINGIZE(x) #x
|
||||
#define ACC_MACRO_EXPAND(x) ACC_STRINGIZE(x)
|
||||
#define ACC_CPP_STRINGIZE(x) #x
|
||||
#define ACC_CPP_MACRO_EXPAND(x) ACC_CPP_STRINGIZE(x)
|
||||
|
||||
/* concatenate */
|
||||
#define ACC_CPP_CONCAT2(a,b) a ## b
|
||||
#define ACC_CPP_CONCAT3(a,b,c) a ## b ## c
|
||||
#define ACC_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d
|
||||
#define ACC_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
|
||||
|
||||
/* expand and concatenate (by using one level of indirection) */
|
||||
#define ACC_CPP_ECONCAT2(a,b) ACC_CPP_CONCAT2(a,b)
|
||||
#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)
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
|
|
|
@ -217,7 +217,7 @@ ACCLIB_EXTERN(int, acc_fnmatch) (const acc_hchar_p, const acc_hchar_p, int);
|
|||
# elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
|
||||
# elif (ACC_OS_OS2 || ACC_OS_OS216)
|
||||
# elif (ACC_OS_TOS && ACC_CC_GNUC)
|
||||
# elif (ACC_OS_WIN32 && !defined(ACC_H_WINDOWS_H))
|
||||
# elif (ACC_OS_WIN32 && !defined(ACC_HAVE_WINDOWS_H))
|
||||
# elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_TOS || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
|
||||
# undef __ACCLIB_USE_OPENDIR
|
||||
# endif
|
||||
|
@ -278,14 +278,28 @@ ACCLIB_EXTERN(int, acc_closedir) (acc_dir_p);
|
|||
|
||||
#if (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
|
||||
# define acc_stackavail() stackavail()
|
||||
#elif ((ACC_ARCH_IA16) && ACC_CC_MSC && (_MSC_VER < 700))
|
||||
#elif (ACC_ARCH_IA16 && ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0410))
|
||||
# define acc_stackavail() stackavail()
|
||||
#elif ((ACC_ARCH_IA16) && ACC_CC_MSC && (_MSC_VER < 900))
|
||||
# define acc_stackavail() _stackavail()
|
||||
#elif (ACC_ARCH_IA16 && ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0400))
|
||||
# if (ACC_OS_WIN16) && (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
|
||||
# else
|
||||
# define acc_stackavail() stackavail()
|
||||
# endif
|
||||
#elif ((ACC_ARCH_IA16 || ACC_ARCH_IA32) && (ACC_CC_DMC || ACC_CC_SYMANTECC))
|
||||
# define acc_stackavail() stackavail()
|
||||
#elif ((ACC_ARCH_IA16) && ACC_CC_MSC && (_MSC_VER >= 700))
|
||||
# define acc_stackavail() _stackavail()
|
||||
#elif ((ACC_ARCH_IA16) && ACC_CC_MSC)
|
||||
# define acc_stackavail() stackavail()
|
||||
#elif ((ACC_ARCH_IA16 || ACC_ARCH_IA32) && ACC_CC_TURBOC && (__TURBOC__ >= 0x0450))
|
||||
# define acc_stackavail() stackavail()
|
||||
#elif (ACC_ARCH_IA16 && ACC_CC_TURBOC && (__TURBOC__ >= 0x0400))
|
||||
ACC_EXTERN_C size_t __cdecl stackavail(void);
|
||||
# define acc_stackavail() stackavail()
|
||||
#elif ((ACC_ARCH_IA16 || ACC_ARCH_IA32) && (ACC_CC_WATCOMC))
|
||||
# define acc_stackavail() stackavail()
|
||||
#elif (ACC_ARCH_IA16 && ACC_CC_ZORTECHC)
|
||||
# define acc_stackavail() _chkstack()
|
||||
#endif
|
||||
|
||||
ACCLIB_EXTERN(acclib_handle_t, acc_get_osfhandle) (int);
|
||||
|
@ -305,7 +319,7 @@ ACCLIB_EXTERN(acc_uint32l_t, acc_umuldiv32) (acc_uint32l_t, acc_uint32l_t, acc_u
|
|||
typedef struct { /* all private */
|
||||
acclib_handle_t h;
|
||||
int mode;
|
||||
#if (ACC_H_WINDOWS_H) && defined(acc_int64l_t)
|
||||
#if (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)
|
||||
double qpf;
|
||||
#endif
|
||||
} acc_uclock_handle_t;
|
||||
|
@ -320,7 +334,7 @@ typedef struct { /* all private */
|
|||
# endif
|
||||
#endif
|
||||
} ticks;
|
||||
#if (ACC_H_WINDOWS_H) && defined(acc_int64l_t)
|
||||
#if (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)
|
||||
acc_int64l_t qpc;
|
||||
#endif
|
||||
} acc_uclock_t;
|
||||
|
|
|
@ -246,7 +246,7 @@ __acc_gnuc_extension__ typedef unsigned long long acc_ullong_t;
|
|||
************************************************************************/
|
||||
|
||||
#if (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_PACIFICC)
|
||||
# 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
|
||||
# define __acc_cdecl_atexit
|
||||
|
@ -266,7 +266,7 @@ __acc_gnuc_extension__ typedef unsigned long long acc_ullong_t;
|
|||
# define __acc_cdecl_main __cdecl
|
||||
# define __acc_cdecl_qsort __cdecl
|
||||
# endif
|
||||
# if (ACC_CC_GNUC || ACC_CC_HIGHC || ACC_CC_PACIFICC || ACC_CC_WATCOMC)
|
||||
# if (ACC_CC_GNUC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PACIFICC || ACC_CC_WATCOMC)
|
||||
# elif (ACC_OS_OS2 && (ACC_CC_DMC || ACC_CC_SYMANTECC))
|
||||
# define __acc_cdecl_sighandler __pascal
|
||||
# elif (ACC_OS_OS2 && (ACC_CC_ZORTECHC))
|
||||
|
|
|
@ -19,11 +19,17 @@
|
|||
#endif
|
||||
|
||||
|
||||
#if (ACC_OS_OS216)
|
||||
ACC_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
|
||||
ACC_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
|
||||
#endif
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
// dos_alloc
|
||||
************************************************************************/
|
||||
|
||||
#if (ACC_OS_DOS16)
|
||||
#if (ACC_OS_DOS16 || ACC_OS_WIN16)
|
||||
#if !defined(ACC_CC_AZTECC)
|
||||
|
||||
ACCLIB_PUBLIC(void __far*, acc_dos_alloc) (unsigned long size)
|
||||
|
@ -73,11 +79,9 @@ ACCLIB_PUBLIC(void __far*, acc_dos_alloc) (unsigned long size)
|
|||
{
|
||||
void __far* p = 0;
|
||||
unsigned short sel = 0;
|
||||
unsigned long pmask = 0xffffu >> ACC_MM_AHSHIFT; /* 8191 */
|
||||
|
||||
if ((long)size <= 0)
|
||||
return p;
|
||||
size = (size + pmask) &~ pmask; /* align up to paragraph size */
|
||||
if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0)
|
||||
p = (void __far*) ACC_MK_FP(sel, 0);
|
||||
return p;
|
||||
|
|
|
@ -19,6 +19,44 @@
|
|||
#endif
|
||||
|
||||
|
||||
#if (ACC_HAVE_MM_HUGE_PTR)
|
||||
#if 1 && (ACC_OS_DOS16 && defined(BLX286))
|
||||
# define __ACCLIB_HALLOC_USE_DAH 1
|
||||
#elif 1 && (ACC_OS_DOS16 && defined(DOSX286))
|
||||
# define __ACCLIB_HALLOC_USE_DAH 1
|
||||
#elif 1 && (ACC_OS_OS216)
|
||||
# define __ACCLIB_HALLOC_USE_DAH 1
|
||||
#elif 1 && (ACC_OS_WIN16)
|
||||
# define __ACCLIB_HALLOC_USE_GA 1
|
||||
#elif 1 && (ACC_OS_DOS16) && (ACC_CC_BORLANDC) && defined(__DPMI16__)
|
||||
# define __ACCLIB_HALLOC_USE_GA 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#if (__ACCLIB_HALLOC_USE_DAH)
|
||||
#if 0 && (ACC_OS_OS216)
|
||||
#include <os2.h>
|
||||
#else
|
||||
ACC_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
|
||||
ACC_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (__ACCLIB_HALLOC_USE_GA)
|
||||
#if 0
|
||||
#define STRICT 1
|
||||
#include <windows.h>
|
||||
#else
|
||||
ACC_EXTERN_C const void __near* __far __pascal GlobalAlloc(unsigned, unsigned long);
|
||||
ACC_EXTERN_C const void __near* __far __pascal GlobalFree(const void __near*);
|
||||
ACC_EXTERN_C unsigned long __far __pascal GlobalHandle(unsigned);
|
||||
ACC_EXTERN_C void __far* __far __pascal GlobalLock(const void __near*);
|
||||
ACC_EXTERN_C int __far __pascal GlobalUnlock(const void __near*);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
// halloc
|
||||
************************************************************************/
|
||||
|
@ -36,7 +74,25 @@ ACCLIB_PUBLIC(acc_hvoid_p, acc_halloc) (acc_hsize_t size)
|
|||
if (size < (size_t) -1)
|
||||
p = malloc((size_t) size);
|
||||
#else
|
||||
#if (ACC_CC_MSC && _MSC_VER >= 700)
|
||||
if ((long)size <= 0)
|
||||
return p;
|
||||
{
|
||||
#if (__ACCLIB_HALLOC_USE_DAH)
|
||||
unsigned short sel = 0;
|
||||
if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0)
|
||||
p = (acc_hvoid_p) ACC_MK_FP(sel, 0);
|
||||
#elif (__ACCLIB_HALLOC_USE_GA)
|
||||
const void __near* h = GlobalAlloc(2, size);
|
||||
if (h) {
|
||||
p = GlobalLock(h);
|
||||
if (p && ACC_FP_OFF(p) != 0) {
|
||||
GlobalUnlock(h);
|
||||
p = 0;
|
||||
}
|
||||
if (!p)
|
||||
GlobalFree(h);
|
||||
}
|
||||
#elif (ACC_CC_MSC && (_MSC_VER >= 700))
|
||||
p = _halloc(size, 1);
|
||||
#elif (ACC_CC_MSC || ACC_CC_WATCOMC)
|
||||
p = halloc(size, 1);
|
||||
|
@ -50,6 +106,7 @@ ACCLIB_PUBLIC(acc_hvoid_p, acc_halloc) (acc_hsize_t size)
|
|||
if (size < (size_t) -1)
|
||||
p = malloc((size_t) size);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
return p;
|
||||
|
@ -66,7 +123,18 @@ ACCLIB_PUBLIC(void, acc_hfree) (acc_hvoid_p p)
|
|||
#elif !defined(ACC_HAVE_MM_HUGE_PTR)
|
||||
free(p);
|
||||
#else
|
||||
#if (ACC_CC_MSC && (_MSC_VER >= 700))
|
||||
#if (__ACCLIB_HALLOC_USE_DAH)
|
||||
if (ACC_FP_OFF(p) == 0)
|
||||
DosFreeSeg((unsigned short) ACC_FP_SEG(p));
|
||||
#elif (__ACCLIB_HALLOC_USE_GA)
|
||||
if (ACC_FP_OFF(p) == 0) {
|
||||
const void __near* h = (const void __near*) (unsigned) GlobalHandle(ACC_FP_SEG(p));
|
||||
if (h) {
|
||||
GlobalUnlock(h);
|
||||
GlobalFree(h);
|
||||
}
|
||||
}
|
||||
#elif (ACC_CC_MSC && (_MSC_VER >= 700))
|
||||
_hfree(p);
|
||||
#elif (ACC_CC_MSC || ACC_CC_WATCOMC)
|
||||
hfree(p);
|
||||
|
|
|
@ -34,8 +34,10 @@ ACCLIB_PUBLIC(acclib_handle_t, acc_get_osfhandle) (int fd)
|
|||
#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
|
||||
return -1; /* FIXME */
|
||||
#elif (ACC_OS_WIN32 || ACC_OS_WIN64)
|
||||
# if (ACC_CC_WATCOMC && (__WATCOMC__ < 1100))
|
||||
# if (ACC_CC_WATCOMC && (__WATCOMC__ < 1000))
|
||||
return -1; /* FIXME */
|
||||
# elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1100))
|
||||
return _os_handle(fd);
|
||||
# else
|
||||
return _get_osfhandle(fd);
|
||||
# endif
|
||||
|
@ -48,8 +50,7 @@ ACCLIB_PUBLIC(acclib_handle_t, acc_get_osfhandle) (int fd)
|
|||
ACCLIB_PUBLIC(int, acc_set_binmode) (int fd, int binary)
|
||||
{
|
||||
#if (ACC_OS_TOS && defined(__MINT__))
|
||||
int old_binary;
|
||||
FILE* fp;
|
||||
FILE* fp; int old_binary;
|
||||
if (fd == STDIN_FILENO) fp = stdin;
|
||||
else if (fd == STDOUT_FILENO) fp = stdout;
|
||||
else if (fd == STDERR_FILENO) fp = stderr;
|
||||
|
@ -64,37 +65,35 @@ ACCLIB_PUBLIC(int, acc_set_binmode) (int fd, int binary)
|
|||
ACC_UNUSED(fd); ACC_UNUSED(binary);
|
||||
return -1; /* FIXME */
|
||||
#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
|
||||
int r;
|
||||
unsigned old_flags = __djgpp_hwint_flags;
|
||||
int r; unsigned old_flags = __djgpp_hwint_flags;
|
||||
ACC_COMPILE_TIME_ASSERT(O_BINARY > 0)
|
||||
ACC_COMPILE_TIME_ASSERT(O_TEXT > 0)
|
||||
if (fd < 0)
|
||||
return -1;
|
||||
if (fd < 0) return -1;
|
||||
r = setmode(fd, binary ? O_BINARY : O_TEXT);
|
||||
if ((old_flags & 1u) != (__djgpp_hwint_flags & 1u))
|
||||
__djgpp_set_ctrl_c(!(old_flags & 1));
|
||||
if (r == -1)
|
||||
return -1;
|
||||
if (r == -1) return -1;
|
||||
return (r & O_TEXT) ? 0 : 1;
|
||||
#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
|
||||
if (fd < 0) return -1;
|
||||
ACC_UNUSED(binary);
|
||||
return 1;
|
||||
#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
|
||||
int r;
|
||||
FILE* fp;
|
||||
FILE* fp; int r;
|
||||
if (fd == fileno(stdin)) fp = stdin;
|
||||
else if (fd == fileno(stdout)) fp = stdout;
|
||||
else if (fd == fileno(stderr)) fp = stderr;
|
||||
else return -1;
|
||||
r = _setmode(fp, binary ? _BINARY : _TEXT);
|
||||
if (r == -1)
|
||||
return -1;
|
||||
if (r == -1) return -1;
|
||||
return (r & _BINARY) ? 1 : 0;
|
||||
#elif (ACC_OS_WIN32 && ACC_CC_MWERKS) && defined(__MSL__)
|
||||
ACC_UNUSED(fd); ACC_UNUSED(binary);
|
||||
return -1; /* FIXME */
|
||||
#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64 || ACC_OS_CYGWIN || ACC_OS_EMX)
|
||||
#elif (ACC_OS_CYGWIN && (ACC_CC_GNUC < 0x025a00ul))
|
||||
ACC_UNUSED(fd); ACC_UNUSED(binary);
|
||||
return -1; /* FIXME */
|
||||
#elif (ACC_OS_CYGWIN || ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_EMX || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
|
||||
int r;
|
||||
#if !defined(ACC_CC_ZORTECHC)
|
||||
ACC_COMPILE_TIME_ASSERT(O_BINARY > 0)
|
||||
|
@ -102,8 +101,7 @@ ACCLIB_PUBLIC(int, acc_set_binmode) (int fd, int binary)
|
|||
ACC_COMPILE_TIME_ASSERT(O_TEXT > 0)
|
||||
if (fd < 0) return -1;
|
||||
r = setmode(fd, binary ? O_BINARY : O_TEXT);
|
||||
if (r == -1)
|
||||
return -1;
|
||||
if (r == -1) return -1;
|
||||
return (r & O_TEXT) ? 0 : 1;
|
||||
#else
|
||||
if (fd < 0) return -1;
|
||||
|
@ -137,7 +135,7 @@ ACCLIB_PUBLIC(int, acc_isatty) (int fd)
|
|||
if ((ro.w.ax & 0x83) != 0x83)
|
||||
return 0;
|
||||
}
|
||||
#elif (ACC_H_WINDOWS_H)
|
||||
#elif (ACC_HAVE_WINDOWS_H)
|
||||
{
|
||||
acclib_handle_t h = __ACCLIB_FUNCNAME(acc_get_osfhandle)(fd);
|
||||
if ((HANDLE)h != INVALID_HANDLE_VALUE)
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#if (ACC_OS_DOS16 || ACC_OS_WIN16)
|
||||
#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
|
||||
#elif (ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_H_WINDOWS_H)
|
||||
#elif (ACC_OS_CYGWIN || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H)
|
||||
# if defined(acc_int64l_t)
|
||||
/* See also: KB Q274323: PRB: Performance Counter Value May
|
||||
* Unexpectedly Leap Forward */
|
||||
|
@ -51,15 +51,19 @@
|
|||
# endif
|
||||
# if (ACC_CC_DMC)
|
||||
# pragma DMC includelib "winmm.lib"
|
||||
# elif (ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_MWERKS)
|
||||
# pragma comment(lib, "winmm")
|
||||
# elif (ACC_CC_INTELC || ACC_CC_MSC)
|
||||
# pragma comment(lib, "winmm.lib")
|
||||
# elif (ACC_CC_MWERKS && (__MWERKS__ >= 0x3000))
|
||||
# pragma comment(lib, "winmm.lib")
|
||||
# elif (ACC_CC_SYMANTECC)
|
||||
# pragma SC includelib "winmm.lib"
|
||||
# elif (ACC_CC_WATCOMC)
|
||||
# elif (ACC_CC_WATCOMC && (__WATCOMC__ >= 1050))
|
||||
# pragma library("winmm.lib")
|
||||
# endif
|
||||
# endif
|
||||
#elif (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_TOS || ACC_OS_WIN32 || ACC_OS_WIN64)
|
||||
#elif (ACC_OS_EMX) && (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)
|
||||
# define __ACCLIB_UCLOCK_USE_QPC 1
|
||||
#elif (ACC_OS_CYGWIN || ACC_OS_DOS32 || ACC_OS_EMX || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_TOS || ACC_OS_WIN32 || ACC_OS_WIN64)
|
||||
# define __ACCLIB_UCLOCK_USE_CLOCK 1
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user