public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"rebecca@bsdio.com" <rebecca@bsdio.com>,
	"Gao, Liming" <gaoliming@byosoft.com.cn>,
	"Liu, Zhiguang" <zhiguang.liu@intel.com>,
	Michael Kubacki <mikuback@linux.microsoft.com>,
	Sean Brogan <sean.brogan@microsoft.com>
Cc: "Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__
Date: Wed, 22 Mar 2023 16:58:29 +0000	[thread overview]
Message-ID: <CO1PR11MB4929F2392BF40AC2CAF2ABDFD2869@CO1PR11MB4929.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CO1PR11MB4929E11555D5F0470F8B84F6D2BD9@CO1PR11MB4929.namprd11.prod.outlook.com>

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


  reply	other threads:[~2023-03-22 16:59 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-09 15:45 [PATCH 1/2] MdePkg: Update Base.h to be compliant with C11 Rebecca Cran
2023-02-09 15:45 ` [PATCH 2/2] MdePkg: Update code to be more C11 compliant by using __func__ Rebecca Cran
2023-02-10  1:01   ` [edk2-devel] " Michael D Kinney
2023-02-10  1:21     ` Rebecca Cran
2023-02-10 11:45       ` Ard Biesheuvel
2023-02-10 15:19         ` Leif Lindholm
2023-02-10 18:16           ` Michael D Kinney
2023-02-12 19:59     ` Rebecca Cran
2023-03-14  2:19     ` Rebecca Cran
2023-03-14 20:40       ` Michael D Kinney
2023-03-17 13:31         ` Rebecca Cran
2023-03-17 15:16           ` Michael D Kinney
2023-03-22 16:58             ` Michael D Kinney [this message]
2023-03-22 17:45               ` Rebecca Cran
2023-03-23  0:58                 ` Michael D Kinney
2023-03-23  1:43                   ` Huang, Yanbo
2023-03-23  1:46                     ` Rebecca Cran
2023-03-17  4:23   ` Sunil V L
2023-02-10  1:03 ` [edk2-devel] [PATCH 1/2] MdePkg: Update Base.h to be compliant with C11 Michael D Kinney
2023-02-10  1:14   ` Rebecca Cran
2023-02-10  4:15     ` Rebecca Cran
2023-03-06 16:39 ` Rebecca Cran
2023-03-10  2:45   ` 回复: " gaoliming
2023-03-10 17:58     ` Rebecca Cran
2023-03-13 17:54     ` Rebecca Cran
2023-03-13 20:46       ` Michael D Kinney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CO1PR11MB4929F2392BF40AC2CAF2ABDFD2869@CO1PR11MB4929.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox