1) parser.o was missing a dependency on decl.h. 2) The assignment to fn_ptr_type was dead.
Tested x86_64-pc-linux-gnu, applying to trunk.
commit 330ecdbe393e3bd068c14c6639a5ace9764d2191 Author: Jason Merrill <ja...@redhat.com> Date: Thu Sep 20 09:52:42 2012 -0400 * Make-lang.in (cp/parser.o): Depend on decl.h. diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index 6233f06..7b1d4e6 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -336,7 +336,7 @@ cp/optimize.o: cp/optimize.c $(CXX_TREE_H) $(TM_H) \ cp/mangle.o: cp/mangle.c $(CXX_TREE_H) $(TM_H) $(REAL_H) \ gt-cp-mangle.h $(TARGET_H) $(TM_P_H) $(CGRAPH_H) cp/parser.o: cp/parser.c $(CXX_TREE_H) $(TM_H) $(DIAGNOSTIC_CORE_H) \ - gt-cp-parser.h $(TARGET_H) $(PLUGIN_H) intl.h \ + gt-cp-parser.h $(TARGET_H) $(PLUGIN_H) intl.h cp/decl.h \ c-family/c-objc.h tree-pretty-print.h $(CXX_PARSER_H) $(TIMEVAR_H) cp/cp-gimplify.o: cp/cp-gimplify.c $(CXX_TREE_H) $(C_COMMON_H) \ $(TM_H) coretypes.h pointer-set.h tree-iterator.h $(SPLAY_TREE_H)
commit bc4d28411e7d43df0f8fec4fee9c29bf7b1c975e Author: Jason Merrill <ja...@redhat.com> Date: Mon Sep 24 10:05:43 2012 -0400 * decl.c (get_atexit_node): Remove dead code. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 6b5b986..452f761 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -6515,7 +6515,6 @@ get_atexit_node (void) fn_type = build_function_type_list (integer_type_node, argtype0, argtype1, argtype2, NULL_TREE); - fn_ptr_type = build_pointer_type (fn_type); if (use_aeabi_atexit) name = "__aeabi_atexit"; else