diff --git a/include/llvm/Support/DataTypes.h.cmake b/include/llvm/Support/DataTypes.h.cmake index 72c451873c0..260ed9bb5c4 100644 --- a/include/llvm/Support/DataTypes.h.cmake +++ b/include/llvm/Support/DataTypes.h.cmake @@ -131,7 +131,8 @@ typedef signed int ssize_t; # define INT32_MAX 2147483647 #endif #ifndef INT32_MIN -# define INT32_MIN -2147483648 +/* MSC treats -2147483648 as -(2147483648U). */ +# define INT32_MIN (-INT32_MAX - 1) #endif #ifndef UINT32_MAX # define UINT32_MAX 4294967295U