--- gcc/cp/decl2.c.orig	2012-11-13 00:36:43.000000000 +0900
+++ gcc/cp/decl2.c	2012-11-13 00:38:14.000000000 +0900
@@ -1096,7 +1096,7 @@
       if (flag_new_abi) 
 	set_mangled_name_for_decl (function);
       else
-	DECL_ASSEMBLER_NAME (function) = build_destructor_name (ctype);
+	SET_DECL_ASSEMBLER_NAME (function, build_destructor_name (ctype));
 
       TYPE_HAS_DESTRUCTOR (ctype) = 1;
     }
@@ -1572,10 +1572,10 @@
     {
       DECL_INITIAL (decl) = error_mark_node;
       if (flag_new_abi)
-	DECL_ASSEMBLER_NAME (decl) = mangle_decl (decl);
+	SET_DECL_ASSEMBLER_NAME (decl, mangle_decl (decl));
       else
-	DECL_ASSEMBLER_NAME (decl) 
-	  = build_static_name (current_class_type, DECL_NAME (decl));
+	SET_DECL_ASSEMBLER_NAME (decl,
+	  build_static_name (current_class_type, DECL_NAME (decl)));
     }
   if (! processing_template_decl)
     {
@@ -1708,14 +1708,14 @@
       
       /* Now that we've updated the context, we need to remangle the
 	 name for this TYPE_DECL.  */
-      DECL_ASSEMBLER_NAME (value) = DECL_NAME (value);
+      SET_DECL_ASSEMBLER_NAME (value, DECL_NAME (value));
       if (!uses_template_parms (value)) 
 	{
 	  if (flag_new_abi)
-	    DECL_ASSEMBLER_NAME (value) = mangle_type (TREE_TYPE (value));
+	    SET_DECL_ASSEMBLER_NAME (value, mangle_type (TREE_TYPE (value)));
 	  else
-	    DECL_ASSEMBLER_NAME (value) =
-	      get_identifier (build_overload_name (TREE_TYPE (value), 1, 1));
+	    SET_DECL_ASSEMBLER_NAME (value,
+	      get_identifier (build_overload_name (TREE_TYPE (value), 1, 1)));
 	}
 
       if (processing_template_decl)
@@ -1816,7 +1816,7 @@
 	  /* This must override the asm specifier which was placed
 	     by grokclassfn.  Lay this out fresh.  */
 	  DECL_RTL (value) = NULL_RTX;
-	  DECL_ASSEMBLER_NAME (value) = get_identifier (asmspec);
+	  SET_DECL_ASSEMBLER_NAME (value, get_identifier (asmspec));
 	}
       cp_finish_decl (value, init, asmspec_tree, flags);
 
