[edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__

Michael D Kinney michael.d.kinney at intel.com
Fri Feb 10 01:01:07 UTC 2023


Hi Rebecca,

Did this pass EDK II CI?

This change does break EBC compiler builds.  The following has to be added to
MdePkg/Include/Ebc/ProcessorBind.h in order to use __func__ everywhere.

    #define __func__ __FUNCTION__

I also see __FUNCTION__ used in many packages.  I am wondering if we want
to do this clean up if it should be its own patch series and update all
packages in once series.

Mike

> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Rebecca Cran
> Sent: Thursday, February 9, 2023 7:45 AM
> To: devel at edk2.groups.io; Kinney, Michael D <michael.d.kinney at intel.com>; Gao, Liming <gaoliming at byosoft.com.cn>; Liu, Zhiguang
> <zhiguang.liu at intel.com>
> Cc: Rebecca Cran <rebecca at quicinc.com>
> Subject: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
> 
> __FUNCTION__ is a pre-standard extension that gcc and Visual C++ among
> others support, while __func__ was standardized in C99.
> 
> Since it's more standard, replace __FUNCTION__ with __func__ throughout
> MdePkg.
> 
> Signed-off-by: Rebecca Cran <rebecca at quicinc.com>
> ---
>  MdePkg/Include/Library/PerformanceLib.h                                                    | 12 ++++++------
>  MdePkg/Include/Library/UnitTestLib.h                                                       | 18 +++++++++---------
>  MdePkg/Library/BaseCacheMaintenanceLib/LoongArchCache.c                                    |  6 +++---
>  MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c                                        | 12 ++++++------
>  MdePkg/Library/BaseLib/SafeString.c                                                        |  2 +-
>  MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.c |  4 ++--
>  MdePkg/Library/DxeRngLib/DxeRngLib.c                                                       | 14 +++++++-------
>  7 files changed, 34 insertions(+), 34 deletions(-)
> 
> diff --git a/MdePkg/Include/Library/PerformanceLib.h b/MdePkg/Include/Library/PerformanceLib.h
> index 34ec956b9c0e..d0f2dfb070d5 100644
> --- a/MdePkg/Include/Library/PerformanceLib.h
> +++ b/MdePkg/Include/Library/PerformanceLib.h
> @@ -526,7 +526,7 @@ LogPerformanceMeasurement (
>  #define PERF_EVENT_SIGNAL_BEGIN(EventGuid) \
>    do { \
>      if (LogPerformanceMeasurementEnabled (PERF_GENERAL_TYPE)) { \
> -      LogPerformanceMeasurement (&gEfiCallerIdGuid, EventGuid, __FUNCTION__ , 0, PERF_EVENTSIGNAL_START_ID); \
> +      LogPerformanceMeasurement (&gEfiCallerIdGuid, EventGuid, __func__ , 0, PERF_EVENTSIGNAL_START_ID); \
>      } \
>    } while (FALSE)
> 
> @@ -542,7 +542,7 @@ LogPerformanceMeasurement (
>  #define PERF_EVENT_SIGNAL_END(EventGuid) \
>    do { \
>      if (LogPerformanceMeasurementEnabled (PERF_GENERAL_TYPE)) { \
> -      LogPerformanceMeasurement (&gEfiCallerIdGuid, EventGuid, __FUNCTION__ , 0, PERF_EVENTSIGNAL_END_ID); \
> +      LogPerformanceMeasurement (&gEfiCallerIdGuid, EventGuid, __func__ , 0, PERF_EVENTSIGNAL_END_ID); \
>      } \
>    } while (FALSE)
> 
> @@ -558,7 +558,7 @@ LogPerformanceMeasurement (
>  #define PERF_CALLBACK_BEGIN(TriggerGuid) \
>    do { \
>      if (LogPerformanceMeasurementEnabled (PERF_GENERAL_TYPE)) { \
> -      LogPerformanceMeasurement (&gEfiCallerIdGuid, TriggerGuid, __FUNCTION__ , 0, PERF_CALLBACK_START_ID); \
> +      LogPerformanceMeasurement (&gEfiCallerIdGuid, TriggerGuid, __func__ , 0, PERF_CALLBACK_START_ID); \
>      } \
>    } while (FALSE)
> 
> @@ -574,7 +574,7 @@ LogPerformanceMeasurement (
>  #define PERF_CALLBACK_END(TriggerGuid) \
>    do { \
>      if (LogPerformanceMeasurementEnabled (PERF_GENERAL_TYPE)) { \
> -      LogPerformanceMeasurement (&gEfiCallerIdGuid, TriggerGuid, __FUNCTION__ , 0, PERF_CALLBACK_END_ID); \
> +      LogPerformanceMeasurement (&gEfiCallerIdGuid, TriggerGuid, __func__ , 0, PERF_CALLBACK_END_ID); \
>      } \
>    } while (FALSE)
> 
> @@ -589,7 +589,7 @@ LogPerformanceMeasurement (
>  #define PERF_FUNCTION_BEGIN() \
>    do { \
>      if (LogPerformanceMeasurementEnabled (PERF_GENERAL_TYPE)) { \
> -      LogPerformanceMeasurement (&gEfiCallerIdGuid, NULL, __FUNCTION__ , 0, PERF_FUNCTION_START_ID); \
> +      LogPerformanceMeasurement (&gEfiCallerIdGuid, NULL, __func__ , 0, PERF_FUNCTION_START_ID); \
>      } \
>    } while (FALSE)
> 
> @@ -604,7 +604,7 @@ LogPerformanceMeasurement (
>  #define PERF_FUNCTION_END() \
>    do { \
>      if (LogPerformanceMeasurementEnabled (PERF_GENERAL_TYPE)) { \
> -      LogPerformanceMeasurement (&gEfiCallerIdGuid, NULL, __FUNCTION__ , 0, PERF_FUNCTION_END_ID); \
> +      LogPerformanceMeasurement (&gEfiCallerIdGuid, NULL, __func__ , 0, PERF_FUNCTION_END_ID); \
>      } \
>    } while (FALSE)
> 
> diff --git a/MdePkg/Include/Library/UnitTestLib.h b/MdePkg/Include/Library/UnitTestLib.h
> index 71c205b1b143..321a310602d7 100644
> --- a/MdePkg/Include/Library/UnitTestLib.h
> +++ b/MdePkg/Include/Library/UnitTestLib.h
> @@ -348,7 +348,7 @@ SaveFrameworkState (
>    @param[in]  Expression  Expression to be evaluated for TRUE.
>  **/
>  #define UT_ASSERT_TRUE(Expression)                                                                 \
> -  if(!UnitTestAssertTrue ((Expression), __FUNCTION__, DEBUG_LINE_NUMBER, __FILE__, #Expression)) { \
> +  if(!UnitTestAssertTrue ((Expression), __func__, DEBUG_LINE_NUMBER, __FILE__, #Expression)) { \
>      return UNIT_TEST_ERROR_TEST_FAILED;                                                            \
>    }
> 
> @@ -360,7 +360,7 @@ SaveFrameworkState (
>    @param[in]  Expression  Expression to be evaluated for FALSE.
>  **/
>  #define UT_ASSERT_FALSE(Expression)                                                                 \
> -  if(!UnitTestAssertFalse ((Expression), __FUNCTION__, DEBUG_LINE_NUMBER, __FILE__, #Expression)) { \
> +  if(!UnitTestAssertFalse ((Expression), __func__, DEBUG_LINE_NUMBER, __FILE__, #Expression)) { \
>      return UNIT_TEST_ERROR_TEST_FAILED;                                                             \
>    }
> 
> @@ -373,7 +373,7 @@ SaveFrameworkState (
>    @param[in]  ValueB  Value to be compared for equality (64-bit comparison).
>  **/
>  #define UT_ASSERT_EQUAL(ValueA, ValueB)                                                                           \
> -  if(!UnitTestAssertEqual ((UINT64)(ValueA), (UINT64)(ValueB), __FUNCTION__, DEBUG_LINE_NUMBER, __FILE__, #ValueA, #ValueB)) { \
> +  if(!UnitTestAssertEqual ((UINT64)(ValueA), (UINT64)(ValueB), __func__, DEBUG_LINE_NUMBER, __FILE__, #ValueA, #ValueB)) { \
>      return UNIT_TEST_ERROR_TEST_FAILED;                                                                           \
>    }
> 
> @@ -387,7 +387,7 @@ SaveFrameworkState (
>    @param[in]  Length   Number of bytes to compare in BufferA and BufferB.
>  **/
>  #define UT_ASSERT_MEM_EQUAL(BufferA, BufferB, Length)
> \
> -  if(!UnitTestAssertMemEqual ((VOID *)(UINTN)(BufferA), (VOID *)(UINTN)(BufferB), (UINTN)Length, __FUNCTION__, DEBUG_LINE_NUMBER,
> __FILE__, #BufferA, #BufferB)) { \
> +  if(!UnitTestAssertMemEqual ((VOID *)(UINTN)(BufferA), (VOID *)(UINTN)(BufferB), (UINTN)Length, __func__, DEBUG_LINE_NUMBER,
> __FILE__, #BufferA, #BufferB)) { \
>      return UNIT_TEST_ERROR_TEST_FAILED;
> \
>    }
> 
> @@ -400,7 +400,7 @@ SaveFrameworkState (
>    @param[in]  ValueB  Value to be compared for inequality (64-bit comparison).
>  **/
>  #define UT_ASSERT_NOT_EQUAL(ValueA, ValueB)                                                                                       \
> -  if(!UnitTestAssertNotEqual ((UINT64)(ValueA), (UINT64)(ValueB), __FUNCTION__, DEBUG_LINE_NUMBER, __FILE__, #ValueA, #ValueB)) { \
> +  if(!UnitTestAssertNotEqual ((UINT64)(ValueA), (UINT64)(ValueB), __func__, DEBUG_LINE_NUMBER, __FILE__, #ValueA, #ValueB)) { \
>      return UNIT_TEST_ERROR_TEST_FAILED;                                                                                           \
>    }
> 
> @@ -412,7 +412,7 @@ SaveFrameworkState (
>    @param[in]  Status  EFI_STATUS value to check.
>  **/
>  #define UT_ASSERT_NOT_EFI_ERROR(Status)                                                           \
> -  if(!UnitTestAssertNotEfiError ((Status), __FUNCTION__, DEBUG_LINE_NUMBER, __FILE__, #Status)) { \
> +  if(!UnitTestAssertNotEfiError ((Status), __func__, DEBUG_LINE_NUMBER, __FILE__, #Status)) { \
>      return UNIT_TEST_ERROR_TEST_FAILED;                                                           \
>    }
> 
> @@ -425,7 +425,7 @@ SaveFrameworkState (
>    @param[in]  Expected  EFI_STATUS values to compare for equality.
>  **/
>  #define UT_ASSERT_STATUS_EQUAL(Status, Expected)                                                              \
> -  if(!UnitTestAssertStatusEqual ((Status), (Expected), __FUNCTION__, DEBUG_LINE_NUMBER, __FILE__, #Status)) { \
> +  if(!UnitTestAssertStatusEqual ((Status), (Expected), __func__, DEBUG_LINE_NUMBER, __FILE__, #Status)) { \
>      return UNIT_TEST_ERROR_TEST_FAILED;                                                                       \
>    }
> 
> @@ -437,7 +437,7 @@ SaveFrameworkState (
>    @param[in]  Pointer  Pointer to be checked against NULL.
>  **/
>  #define UT_ASSERT_NOT_NULL(Pointer)                                                             \
> -  if(!UnitTestAssertNotNull ((Pointer), __FUNCTION__, DEBUG_LINE_NUMBER, __FILE__, #Pointer)) { \
> +  if(!UnitTestAssertNotNull ((Pointer), __func__, DEBUG_LINE_NUMBER, __FILE__, #Pointer)) { \
>      return UNIT_TEST_ERROR_TEST_FAILED;                                                         \
>    }
> 
> @@ -482,7 +482,7 @@ extern BASE_LIBRARY_JUMP_BUFFER  *gUnitTestExpectAssertFailureJumpBuffer;
>        }                                                                \
>        if (!UnitTestExpectAssertFailure (                               \
>               UnitTestJumpStatus,                                       \
> -             __FUNCTION__, DEBUG_LINE_NUMBER, __FILE__,                \
> +             __func__, DEBUG_LINE_NUMBER, __FILE__,                \
>               #FunctionCall, Status)) {                                 \
>          return UNIT_TEST_ERROR_TEST_FAILED;                            \
>        }                                                                \
> diff --git a/MdePkg/Library/BaseCacheMaintenanceLib/LoongArchCache.c b/MdePkg/Library/BaseCacheMaintenanceLib/LoongArchCache.c
> index 4c8773278c3c..617b0f4218b8 100644
> --- a/MdePkg/Library/BaseCacheMaintenanceLib/LoongArchCache.c
> +++ b/MdePkg/Library/BaseCacheMaintenanceLib/LoongArchCache.c
> @@ -100,7 +100,7 @@ WriteBackInvalidateDataCache (
>    VOID
>    )
>  {
> -  DEBUG ((DEBUG_ERROR, "%a: Not currently implemented on LoongArch.\n", __FUNCTION__));
> +  DEBUG ((DEBUG_ERROR, "%a: Not currently implemented on LoongArch.\n", __func__));
>  }
> 
>  /**
> @@ -136,7 +136,7 @@ WriteBackInvalidateDataCacheRange (
>    IN      UINTN  Length
>    )
>  {
> -  DEBUG ((DEBUG_ERROR, "%a: Not currently implemented on LoongArch.\n", __FUNCTION__));
> +  DEBUG ((DEBUG_ERROR, "%a: Not currently implemented on LoongArch.\n", __func__));
>    return Address;
>  }
> 
> @@ -191,7 +191,7 @@ WriteBackDataCacheRange (
>    IN      UINTN  Length
>    )
>  {
> -  DEBUG ((DEBUG_ERROR, "%a: Not currently implemented on LoongArch.\n", __FUNCTION__));
> +  DEBUG ((DEBUG_ERROR, "%a: Not currently implemented on LoongArch.\n", __func__));
>    return Address;
>  }
> 
> diff --git a/MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c b/MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c
> index 67a3387ff3c6..bb26fe013d8b 100644
> --- a/MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c
> +++ b/MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c
> @@ -76,7 +76,7 @@ InvalidateInstructionCacheRange (
>    IN UINTN  Length
>    )
>  {
> -  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __FUNCTION__));
> +  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __func__));
>    return Address;
>  }
> 
> @@ -96,7 +96,7 @@ WriteBackInvalidateDataCache (
>    VOID
>    )
>  {
> -  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __FUNCTION__));
> +  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __func__));
>  }
> 
>  /**
> @@ -132,7 +132,7 @@ WriteBackInvalidateDataCacheRange (
>    IN      UINTN  Length
>    )
>  {
> -  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __FUNCTION__));
> +  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __func__));
>    return Address;
>  }
> 
> @@ -152,7 +152,7 @@ WriteBackDataCache (
>    VOID
>    )
>  {
> -  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __FUNCTION__));
> +  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __func__));
>  }
> 
>  /**
> @@ -187,7 +187,7 @@ WriteBackDataCacheRange (
>    IN      UINTN  Length
>    )
>  {
> -  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __FUNCTION__));
> +  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __func__));
>    return Address;
>  }
> 
> @@ -245,6 +245,6 @@ InvalidateDataCacheRange (
>    IN      UINTN  Length
>    )
>  {
> -  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __FUNCTION__));
> +  DEBUG ((DEBUG_ERROR, "%a:RISC-V unsupported function.\n", __func__));
>    return Address;
>  }
> diff --git a/MdePkg/Library/BaseLib/SafeString.c b/MdePkg/Library/BaseLib/SafeString.c
> index b75b33381732..954d3f8c8988 100644
> --- a/MdePkg/Library/BaseLib/SafeString.c
> +++ b/MdePkg/Library/BaseLib/SafeString.c
> @@ -17,7 +17,7 @@
>      if (!(Expression)) { \
>        DEBUG ((DEBUG_VERBOSE, \
>          "%a(%d) %a: SAFE_STRING_CONSTRAINT_CHECK(%a) failed.  Return %r\n", \
> -        __FILE__, DEBUG_LINE_NUMBER, __FUNCTION__, DEBUG_EXPRESSION_STRING (Expression), Status)); \
> +        __FILE__, DEBUG_LINE_NUMBER, __func__, DEBUG_EXPRESSION_STRING (Expression), Status)); \
>        return Status; \
>      } \
>    } while (FALSE)
> diff --git a/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.c
> b/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.c
> index f47301de8982..a23113f9c91d 100644
> --- a/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.c
> +++ b/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.c
> @@ -1416,7 +1416,7 @@ RedBlackTreeValidate (
>    CONST RED_BLACK_TREE_NODE  *Last;
>    CONST RED_BLACK_TREE_NODE  *Node;
> 
> -  DEBUG ((DEBUG_VERBOSE, "%a: Tree=%p\n", __FUNCTION__, Tree));
> +  DEBUG ((DEBUG_VERBOSE, "%a: Tree=%p\n", __func__, Tree));
> 
>    //
>    // property #5
> @@ -1459,7 +1459,7 @@ RedBlackTreeValidate (
>    DEBUG ((
>      DEBUG_VERBOSE,
>      "%a: Tree=%p BlackHeight=%Ld Count=%Ld\n",
> -    __FUNCTION__,
> +    __func__,
>      Tree,
>      (INT64)BlackHeight,
>      (INT64)ForwardCount
> diff --git a/MdePkg/Library/DxeRngLib/DxeRngLib.c b/MdePkg/Library/DxeRngLib/DxeRngLib.c
> index 82129aa44598..46aea515924f 100644
> --- a/MdePkg/Library/DxeRngLib/DxeRngLib.c
> +++ b/MdePkg/Library/DxeRngLib/DxeRngLib.c
> @@ -37,43 +37,43 @@ GenerateRandomNumberViaNist800Algorithm (
>    RngProtocol = NULL;
> 
>    if (Buffer == NULL) {
> -    DEBUG ((DEBUG_ERROR, "%a: Buffer == NULL.\n", __FUNCTION__));
> +    DEBUG ((DEBUG_ERROR, "%a: Buffer == NULL.\n", __func__));
>      return EFI_INVALID_PARAMETER;
>    }
> 
>    Status = gBS->LocateProtocol (&gEfiRngProtocolGuid, NULL, (VOID **)&RngProtocol);
>    if (EFI_ERROR (Status) || (RngProtocol == NULL)) {
> -    DEBUG ((DEBUG_ERROR, "%a: Could not locate RNG prototocol, Status = %r\n", __FUNCTION__, Status));
> +    DEBUG ((DEBUG_ERROR, "%a: Could not locate RNG prototocol, Status = %r\n", __func__, Status));
>      return Status;
>    }
> 
>    Status = RngProtocol->GetRNG (RngProtocol, &gEfiRngAlgorithmSp80090Ctr256Guid, BufferSize, Buffer);
> -  DEBUG ((DEBUG_INFO, "%a: GetRNG algorithm CTR-256 - Status = %r\n", __FUNCTION__, Status));
> +  DEBUG ((DEBUG_INFO, "%a: GetRNG algorithm CTR-256 - Status = %r\n", __func__, Status));
>    if (!EFI_ERROR (Status)) {
>      return Status;
>    }
> 
>    Status = RngProtocol->GetRNG (RngProtocol, &gEfiRngAlgorithmSp80090Hmac256Guid, BufferSize, Buffer);
> -  DEBUG ((DEBUG_INFO, "%a: GetRNG algorithm HMAC-256 - Status = %r\n", __FUNCTION__, Status));
> +  DEBUG ((DEBUG_INFO, "%a: GetRNG algorithm HMAC-256 - Status = %r\n", __func__, Status));
>    if (!EFI_ERROR (Status)) {
>      return Status;
>    }
> 
>    Status = RngProtocol->GetRNG (RngProtocol, &gEfiRngAlgorithmSp80090Hash256Guid, BufferSize, Buffer);
> -  DEBUG ((DEBUG_INFO, "%a: GetRNG algorithm Hash-256 - Status = %r\n", __FUNCTION__, Status));
> +  DEBUG ((DEBUG_INFO, "%a: GetRNG algorithm Hash-256 - Status = %r\n", __func__, Status));
>    if (!EFI_ERROR (Status)) {
>      return Status;
>    }
> 
>    // If all the other methods have failed, use the default method from the RngProtocol
>    Status = RngProtocol->GetRNG (RngProtocol, NULL, BufferSize, Buffer);
> -  DEBUG ((DEBUG_INFO, "%a: GetRNG algorithm Hash-256 - Status = %r\n", __FUNCTION__, Status));
> +  DEBUG ((DEBUG_INFO, "%a: GetRNG algorithm Hash-256 - Status = %r\n", __func__, Status));
>    if (!EFI_ERROR (Status)) {
>      return Status;
>    }
> 
>    // If we get to this point, we have failed
> -  DEBUG ((DEBUG_ERROR, "%a: GetRNG() failed, staus = %r\n", __FUNCTION__, Status));
> +  DEBUG ((DEBUG_ERROR, "%a: GetRNG() failed, staus = %r\n", __func__, Status));
> 
>    return Status;
>  }// GenerateRandomNumberViaNist800Algorithm()
> --
> 2.30.2
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#99937): https://edk2.groups.io/g/devel/message/99937
Mute This Topic: https://groups.io/mt/96855618/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3943202/1813853/130120423/xyzzy [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list