Liming: I've never used VS to compile edk2 but to me it looks like it doesn't like what NORETURN is expanding to ('__declspec(noreturn)').
If that is the case it's a generic bug because this patch set did not add the NORETURN macro. On Tue, Dec 26, 2017 at 5:51 PM, Gao, Liming <liming....@intel.com> wrote: > Michael: > > I suggest to add comments for each definition although there is > redundant. > > > > Besides, after I apply these three patches, and build MdePkg.dsc with > VS2015x86. It will report below error. Could you help look it? > > > > "C:\Program Files (x86)\Microsoft Visual Studio > 14.0\Vc\bin\cl.exe" /Foc:\r9tips\allpkg\edk2\Build\Mde\DEBUG_VS2015x86\ > IA32\MdePkg\Library\BaseCacheMaintenanceLib\BaseCacheMaintenanceLib\OUTPUT\.\X86Cache.obj > /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL > /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw -D > DISABLE_NEW_DEPRECATED_INTERFACES > /Ic:\r9tips\allpkg\edk2\MdePkg\Library\BaseCacheMaintenanceLib > /Ic:\r9tips\allpkg\edk2\Build\Mde\DEBUG_VS2015x86\IA32\MdePkg\Library\ > BaseCacheMaintenanceLib\BaseCacheMaintenanceLib\DEBUG > /Ic:\r9tips\allpkg\edk2\MdePkg /Ic:\r9tips\allpkg\edk2\MdePkg\Include > /Ic:\r9tips\allpkg\edk2\MdePkg\Include\Ia32 c:\r9tips\allpkg\edk2\MdePkg\ > Library\BaseCacheMaintenanceLib\X86Cache.c > > X86Cache.c > > c:\r9tips\allpkg\edk2\MdePkg\Include\Library/BaseLib.h(4933): error > C2059: syntax error: 'type' > > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual > Studio 14.0\Vc\bin\cl.exe"' : return code '0x2' > > Stop. > > > > Thanks > > Liming > > *From:* Michael Zimmermann [mailto:sigmaepsilo...@gmail.com] > *Sent:* Monday, December 25, 2017 11:50 PM > *To:* Gao, Liming <liming....@intel.com> > *Cc:* Ard Biesheuvel <ard.biesheu...@linaro.org>; edk2-devel@lists.01.org; > Kinney, Michael D <michael.d.kin...@intel.com> > > *Subject:* Re: [edk2] [PATCH 1/3] MdePkg: add RETURNS_TWICE attribute > > > > Liming: > The other macros have comments both before the compiler directives and > before each define for each compiler. > > To me it looks like these are slightly differently formulated only and > kinda redundant too. > > Is there a rule or do you have suggestions for writing comments for this > kind of macro? > > > > On Mon, Dec 25, 2017 at 4:11 AM, Gao, Liming <liming....@intel.com> wrote: > > Micha: > Could you add comments for new macro RETURNS_TWICE like others, such as > ANALYZER_NORETURN? > > > >-----Original Message----- > >From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > >Sent: Friday, December 22, 2017 11:24 PM > >To: M1cha <sigmaepsilo...@gmail.com> > >Cc: edk2-devel@lists.01.org; Kinney, Michael D > ><michael.d.kin...@intel.com>; Gao, Liming <liming....@intel.com> > >Subject: Re: [edk2] [PATCH 1/3] MdePkg: add RETURNS_TWICE attribute > > > >On 22 December 2017 at 07:23, M1cha <sigmaepsilo...@gmail.com> wrote: > >> Contributed-under: TianoCore Contribution Agreement 1.1 > >> Signed-off-by: Michael Zimmermann <sigmaepsilo...@gmail.com> > >> --- > >> MdePkg/Include/Base.h | 10 ++++++++++ > >> 1 file changed, 10 insertions(+) > >> > >> diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h > >> index 22ab5d3715fb..c863de407418 100644 > >> --- a/MdePkg/Include/Base.h > >> +++ b/MdePkg/Include/Base.h > >> @@ -218,6 +218,16 @@ VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, > >4); > >> #endif > >> #endif > >> > >> +#ifndef RETURNS_TWICE > >> + #if defined (__GNUC__) || defined (__clang__) > >> + #define RETURNS_TWICE __attribute__((returns_twice)) > >> + #elif defined(_MSC_EXTENSIONS) && !defined(MDE_CPU_EBC) > >> + #define RETURNS_TWICE > >> + #else > >> + #define RETURNS_TWICE > > > >What is the point of having two versions that are #defined to nothing? > > > >> + #endif > >> +#endif > >> + > >> // > >> // For symbol name in assembly code, an extra "_" is sometimes > necessary > >> // > >> -- > >> 2.15.1 > >> > > > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel