diff --git a/include/llvm/Support/DataTypes.h.in b/include/llvm/Support/DataTypes.h.in index c218193b932..6b3aee8ce62 100644 --- a/include/llvm/Support/DataTypes.h.in +++ b/include/llvm/Support/DataTypes.h.in @@ -36,12 +36,15 @@ @INCLUDE_INTTYPES_H@ @INCLUDE_SYS_TYPES_H@ @INCLUDE_STDINT_H@ -// Interix has u_int64_t, but not uint64_t -#if !defined(HAVE_UINT64_T) && defined(HAVE_U_INT64_T) + +// Handle incorrect definition of uint64_t as u_int64_t +#ifndef HAVE_UINT64_T +#ifdef HAVE_U_INT64_T typedef u_int64_t uint64_t; #else # error "Don't have a definition for uint64_t on this platform" #endif +#endif #else // Visual C++ doesn't provide standard integer headers, but it does provide