CryptoPkg SysCall Lib: Fix warning with GCC in CrtWrapper.c

Exit is declared to be 'noreturn' function, but GCC sees
that the empty function will return.  Therefore, GCC flags
a warning.

To work-around this, we use a function pointer, along with
a cast to force the code to think that a 'noreturn' function
is being called.

Signed-off-by: jljusten
Reviewed-by: qlong

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11609 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jljusten 2011-05-04 00:56:33 +00:00
parent c61fb9c8a4
commit f114914b39
1 changed files with 31 additions and 0 deletions

View File

@ -330,11 +330,42 @@ void closelog (void)
}
#ifdef __GNUC__
typedef
VOID
(EFIAPI *NoReturnFuncPtr)(
VOID
) __attribute__((__noreturn__));
STATIC
VOID
EFIAPI
NopFunction (
VOID
)
{
}
void exit (int e)
{
NoReturnFuncPtr NoReturnFunc;
NoReturnFunc = (NoReturnFuncPtr) NopFunction;
NoReturnFunc ();
}
#else
void exit (int e)
{
}
#endif
int fclose (FILE *f)
{
return 0;