[llvm-commits] [llvm] r90828 - /llvm/trunk/include/llvm/System/DataTypes.h.cmake
Oscar Fuentes
ofv at wanadoo.es
Mon Dec 7 18:40:09 PST 2009
Author: ofv
Date: Mon Dec 7 20:40:09 2009
New Revision: 90828
URL: http://llvm.org/viewvc/llvm-project?rev=90828&view=rev
Log:
For VC++, define the ?INT*_C macros only it they are not yet defined.
Some compatibility updates like the Boost TR1 compatibility headers
define them.
Patch contributed by OvermindDL1!
Modified:
llvm/trunk/include/llvm/System/DataTypes.h.cmake
Modified: llvm/trunk/include/llvm/System/DataTypes.h.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/System/DataTypes.h.cmake?rev=90828&r1=90827&r2=90828&view=diff
==============================================================================
--- llvm/trunk/include/llvm/System/DataTypes.h.cmake (original)
+++ llvm/trunk/include/llvm/System/DataTypes.h.cmake Mon Dec 7 20:40:09 2009
@@ -118,14 +118,33 @@
#define INT32_MAX 2147483647
#define INT32_MIN -2147483648
#define UINT32_MAX 4294967295U
-#define INT8_C(C) C
-#define UINT8_C(C) C
-#define INT16_C(C) C
-#define UINT16_C(C) C
-#define INT32_C(C) C
-#define UINT32_C(C) C ## U
-#define INT64_C(C) ((int64_t) C ## LL)
-#define UINT64_C(C) ((uint64_t) C ## ULL)
+/* Certain compatibility updates to VC++ introduce the `cstdint'
+ * header, which defines the INT*_C macros. On default installs they
+ * are absent. */
+#ifndef INT8_C
+# define INT8_C(C) C
+#endif
+#ifndef UINT8_C
+# define UINT8_C(C) C
+#endif
+#ifndef INT16_C
+# define INT16_C(C) C
+#endif
+#ifndef UINT16_C
+# define UINT16_C(C) C
+#endif
+#ifndef INT32_C
+# define INT32_C(C) C
+#endif
+#ifndef UINT32_C
+# define UINT32_C(C) C ## U
+#endif
+#ifndef INT64_C
+# define INT64_C(C) ((int64_t) C ## LL)
+#endif
+#ifndef UINT64_C
+# define UINT64_C(C) ((uint64_t) C ## ULL)
+#endif
#endif /* _MSC_VER */
/* Set defaults for constants which we cannot find. */
More information about the llvm-commits
mailing list