Hi! Just nits.
On Fri, Nov 09, 2012 at 04:03:47PM +0100, Andi Kleen wrote: > From: Andi Kleen <a...@linux.intel.com> > > get_atomic_generic_size would error out for > __atomic_store(...,__ATOMIC_HLE_RELEASE) > > Just mask it out. All the memory orders are checked completely > in builtins.c anyways. > > I'm not sure what that check is for, it could be removed in theory. I think it actually should be removed, given that e.g. int i, j; void foo (void) { __atomic_store (&i, &j, 12); } warns twice for the same thing, when it should only warn once. Richard? > Passed bootstrap and test suite on x86-64 > > gcc/c-family/: > 2012-11-09 Andi Kleen <a...@linux.intel.com> > > PR55139 That should be PR target/55139 > * c-common.c (get_atomic_generic_size): Mask with > MEMMODEL_MASK Dot after MEMMODEL_MASK and don't wrap it on next line. > --- > gcc/c-family/c-common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c > index c3a6465..7828d21 100644 > --- a/gcc/c-family/c-common.c > +++ b/gcc/c-family/c-common.c > @@ -10097,7 +10097,7 @@ get_atomic_generic_size (location_t loc, tree > function, VEC(tree,gc) *params) > if (TREE_CODE (p) == INTEGER_CST) > { > int i = tree_low_cst (p, 1); > - if (i < 0 || i >= MEMMODEL_LAST) > + if (i < 0 || (i & MEMMODEL_MASK) >= MEMMODEL_LAST) > { > warning_at (loc, OPT_Winvalid_memory_model, > "invalid memory model argument %d of %qE", x + 1, If that whole loop doesn't get removed, there are some formatting issues in it: for (x = n_param - n_model ; x < n_param; x++) shouldn't have space before ; and error_at (loc, "non-integer memory model argument %d of %qE", x + 1, function); doesn't correctly horizontally aling the second line. Jakub