From e5ec2620cd93c20960025d2defc6ad5d0c65742e Mon Sep 17 00:00:00 2001 From: Mikhail Krichanov Date: Wed, 7 Dec 2022 11:59:05 +0300 Subject: [PATCH] MdePkg/X64/ProcessorBind.h: Fixes CLANGDWARF X64 compilation Corrects typedef redefinition, in particular for openssl e_os2.h Signed-off-by: Savva Mitrofanov --- MdePkg/Include/X64/ProcessorBind.h | 47 ++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) 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