Reviewed-by: Liming Gao <[email protected]>

> -----邮件原件-----
> 发件人: Michael D Kinney <[email protected]>
> 发送时间: 2022年11月5日 4:25
> 收件人: [email protected]
> 抄送: Liming Gao <[email protected]>; Zhiguang Liu
> <[email protected]>
> 主题: [Patch V2 1/7] MdePkg/Include: Update Base.h to improve C++
> compatibility
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4134
> 
> * Map NULL to nullptr or __null when c++ compiler is used.
> * Map STATIC_ASSERT to static_assert when a c++ compiler is used.
> * Typecast RETURN_SUCCESS to type RETURN_STATUS to match type used
>   by all return error/warning status codes.  C++ has stricter type
>   checking and found this inconsistency.
> 
> Cc: Liming Gao <[email protected]>
> Cc: Zhiguang Liu <[email protected]>
> Signed-off-by: Michael D Kinney <[email protected]>
> ---
>  MdePkg/Include/Base.h | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
> index d19ddfe4bba7..d209e6de280a 100644
> --- a/MdePkg/Include/Base.h
> +++ b/MdePkg/Include/Base.h
> @@ -309,7 +309,15 @@ struct _LIST_ENTRY {
>  ///
>  /// NULL pointer (VOID *)
>  ///
> +#if defined (__cplusplus)
> +  #if defined (_MSC_EXTENSIONS)
> +#define NULL  nullptr
> +  #else
> +#define NULL  __null
> +  #endif
> +#else
>  #define NULL  ((VOID *) 0)
> +#endif
> 
>  //
>  // Null character
> @@ -760,7 +768,7 @@ typedef UINTN *BASE_LIST;
>  **/
>  #ifdef MDE_CPU_EBC
>  #define STATIC_ASSERT(Expression, Message)
> -#elif defined (_MSC_EXTENSIONS)
> +#elif defined (_MSC_EXTENSIONS) || defined (__cplusplus)
>  #define STATIC_ASSERT  static_assert
>  #else
>  #define STATIC_ASSERT  _Static_assert
> @@ -959,7 +967,7 @@ typedef UINTN RETURN_STATUS;
>  ///
>  /// The operation completed successfully.
>  ///
> -#define RETURN_SUCCESS  0
> +#define RETURN_SUCCESS  (RETURN_STATUS)(0)
> 
>  ///
>  /// The image failed to load.
> --
> 2.37.1.windows.1





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#96071): https://edk2.groups.io/g/devel/message/96071
Mute This Topic: https://groups.io/mt/94885499/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to