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.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164706
91177308-0d34-0410-b5e6-
96231b3b80d8
#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 */