From c9a9c88634c98174d9fae712a31327cbd8d0963d Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 4 Nov 2009 13:10:11 -0500 Subject: libarchive: Fix Borland integer constants Some versions of Borland provide , so we use it when possible. However, the 64-bit signed and unsigned integer min/max constants cause overflow warnings from Borland itself! For these constants we fall back on our default definitions. --- Utilities/cmlibarchive/build/cmake/config.h.in | 2 +- Utilities/cmlibarchive/libarchive/archive.h | 2 +- Utilities/cmlibarchive/libarchive/archive_entry.h | 2 +- .../libarchive/archive_entry_copy_bhfi.c | 2 +- .../cmlibarchive/libarchive/archive_platform.h | 24 ++++++++++++++++++++++ .../cmlibarchive/libarchive/archive_windows.c | 2 +- 6 files changed, 29 insertions(+), 5 deletions(-) diff --git a/Utilities/cmlibarchive/build/cmake/config.h.in b/Utilities/cmlibarchive/build/cmake/config.h.in index e5f7e59..07e7386 100644 --- a/Utilities/cmlibarchive/build/cmake/config.h.in +++ b/Utilities/cmlibarchive/build/cmake/config.h.in @@ -698,7 +698,7 @@ /* Define to `unsigned int' if does not define. */ #cmakedefine uintptr_t ${uintptr_t } -#ifdef __BORLANDC__ +#if defined(__BORLANDC__) && !defined(HAVE_STDINT_H) #define uintptr_t unsigned int #define intptr_t int #endif diff --git a/Utilities/cmlibarchive/libarchive/archive.h b/Utilities/cmlibarchive/libarchive/archive.h index 23bdf9b..a6c12ce 100644 --- a/Utilities/cmlibarchive/libarchive/archive.h +++ b/Utilities/cmlibarchive/libarchive/archive.h @@ -61,7 +61,7 @@ #else #include /* ssize_t, uid_t, and gid_t */ #endif -#if defined(__BORLANDC__) +#if defined(__BORLANDC__) && !defined(HAVE_SYS_TYPES_H) #define __LA_INT64_T __int64 #define __LA_SSIZE_T long #else diff --git a/Utilities/cmlibarchive/libarchive/archive_entry.h b/Utilities/cmlibarchive/libarchive/archive_entry.h index 10ca1e8..b1e24c2 100644 --- a/Utilities/cmlibarchive/libarchive/archive_entry.h +++ b/Utilities/cmlibarchive/libarchive/archive_entry.h @@ -58,7 +58,7 @@ #else # include #endif -#if defined(__BORLANDC__) +#if defined(__BORLANDC__) && !defined(HAVE_SYS_TYPES_H) #define __LA_INT64_T __int64 #else #define __LA_INT64_T int64_t diff --git a/Utilities/cmlibarchive/libarchive/archive_entry_copy_bhfi.c b/Utilities/cmlibarchive/libarchive/archive_entry_copy_bhfi.c index 9a64880..4e09c2f 100644 --- a/Utilities/cmlibarchive/libarchive/archive_entry_copy_bhfi.c +++ b/Utilities/cmlibarchive/libarchive/archive_entry_copy_bhfi.c @@ -30,7 +30,7 @@ __FBSDID("$FreeBSD$"); #if defined(_WIN32) && !defined(__CYGWIN__) #if defined(__BORLANDC__) || (defined(_MSC_VER) && _MSC_VER <= 1300) -# define EPOC_TIME (116444736000000000) +# define EPOC_TIME (116444736000000000UI64) #else # define EPOC_TIME (116444736000000000ULL) #endif diff --git a/Utilities/cmlibarchive/libarchive/archive_platform.h b/Utilities/cmlibarchive/libarchive/archive_platform.h index 2c43a28..8cd5015 100644 --- a/Utilities/cmlibarchive/libarchive/archive_platform.h +++ b/Utilities/cmlibarchive/libarchive/archive_platform.h @@ -86,6 +86,30 @@ #include #endif +/* Borland warns about its own constants! */ +#if defined(__BORLANDC__) +# if HAVE_DECL_UINT64_MAX +# undef UINT64_MAX +# undef HAVE_DECL_UINT64_MAX +# define HAVE_DECL_UINT64_MAX 0 +# endif +# if HAVE_DECL_UINT64_MIN +# undef UINT64_MIN +# undef HAVE_DECL_UINT64_MIN +# define HAVE_DECL_UINT64_MIN 0 +# endif +# if HAVE_DECL_INT64_MAX +# undef INT64_MAX +# undef HAVE_DECL_INT64_MAX +# define HAVE_DECL_INT64_MAX 0 +# endif +# if HAVE_DECL_INT64_MIN +# undef INT64_MIN +# undef HAVE_DECL_INT64_MIN +# define HAVE_DECL_INT64_MIN 0 +# endif +#endif + /* Some platforms lack the standard *_MAX definitions. */ #if !HAVE_DECL_SIZE_MAX #define SIZE_MAX (~(size_t)0) diff --git a/Utilities/cmlibarchive/libarchive/archive_windows.c b/Utilities/cmlibarchive/libarchive/archive_windows.c index 65d6116..ddd0352 100644 --- a/Utilities/cmlibarchive/libarchive/archive_windows.c +++ b/Utilities/cmlibarchive/libarchive/archive_windows.c @@ -60,7 +60,7 @@ #include #include #if defined(__BORLANDC__) || (defined(_MSC_VER) && _MSC_VER <= 1300) -# define EPOC_TIME (116444736000000000) +# define EPOC_TIME (116444736000000000UI64) #else # define EPOC_TIME (116444736000000000ULL) #endif -- cgit v0.12