------- Comment #7 from rguenth at gcc dot gnu dot org 2008-02-02 16:15 -------
This
Index: tree.c
===================================================================
--- tree.c (revision 132071)
+++ tree.c (working copy)
@@ -417,6 +417,10 @@ build_target_expr_with_type (tree init,
aggregate; there's no additional work to be done. */
return force_rvalue (init);
+ if (INTEGRAL_TYPE_P (type)
+ || POINTER_TYPE_P (type))
+ init = fold_convert (type, init);
+
return force_target_expr (type, init);
}
fixes it. It might be not the very best place for the fix though (and with
dependent arguments it might not be wise to call into the middle-end either).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35056