Hi, In tree.c:build2 there is following code/comment: if ((code == MINUS_EXPR || code == PLUS_EXPR || code == MULT_EXPR) && arg0 && arg1 && tt && POINTER_TYPE_P (tt) /* When sizetype precision doesn't match that of pointers we need to be able to build explicit extensions or truncations of the offset argument. */ && TYPE_PRECISION (sizetype) == TYPE_PRECISION (tt)) gcc_assert (TREE_CODE (arg0) == INTEGER_CST && TREE_CODE (arg1) == INTEGER_CST);
The comment says specific condition needs to be satisfied if sizetype precision doesn't match that of pointers, while the code is checking "==" of precisions? Any explanation? Thanks, bin