On 2017/01/31 15:10, Christopher Zimmermann <christop...@gmerlin.de> wrote:
> Hi,
> 
> I use mpd on OpenBSD. Here is a patch I use to build the OpenBSD port
> of mpd.
> 
> * adds sndio mixer support

This fails with several compiler warnings:

  CXX      src/mixer/plugins/libmixer_plugins_a-SndioMixerPlugin.o
src/mixer/plugins/SndioMixerPlugin.cxx: In constructor 
'SndioMixer::SndioMixer(SndioOutput&, MixerListener&)':
src/mixer/plugins/SndioMixerPlugin.cxx:36:3: error: declaration of 'listener' 
shadows a member of 'SndioMixer' [-Werror=shadow]
   :Mixer(sndio_mixer_plugin, listener), output(output)
   ^
In file included from src/mixer/plugins/SndioMixerPlugin.cxx:23:0:
src/mixer/MixerInternal.hxx:34:17: note: shadowed declaration is here
  MixerListener &listener;
                 ^~~~~~~~
src/mixer/plugins/SndioMixerPlugin.cxx:36:3: error: declaration of 'output' 
shadows a member of 'SndioMixer' [-Werror=shadow]
   :Mixer(sndio_mixer_plugin, listener), output(output)
   ^
src/mixer/plugins/SndioMixerPlugin.cxx:32:15: note: shadowed declaration is here
  SndioOutput &output;
               ^~~~~~
cc1plus: all warnings being treated as errors
Makefile:9611: recipe for target 
'src/mixer/plugins/libmixer_plugins_a-SndioMixerPlugin.o' failed
make[1]: *** [src/mixer/plugins/libmixer_plugins_a-SndioMixerPlugin.o] Error 1
  CXX      src/output/plugins/liboutput_plugins_a-SndioOutputPlugin.o
src/output/plugins/SndioOutputPlugin.cxx: In function 'void 
SndioMixerCallback(void*, unsigned int)':
src/output/plugins/SndioOutputPlugin.cxx:41:6: error: no previous declaration 
for 'void SndioMixerCallback(void*, unsigned int)' 
[-Werror=missing-declarations]
 void SndioMixerCallback(void *arg, unsigned int volume) {
      ^~~~~~~~~~~~~~~~~~


Also I don't like the heavy header dependencies in your modified
SndioOutputPlugin.hxx.  Please don't publish that class here; maybe
rather in an "internal" header or add some lighter wrapper functions
like the Pulse plugin does.

Use nullptr instead of NULL.

> * increments the glibc++ version quirk in CommandError.cxx to a date
>   that includes the OpenBSD glibc++ (gcc 4.9.4).

This looks suspicious, because it may match on GCC 5 or 6 as well.
Unfortunately, libstdc++ versions are chaotic - they are date tags,
but 4.9 bug fix releases may be younger than 5.x or 6.x releases.

I don't want to exchange improved 4.9 support for worse 5.x/6.x
support.  But matching the exact 4.9.4 version would be an acceptable
kludge for me.
_______________________________________________
mpd-devel mailing list
mpd-devel@musicpd.org
http://mailman.blarg.de/listinfo/mpd-devel

Reply via email to