[Pixman] Latest GIT source for 'pixman-sse2.c'

Krzysztof Kosiński tweenk.pl at gmail.com
Sat Oct 5 10:55:16 PDT 2013

2013/10/5 John Emmas <johne53 at tiscali.co.uk>:
> From experience, I STRONGLY SUSPECT that the error is caused by these lines
> at the top of macro #2:-
>       #define BILINEAR_INTERPOLATE_ONE_PIXEL_HELPER(pix, phase)         \
>       do {                                        \
>           __m128i xmm_wh, xmm_a, xmm_b;                        \
>           (void)xmm_ux4; /* suppress warning: unused variable 'xmm_ux4' */
> \
>       // Rest of macro
>       } while (0)
> In effect, all those variables are getting declared half way down the
> calling function (in this case,
> 'scaled_bilinear_scanline_sse2_8888_8888_SRC').  Standard 'C' does not allow
> you to declare variables half way down a function and unfortunately, MSVC is
> petty strict about it.  FWIW macro #1 suffers from the same problem  :-(

The do / while block establishes a new scope, and in ANSI C you can
declare variables at the start of every scope, not only at the start
of a function, so I don't think this is the actual problem.

It would be useful if you could pinpoint the commit which causes the
compilation to break.

Regards, Krzysztof

More information about the Pixman mailing list