diff options
Diffstat (limited to 'include/Support/DataTypes.h.in')
-rw-r--r-- | include/Support/DataTypes.h.in | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/include/Support/DataTypes.h.in b/include/Support/DataTypes.h.in new file mode 100644 index 0000000000..d01f8c2f2f --- /dev/null +++ b/include/Support/DataTypes.h.in @@ -0,0 +1,45 @@ +//===-- include/Support/DataTypes.h - Define fixed size types ---*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file was developed by the LLVM research group and is distributed under +// the University of Illinois Open Source License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file contains definitions to figure out the size of _HOST_ data types. +// This file is important because different host OS's define different macros, +// which makes portability tough. This file exports the following definitions: +// +// int64_t : is a typedef for the signed 64 bit system type +// uint64_t : is a typedef for the unsigned 64 bit system type +// INT64_MAX : is a #define specifying the max value for int64_t's +// +// No library is required when using these functinons. +// +//===----------------------------------------------------------------------===// + +#ifndef SUPPORT_DATATYPES_H +#define SUPPORT_DATATYPES_H + +// Note that this header's correct operation depends on __STDC_LIMIT_MACROS +// being defined. We would define it here, but in order to prevent Bad Things +// happening when system headers or C++ STL headers include stdint.h before +// we define it here, we define it on the g++ command line (in Makefile.rules). +#if !defined(__STDC_LIMIT_MACROS) +# error "Must #define __STDC_LIMIT_MACROS before #including Support/DataTypes.h" +#endif + +// Note that <inttypes.h> includes <stdint.h>, if this is a C99 system. +@INCLUDE_INTTYPES_H@ +@INCLUDE_SYS_TYPES_H@ + +#if !defined(INT64_MAX) +/* We couldn't determine INT64_MAX; default it. */ +# define INT64_MAX 9223372036854775807LL +#endif +#if !defined(UINT64_MAX) +# define UINT64_MAX 0xffffffffffffffffULL +#endif + +#endif /* SUPPORT_DATATYPES_H */ |