+ { + 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
