From 79bc4a9b03a86fa58edc0abf8e83fce6e68bab38 Mon Sep 17 00:00:00 2001 From: James Laird Date: Mon, 2 Oct 2006 12:08:28 -0500 Subject: [svn-r12703] Using int64_t in H5Lpublic.h caused errors on Windows, where int64_t is only defined in H5private.h. Moved definition of int64_t from H5private.h to H5public.h as a temporary solution. Tested on heping and Windows (windows also needed H5Gdense.c and H5Gbtree2.c to be added to hdf5 project). --- src/H5private.h | 17 +---------------- src/H5public.h | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/H5private.h b/src/H5private.h index 254c2eb..3f523e1 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -424,22 +424,7 @@ # error "nothing appropriate for uint32_t" #endif -#if H5_SIZEOF_INT64_T>=8 -#elif H5_SIZEOF_INT>=8 - typedef int int64_t; -# undef H5_SIZEOF_INT64_T -# define H5_SIZEOF_INT64_T H5_SIZEOF_INT -#elif H5_SIZEOF_LONG>=8 - typedef long int64_t; -# undef H5_SIZEOF_INT64_T -# define H5_SIZEOF_INT64_T H5_SIZEOF_LONG -#elif H5_SIZEOF_LONG_LONG>=8 - typedef long_long int64_t; -# undef H5_SIZEOF_INT64_T -# define H5_SIZEOF_INT64_T H5_SIZEOF_LONG_LONG -#else -# error "nothing appropriate for int64_t" -#endif +/* Definition of int64_t was moved to H5public.h */ #if H5_SIZEOF_UINT64_T>=8 #elif H5_SIZEOF_INT>=8 diff --git a/src/H5public.h b/src/H5public.h index 724539b..e7f4d32 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -207,6 +207,26 @@ typedef ssize_t hssize_t; #endif #define HADDR_MAX (HADDR_UNDEF-1) +/* int64_t type is used for creation order field for links. It may be + * defined in Posix.1g, otherwise it is defined here. + */ +#if H5_SIZEOF_INT64_T>=8 +#elif H5_SIZEOF_INT>=8 + typedef int int64_t; +# undef H5_SIZEOF_INT64_T +# define H5_SIZEOF_INT64_T H5_SIZEOF_INT +#elif H5_SIZEOF_LONG>=8 + typedef long int64_t; +# undef H5_SIZEOF_INT64_T +# define H5_SIZEOF_INT64_T H5_SIZEOF_LONG +#elif H5_SIZEOF_LONG_LONG>=8 + typedef long_long int64_t; +# undef H5_SIZEOF_INT64_T +# define H5_SIZEOF_INT64_T H5_SIZEOF_LONG_LONG +#else +# error "nothing appropriate for int64_t" +#endif + /* Common iteration orders */ typedef enum { H5_ITER_INC, /* Increasing order */ -- cgit v0.12