LLVM: include/llvm-c/DataTypes.h Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24#ifndef LLVM_C_DATATYPES_H

25#define LLVM_C_DATATYPES_H

26

27#include <inttypes.h>

28#include <stdint.h>

29

30#ifndef _MSC_VER

31

32#if !defined(UINT32_MAX)

33# error "The standard header is not C++11 compliant. Must #define "\

34 "__STDC_LIMIT_MACROS before #including llvm-c/DataTypes.h"

35#endif

36

37#if !defined(UINT32_C)

38# error "The standard header is not C++11 compliant. Must #define "\

39 "__STDC_CONSTANT_MACROS before #including llvm-c/DataTypes.h"

40#endif

41

42

43#include <sys/types.h>

44

45#ifdef _AIX

46

47#undef INT64_MAX

48#undef INT64_MIN

49#endif

50

51#else

52#ifdef __cplusplus

53#include

54#include

55#else

56#include <stddef.h>

57#include <stdlib.h>

58#endif

59#include <sys/types.h>

60

61#if defined(_WIN64)

62typedef signed __int64 ssize_t;

63#else

64typedef signed int ssize_t;

65#endif

66

67#endif

68

69

70#if !defined(INT64_MAX)

71# define INT64_MAX 9223372036854775807LL

72#endif

73#if !defined(INT64_MIN)

74# define INT64_MIN ((-INT64_MAX)-1)

75#endif

76#if !defined(UINT64_MAX)

77# define UINT64_MAX 0xffffffffffffffffULL

78#endif

79

80#endif