> I have become rather wary of INTEGRAL_TYPE_P recently because it > includes enum types, which with -fstrict-enum can have a surprising > behavior. If I have > enum E { A, B, C }; > and e has type enum E, with -fstrict-enum, do your tests manage to > prevent (long)e+1 from becoming (long)(e+1) with an unsafe operation > done in the enum type?
Ah, I didn't specifically check for this. Going to rather change the checks to TREE_CODE (type) == INTEGER_TYPE then. Regards Robin