diff options
Diffstat (limited to 'include/Support/DataTypes.h')
-rw-r--r-- | include/Support/DataTypes.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/Support/DataTypes.h b/include/Support/DataTypes.h new file mode 100644 index 0000000000..0b20d90acd --- /dev/null +++ b/include/Support/DataTypes.h @@ -0,0 +1,34 @@ +//===-- include/Support/DataTypes.h - Define fixed size types ----*- C++ -*--=// +// +// 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: +// +// LITTLE_ENDIAN: is #define'd if the host is little endian +// int64_t : is a typedef for the signed 64 bit system type +// uint64_t : is a typedef for the unsigned 64 bit system type +// +// No library is required when using these functinons. +// +//===----------------------------------------------------------------------===// + +// TODO: This file sucks. Not only does it not work, but this stuff should be +// autoconfiscated anyways. Major FIXME + + +#ifndef LLVM_SUPPORT_DATATYPES_H +#define LLVM_SUPPORT_DATATYPES_H + +#ifdef LINUX +#define __STDC_LIMIT_MACROS 1 +#include <stdint.h> // Defined by ISO C 99 +#include <endian.h> + +#else +#include <sys/types.h> +#ifdef _LITTLE_ENDIAN +#define LITTLE_ENDIAN 1 +#endif +#endif + +#endif |