diff --git a/benchmark/portals4_macros.h b/benchmark/portals4_macros.h index 91fb34288c64a7cc4e304f27de3170e0dafb5b45..4d63e56dcdd727f9b17df6ae80fc633c4465534f 100644 --- a/benchmark/portals4_macros.h +++ b/benchmark/portals4_macros.h @@ -1,18 +1,42 @@ #ifndef LINKTEST_PORTALS4MACROS_H #define LINKTEST_PORTALS4MACROS_H -// NOLINTBEGIN -#define CHECK_RETURNVAL(x) do { int ret; \ - switch (ret = x) { \ - case PTL_IGNORED: \ - case PTL_OK: break; \ - case PTL_FAIL: fprintf(stderr, "=> %s returned PTL_FAIL (line %u)\n", #x, (unsigned int)__LINE__); abort(); break; \ - case PTL_NO_SPACE: fprintf(stderr, "=> %s returned PTL_NO_SPACE (line %u)\n", #x, (unsigned int)__LINE__); abort(); break; \ - case PTL_ARG_INVALID: fprintf(stderr, "=> %s returned PTL_ARG_INVALID (line %u)\n", #x, (unsigned int)__LINE__); abort(); break; \ - case PTL_NO_INIT: fprintf(stderr, "=> %s returned PTL_NO_INIT (line %u)\n", #x, (unsigned int)__LINE__); abort(); break; \ - case PTL_PT_IN_USE: fprintf(stderr, "=> %s returned PTL_PT_IN_USE (line %u)\n", #x, (unsigned int)__LINE__); abort(); break; \ - case PTL_IN_USE: fprintf(stderr, "=> %s returned PTL_IN_USE (line %u)\n", #x, (unsigned int)__LINE__); abort(); break; \ - default: fprintf(stderr, "=> %s returned failcode %i (line %u)\n", #x, ret, (unsigned int)__LINE__); abort(); break; \ - } } while (0) -// NOLINTEND +inline void check_returnval(int x, const char* x_str, unsigned int line) { + int ret; + switch (ret = x) { + case PTL_IGNORED: + case PTL_OK: + break; + case PTL_FAIL: + fprintf(stderr, "=> %s returned PTL_FAIL (line %u)\n", x_str, line); + abort(); + break; + case PTL_NO_SPACE: + fprintf(stderr, "=> %s returned PTL_NO_SPACE (line %u)\n", x_str, line); + abort(); + break; + case PTL_ARG_INVALID: + fprintf(stderr, "=> %s returned PTL_ARG_INVALID (line %u)\n", x_str, line); + abort(); + break; + case PTL_NO_INIT: + fprintf(stderr, "=> %s returned PTL_NO_INIT (line %u)\n", x_str, line); + abort(); + break; + case PTL_PT_IN_USE: + fprintf(stderr, "=> %s returned PTL_PT_IN_USE (line %u)\n", x_str, line); + abort(); + break; + case PTL_IN_USE: + fprintf(stderr, "=> %s returned PTL_IN_USE (line %u)\n", x_str, line); + abort(); + break; + default: + fprintf(stderr, "=> %s returned failcode %i (line %u)\n", x_str, ret, line); + abort(); + break; + } +} + +#define CHECK_RETURNVAL(x) check_returnval(x, #x, __LINE__) // NOLINT #endif //PORTALS4MACROS \ No newline at end of file