]> Creatis software - gdcm.git/commitdiff
BUG: there was a problem with uint64_t. C99 clearly specify that vendor compiler...
authormalaterre <malaterre>
Sat, 22 Jan 2005 22:21:19 +0000 (22:21 +0000)
committermalaterre <malaterre>
Sat, 22 Jan 2005 22:21:19 +0000 (22:21 +0000)
CMakeLists.txt
gdcmConfigure.h.in
src/gdcmCommon.h

index fdc9ff0441e344abfd503589e49ca466ad0b44de..2a536c872096495ad1e266cf441b638543a88ab3 100644 (file)
@@ -128,6 +128,7 @@ TEST_BIG_ENDIAN(GDCM_WORDS_BIGENDIAN)
 
 INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
 CHECK_INCLUDE_FILE("stdint.h"       CMAKE_HAVE_STDINT_H)
+CHECK_INCLUDE_FILE("inttypes.h"     CMAKE_HAVE_INTTYPES_H)
 
 # Check if header file exists and add it to the list.
 INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake)
index 311f2b30abc4cd2ae345ef57bf1746e0e9053ee6..0737e4a3ebd881479facb6989cff283dcfa5a015 100644 (file)
@@ -23,6 +23,7 @@
 
 /* I guess something important */
 #cmakedefine CMAKE_HAVE_STDINT_H
+#cmakedefine CMAKE_HAVE_INTTYPES_H
 
 /* This variable allows you to have helpful debug statement */
 /* That are in between #ifdef / endif in the gdcm code */
index 82b8dae28b1b702449f0d4c337e9aba1dcae6098..2313fe016ed0723e98e6bf3108bbdb1c9d3e8ddb 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmCommon.h,v $
   Language:  C++
-  Date:      $Date: 2005/01/22 12:39:12 $
-  Version:   $Revision: 1.55 $
+  Date:      $Date: 2005/01/22 22:21:19 $
+  Version:   $Revision: 1.56 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 
 //-----------------------------------------------------------------------------
 #ifdef CMAKE_HAVE_STDINT_H
-#include <stdint.h>   // For uint8_t uint16_t and uint32_t
+   #include <stdint.h>
 #else
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-typedef  signed char    int8_t;
+#ifdef CMAKE_HAVE_INTTYPES_H
+   // Old system only have this
+   #include <inttypes.h>   // For uint8_t uint16_t and uint32_t
+#endif
 #endif
-typedef  unsigned char    uint8_t;
-typedef  unsigned short   uint16_t;
-typedef  unsigned int     uint32_t;
-#define uint64_t unsigned __int64    //  problems with swig when using a typedef
+
+// Broken plateform do not respect C99 and do not provide those typedef
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+typedef  signed __int8       int8_t;
+typedef  signed __int16      int16_t;
+typedef  signed __int32      int32_t;
+typedef  signed __int64      int64_t;
+typedef  unsigned __int8     uint8_t;
+typedef  unsigned __int16    uint16_t;
+typedef  unsigned __int32    uint32_t;
+typedef  unsigned __int64    uint64_t;
 #define UINT32_MAX    (4294967295U)
 #endif