Hi, The problem here is that sizetype is compatiable with an enum type but build2_stat is overly rejecting types other than INTEGER_TYPEs. Tthe normal CFG verifier did not check if the second operand was an INTEGER_TYPE, just if it was compatiable to sizetype. The check for INTEGER_TYPE in build2_stat is too strict, it really should be INTEGRAL_TYPE_P instead. The reason behind the check in build2_stat was because at one point, it would not check for compatibility with sizetype. Committed as obvious after a bootstrap/test on i386-apple-darwin8.10 with no regressions. Thanks, Andrew Pinski ChangeLog: * tree.c (build2_stat): Instead of checking for INTEGER_TYPE, check for INTEGRAL_TYPE_P. * gcc.c-torture/compile/pr32988.c: New test.