Reinhard Tartler <[email protected]> writes: > Also use it in the declaration of the various exit_program > implementations in avtools. > > inspired by a clang-scan report. > --- > cmdutils.h | 2 +- > libavutil/attributes.h | 8 ++++++++ > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/cmdutils.h b/cmdutils.h > index 793a1e8..4a62298 100644 > --- a/cmdutils.h > +++ b/cmdutils.h > @@ -373,7 +373,7 @@ FILE *get_preset_file(char *filename, size_t > filename_size, > * Do all the necessary cleanup and abort. > * This function is implemented in the avtools, not cmdutils. > */ > -void exit_program(int ret); > +void exit_program(int ret) av_noreturn;
We usually put attributes at the start of function declarations alongside static, const, etc. > /** > * Realloc array to hold new_size elements of elem_size. > diff --git a/libavutil/attributes.h b/libavutil/attributes.h > index c0bac3f..bf831b4 100644 > --- a/libavutil/attributes.h > +++ b/libavutil/attributes.h > @@ -135,4 +135,12 @@ > # define av_printf_format(fmtpos, attrpos) > #endif > > +#ifndef av_noreturn > +#if AV_GCC_VERSION_AT_LEAST(2,5) That version doesn't look right. > +# define av_noreturn __attribute__((noreturn)) > +#else > +# define av_noreturn > +#endif > +#endif Why almost all of these under #ifndef av_foo? Is there ever a legitimate reason to define them to something else outside this file? -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
