Index: fold-const.c
===================================================================
--- fold-const.c	(revision 173703)
+++ fold-const.c	(working copy)
@@ -13792,6 +13789,7 @@ recursive_label:
       && DECL_ASSEMBLER_NAME_SET_P (expr))
     {
       /* Allow DECL_ASSEMBLER_NAME to be modified.  */
+      gcc_assert (tree_size (expr) <= sizeof (buf));
       memcpy ((char *) &buf, expr, tree_size (expr));
       SET_DECL_ASSEMBLER_NAME ((tree)&buf, NULL);
       expr = (tree) &buf;
@@ -13805,6 +13803,7 @@ recursive_label:
     {
       /* Allow these fields to be modified.  */
       tree tmp;
+      gcc_assert (tree_size (expr) <= sizeof (buf));
       memcpy ((char *) &buf, expr, tree_size (expr));
       expr = tmp = (tree) &buf;
       TYPE_CONTAINS_PLACEHOLDER_INTERNAL (tmp) = 0;
