use standard [[ noreturn ]] attribute

add ENSURE macro
This commit is contained in:
Garux 2021-09-13 18:22:44 +03:00
parent ef635cd95c
commit 5c5f698c28
2 changed files with 7 additions and 5 deletions

View File

@ -171,11 +171,11 @@ void ExpandWildcards( int *argc, char ***argv );
double I_FloatTime( void ); double I_FloatTime( void );
void Error( const char *error, ... ) [[ noreturn ]] void Error( const char *error, ... );
#ifdef __GNUC__ #define ENSURE( condition ) \
__attribute__( ( noreturn ) ) (void) \
#endif ( (!!( condition )) || \
; (Error( "%s:%u:%s: Condition '%s' failed.", __FILE__, __LINE__, __func__, #condition ), 0) )
FILE *SafeOpenWrite( const char *filename, const char *mode = "wb" ); FILE *SafeOpenWrite( const char *filename, const char *mode = "wb" );
FILE *SafeOpenRead( const char *filename, const char *mode = "rb" ); FILE *SafeOpenRead( const char *filename, const char *mode = "rb" );

View File

@ -29,6 +29,7 @@
#include "games.h" #include "games.h"
#include "bspfile_ibsp.h" #include "bspfile_ibsp.h"
#include "bspfile_rbsp.h" #include "bspfile_rbsp.h"
#include "cmdlib.h"
struct game_default : game_t struct game_default : game_t
{ {
@ -521,6 +522,7 @@ struct game_ef : game_default
homeBasePath = ".ef"; homeBasePath = ".ef";
magic = "elite"; magic = "elite";
/* overwrite "ladder" entry; note: magic number */ /* overwrite "ladder" entry; note: magic number */
ENSURE( strEqual( surfaceParms[31].name, "ladder" ) );
surfaceParms[31] = surfaceParms[31] =
{ "ladder", E_CONT_LADDER, Q_CONT_SOLID, Q_SURF_LADDER, 0, C_DETAIL | C_TRANSLUCENT, C_SOLID }; { "ladder", E_CONT_LADDER, Q_CONT_SOLID, Q_SURF_LADDER, 0, C_DETAIL | C_TRANSLUCENT, C_SOLID };
surfaceParms.insert( surfaceParms.end(), { surfaceParms.insert( surfaceParms.end(), {