diff options
author | Oscar Fuentes <ofv@wanadoo.es> | 2009-12-08 02:40:09 +0000 |
---|---|---|
committer | Oscar Fuentes <ofv@wanadoo.es> | 2009-12-08 02:40:09 +0000 |
commit | 15c4bc673aa47fe21f4a15865020c914ec6d632e (patch) | |
tree | a7c904d138d955c5f6a399529dd2c0b3aebb32ca | |
parent | 60043f5ce68305bed4a809eb6a283d3f334ea560 (diff) | |
download | bcm5719-llvm-15c4bc673aa47fe21f4a15865020c914ec6d632e.tar.gz bcm5719-llvm-15c4bc673aa47fe21f4a15865020c914ec6d632e.zip |
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!
llvm-svn: 90828
-rw-r--r-- | llvm/include/llvm/System/DataTypes.h.cmake | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/llvm/include/llvm/System/DataTypes.h.cmake b/llvm/include/llvm/System/DataTypes.h.cmake index 180c86c1451..d9ca273fedb 100644 --- a/llvm/include/llvm/System/DataTypes.h.cmake +++ b/llvm/include/llvm/System/DataTypes.h.cmake @@ -118,14 +118,33 @@ typedef signed int ssize_t; #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. */ |