2013/10/5 John Emmas <[email protected]>:
> 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
_______________________________________________
Pixman mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to