libobs: Add OBS_NORETURN and use it for crash handler
Fixes some analyzers flagging code after a crashing path makes it impossible to reach.
This commit is contained in:
parent
b92e941b4f
commit
b37acbcbc1
@ -62,14 +62,8 @@ static void def_log_handler(int log_level, const char *format, va_list args,
|
||||
UNUSED_PARAMETER(param);
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define NORETURN __declspec(noreturn)
|
||||
#else
|
||||
#define NORETURN __attribute__((noreturn))
|
||||
#endif
|
||||
|
||||
NORETURN static void def_crash_handler(const char *format, va_list args,
|
||||
void *param)
|
||||
OBS_NORETURN static void def_crash_handler(const char *format, va_list args,
|
||||
void *param)
|
||||
{
|
||||
vfprintf(stderr, format, args);
|
||||
exit(0);
|
||||
@ -104,7 +98,7 @@ void base_set_crash_handler(void (*handler)(const char *, va_list, void *),
|
||||
crash_handler = handler;
|
||||
}
|
||||
|
||||
void bcrash(const char *format, ...)
|
||||
OBS_NORETURN void bcrash(const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
|
@ -85,7 +85,7 @@ EXPORT void blogva(int log_level, const char *format, va_list args);
|
||||
PRINTFATTR(2, 3)
|
||||
EXPORT void blog(int log_level, const char *format, ...);
|
||||
PRINTFATTR(1, 2)
|
||||
EXPORT void bcrash(const char *format, ...);
|
||||
OBS_NORETURN EXPORT void bcrash(const char *format, ...);
|
||||
|
||||
#undef PRINTFATTR
|
||||
|
||||
|
@ -25,9 +25,11 @@
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define OBS_DEPRECATED __declspec(deprecated)
|
||||
#define OBS_NORETURN __declspec(noreturn)
|
||||
#define FORCE_INLINE __forceinline
|
||||
#else
|
||||
#define OBS_DEPRECATED __attribute__((deprecated))
|
||||
#define OBS_NORETURN __attribute__((noreturn))
|
||||
#define FORCE_INLINE inline __attribute__((always_inline))
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user