[pulseaudio-discuss] [PATCH 4/4] object: Get rid of "warning: cast increases required alignment of target type"

Tanu Kaskinen tanuk at iki.fi
Wed Aug 22 00:07:01 PDT 2012


On Tue, 2012-08-14 at 17:08 +0300, Tanu Kaskinen wrote:
> On ARM, pa_object has less strict alignment requirements
> than e.g. pa_sink and pa_source, so when pa_object is cast
> to pa_sink, the compiler thinks that it's unsafe. In this
> case, however, the pointer given to pa_sink_ref() was a
> pa_sink pointer to begin with, so casting it first to
> pa_object and then back to pa_sink is entirely safe.
> 
> This particular source of warnings is extremely annoying,
> because this message is printed for any compilation unit
> that includes sink.h, source.h or any other header that
> defines a class, and the message tends to get printed
> multiple times for one compilation unit:
> 
> In file included from ./pulsecore/source-output.h:37:0,
>                  from ./pulsecore/source.h:49,
>                  from ./pulsecore/sink.h:40,
>                  from ./pulsecore/core.h:50,
>                  from daemon/daemon-conf.h:31,
>                  from daemon/cmdline.h:25,
>                  from daemon/cmdline.c:38:
> ./pulsecore/sink-input.h: In function 'pa_sink_input_ref':
> ./pulsecore/sink-input.h:245:1: warning: cast increases required alignment of target type [-Wcast-align]

I got an ack for this from Arun in IRC, so I pushed this now.

-- 
Tanu



More information about the pulseaudio-discuss mailing list