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
