diff --git a/MdePkg/Include/X64/ProcessorBind.h b/MdePkg/Include/X64/ProcessorBind.h index bc152ea761..d64ce6157a 100644 --- a/MdePkg/Include/X64/ProcessorBind.h +++ b/MdePkg/Include/X64/ProcessorBind.h @@ -155,6 +155,53 @@ typedef char CHAR8; /// 1-byte signed value /// typedef signed char INT8; +#elif defined (__clang__) +/// +/// 8-byte unsigned value +/// +typedef __UINT64_TYPE__ UINT64; +/// +/// 8-byte signed value +/// +typedef __INT64_TYPE__ INT64; +/// +/// 4-byte unsigned value +/// +typedef unsigned int UINT32; +/// +/// 4-byte signed value +/// +typedef signed int INT32; +/// +/// 2-byte unsigned value +/// +typedef unsigned short UINT16; +/// +/// 2-byte Character. Unless otherwise specified all strings are stored in the +/// UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards. +/// +typedef unsigned short CHAR16; +/// +/// 2-byte signed value +/// +typedef short INT16; +/// +/// Logical Boolean. 1-byte value containing 0 for FALSE or a 1 for TRUE. Other +/// values are undefined. +/// +typedef unsigned char BOOLEAN; +/// +/// 1-byte unsigned value +/// +typedef unsigned char UINT8; +/// +/// 1-byte Character +/// +typedef char CHAR8; +/// +/// 1-byte signed value +/// +typedef signed char INT8; #else /// /// 8-byte unsigned value