#ifndef BH_PLATFORM_H
#define BH_PLATFORM_H
#include <stddef.h>
/* Common type definitions */
typedef signed char bh_int8_t;
typedef unsigned char bh_uint8_t;
typedef signed short bh_int16_t;
typedef unsigned short bh_uint16_t;
typedef float bh_float32_t;
typedef double bh_float64_t;
/* Platform specific type definition */
#if __STDC_VERSION__ >= 199901L || defined(__GNUC__)
#include <stdint.h>
typedef int32_t bh_int32_t;
typedef uint32_t bh_uint32_t;
typedef int64_t bh_int64_t;
typedef uint64_t bh_uint64_t;
typedef intptr_t bh_intptr_t;
typedef uintptr_t bh_uintptr_t;
#elif defined(_WIN32)
typedef __int32 bh_int32_t;
typedef unsigned __int32 bh_uint32_t;
typedef __int64 bh_int64_t;
typedef unsigned __int64 bh_uint64_t;
#if defined(_WIN64)
typedef __int64 bh_intptr_t;
typedef unsigned __int64 bh_uintptr_t;
#else
typedef __int32 bh_intptr_t;
typedef unsigned __int32 bh_uintptr_t;
#endif
#error "Unsupported platform"
typedef bh_int64_t bh_off_t;
#endif /* BH_PLATFORM_H */