On Wed, Jul 7, 2010 at 02:18, Søren Sandmann <sandm...@daimi.au.dk> wrote: > From: Søren Sandmann Pedersen <s...@redhat.com> > > Protect the arguments to the combiner macros with parentheses, and > prefix their temporary variables with underscores to avoid name space > collisions with the surrounding code. > --- > pixman/pixman-combine.h.template | 152 > +++++++++++++++++++------------------- > 1 files changed, 76 insertions(+), 76 deletions(-) > > diff --git a/pixman/pixman-combine.h.template > b/pixman/pixman-combine.h.template > index 2f6392f..012ada7 100644 > --- a/pixman/pixman-combine.h.template > +++ b/pixman/pixman-combine.h.template > @@ -31,7 +31,7 @@ > (((comp2_t) (a) * MASK) / (b)) > > #define ADD_UNc(x, y, t) \ > - ((t) = x + y, \ > + ((t) = (x) + (y), \ > (comp4_t) (comp1_t) ((t) | (0 - ((t) >> G_SHIFT)))) > > #define DIV_ONE_UNc(x) \ > @@ -84,15 +84,15 @@ > #define UNcx4_MUL_UNc(x, a) \ > do \ > { \ > - comp4_t r1, r2, t; \ > + comp4_t __r1, __r2, __t; \
Are you aware that double leading underscore is reserved for C compiler's internal use in any context? And especially with names like __r1 you are more likely to trigger the theoretical undefined behavior here, as these look like x64 registers names. -- Alex _______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman