+2012-08-06 Marc Glisse <marc.glisse@inria.fr>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54165
+ * typeck.c (build_static_cast_1): Move the conversion to void case
+ before the perform_direct_initialization_if_possible call.
+
2012-08-03 Marc Glisse <marc.glisse@inria.fr>
* pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.
/* [expr.static.cast]
+ Any expression can be explicitly converted to type cv void. */
+ if (TREE_CODE (type) == VOID_TYPE)
+ return convert_to_void (expr, ICV_CAST, complain);
+
+ /* [expr.static.cast]
+
An expression e can be explicitly converted to a type T using a
static_cast of the form static_cast<T>(e) if the declaration T
t(e);" is well-formed, for some invented temporary variable
/* [expr.static.cast]
- Any expression can be explicitly converted to type cv void. */
- if (TREE_CODE (type) == VOID_TYPE)
- return convert_to_void (expr, ICV_CAST, complain);
-
- /* [expr.static.cast]
-
The inverse of any standard conversion sequence (clause _conv_),
other than the lvalue-to-rvalue (_conv.lval_), array-to-pointer
(_conv.array_), function-to-pointer (_conv.func_), and boolean
+2012-08-06 Marc Glisse <marc.glisse@inria.fr>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54165
+ * g++.dg/conversion/void2.C: New.
+
2012-08-06 Tom de Vries <tom@codesourcery.com>
* gcc.dg/tree-ssa/vrp78.c: New test.