Add -Werror=missing-noreturn (GCC, clang)

May be useful to diagnose functions which fail assertions unconditionally.
This commit is contained in:
Nekotekina 2021-04-08 00:52:18 +03:00
parent 94c62b1eec
commit 95725bf7fc
20 changed files with 55 additions and 36 deletions

View file

@ -35,12 +35,14 @@ namespace cfg
bool _base::from_string(const std::string&, bool)
{
fmt::throw_exception("from_string() purecall");
cfg_log.fatal("cfg::_base::from_string() purecall");
return false;
}
bool _base::from_list(std::vector<std::string>&&)
{
fmt::throw_exception("from_list() purecall");
cfg_log.fatal("cfg::_base::from_list() purecall");
return false;
}
// Emit YAML

View file

@ -230,7 +230,7 @@ namespace fs
{
}
stat_t file_base::stat()
[[noreturn]] stat_t file_base::stat()
{
fmt::throw_exception("fs::file::stat() not supported.");
}

View file

@ -81,7 +81,7 @@ namespace fs
{
virtual ~file_base();
virtual stat_t stat();
[[noreturn]] virtual stat_t stat();
virtual void sync();
virtual bool trunc(u64 length) = 0;
virtual u64 read(void* buffer, u64 size) = 0;

View file

@ -289,6 +289,7 @@ asmjit::Runtime& asmjit::get_global_runtime()
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#pragma GCC diagnostic ignored "-Wredundant-decls"
#pragma GCC diagnostic ignored "-Weffc++"
#pragma GCC diagnostic ignored "-Wmissing-noreturn"
#endif
#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/FormattedStream.h"

View file

@ -189,6 +189,7 @@ inline FT build_function_asm(F&& builder)
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#pragma GCC diagnostic ignored "-Weffc++"
#pragma GCC diagnostic ignored "-Wmissing-noreturn"
#ifdef __clang__
#pragma clang diagnostic ignored "-Winconsistent-missing-override"
#endif