[FFmpeg-devel] [PATCH] avcodec: use HAVE_THREADS header guards to silence -Wunused-function

Ronald S. Bultje rsbultje at gmail.com
Sat Oct 3 17:13:35 CEST 2015


Hi,

On Thu, Sep 17, 2015 at 7:51 AM, Michael Niedermayer <michaelni at gmx.at>
wrote:

> On Thu, Sep 17, 2015 at 06:54:37AM -0400, Ganesh Ajjanagadde wrote:
> > On Thu, Sep 17, 2015 at 6:17 AM, Michael Niedermayer <michaelni at gmx.at>
> wrote:
> > > On Wed, Sep 16, 2015 at 10:22:27PM -0400, Ganesh Ajjanagadde wrote:
> > >> When compiled with --disable-pthreads, e.g
> > >>
> http://fate.ffmpeg.org/report.cgi?time=20150917015044&slot=alpha-debian-qemu-gcc-4.7
> ,
> > >> a bunch of -Wunused-functions are reported due to missing header
> guards
> > >> around threading related functions.
> > >> This patch should silence such warnings.
> > >>
> > >> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
> > >> ---
> > >>  libavcodec/alac.c          | 2 ++
> > >>  libavcodec/exr.c           | 2 ++
> > >>  libavcodec/ffv1dec.c       | 4 ++++
> > >>  libavcodec/flacdec.c       | 2 ++
> > >>  libavcodec/h264.c          | 2 ++
> > >>  libavcodec/huffyuvdec.c    | 2 ++
> > >>  libavcodec/mdec.c          | 2 ++
> > >>  libavcodec/mimic.c         | 4 ++++
> > >>  libavcodec/mpeg12dec.c     | 2 ++
> > >>  libavcodec/mpeg4videodec.c | 2 ++
> > >>  libavcodec/pngdec.c        | 2 ++
> > >>  libavcodec/takdec.c        | 2 ++
> > >>  libavcodec/tta.c           | 2 ++
> > >>  libavcodec/vp3.c           | 4 ++++
> > >>  libavcodec/vp8.c           | 2 ++
> > >>  libavcodec/vp9.c           | 2 ++
> > >>  libavcodec/wavpack.c       | 2 ++
> > >>  17 files changed, 40 insertions(+)
> > >
> > > av_unused might be simpler to silence these warnings than #if
> >
> > I do not think this is consistent at the moment across the codebase;
> > sometimes we use header guards and sometimes we use av_unused. Please
> > tell me if what the rationale is for either of them; I am fine either
> > way. Any half decent compiler should anyway remove unused functions
> > when compiled with optimizations.
>
> #ifs will be more work to maintain as they can break build if a new
> function call or function is added. av_unused cannot break build
> #ifs also make the code harder to read, especially if there are
> already some #ifs there before
>
> #ifs make sense for non static symbols as they cannot be removed by
> the compiler or linker generally
>
> #ifs could also be used to structure code in a file if for some
> reason its unwanted to split it in several files
> #ifs also gurantee that code is removed and this makes sense in
> performance critical code
> #ifs can be used for any group of lines not just functions/variables
> as for av_unused


Michael, how strong is your objection here? Me and wm4 seem to have a
slight preference for #if over av_unused, since av_unused runs the risk of
rotting with code over time.

(Other devs should also voice opinions if they care.)

Ronald


More information about the ffmpeg-devel mailing list