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

Reply via email to