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

Siarhei Siamashka siarhei.siamashka at gmail.com
Sat Oct 5 11:00:15 PDT 2013


On Sat, 5 Oct 2013 19:55:16 +0200
Krzysztof Kosiński <tweenk.pl at gmail.com> wrote:

> 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.

Andrea Canciani has already investigated the problem and submitted the
fixes here:

    http://lists.freedesktop.org/archives/pixman/2013-September/002954.html

-- 
Best regards,
Siarhei Siamashka


More information about the Pixman mailing list