fold-const.c (fold_unary_loc): Disable conversion optimization for void type.
authorMarc Glisse <marc.glisse@inria.fr>
Sun, 4 Nov 2012 23:38:10 +0000 (00:38 +0100)
committerMarc Glisse <glisse@gcc.gnu.org>
Sun, 4 Nov 2012 23:38:10 +0000 (23:38 +0000)
2012-11-05  Marc Glisse  <marc.glisse@inria.fr>

* fold-const.c (fold_unary_loc): Disable conversion optimization
for void type.

From-SVN: r193146

gcc/ChangeLog
gcc/fold-const.c

index 91b970a..cf532f2 100644 (file)
@@ -1,3 +1,8 @@
+2012-11-05  Marc Glisse  <marc.glisse@inria.fr>
+
+       * fold-const.c (fold_unary_loc): Disable conversion optimization
+       for void type.
+
 2012-11-04  Thomas Schwinge  <thomas@codesourcery.com>
 
        * configure: Regenerate.
index 0caca2e..62a4e21 100644 (file)
@@ -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));