diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 91b970a3706..cf532f2cca0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-11-05 Marc Glisse + + * fold-const.c (fold_unary_loc): Disable conversion optimization + for void type. + 2012-11-04 Thomas Schwinge * configure: Regenerate. diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 0caca2e5794..62a4e218968 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -7749,7 +7749,8 @@ fold_unary_loc (location_t loc, enum tree_code code, tree type, tree op0) return build2_loc (loc, TREE_CODE (op0), type, TREE_OPERAND (op0, 0), TREE_OPERAND (op0, 1)); - else if (!INTEGRAL_TYPE_P (type) && TREE_CODE (type) != VECTOR_TYPE) + else if (!INTEGRAL_TYPE_P (type) && !VOID_TYPE_P (type) + && TREE_CODE (type) != VECTOR_TYPE) return build3_loc (loc, COND_EXPR, type, op0, constant_boolean_node (true, type), constant_boolean_node (false, type));