mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-28 16:14:04 +02:00
MdePkg Base.h: Add definition for CLANG9 tool chain
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1603 CLANG9 tool chain defines __clang__ macro only, doesn't define __GNUC__ macro. But, it uses some same definitions with GCC. So, update base definition for CLANG9 tool chain. Signed-off-by: Liming Gao <liming.gao@intel.com> Cc: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
This commit is contained in:
parent
3d312a1fec
commit
70bebafd1b
@ -621,9 +621,9 @@ typedef char* VA_LIST;
|
|||||||
#define VA_END(Marker) (Marker = (VA_LIST) 0)
|
#define VA_END(Marker) (Marker = (VA_LIST) 0)
|
||||||
#define VA_COPY(Dest, Start) ((void)((Dest) = (Start)))
|
#define VA_COPY(Dest, Start) ((void)((Dest) = (Start)))
|
||||||
|
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__) || defined(__clang__)
|
||||||
|
|
||||||
#if defined(MDE_CPU_X64) && !defined(NO_MSABI_VA_FUNCS)
|
#if defined(MDE_CPU_X64) && !defined(NO_MSABI_VA_FUNCS) && !defined(__clang__)
|
||||||
//
|
//
|
||||||
// X64 only. Use MS ABI version of GCC built-in macros for variable argument lists.
|
// X64 only. Use MS ABI version of GCC built-in macros for variable argument lists.
|
||||||
//
|
//
|
||||||
@ -1274,7 +1274,7 @@ typedef UINTN RETURN_STATUS;
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define RETURN_ADDRESS(L) ((L == 0) ? _ReturnAddress() : (VOID *) 0)
|
#define RETURN_ADDRESS(L) ((L == 0) ? _ReturnAddress() : (VOID *) 0)
|
||||||
#elif defined(__GNUC__)
|
#elif defined (__GNUC__) || defined (__clang__)
|
||||||
void * __builtin_return_address (unsigned int level);
|
void * __builtin_return_address (unsigned int level);
|
||||||
/**
|
/**
|
||||||
Get the return address of the calling function.
|
Get the return address of the calling function.
|
||||||
|
@ -281,7 +281,7 @@ typedef INT32 INTN;
|
|||||||
/// Microsoft* compiler specific method for EFIAPI calling convention.
|
/// Microsoft* compiler specific method for EFIAPI calling convention.
|
||||||
///
|
///
|
||||||
#define EFIAPI __cdecl
|
#define EFIAPI __cdecl
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__) || defined(__clang__)
|
||||||
///
|
///
|
||||||
/// GCC specific method for EFIAPI calling convention.
|
/// GCC specific method for EFIAPI calling convention.
|
||||||
///
|
///
|
||||||
@ -294,7 +294,7 @@ typedef INT32 INTN;
|
|||||||
#define EFIAPI
|
#define EFIAPI
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__) || defined(__clang__)
|
||||||
///
|
///
|
||||||
/// For GNU assembly code, .global or .globl can declare global symbols.
|
/// For GNU assembly code, .global or .globl can declare global symbols.
|
||||||
/// Define this macro to unify the usage.
|
/// Define this macro to unify the usage.
|
||||||
|
@ -313,7 +313,7 @@ typedef INT64 INTN;
|
|||||||
#define EFIAPI
|
#define EFIAPI
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__) || defined(__clang__)
|
||||||
///
|
///
|
||||||
/// For GNU assembly code, .global or .globl can declare global symbols.
|
/// For GNU assembly code, .global or .globl can declare global symbols.
|
||||||
/// Define this macro to unify the usage.
|
/// Define this macro to unify the usage.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user