Make our mini-stdint.h platform-independent by using predefined macros.
authorJordan Rose <jordan_rose@apple.com>
Wed, 26 Sep 2012 16:41:11 +0000 (16:41 +0000)
committerJordan Rose <jordan_rose@apple.com>
Wed, 26 Sep 2012 16:41:11 +0000 (16:41 +0000)
This also adds a definition for uint64_t, which was causing build failures
on some platforms. (I'm actually surprised this didn't happen on more
builders, but maybe the search paths are different.)

llvm-svn: 164706

clang/test/Headers/Inputs/include/stdint.h

index 4a7cd36..7a1fdde 100644 (file)
@@ -1,14 +1,18 @@
 #ifndef STDINT_H
 #define STDINT_H
 
-#if defined(__arm__) || defined(__i386__) || defined(__mips__)
-typedef unsigned int uint32_t;
-typedef unsigned int uintptr_t;
-#elif defined(__x86_64__)
-typedef unsigned int uint32_t;
-typedef unsigned long uintptr_t;
+#ifdef __INT32_TYPE__
+typedef unsigned __INT32_TYPE__ uint32_t;
+#endif
+
+#ifdef __INT64_TYPE__
+typedef unsigned __INT64_TYPE__ uint64_t;
+#endif
+
+#ifdef __INTPTR_TYPE__
+typedef unsigned __INTPTR_TYPE__ uintptr_t;
 #else
-#error "Unknown target architecture"
+#error Every target should have __INTPTR_TYPE__
 #endif
 
 #endif /* STDINT_H */