+       {
+         tree type = TREE_TYPE (TREE_TYPE (t));
+         tree vflow = arith_overflowed_p (opcode, type, arg0, arg1)
+                      ? integer_one_node : integer_zero_node;

This looks incorrect, the return type is TREE_TYPE (t), some complex integer
type, therefore vflow needs to be
       tree vflow = build_int_cst (TREE_TYPE (TREE_TYPE (t)),
                                  arith_overflowed_p (opcode, type, arg0, arg1)
                                  ? 1 : 0);
no?

I guess it didn't think it mattered since the complex type specifies
the types of the two members.  I don't mind changing it if it does
but I'd like to have a test case to go with it.  Maybe Jason can
help with that.

Martin

Reply via email to