diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 937fd6d1e28..20ef315ea74 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +2012-11-09 Andi Kleen + + PR 55139 + * c-common.c (get_atomic_generic_size): Mask with + MEMMODEL_MASK + 2012-11-07 Manuel López-Ibáñez PR c/53063 diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index c3a64653471..7828d210507 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,