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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101599): https://edk2.groups.io/g/devel/message/101599
Mute This Topic: https://groups.io/mt/96855618/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: 
https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to