|
|
@@ -1,7 +1,7 @@
|
|
|
// ISO C9x compliant stdint.h for Microsoft Visual Studio
|
|
|
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
|
|
|
//
|
|
|
-// Copyright (c) 2006-2008 Alexander Chemeris
|
|
|
+// Copyright (c) 2006-2013 Alexander Chemeris
|
|
|
//
|
|
|
// Redistribution and use in source and binary forms, with or without
|
|
|
// modification, are permitted provided that the following conditions are met:
|
|
|
@@ -13,8 +13,9 @@
|
|
|
// notice, this list of conditions and the following disclaimer in the
|
|
|
// documentation and/or other materials provided with the distribution.
|
|
|
//
|
|
|
-// 3. The name of the author may be used to endorse or promote products
|
|
|
-// derived from this software without specific prior written permission.
|
|
|
+// 3. Neither the name of the product nor the names of its contributors may
|
|
|
+// be used to endorse or promote products derived from this software
|
|
|
+// without specific prior written permission.
|
|
|
//
|
|
|
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
|
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
|
@@ -40,6 +41,10 @@
|
|
|
#pragma once
|
|
|
#endif
|
|
|
|
|
|
+#if _MSC_VER >= 1600 // [
|
|
|
+#include <stdint.h>
|
|
|
+#else // ] _MSC_VER >= 1600 [
|
|
|
+
|
|
|
#include <limits.h>
|
|
|
|
|
|
// For Visual Studio 6 in C++ mode and for many Visual Studio versions when
|
|
|
@@ -238,10 +243,17 @@ typedef uint64_t uintmax_t;
|
|
|
#define UINT64_C(val) val##ui64
|
|
|
|
|
|
// 7.18.4.2 Macros for greatest-width integer constants
|
|
|
-#define INTMAX_C INT64_C
|
|
|
-#define UINTMAX_C UINT64_C
|
|
|
+// These #ifndef's are needed to prevent collisions with <boost/cstdint.hpp>.
|
|
|
+// Check out Issue 9 for the details.
|
|
|
+#ifndef INTMAX_C // [
|
|
|
+# define INTMAX_C INT64_C
|
|
|
+#endif // INTMAX_C ]
|
|
|
+#ifndef UINTMAX_C // [
|
|
|
+# define UINTMAX_C UINT64_C
|
|
|
+#endif // UINTMAX_C ]
|
|
|
|
|
|
#endif // __STDC_CONSTANT_MACROS ]
|
|
|
|
|
|
+#endif // _MSC_VER >= 1600 ]
|
|
|
|
|
|
#endif // _MSC_STDINT_H_ ]
|