expand support for noreturn declarations

Although gcc specifies support for declaring a function as
noreturn after the function name and parameters, other compilers
do so via an attribute at the start of the declaration. Add some
macro support for the attribute-at-the-beginning method:
  o MS Visual Studio compiler
  o Upcoming C23 standard (untested at this point)
This commit is contained in:
nhmall
2022-11-24 00:51:42 -05:00
parent ddf1dfde29
commit 4b04b1e6ac
13 changed files with 173 additions and 19 deletions

View File

@@ -89,6 +89,8 @@ static struct stat hbuf;
extern char orgdir[];
DISABLE_WARNING_UNREACHABLE_CODE
int
get_known_folder_path(
const KNOWNFOLDERID * folder_id,
@@ -128,6 +130,8 @@ create_directory(const char * path)
error("Unable to create directory '%s'", path);
}
RESTORE_WARNING_UNREACHABLE_CODE
int
build_known_folder_path(
const KNOWNFOLDERID * folder_id,
@@ -1149,6 +1153,8 @@ eraseoldlocks(void)
return (1); /* success! */
}
DISABLE_WARNING_UNREACHABLE_CODE
int
getlock(void)
{
@@ -1288,6 +1294,8 @@ file_exists(const char* path)
return TRUE;
}
RESTORE_WARNING_UNREACHABLE_CODE
/*
file_newer returns TRUE if the file at a_path is newer then the file
at b_path. If a_path does not exist, it returns FALSE. If b_path