__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@...> --- 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
|
|
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
toggle quoted message
Show quoted text
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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
|
|
toggle quoted message
Show quoted text
On 2/9/23 18:01, Michael D Kinney wrote: 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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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
|
|
On Fri, 10 Feb 2023 at 02:21, Rebecca Cran <rebecca@...> wrote: Mike,
Yes, it passed CI - see https://github.com/tianocore/edk2/pull/4022 .
I wasn't sure if we cared about EBC builds these days. Given the link on https://www.intel.com/content/www/us/en/architecture-and-technology/unified-extensible-firmware-interface/efi-homepage-general-technology.html to the compiler goes to a generic page that doesn't mention it, is it possible to get a copy if I want to verify if changes I'm making are compatible?
We tried to get access to this at Linaro, but I don't think it is still available. Leif may remember better. I know there was a project to add support for building EBC using LLVM, but I'm not sure if anything came of it.
No that never went anywhere afaik. The problem was that, in EBC, sizeof() is not a compile time constant, and this breaks too many assumptions in the existing frontends, so this would only be feasible if we restricted ourselves to a specialized version of EBC that targets 64-bit architectures only, but this seems like a lot of effort for questionable benefits. Given that X64 code can run on arm64 under emulation without too many problems [0], and that the 32-bit ARM procedure call standard is fundamentally incompatible with EBC, the issue lost its urgency somewhat, at least from the side of ARM at the time. [0] https://github.com/ardbiesheuvel/X86EmulatorPkgI wonder whether we should simply drop EBC support? It is unlikely that all the changes that went into EDK2 over the years have not caused a single EBC regression in the library components that are needed to build UEFI drivers that target EBC. Or is this still being used/tested internally at Intel?
|
|
On 2023-02-10 11:45, Ard Biesheuvel wrote: I wasn't sure if we cared about EBC builds these days. Given the link on https://www.intel.com/content/www/us/en/architecture-and-technology/unified-extensible-firmware-interface/efi-homepage-general-technology.html to the compiler goes to a generic page that doesn't mention it, is it possible to get a copy if I want to verify if changes I'm making are compatible? We tried to get access to this at Linaro, but I don't think it is still available. Leif may remember better.
After asking around, some shady character in a café passed me a very long and customized URL on a note in a brown paper bag, and I was able to procure a single license for ARM. I don't think we succeeded for Linaro. I wonder whether we should simply drop EBC support? It is unlikely that all the changes that went into EDK2 over the years have not caused a single EBC regression in the library components that are needed to build UEFI drivers that target EBC. The appearance of RISC-V and Loongarch since those days highlight why architecture independent drivers would be a good thing, but EBC is pining for the fjords. If we don't drop EBC now, we should start drafting a timeline for when we will. / Leif
|
|
I would like to propose removing EBC support from edk2 and BaseTools after edk2-stable202302.
Anyone requiring EBC can use edk2-stable202302 or older releases.
Mike
toggle quoted message
Show quoted text
-----Original Message----- From: Leif Lindholm <quic_llindhol@...> Sent: Friday, February 10, 2023 7:20 AM To: devel@edk2.groups.io; ardb@...; rebecca@... Cc: Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
On 2023-02-10 11:45, Ard Biesheuvel wrote:
I wasn't sure if we cared about EBC builds these days. Given the link on https://www.intel.com/content/www/us/en/architecture-and-technology/unified-extensible-firmware-interface/efi-homepage- general-technology.html
to the compiler goes to a generic page that doesn't mention it, is it possible to get a copy if I want to verify if changes I'm making are compatible? We tried to get access to this at Linaro, but I don't think it is still available. Leif may remember better. After asking around, some shady character in a café passed me a very long and customized URL on a note in a brown paper bag, and I was able to procure a single license for ARM. I don't think we succeeded for Linaro.
I wonder whether we should simply drop EBC support? It is unlikely that all the changes that went into EDK2 over the years have not caused a single EBC regression in the library components that are needed to build UEFI drivers that target EBC. The appearance of RISC-V and Loongarch since those days highlight why architecture independent drivers would be a good thing, but EBC is pining for the fjords.
If we don't drop EBC now, we should start drafting a timeline for when we will.
/ Leif
|
|
On 2/9/23 18:01, Michael D Kinney wrote: 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. To simplify review, I was planning to send out separate patch series for each package. -- Rebecca Cran
|
|
Mike,
I think your concerns with this patch were addressed?
Could you add a Reviewed-by please?
Thanks. Rebecca
toggle quoted message
Show quoted text
On 2/9/23 6:01 PM, Michael D Kinney wrote: 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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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
|
|
Reviewed-by: Michael D Kinney <michael.d.kinney@...>
toggle quoted message
Show quoted text
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Monday, March 13, 2023 7:20 PM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Mike,
I think your concerns with this patch were addressed?
Could you add a Reviewed-by please?
Thanks. Rebecca
On 2/9/23 6:01 PM, Michael D Kinney wrote:
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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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
|
|
On Thu, Feb 09, 2023 at 08:45:07AM -0700, Rebecca Cran wrote: __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@...> --- Hi Rebecca, Thank you for this effort!. After this gets merged (or once all packages migrate to __func__), would CI fail if someone adds a new __FUNCTION__ ? Changes LGTM. You need to rebase and resolve a merge conflict. Reviewed-by: Sunil V L <sunilvl@...>
|
|
(+Michael Kubacki, Sean Brogan)
Mike, Michael, Sean:
This change is going to break building edk2 with anything older than Visual Studio 2015, which is where support for __func__ was added.
I checked and currently it appears that VS2013 builds edk2 but VS2012 has errors. Given that the stuart tools don't support anything older than VS2017 I'm thinking this is okay, but I want to double check before pushing this change.
--
Rebecca Cran
toggle quoted message
Show quoted text
On 3/14/23 2:40 PM, Kinney, Michael D wrote: Reviewed-by: Michael D Kinney <michael.d.kinney@...>
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Monday, March 13, 2023 7:20 PM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Mike,
I think your concerns with this patch were addressed?
Could you add a Reviewed-by please?
Thanks. Rebecca
On 2/9/23 6:01 PM, Michael D Kinney wrote:
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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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
|
|
Hi Rebecca,
For older compilers that do not support __func__, I believe a workaround could be added to define __func__ to __FUNCTION__. We do not need to do this for any of these patches. It can be something consumers can do if they really want to use an older compiler.
You can try it out on VS2012 locally. If it works, then you can mention that workaround in the commit message.
Do we have any information on GCC/CLANG compatibility for this feature?
Mike
toggle quoted message
Show quoted text
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Friday, March 17, 2023 6:32 AM To: Kinney, Michael D <michael.d.kinney@...>; devel@edk2.groups.io; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
(+Michael Kubacki, Sean Brogan)
Mike, Michael, Sean:
This change is going to break building edk2 with anything older than Visual Studio 2015, which is where support for __func__ was added.
I checked and currently it appears that VS2013 builds edk2 but VS2012 has errors. Given that the stuart tools don't support anything older than VS2017 I'm thinking this is okay, but I want to double check before pushing this change.
--
Rebecca Cran
On 3/14/23 2:40 PM, Kinney, Michael D wrote:
Reviewed-by: Michael D Kinney <michael.d.kinney@...>
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Monday, March 13, 2023 7:20 PM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Mike,
I think your concerns with this patch were addressed?
Could you add a Reviewed-by please?
Thanks. Rebecca
On 2/9/23 6:01 PM, Michael D Kinney wrote:
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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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
|
|
Hi Rebecca,
It appears that some of the older release of VS2015 do not support __func__.
Can you please work on a patch that implements the workaround?
Thanks,
Mike
toggle quoted message
Show quoted text
-----Original Message----- From: Kinney, Michael D <michael.d.kinney@...> Sent: Friday, March 17, 2023 8:16 AM To: devel@edk2.groups.io; rebecca@...; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Cc: Kinney, Michael D <michael.d.kinney@...> Subject: RE: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Hi Rebecca,
For older compilers that do not support __func__, I believe a workaround could be added to define __func__ to __FUNCTION__. We do not need to do this for any of these patches. It can be something consumers can do if they really want to use an older compiler.
You can try it out on VS2012 locally. If it works, then you can mention that workaround in the commit message.
Do we have any information on GCC/CLANG compatibility for this feature?
Mike
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Friday, March 17, 2023 6:32 AM To: Kinney, Michael D <michael.d.kinney@...>; devel@edk2.groups.io; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
(+Michael Kubacki, Sean Brogan)
Mike, Michael, Sean:
This change is going to break building edk2 with anything older than Visual Studio 2015, which is where support for __func__ was added.
I checked and currently it appears that VS2013 builds edk2 but VS2012 has errors. Given that the stuart tools don't support anything older than VS2017 I'm thinking this is okay, but I want to double check before pushing this change.
--
Rebecca Cran
On 3/14/23 2:40 PM, Kinney, Michael D wrote:
Reviewed-by: Michael D Kinney <michael.d.kinney@...>
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Monday, March 13, 2023 7:20 PM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Mike,
I think your concerns with this patch were addressed?
Could you add a Reviewed-by please?
Thanks. Rebecca
On 2/9/23 6:01 PM, Michael D Kinney wrote:
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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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
|
|
Can we not require that VS2015 Update 3 is installed?
Do people have reasons to be running older builds, or is it just that they forget to install the updates?
-- Rebecca Cran
toggle quoted message
Show quoted text
On 3/22/23 10:58 AM, Kinney, Michael D wrote: Hi Rebecca,
It appears that some of the older release of VS2015 do not support __func__.
Can you please work on a patch that implements the workaround?
Thanks,
Mike
-----Original Message----- From: Kinney, Michael D <michael.d.kinney@...> Sent: Friday, March 17, 2023 8:16 AM To: devel@edk2.groups.io; rebecca@...; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Cc: Kinney, Michael D <michael.d.kinney@...> Subject: RE: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Hi Rebecca,
For older compilers that do not support __func__, I believe a workaround could be added to define __func__ to __FUNCTION__. We do not need to do this for any of these patches. It can be something consumers can do if they really want to use an older compiler.
You can try it out on VS2012 locally. If it works, then you can mention that workaround in the commit message.
Do we have any information on GCC/CLANG compatibility for this feature?
Mike
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Friday, March 17, 2023 6:32 AM To: Kinney, Michael D <michael.d.kinney@...>; devel@edk2.groups.io; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
(+Michael Kubacki, Sean Brogan)
Mike, Michael, Sean:
This change is going to break building edk2 with anything older than Visual Studio 2015, which is where support for __func__ was added.
I checked and currently it appears that VS2013 builds edk2 but VS2012 has errors. Given that the stuart tools don't support anything older than VS2017 I'm thinking this is okay, but I want to double check before pushing this change.
--
Rebecca Cran
On 3/14/23 2:40 PM, Kinney, Michael D wrote:
Reviewed-by: Michael D Kinney <michael.d.kinney@...>
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Monday, March 13, 2023 7:20 PM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Mike,
I think your concerns with this patch were addressed?
Could you add a Reviewed-by please?
Thanks. Rebecca
On 2/9/23 6:01 PM, Michael D Kinney wrote:
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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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
|
|
Hi Rebecca,
Using latest release would be my preference as well and what EDK II should recommend.
We should document that the min supported version of VS2015 Update 3.
Mike
toggle quoted message
Show quoted text
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Wednesday, March 22, 2023 10:46 AM To: Kinney, Michael D <michael.d.kinney@...>; devel@edk2.groups.io; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Can we not require that VS2015 Update 3 is installed?
Do people have reasons to be running older builds, or is it just that they forget to install the updates?
-- Rebecca Cran
On 3/22/23 10:58 AM, Kinney, Michael D wrote:
Hi Rebecca,
It appears that some of the older release of VS2015 do not support __func__.
Can you please work on a patch that implements the workaround?
Thanks,
Mike
-----Original Message----- From: Kinney, Michael D <michael.d.kinney@...> Sent: Friday, March 17, 2023 8:16 AM To: devel@edk2.groups.io; rebecca@...; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Cc: Kinney, Michael D <michael.d.kinney@...> Subject: RE: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Hi Rebecca,
For older compilers that do not support __func__, I believe a workaround could be added to define __func__ to __FUNCTION__. We do not need to do this for any of these patches. It can be something consumers can do if they really want to use an older compiler.
You can try it out on VS2012 locally. If it works, then you can mention that workaround in the commit message.
Do we have any information on GCC/CLANG compatibility for this feature?
Mike
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Friday, March 17, 2023 6:32 AM To: Kinney, Michael D <michael.d.kinney@...>; devel@edk2.groups.io; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
(+Michael Kubacki, Sean Brogan)
Mike, Michael, Sean:
This change is going to break building edk2 with anything older than Visual Studio 2015, which is where support for __func__ was added.
I checked and currently it appears that VS2013 builds edk2 but VS2012 has errors. Given that the stuart tools don't support anything older than VS2017 I'm thinking this is okay, but I want to double check before pushing this change.
--
Rebecca Cran
On 3/14/23 2:40 PM, Kinney, Michael D wrote:
Reviewed-by: Michael D Kinney <michael.d.kinney@...>
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Monday, March 13, 2023 7:20 PM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Mike,
I think your concerns with this patch were addressed?
Could you add a Reviewed-by please?
Thanks. Rebecca
On 2/9/23 6:01 PM, Michael D Kinney wrote:
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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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
|
|
Hi Rebecca,
The commit message “Visual Studio versions before VS 2015 don't support __func__” may cause confuse since some of the older release of VS2015 also do not support __func__. Some of my fellows report the error since they use the VS 2015 version before Update 3.
Best Regards, Yanbo Huang
toggle quoted message
Show quoted text
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael D Kinney Sent: Thursday, March 23, 2023 8:58 AM To: devel@edk2.groups.io; rebecca@...; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Cc: Kinney, Michael D <michael.d.kinney@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__ Hi Rebecca, Using latest release would be my preference as well and what EDK II should recommend. We should document that the min supported version of VS2015 Update 3. Mike -----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Wednesday, March 22, 2023 10:46 AM To: Kinney, Michael D <michael.d.kinney@...>; devel@edk2.groups.io; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Can we not require that VS2015 Update 3 is installed?
Do people have reasons to be running older builds, or is it just that they forget to install the updates?
-- Rebecca Cran
On 3/22/23 10:58 AM, Kinney, Michael D wrote:
Hi Rebecca,
It appears that some of the older release of VS2015 do not support __func__.
Can you please work on a patch that implements the workaround?
Thanks,
Mike
-----Original Message----- From: Kinney, Michael D <michael.d.kinney@...> Sent: Friday, March 17, 2023 8:16 AM To: devel@edk2.groups.io; rebecca@...; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Cc: Kinney, Michael D <michael.d.kinney@...> Subject: RE: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Hi Rebecca,
For older compilers that do not support __func__, I believe a workaround could be added to define __func__ to __FUNCTION__. We do not need to do this for any of these patches. It can be something consumers can do if they really want to use an older compiler.
You can try it out on VS2012 locally. If it works, then you can mention that workaround in the commit message.
Do we have any information on GCC/CLANG compatibility for this feature?
Mike
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Friday, March 17, 2023 6:32 AM To: Kinney, Michael D <michael.d.kinney@...>; devel@edk2.groups.io; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
(+Michael Kubacki, Sean Brogan)
Mike, Michael, Sean:
This change is going to break building edk2 with anything older than Visual Studio 2015, which is where support for __func__ was added.
I checked and currently it appears that VS2013 builds edk2 but VS2012 has errors. Given that the stuart tools don't support anything older than VS2017 I'm thinking this is okay, but I want to double check before pushing this change.
--
Rebecca Cran
On 3/14/23 2:40 PM, Kinney, Michael D wrote:
Reviewed-by: Michael D Kinney <michael.d.kinney@...>
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Monday, March 13, 2023 7:20 PM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Mike,
I think your concerns with this patch were addressed?
Could you add a Reviewed-by please?
Thanks. Rebecca
On 2/9/23 6:01 PM, Michael D Kinney wrote:
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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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/BaseOrde redCollectionRedBlackTreeLib.c b/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrde redCollectionRedBlackTreeLib.c index f47301de8982..a23113f9c91d 100644 --- a/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrde redCollectionRedBlackTreeLib.c +++ b/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/Base +++ OrderedCollectionRedBlackTreeLib.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
|
|
Sorry, I didn't realize there were people still using older builds of VS 2015.
-- Rebecca Cran
toggle quoted message
Show quoted text
On 3/22/23 7:43 PM, Huang, Yanbo wrote: Hi Rebecca,
The commit message “Visual Studio versions before VS 2015 don't support __func__” may cause confuse since some of the older release of VS2015 also do not support __func__. Some of my fellows report the error since they use the VS 2015 version before Update 3.
Best Regards, Yanbo Huang
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael D Kinney Sent: Thursday, March 23, 2023 8:58 AM To: devel@edk2.groups.io; rebecca@...; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Cc: Kinney, Michael D <michael.d.kinney@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Hi Rebecca,
Using latest release would be my preference as well and what EDK II should recommend.
We should document that the min supported version of VS2015 Update 3.
Mike
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Wednesday, March 22, 2023 10:46 AM To: Kinney, Michael D <michael.d.kinney@...>; devel@edk2.groups.io; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Can we not require that VS2015 Update 3 is installed?
Do people have reasons to be running older builds, or is it just that they forget to install the updates?
-- Rebecca Cran
On 3/22/23 10:58 AM, Kinney, Michael D wrote:
Hi Rebecca,
It appears that some of the older release of VS2015 do not support __func__.
Can you please work on a patch that implements the workaround?
Thanks,
Mike
-----Original Message----- From: Kinney, Michael D <michael.d.kinney@...> Sent: Friday, March 17, 2023 8:16 AM To: devel@edk2.groups.io; rebecca@...; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Cc: Kinney, Michael D <michael.d.kinney@...> Subject: RE: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Hi Rebecca,
For older compilers that do not support __func__, I believe a workaround could be added to define __func__ to __FUNCTION__. We do not need to do this for any of these patches. It can be something consumers can do if they really want to use an older compiler.
You can try it out on VS2012 locally. If it works, then you can mention that workaround in the commit message.
Do we have any information on GCC/CLANG compatibility for this feature?
Mike
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Friday, March 17, 2023 6:32 AM To: Kinney, Michael D <michael.d.kinney@...>; devel@edk2.groups.io; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...>; Michael Kubacki <mikuback@...>; Sean Brogan <sean.brogan@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
(+Michael Kubacki, Sean Brogan)
Mike, Michael, Sean:
This change is going to break building edk2 with anything older than Visual Studio 2015, which is where support for __func__ was added.
I checked and currently it appears that VS2013 builds edk2 but VS2012 has errors. Given that the stuart tools don't support anything older than VS2017 I'm thinking this is okay, but I want to double check before pushing this change.
--
Rebecca Cran
On 3/14/23 2:40 PM, Kinney, Michael D wrote:
Reviewed-by: Michael D Kinney <michael.d.kinney@...>
-----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Monday, March 13, 2023 7:20 PM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang <zhiguang.liu@...> Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Mike,
I think your concerns with this patch were addressed?
Could you add a Reviewed-by please?
Thanks. Rebecca
On 2/9/23 6:01 PM, Michael D Kinney wrote:
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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran Sent: Thursday, February 9, 2023 7:45 AM To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@...>; Gao, Liming <gaoliming@...>; Liu, Zhiguang
<zhiguang.liu@...> Cc: Rebecca Cran <rebecca@...> 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@...> --- 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/BaseOrde redCollectionRedBlackTreeLib.c b/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrde redCollectionRedBlackTreeLib.c index f47301de8982..a23113f9c91d 100644 --- a/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrde redCollectionRedBlackTreeLib.c +++ b/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/Base +++ OrderedCollectionRedBlackTreeLib.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
|
|