	* output.h (merge_weak, assemble_alias,
	initializer_constant_valid_p,
	initializer_constant_valid_for_bitfield_p): Move protos from here...
	* tree.h: ... to here.

	* cgraphclones.c: Do not include output.h.
	* gimplify.c: Likewise.
	* reload.c: Likewise.
	* recog.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* c-parser.c: Likewise.
	* c-typeck.c: Likewise.

	* Makefile.in: Fix dependencies.

c-family/
	* c-common.c: Do not include output.h.
	* c-pragma.c: Likewise.

cp/
	* semantics.c: Do not include output.h.
	* decl2.c: Likewise.
	* friend.c: Likewise.
	* typeck.c: Likewise.
	* typeck2.c: Likewise.
	* Make-lang.in: Fix dependencies.

ada/
	* gcc-interface/utils2.c: Do not include output.h.
	* gcc-interface/Make-lang.in: Fix dependencies.


Index: output.h
===================================================================
--- output.h	(revision 188166)
+++ output.h	(working copy)
@@ -157,11 +157,6 @@ extern const char *get_insn_template (int, rtx);
 
 /* Functions in varasm.c.  */
 
-/* Declare DECL to be a weak symbol.  */
-extern void declare_weak (tree);
-/* Merge weak status.  */
-extern void merge_weak (tree, tree);
-
 /* Emit any pending weak declarations.  */
 extern void weak_finish (void);
 
@@ -179,7 +174,6 @@ extern int decode_reg_name (const char *);
    external name.  */
 extern int decode_reg_name_and_count (const char *, int *);
 
-extern void assemble_alias (tree, tree);
 extern void do_assemble_alias (tree, tree);
 
 extern void default_assemble_visibility (tree, int);
@@ -305,22 +299,6 @@ extern void output_quoted_string (FILE *, const ch
 
 extern bool constructor_static_from_elts_p (const_tree);
 
-/* Return nonzero if VALUE is a valid constant-valued expression
-   for use in initializing a static variable; one that can be an
-   element of a "constant" initializer.
-
-   Return null_pointer_node if the value is absolute;
-   if it is relocatable, return the variable that determines the relocation.
-   We assume that VALUE has been folded as much as possible;
-   therefore, we do not need to check for such things as
-   arithmetic-combinations of integers.  */
-extern tree initializer_constant_valid_p (tree, tree);
-
-/* Return true if VALUE is a valid constant-valued expression
-   for use in initializing a static bit-field; one that can be
-   an element of a "constant" initializer.  */
-extern bool initializer_constant_valid_for_bitfield_p (tree);
-
 /* Output assembler code for constant EXP to FILE, with no label.
    This includes the pseudo-op such as ".int" or ".byte", and a newline.
    Assumes output_addressed_constants has been done on EXP already.
Index: tree.h
===================================================================
--- tree.h	(revision 188166)
+++ tree.h	(working copy)
@@ -5680,6 +5680,29 @@ extern bool decl_replaceable_p (tree);
 extern bool decl_binds_to_current_def_p (tree);
 extern enum tls_model decl_default_tls_model (const_tree);
 
+/* Declare DECL to be a weak symbol.  */
+extern void declare_weak (tree);
+/* Merge weak status.  */
+extern void merge_weak (tree, tree);
+/* Make one symbol an alias for another.  */
+extern void assemble_alias (tree, tree);
+
+/* Return nonzero if VALUE is a valid constant-valued expression
+   for use in initializing a static variable; one that can be an
+   element of a "constant" initializer.
+
+   Return null_pointer_node if the value is absolute;
+   if it is relocatable, return the variable that determines the relocation.
+   We assume that VALUE has been folded as much as possible;
+   therefore, we do not need to check for such things as
+   arithmetic-combinations of integers.  */
+extern tree initializer_constant_valid_p (tree, tree);
+
+/* Return true if VALUE is a valid constant-valued expression
+   for use in initializing a static bit-field; one that can be
+   an element of a "constant" initializer.  */
+extern bool initializer_constant_valid_for_bitfield_p (tree);
+
 /* In stmt.c */
 extern void expand_computed_goto (tree);
 extern bool parse_output_constraint (const char **, int, int, int,
Index: cgraphclones.c
===================================================================
--- cgraphclones.c	(revision 188166)
+++ cgraphclones.c	(working copy)
@@ -93,7 +93,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-pass.h"
 #include "tree-dump.h"
 #include "gimple-pretty-print.h"
-#include "output.h"
 #include "coverage.h"
 #include "ipa-inline.h"
 #include "ipa-utils.h"
Index: gimplify.c
===================================================================
--- gimplify.c	(revision 188166)
+++ gimplify.c	(working copy)
@@ -37,7 +37,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "hashtab.h"
 #include "flags.h"
 #include "function.h"
-#include "output.h"
 #include "ggc.h"
 #include "diagnostic-core.h"
 #include "target.h"
Index: reload.c
===================================================================
--- reload.c	(revision 188166)
+++ reload.c	(working copy)
@@ -106,7 +106,6 @@ a register with any other reload.  */
 #include "addresses.h"
 #include "hard-reg-set.h"
 #include "flags.h"
-#include "output.h"
 #include "function.h"
 #include "params.h"
 #include "target.h"
Index: recog.c
===================================================================
--- recog.c	(revision 188166)
+++ recog.c	(working copy)
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "flags.h"
 #include "basic-block.h"
-#include "output.h"
 #include "reload.h"
 #include "target.h"
 #include "timevar.h"
Index: tree-ssa-loop-ivopts.c
===================================================================
--- tree-ssa-loop-ivopts.c	(revision 188166)
+++ tree-ssa-loop-ivopts.c	(working copy)
@@ -69,7 +69,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "tm_p.h"
 #include "basic-block.h"
-#include "output.h"
 #include "tree-pretty-print.h"
 #include "gimple-pretty-print.h"
 #include "tree-flow.h"
Index: tree-switch-conversion.c
===================================================================
--- tree-switch-conversion.c	(revision 188166)
+++ tree-switch-conversion.c	(working copy)
@@ -89,7 +89,6 @@ eight) times the number of the actual switch branc
 #include "tree-flow.h"
 #include "tree-flow-inline.h"
 #include "tree-ssa-operands.h"
-#include "output.h"
 #include "input.h"
 #include "tree-pass.h"
 #include "gimple-pretty-print.h"
Index: c-parser.c
===================================================================
--- c-parser.c	(revision 188166)
+++ c-parser.c	(working copy)
@@ -49,7 +49,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "c-family/c-pragma.h"
 #include "c-tree.h"
 #include "flags.h"
-#include "output.h"
 #include "ggc.h"
 #include "c-family/c-common.h"
 #include "c-family/c-objc.h"
Index: c-decl.c
===================================================================
--- c-decl.c	(revision 188166)
+++ c-decl.c	(working copy)
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-inline.h"
 #include "flags.h"
 #include "function.h"
-#include "output.h"
 #include "c-tree.h"
 #include "toplev.h"
 #include "tm_p.h"
Index: c-typeck.c
===================================================================
--- c-typeck.c	(revision 188166)
+++ c-typeck.c	(working copy)
@@ -34,7 +34,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "c-tree.h"
 #include "c-lang.h"
 #include "flags.h"
-#include "output.h"
 #include "intl.h"
 #include "target.h"
 #include "tree-iterator.h"
Index: c-family/c-common.c
===================================================================
--- c-family/c-common.c	(revision 188166)
+++ c-family/c-common.c	(working copy)
@@ -26,7 +26,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "intl.h"
 #include "tree.h"
 #include "flags.h"
-#include "output.h"
 #include "c-pragma.h"
 #include "ggc.h"
 #include "c-common.h"
Index: c-family/c-pragma.c
===================================================================
--- c-family/c-pragma.c	(revision 188166)
+++ c-family/c-pragma.c	(working copy)
@@ -30,7 +30,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "c-pragma.h"
 #include "flags.h"
 #include "c-common.h"
-#include "output.h"
 #include "tm_p.h"		/* For REGISTER_TARGET_PRAGMAS (why is
 				   this not a target hook?).  */
 #include "vec.h"
Index: Makefile.in
===================================================================
--- Makefile.in	(revision 188166)
+++ Makefile.in	(working copy)
@@ -1900,13 +1900,13 @@ c-objc-common.o : c-objc-common.c c-objc-common.h
 
 c-parser.o : c-parser.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
 	$(TM_H) $(TREE_H) $(C_TREE_H) $(C_COMMON_H) $(C_PRAGMA_H) $(CPPLIB_H) \
-	$(GGC_H) $(TIMEVAR_H) $(INPUT_H) $(FLAGS_H) output.h \
+	$(GGC_H) $(TIMEVAR_H) $(INPUT_H) $(FLAGS_H) \
 	gt-c-parser.h langhooks.h \
 	$(VEC_H) $(TARGET_H) $(CGRAPH_H) $(PLUGIN_H) \
 	 c-family/c-objc.h
 
 c-typeck.o : c-typeck.c c-lang.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-	$(TREE_H) $(C_TREE_H) $(TARGET_H) $(FLAGS_H) intl.h output.h \
+	$(TREE_H) $(C_TREE_H) $(TARGET_H) $(FLAGS_H) intl.h \
 	langhooks.h tree-iterator.h $(BITMAP_H) $(GIMPLE_H) \
 	c-family/c-objc.h
 
@@ -2528,7 +2528,7 @@ tree-predcom.o: tree-predcom.c $(CONFIG_H) $(SYSTE
    tree-affine.h $(TREE_INLINE_H) $(TREE_PRETTY_PRINT_H)
 tree-ssa-loop-ivopts.o : tree-ssa-loop-ivopts.c $(TREE_FLOW_H) $(CONFIG_H) \
    $(SYSTEM_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) $(EXPR_H) \
-   output.h $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
+   $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
    $(TREE_PASS_H) $(GGC_H) $(RECOG_H) insn-config.h $(HASHTAB_H) $(SCEV_H) \
    $(CFGLOOP_H) $(PARAMS_H) langhooks.h $(BASIC_BLOCK_H) \
    tree-affine.h pointer-set.h $(TARGET_H) \
@@ -2575,7 +2575,7 @@ tree-optimize.o : tree-optimize.c $(TREE_FLOW_H) $
 gimplify.o : gimplify.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(GIMPLE_H) \
    $(DIAGNOSTIC_H) $(TREE_INLINE_H) langhooks.h \
    $(LANGHOOKS_DEF_H) $(TREE_FLOW_H) $(CGRAPH_H) $(TIMEVAR_H) $(TM_H) \
-   coretypes.h $(EXCEPT_H) $(FLAGS_H) $(RTL_H) $(FUNCTION_H) $(EXPR_H) output.h \
+   coretypes.h $(EXCEPT_H) $(FLAGS_H) $(RTL_H) $(FUNCTION_H) $(EXPR_H) \
    $(GGC_H) gt-gimplify.h $(HASHTAB_H) $(TARGET_H) $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
    $(SPLAY_TREE_H) $(VEC_H) tree-iterator.h $(TREE_PASS_H) $(TREE_PRETTY_PRINT_H)
 gimple-iterator.o : gimple-iterator.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
@@ -2940,7 +2940,7 @@ cgraphclones.o : cgraphclones.c $(CONFIG_H) $(SYST
    $(FIBHEAP_H) $(PARAMS_H) $(RTL_H) $(TIMEVAR_H) $(IPA_PROP_H) \
    tree-iterator.h $(COVERAGE_H) $(TREE_DUMP_H) \
    $(GIMPLE_PRETTY_PRINT_H) ipa-inline.h $(IPA_UTILS_H) \
-   $(LTO_STREAMER_H) output.h $(EXCEPT_H) $(GCC_PLUGIN_H) gt-cgraphclones.h
+   $(LTO_STREAMER_H) $(EXCEPT_H) $(GCC_PLUGIN_H) gt-cgraphclones.h
 cgraphbuild.o : cgraphbuild.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    $(TREE_H) langhooks.h $(CGRAPH_H) intl.h pointer-set.h $(GIMPLE_H) \
    $(TREE_FLOW_H) $(TREE_PASS_H) $(IPA_UTILS_H) $(EXCEPT_H) \
@@ -3238,7 +3238,7 @@ bitmap.o : bitmap.c $(CONFIG_H) $(SYSTEM_H)  coret
 vec.o : vec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(VEC_H) $(GGC_H) \
    $(DIAGNOSTIC_CORE_H) $(HASHTAB_H)
 reload.o : reload.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_ERROR_H) \
-   $(FLAGS_H) output.h $(EXPR_H) $(OPTABS_H) reload.h $(RECOG_H) \
+   $(FLAGS_H) $(EXPR_H) $(OPTABS_H) reload.h $(RECOG_H) \
    hard-reg-set.h insn-config.h $(REGS_H) $(FUNCTION_H) real.h \
    addresses.h $(TM_P_H) $(PARAMS_H) $(TARGET_H) $(DF_H) ira.h $(DIAGNOSTIC_CORE_H)
 reload1.o : reload1.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_ERROR_H) \
@@ -3384,7 +3384,7 @@ final.o : final.c $(CONFIG_H) $(SYSTEM_H) coretype
    $(TARGET_DEF_H) $(TREE_PRETTY_PRINT_H)
 recog.o : recog.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_ERROR_H) \
    $(FUNCTION_H) $(BASIC_BLOCK_H) $(REGS_H) $(RECOG_H) $(EXPR_H) \
-   $(FLAGS_H) insn-config.h $(INSN_ATTR_H) output.h reload.h \
+   $(FLAGS_H) insn-config.h $(INSN_ATTR_H) reload.h \
    addresses.h $(TM_P_H) $(TIMEVAR_H) $(TREE_PASS_H) hard-reg-set.h \
    $(DF_H) $(DBGCNT_H) $(TARGET_H) $(DIAGNOSTIC_CORE_H)
 reg-stack.o : reg-stack.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
Index: cp/semantics.c
===================================================================
--- cp/semantics.c	(revision 188166)
+++ cp/semantics.c	(working copy)
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "intl.h"
 #include "toplev.h"
 #include "flags.h"
-#include "output.h"
 #include "timevar.h"
 #include "diagnostic.h"
 #include "cgraph.h"
Index: cp/decl2.c
===================================================================
--- cp/decl2.c	(revision 188166)
+++ cp/decl2.c	(working copy)
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "cp-tree.h"
 #include "decl.h"
-#include "output.h"
 #include "toplev.h"
 #include "timevar.h"
 #include "cpplib.h"
Index: cp/friend.c
===================================================================
--- cp/friend.c	(revision 188166)
+++ cp/friend.c	(working copy)
@@ -25,7 +25,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "cp-tree.h"
 #include "flags.h"
-#include "output.h"
 
 /* Friend data structures are described in cp-tree.h.  */
 
Index: cp/typeck.c
===================================================================
--- cp/typeck.c	(revision 188166)
+++ cp/typeck.c	(working copy)
@@ -34,7 +34,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "cp-tree.h"
 #include "flags.h"
-#include "output.h"
 #include "diagnostic.h"
 #include "intl.h"
 #include "target.h"
Index: cp/typeck2.c
===================================================================
--- cp/typeck2.c	(revision 188166)
+++ cp/typeck2.c	(working copy)
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "intl.h"
 #include "cp-tree.h"
 #include "flags.h"
-#include "output.h"
 #include "diagnostic-core.h"
 
 static tree
Index: cp/Make-lang.in
===================================================================
--- cp/Make-lang.in	(revision 188166)
+++ cp/Make-lang.in	(working copy)
@@ -277,7 +277,7 @@ cp/decl.o: cp/decl.c $(CXX_TREE_H) $(TM_H) $(FLAGS
   intl.h tree-iterator.h pointer-set.h $(SPLAY_TREE_H) \
   c-family/c-objc.h
 cp/decl2.o: cp/decl2.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) cp/decl.h \
-  output.h toplev.h $(C_COMMON_H) gt-cp-decl2.h $(CGRAPH_H) \
+  toplev.h $(C_COMMON_H) gt-cp-decl2.h $(CGRAPH_H) \
   $(C_PRAGMA_H) $(TREE_DUMP_H) intl.h $(TARGET_H) $(GIMPLE_H) pointer-set.h \
   $(SPLAY_TREE_H) c-family/c-ada-spec.h \
   c-family/c-objc.h
@@ -285,11 +285,11 @@ cp/cp-objcp-common.o : cp/cp-objcp-common.c $(CONF
   coretypes.h $(TM_H) $(TREE_H) $(CXX_TREE_H) $(C_COMMON_H) \
   langhooks.h $(LANGHOOKS_DEF_H) $(DIAGNOSTIC_H) debug.h \
   $(CXX_PRETTY_PRINT_H) cp/cp-objcp-common.h gt-cp-cp-objcp-common.h
-cp/typeck2.o: cp/typeck2.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) output.h \
+cp/typeck2.o: cp/typeck2.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) \
   $(TM_P_H) $(DIAGNOSTIC_CORE_H) gt-cp-typeck2.h $(REAL_H) intl.h
 cp/typeck.o: cp/typeck.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) \
   toplev.h $(DIAGNOSTIC_H) convert.h $(C_COMMON_H) $(TARGET_H) \
-  output.h c-family/c-objc.h
+  c-family/c-objc.h
 cp/class.o: cp/class.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) toplev.h \
   $(TARGET_H) convert.h $(CGRAPH_H) $(TREE_DUMP_H) gt-cp-class.h \
   $(SPLAY_TREE_H) pointer-set.h
@@ -324,7 +324,7 @@ cp/error.o: cp/error.c $(CXX_TREE_H) $(TM_H) $(DIA
 cp/repo.o: cp/repo.c $(CXX_TREE_H) $(TM_H) toplev.h $(DIAGNOSTIC_CORE_H) \
   gt-cp-repo.h
 cp/semantics.o: cp/semantics.c $(CXX_TREE_H) $(TM_H) toplev.h \
-  $(FLAGS_H) output.h $(RTL_H) $(TIMEVAR_H) \
+  $(FLAGS_H) $(RTL_H) $(TIMEVAR_H) \
   $(TREE_INLINE_H) $(CGRAPH_H) $(TARGET_H) $(C_COMMON_H) $(GIMPLE_H) \
   bitmap.h gt-cp-semantics.h c-family/c-objc.h
 cp/dump.o: cp/dump.c $(CXX_TREE_H) $(TM_H) $(TREE_DUMP_H)
Index: ada/gcc-interface/utils2.c
===================================================================
--- ada/gcc-interface/utils2.c	(revision 188166)
+++ ada/gcc-interface/utils2.c	(working copy)
@@ -31,7 +31,6 @@
 #include "flags.h"
 #include "toplev.h"
 #include "ggc.h"
-#include "output.h"
 #include "tree-inline.h"
 
 #include "ada.h"
Index: ada/gcc-interface/Make-lang.in
===================================================================
--- ada/gcc-interface/Make-lang.in	(revision 188166)
+++ ada/gcc-interface/Make-lang.in	(working copy)
@@ -1284,7 +1284,7 @@ ada/utils.o : ada/gcc-interface/utils.c $(CONFIG_H
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) -I.. $(ALL_CPPFLAGS) $< -o $@
 
 ada/utils2.o : ada/gcc-interface/utils2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-   $(TM_H) $(TREE_H) $(FLAGS_H) toplev.h output.h $(TREE_INLINE_H) \
+   $(TM_H) $(TREE_H) $(FLAGS_H) toplev.h $(TREE_INLINE_H) \
    ada/gcc-interface/ada.h ada/types.h ada/atree.h ada/elists.h ada/namet.h \
    ada/nlists.h ada/snames.h ada/stringt.h ada/uintp.h ada/fe.h ada/sinfo.h \
    ada/einfo.h $(ADA_TREE_H) ada/gcc-interface/gigi.h
Index: c-family/c-cppbuiltin.c
===================================================================
--- c-family/c-cppbuiltin.c	(revision 188166)
+++ c-family/c-cppbuiltin.c	(working copy)
@@ -27,7 +27,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "c-common.h"
 #include "c-pragma.h"
-#include "output.h"
+#include "output.h"		/* For user_label_prefix.  */
 #include "debug.h"		/* For dwarf2out_do_cfi_asm.  */
 #include "tm_p.h"		/* For TARGET_CPU_CPP_BUILTINS & friends.  */
 #include "target.h"
Index: cp/decl.c
===================================================================
--- cp/decl.c	(revision 188166)
+++ cp/decl.c	(working copy)
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-inline.h"
 #include "decl.h"
 #include "intl.h"
-#include "output.h"
+#include "output.h" /* for have_global_bss_p */
 #include "toplev.h"
 #include "hashtab.h"
 #include "tm_p.h"
Index: go/go-backend.c
===================================================================
--- go/go-backend.c	(revision 188166)
+++ go/go-backend.c	(working copy)
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "tm_p.h"
 #include "intl.h"
-#include "output.h"
+#include "output.h"	/* for assemble_string */
 #include "target.h"
 #include "common/common-target.h"
 
Index: java/class.c
===================================================================
--- java/class.c	(revision 188166)
+++ java/class.c	(working copy)
@@ -34,7 +34,7 @@ The Free Software Foundation is independent of Sun
 #include "obstack.h"
 #include "diagnostic-core.h"
 #include "toplev.h"
-#include "output.h"
+#include "output.h" /* for switch_to_section and get_section */
 #include "parse.h"
 #include "function.h"
 #include "ggc.h"
