------- Comment #14 from jakub at gcc dot gnu dot org 2010-08-12 16:11 ------- I never claimed p1 and p2 have different types. They have the same type. But the standard paragraph I mentioned says: "When two pointers are subtracted, both shall point to elements of the same array object, or one past the last element of the array object" That is not the case in your testcase, strp and i are different objects.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45265