Around tree-vrp.c:420, we have t = fold (build2 (LT_EXPR, TREE_TYPE (val1), val1, val2)); if (t == boolean_true_node) return -1;
Since VAL1 is known to be of a pointer type, the result of fold will never be equal to boolean_true_node, which is of the boolean type. -- Summary: VRP passes fold the type of operands of a comparison Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: kazu at cs dot umass dot edu ReportedBy: kazu at cs dot umass dot edu CC: dnovillo at redhat dot com,gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21088