Message ID | 20201125100910.25617-1-rpalethorpe@suse.com |
---|---|
State | Rejected |
Headers | show |
Series | Annotate tst_brk with noreturn | expand |
Hi Richard, > Prevents compiler warnings when tst_brk is placed at the end of a > non-void function's control flow. Indeed tst_brk never returns control > to the caller. > Signed-off-by: Richard Palethorpe <rpalethorpe@suse.com> > --- > include/tst_test.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > diff --git a/include/tst_test.h b/include/tst_test.h > index c91d3f18a..b49243e4b 100644 > --- a/include/tst_test.h > +++ b/include/tst_test.h > @@ -70,7 +70,7 @@ void tst_resm_hexd_(const char *file, const int lineno, int ttype, > */ > void tst_brk_(const char *file, const int lineno, int ttype, > const char *fmt, ...) > - __attribute__ ((format (printf, 4, 5))); > + __attribute__ ((format (printf, 4, 5))) LTP_ATTRIBUTE_NORETURN; IMHO this is wrong since 6440c5d0d ("newlib: Allow SAFE_MACROS to be called from cleanup") Kind regards, Petr
Hi! > Prevents compiler warnings when tst_brk is placed at the end of a > non-void function's control flow. Indeed tst_brk never returns control > to the caller. It actually does, in a case of SAFE_MACROS() called from test cleanup(). Which is the reason we cannot annotate the function because if we do so the compiler will not include the function epilog and tests would crash in a case that something went wrong in a cleanup().
diff --git a/include/tst_test.h b/include/tst_test.h index c91d3f18a..b49243e4b 100644 --- a/include/tst_test.h +++ b/include/tst_test.h @@ -70,7 +70,7 @@ void tst_resm_hexd_(const char *file, const int lineno, int ttype, */ void tst_brk_(const char *file, const int lineno, int ttype, const char *fmt, ...) - __attribute__ ((format (printf, 4, 5))); + __attribute__ ((format (printf, 4, 5))) LTP_ATTRIBUTE_NORETURN; #define tst_brk(ttype, arg_fmt, ...) \ ({ \
Prevents compiler warnings when tst_brk is placed at the end of a non-void function's control flow. Indeed tst_brk never returns control to the caller. Signed-off-by: Richard Palethorpe <rpalethorpe@suse.com> --- include/tst_test.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)