From 81bdf64f2035b8979549fc533915ea17d429dc9f Mon Sep 17 00:00:00 2001
From: bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 29 Jul 2008 15:47:54 +0000
Subject: 2008-07-29  Basile Starynkevitch  <basile@starynkevitch.net> 	MELT
 branch merged with trunk r138226 [after tuple merge into trunk] 	some
 compiler probe stuff are missing 	* gcc/compiler-probe.h: more gimple,
 less tree 	* gcc/compiler-probe.c: incomplete merge.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@138247 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog | 1006 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 1006 insertions(+)

(limited to 'gcc/ChangeLog')

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 951d26375d1..aa4d3b2d983 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,1009 @@
+2008-07-28  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/36957
+	* tree-flow.h (tree_ssa_useless_type_conversion): Remove.
+	(useless_type_conversion_p): Remove.
+	(types_compatible_p): Remove.
+	* gimple.h (tree_ssa_useless_type_conversion): Declare.
+	(useless_type_conversion_p): Declare.
+	(types_compatible_p): Declare.
+	(gimple_expr_type): Return the base type only if it is
+	trivially convertible to the subtype.
+
+2008-07-28  Andreas Tobler  <a.tobler@schweiz.org>
+
+	* configure.ac: Use the m4_do macro to concatenate the warnings into
+	one string in ACX_PROG_CC_WARNING_OPTS,
+	ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and ACX_PROG_CC_WARNINGS_ARE_ERRORS.
+	* configure: Regenerate.
+
+2008-07-28  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (insert_into_preds_of_block): Remove dead code.
+	(insert_fake_stores): Remove.
+	(realify_fake_stores): Likewise.
+	(execute_pre): Remove dead code.
+	* tree-ssa-structalias.c (get_constraint_for_1): Remove tcc_unary
+	case.
+	(find_func_aliases): Deal with it here instead.
+	Re-enable gcc_unreachable call.
+
+2008-07-28  Richard Guenther  <rguenther@suse.de>
+
+	Merge from gimple-tuples-branch.
+
+	* ChangeLog.tuples: ChangeLog from gimple-tuples-branch.
+	* gimple.def: New file.
+	* gsstruct.def: Likewise.
+	* gimple-iterator.c: Likewise.
+	* gimple-pretty-print.c: Likewise.
+	* tree-gimple.c: Removed.  Merged into ...
+	* gimple.c: ... here.  New file.
+	* tree-gimple.h: Removed.  Merged into ...
+	* gimple.h: ... here.  New file.
+
+	* Makefile.in: Add dependencies on GIMPLE_H and tree-iterator.h.
+	* configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the
+	--enable-checking=gimple flag.
+	* config.in: Likewise.
+	* configure: Regenerated.
+
+	* tree-ssa-operands.h: Tuplified.
+	* tree-vrp.c: Likewise.
+	* tree-loop-linear.c: Likewise.
+	* tree-into-ssa.c: Likewise.
+	* tree-ssa-loop-im.c: Likewise.
+	* tree-dump.c: Likewise.
+	* tree-complex.c: Likewise.
+	* cgraphbuild.c: Likewise.
+	* tree-ssa-threadupdate.c: Likewise.
+	* tree-ssa-loop-niter.c: Likewise.
+	* tree-pretty-print.c: Likewise.
+	* tracer.c: Likewise.
+	* gengtype.c: Likewise.
+	* tree-loop-distribution.c: Likewise.
+	* tree-ssa-loop-unswitch.c: Likewise.
+	* cgraph.c: Likewise.
+	* cgraph.h: Likewise.
+	* tree-ssa-loop-manip.c: Likewise.
+	* value-prof.c: Likewise.
+	* tree-ssa-loop-ch.c: Likewise.
+	* tree-tailcall.c: Likewise.
+	* value-prof.h: Likewise.
+	* tree.c: Likewise.
+	* tree.h: Likewise.
+	* tree-pass.h: Likewise.
+	* ipa-cp.c: Likewise.
+	* tree-scalar-evolution.c: Likewise.
+	* tree-scalar-evolution.h: Likewise.
+	* target.h: Likewise.
+	* lambda-mat.c: Likewise.
+	* tree-phinodes.c: Likewise.
+	* diagnostic.h: Likewise.
+	* builtins.c: Likewise.
+	* tree-ssa-alias-warnings.c: Likewise.
+	* cfghooks.c: Likewise.
+	* fold-const.c: Likewise.
+	* cfghooks.h: Likewise.
+	* omp-low.c: Likewise.
+	* tree-ssa-dse.c: Likewise.
+	* ipa-reference.c: Likewise.
+	* tree-ssa-uncprop.c: Likewise.
+	* toplev.c: Likewise.
+	* tree-gimple.c: Likewise.
+	* tree-gimple.h: Likewise.
+	* tree-chrec.c: Likewise.
+	* tree-chrec.h: Likewise.
+	* tree-ssa-sccvn.c: Likewise.
+	* tree-ssa-sccvn.h: Likewise.
+	* cgraphunit.c: Likewise.
+	* tree-ssa-copyrename.c: Likewise.
+	* tree-ssa-ccp.c: Likewise.
+	* tree-ssa-loop-ivopts.c: Likewise.
+	* tree-nomudflap.c: Likewise.
+	* tree-call-cdce.c: Likewise.
+	* ipa-pure-const.c: Likewise.
+	* c-format.c: Likewise.
+	* tree-stdarg.c: Likewise.
+	* tree-ssa-math-opts.c: Likewise.
+	* tree-ssa-dom.c: Likewise.
+	* tree-nrv.c: Likewise.
+	* tree-ssa-propagate.c: Likewise.
+	* ipa-utils.c: Likewise.
+	* tree-ssa-propagate.h: Likewise.
+	* tree-ssa-alias.c: Likewise.
+	* gimple-low.c: Likewise.
+	* tree-ssa-sink.c: Likewise.
+	* ipa-inline.c: Likewise.
+	* c-semantics.c: Likewise.
+	* dwarf2out.c: Likewise.
+	* expr.c: Likewise.
+	* tree-ssa-loop-ivcanon.c: Likewise.
+	* predict.c: Likewise.
+	* tree-ssa-loop.c: Likewise.
+	* tree-parloops.c: Likewise.
+	* tree-ssa-address.c: Likewise.
+	* tree-ssa-ifcombine.c: Likewise.
+	* matrix-reorg.c: Likewise.
+	* c-decl.c: Likewise.
+	* tree-eh.c: Likewise.
+	* c-pretty-print.c: Likewise.
+	* lambda-trans.c: Likewise.
+	* function.c: Likewise.
+	* langhooks.c: Likewise.
+	* ebitmap.h: Likewise.
+	* tree-vectorizer.c: Likewise.
+	* function.h: Likewise.
+	* langhooks.h: Likewise.
+	* tree-vectorizer.h: Likewise.
+	* ipa-type-escape.c: Likewise.
+	* ipa-type-escape.h: Likewise.
+	* domwalk.c: Likewise.
+	* tree-if-conv.c: Likewise.
+	* profile.c: Likewise.
+	* domwalk.h: Likewise.
+	* tree-data-ref.c: Likewise.
+	* tree-data-ref.h: Likewise.
+	* tree-flow-inline.h: Likewise.
+	* tree-affine.c: Likewise.
+	* tree-vect-analyze.c: Likewise.
+	* c-typeck.c: Likewise.
+	* gimplify.c: Likewise.
+	* coretypes.h: Likewise.
+	* tree-ssa-phiopt.c: Likewise.
+	* calls.c: Likewise.
+	* tree-ssa-coalesce.c: Likewise.
+	* tree.def: Likewise.
+	* tree-dfa.c: Likewise.
+	* except.c: Likewise.
+	* except.h: Likewise.
+	* cfgexpand.c: Likewise.
+	* tree-cfgcleanup.c: Likewise.
+	* tree-ssa-pre.c: Likewise.
+	* tree-ssa-live.c: Likewise.
+	* tree-sra.c: Likewise.
+	* tree-ssa-live.h: Likewise.
+	* tree-predcom.c: Likewise.
+	* lambda.h: Likewise.
+	* tree-mudflap.c: Likewise.
+	* ipa-prop.c: Likewise.
+	* print-tree.c: Likewise.
+	* tree-ssa-copy.c: Likewise.
+	* ipa-prop.h: Likewise.
+	* tree-ssa-forwprop.c: Likewise.
+	* ggc-page.c: Likewise.
+	* c-omp.c: Likewise.
+	* tree-ssa-dce.c: Likewise.
+	* tree-vect-patterns.c: Likewise.
+	* tree-ssa-ter.c: Likewise.
+	* tree-nested.c: Likewise.
+	* tree-ssa.c: Likewise.
+	* lambda-code.c: Likewise.
+	* tree-ssa-loop-prefetch.c: Likewise.
+	* tree-inline.c: Likewise.
+	* tree-inline.h: Likewise.
+	* tree-iterator.c: Likewise.
+	* tree-optimize.c: Likewise.
+	* tree-ssa-phiprop.c: Likewise.
+	* tree-vect-transform.c: Likewise.
+	* tree-object-size.c: Likewise.
+	* tree-outof-ssa.c: Likewise.
+	* cfgloop.c: Likewise.
+	* system.h: Likewise.
+	* tree-profile.c: Likewise.
+	* cfgloop.h: Likewise.
+	* c-gimplify.c: Likewise.
+	* c-common.c: Likewise.
+	* tree-vect-generic.c: Likewise.
+	* tree-flow.h: Likewise.
+	* c-common.h: Likewise.
+	* basic-block.h: Likewise.
+	* tree-ssa-structalias.c: Likewise.
+	* tree-switch-conversion.c: Likewise.
+	* tree-ssa-structalias.h: Likewise.
+	* tree-cfg.c: Likewise.
+	* passes.c: Likewise.
+	* ipa-struct-reorg.c: Likewise.
+	* ipa-struct-reorg.h: Likewise.
+	* tree-ssa-reassoc.c: Likewise.
+	* cfgrtl.c: Likewise.
+	* varpool.c: Likewise.
+	* stmt.c: Likewise.
+	* tree-ssanames.c: Likewise.
+	* tree-ssa-threadedge.c: Likewise.
+	* langhooks-def.h: Likewise.
+	* tree-ssa-operands.c: Likewise.
+	* config/alpha/alpha.c: Likewise.
+	* config/frv/frv.c: Likewise.
+	* config/s390/s390.c: Likewise.
+	* config/m32c/m32c.c: Likewise.
+	* config/m32c/m32c-protos.h: Likewise.
+	* config/spu/spu.c: Likewise.
+	* config/sparc/sparc.c: Likewise.
+	* config/i386/i386.c: Likewise.
+	* config/sh/sh.c: Likewise.
+	* config/xtensa/xtensa.c: Likewise.
+	* config/stormy16/stormy16.c: Likewise.
+	* config/ia64/ia64.c: Likewise.
+	* config/rs6000/rs6000.c: Likewise.
+	* config/pa/pa.c: Likewise.
+	* config/mips/mips.c: Likewise.
+
+2008-07-28  Simon Baldwin  <simonb@google.com>
+
+	* c-pragma.c (handle_pragma_message): New function.
+	(init_pragma): Register handle_pragma_message.
+	* doc/extend.texi (Diagnostic Pragmas): Added #pragma message
+	documentation.
+
+2008-07-27  Victor Kaplansky  <victork@il.ibm.com>
+
+	PR tree-optimization/35252
+	* tree-vect-analyze.c (vect_build_slp_tree): Make IMAGPART_EXPR and
+	REALPART_EXPR to be considered as same load operation.
+
+2008-07-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR tree-optimization/36830
+	* tree-ssa-sccvn.c (vn_reference_op_compute_hash): Hash operand #2.
+	(expressions_equal_p): Return false if only one operand is null.
+
+2008-07-26  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (powerpc-*-netbsd*): Remove redundant texinfo
+	version requirements.
+
+2008-07-26  Olivier Hainque  <hainque@adacore.com>
+
+	* collect2.c (symkind): New enum.  Symbol kinds we care about.
+	(is_ctor_dtor): Return symkind instead of int.  Adjust prototype,
+	code and head comment accordingly.
+	(scan_prog_file): Use symkind names instead of bare integers.
+	
+2008-07-25  Jan Hubicka  <jh@suse.cz>
+
+	* cgraph.c (cgraph_function_possibly_inlined_p): Do not rely on DECL_INLINE.
+	* cgraphunit.c (record_cdtor_fn): Do not initialize DECL_INLINE
+	(cgraph_preserve_function_body_p): Do not rely on DECL_INLINE.
+	* dojump.c (clear_pending_stack_adjust): Likewise.
+	* print-tree.c (print_node): Ignore DECL_INLINE.
+	* tree-inline.c (inlinable_function_p): Likewise.
+	
+2008-07-25  Michael Meissner  <gnu@the-meissners.org>
+
+	* doc/extend.texi (hot attribute): Document that the hot attribute
+	turns on -O3 for some ports.
+	(cold attribute): Document that the cold attribute turns on -Os
+	for some ports
+
+	* doc/tm.texi (OPTIMIZATION_OPTIONS): Update documentation to
+	reflect function specific option support.
+
+	* target.h (struct target_option_hooks): Add fields to say whether
+	the cold attribute implies -Os and the hot attribute implies -O3.
+
+	* target-def.h (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION):
+	By default, do not turn on -Os for cold functions.
+	(TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): By default, do
+	not turn on -O3 for hot functions.
+
+	* c-common.c (handle_hot_attribute): Use target hook to determine
+	if hot functions should enable -O3.
+	(handle_cold_attribute): Use target hook to determine if cold
+	functions should enable -Os.
+
+	* config/i386/i386.c (ix86_target_string): Add -m3dnowa support.
+	(override_options): Move disable scheduling to
+	optimization_options.
+	(optimization_options): Disable scheduling here, not
+	override_options.
+	(TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+	(TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+
+	* config/ia64/ia64.c (ia64_override_options): Move setting
+	scheduling flags to ia64_optimization_options.
+	(ia64_optimization_options): Disable scheduling options here, and
+	not in ia64_override_options.
+	(TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+	(TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+
+2008-07-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/36936
+	* config/i386/i386.c (override_options): Don't clear TARGET_CMOVE.
+
+2008-07-25  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/36926
+	* ipa-prop.c (ipa_analyze_call_uses): Call
+	ipa_is_ssa_with_stmt_def instead of SSA_NAME_IS_DEFAULT_DEF.
+
+2008-07-25  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
+	movv2si_internal): Add mem = reg alternative.
+
+2008-07-25  Andreas Tobler  <a.tobler@schweiz.org>
+
+	PR bootstrap/36918
+	* config/sparc/sparc.h (DEFAULT_PCC_STRUCT_RETURN): Define
+	DEFAULT_PCC_STRUCT_RETURN to 127.
+
+2008-07-24  Jan Hubicka  <jh@suse.cz>
+
+	* cgraphbuild.c (record_reference): Drop non-unit-at-a-time code.
+	(build_cgraph_edges): Likewise.
+	* cgraph.c (cgraph_node): Do not update assembler hash.
+	(cgraph_remove_node): Drop non-unit-at-a-time code.
+	* tree-pass.h (pass_O0_always_inline): Remove.
+	* ipa-reference.c (gate_reference): Remove unit-at-a-time check.
+	* toplev.c (process_options): Flag unit-at-a-time does not imply
+	no section anchors.
+	* cgraphunit.c: Update comments.
+	(decide_is_function_needed): Drop non-unit-at-a-time mode.
+	(cgraph_assemble_pending_functions): Remove.
+	(cgraph_reset_node): Drop non-unit-at-a-time code.
+	(cgraph_finalize_function): Likewise.
+	(cgraph_analyze_function): Likewise.
+	(cgraph_finalize_compilation_unit): Likewise.
+	(cgraph_expand_function): Likewise.
+	(cgraph_optimize): Likesise.
+	(save_inline_function_body): Likewise.
+	* ipa-pure-const.c (gate_pure_const): Drop flag_unit_at_a_time check.
+	* tree-ssa-alias.c (maybe_be_aliased): Likewise.
+	* ipa-inline.c: Update comments.
+	(enum inlining_mode): remove INLINE_SPEED.
+	(cgraph_clone_inlined_nodes): Drop unit-at-a-time check.
+	(cgraph_mark_inline_edge): Likewise.
+	(try_inline): Likewise.
+	(cgraph_decide_inlining_incrementally): Likewise.
+	(cgraph_gate_inlining): Remove.
+	(cgraph_early_inlining): Remove flag_unit_at_a_time checks.
+	(cgraph_gate_early_inlining): Likewise.
+	(gate_inline_passes): Remove.
+	(pass_inline_parameters, pass_ipa_inline): Remove gates.
+	(cgraph_gate_O0_always_inline, cgraph_O0_always_inline, 
+	pass_O0_always_inline): Remove.
+	* c-pch.c (c_pch_matching): Remove -funit-at-a-time.
+	* dwarf2out.c (reference_to_unused): Remove flag_unit_at_a_time check.
+	* opts.c (no_unit_at_a_time_default): Remove.
+	(decode_options): Remove flag_unit_at_a_time reset and warning.
+	* opts.h (no_unit_at_a_time_default): Remove.
+	* c-decl.c (diagnose_mismatched_decls): Do not require inline keyword
+	early in GNU dialect.
+	(merge_decls): Update comment; drop unit-at-a-time check.
+	(finish_decl): Likewise.
+	(grok_declaration): Remove flag_inline_trees code.
+	(finish_functions): Return on function returning non-void on all
+	statics.
+	* ipa-tye-escape.c (gate_type_escape_vars): Remove.
+	* cfgexpand.c (expand_one_static_var): Remove.
+	(expand_one_var): Remove expand_one_static_var call.
+	(expand_used_vars_for_block): Remove flag_unit_a_time check.
+	* c-opts.c (c_common_post_options): Remove flag_inline_trees code
+	and flag_unit_at_a-time compatibility checks.
+	* varasm.c (assemble_alias): Remove flag_unit_at_a_time check.
+	* tree-inline.c (flag_inline_trees): Remove.
+	(inlinable_function_p): Don't check it.
+	(expand_call_inline): Remove non-unit-at-a-time code.
+	* tree-inline.h (flag_inline_trees): Remove.
+	* tree-optimize.c (execute_early_local_optimizations): Remove
+	unit-at-a-time checks.
+	(tree_rest_of_compilation): Likewise.
+	* combine.c (setup_incoming_promotions): Likewise.
+	* tree-profile.c (tree_gen_ic_func_profiler): Likewise.
+	* tree-ssa-structalias.c (delete_points_to_sets): Likewise.
+	* passes.c (pass_inline_parameters): Update comments; remove
+	O0_alwaysinline pass.
+	(execute_one_ipa_transform_pass): Do not reset in_gimple_form.
+	(execute_one_pass): Likewise.
+	* i386.c (ix86_function_regparm): Remove unit-at-a-time check.
+	(ix86_function_sseregparm): Likewise.
+	* arm.c (arm_function_in_section_p): Likewise.
+	* bfin.c (bfin_load_pic_reg, bfin_function_ok_for_sibcall): Likewise.
+	* varpool.c: Update comments.
+	(decide_is_variable_needed): Remove unit-at-a-time checks.
+	(varpool_finalize_decl): Likewise.
+
+2008-07-24  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_omit_frame_pointer
+	to 2 instead of -1.
+	(OVERRIDE_OPTIONS): Check if flag_omit_frame_pointer is equal
+	to 2.
+
+2008-07-24  Kai Tietz  <kai.tietz@onevision.com>
+
+	* config/i386/i386.c (get_dllimport_decl): Treat user_label_prefix for
+	imp symbol extension.
+
+        2008-07-23  Ian Lance Taylor  <iant@google.com>
+
+	* tree-vrp.c (infer_value_range): Ignore asm statements when
+	looking for memory accesses for -fdelete-null-pointer-checks.
+
+2008-07-24  Ben Elliston  <bje@au.ibm.com>
+
+	* config/spu/spu-c.c (__vector_keyword): New variable.
+	(vector_keyword): Likewise.
+	(spu_categorize_keyword): New function.
+	(spu_macro_to_expand): Likewise.
+	(spu_cpu_cpp_builtins): Enable context-sensitive macros if not
+	compiling an ISO C dialect.
+
+2008-07-24  Ben Elliston  <bje@au.ibm.com>
+
+	* config/rs6000/rs6000-c.c: Move GTY(()) markers to match
+	conventional usage.
+
+2008-07-23  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+
+	* configure: Regenerate.
+	* configure.ac: Require texinfo 4.7.
+	* doc/install.texi: Document texinfo 4.7 requirement.
+
+2008-07-23  Martin Jambor  <mjambor@suse.cz>
+
+        * ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed
+	rather than for DECL_SAVED_TREE.
+	* ipa-prop.c: Include diagnostic.h.
+        (ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs
+	thoroughly.
+	(ipa_detect_param_modifications): Function rewritten from scratch.
+	(ipa_compute_jump_functions): Changed accesses to modification flags.
+	(ipa_free_node_params_substructures): Update flags destruction.
+	(ipa_node_duplication_hook): Update flags duplication.
+	(ipa_print_all_params_modified): Updated flag access.
+	* ipa-prop.h (struct ipa_param_flags): New structure.
+        (struct ipa_node_params): New field modification_analysis_done,
+        modified_flags changed into param_flags.
+        (ipa_is_ith_param_modified): Changed to use new flags.
+	* Makefile.in (ipa-prop.o): Add $(DIAGNOSTIC_H) to dependencies.
+
+	* ipa-prop.c (ipa_print_all_jump_functions): Moved here from
+	ipa-cp.c and split into two functions.
+	(ipa_print_node_jump_functions): New function.
+	(compute_scalar_jump_functions): New function.
+	(type_like_member_ptr_p): New function.
+	(compute_pass_through_member_ptrs): New function.
+	(fill_member_ptr_cst_jump_function): New function.
+	(determine_cst_member_ptr): New function.
+	(compute_cst_member_ptr_arguments): New function.
+	(ipa_compute_jump_functions): Complete rewrite.
+	* ipa-prop.h (enum jump_func_type): Make explicit that we depend
+	on IPA_UNKNOWN being zero. Added value IPA_CONST_MEMBER_PTR.
+	(struct ipa_member_ptr_cst): New structure.
+	(union jump_func_value): New field member_cst.
+	* ipa-cp.c (ipcp_lat_is_insertable): New function.
+	(ipcp_lattice_from_jfunc): Produces bottom lattices for unhandled
+	jump function types.
+	(ipcp_print_all_lattices): Slight fprintf rearrangement.
+	(ipcp_print_all_structures): Call ipa_print_all_jump_functions
+	instead of ipcp_print_all_jump_functions.
+	(ipcp_insert_stage): Use ipcp_lat_is_insertable, create replace maps
+	only for replacable scalars.
+
+	* doc/invoke.texi (Optimize options): Add description of
+	-findirect-inlining.
+	* common.opt (flag_indirect_inlining): New flag.
+	* opts.c (decode_options): Set flag_indirect_inlining when 
+	optimize >= 3.
+
+	* ipa-inline.c: Include ipa-prop.h.
+	(inline_indirect_intraprocedural_analysis): New function.
+	(inline_generate_summary): Allocate parameter and argument info
+	structures, call inline_indirect_intraprocedural_analysis on each
+	node when doing indirect inlining and deallocate indirect inlining 
+	data structures in the end.
+	* ipa-prop.c (ipa_create_param_decls_array): Return if already done.
+	(free_all_ipa_structures_after_iinln): New function.
+	(free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be 
+	done.
+	* Makefile.in (ipa-inline.o): Added $(IPA_PROP_H) to dependencies.
+
+	* cgraphbuild.c (compute_call_stmt_bb_frequency): New function.
+	(build_cgraph_edges): Call compute_call_stmt_bb_frequency instead
+	of computing the frequency separately.
+	(rebuild_cgraph_edges): Call compute_call_stmt_bb_frequency instead
+	of computing the frequency separately.
+	* ipa-cp.c (ipcp_print_all_structures): Replace a call to 
+	ipa_print_all_param_modified with a call to ipa_print_all_param_flags.
+	* ipa-prop.c (ipa_get_member_ptr_load_param): New function.
+	(ipa_get_stmt_member_ptr_load_param): New function.
+	(ipa_is_ssa_with_stmt_def): New function.
+	(ipa_note_param_call): New function.
+	(ipa_analyze_call_uses): New function.
+	(ipa_analyze_stmt_uses): New function.
+	(ipa_analyze_params_uses): New function.
+	(ipa_free_node_params_substructures): Also free the param_calls linked
+	list.
+	(ipa_node_duplication_hook): Also duplicate the param_calls linked list.
+	(ipa_print_node_param_flags): New function.
+	(ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags.
+	(ipa_print_all_param_flags): Calls ipa_print_node_param_flags.
+	* ipa-prop.h (struct ipa_param_flags): New field called.
+	(struct ipa_param_call_note): New structure.
+	(struct ipa_node_params): New fields param_calls and
+	uses_analysis_done.
+	(ipa_is_ith_param_called): New function.
+	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
+	ipa_analyze_params_uses and dump parameter flags.
+
+	* ipa-inline.c (cgraph_decide_recursive_inlining): Call
+	ipa_propagate_indirect_call_infos if performing indirect inlining,
+	pass a new parameter new_edges to it.
+	(add_new_edges_to_heap): New fucntion.
+	(cgraph_decide_inlining_of_small_functions): New vector
+	new_indirect_edges for newly found indirect edges , call
+	ipa_propagate_indirect_call_infos after inlining.
+	(cgraph_decide_inlining): Call ipa_propagate_indirect_call_infos after
+	inlining if performing indirect inlining.  Call
+	free_all_ipa_structures_after_iinln when doing so too.
+	(inline_generate_summary): Do not call
+	free_all_ipa_structures_after_iinln here.
+	* ipa-prop.c (update_jump_functions_after_inlining): New function.
+	(print_edge_addition_message): New function.
+	(update_call_notes_after_inlining): New function.
+	(propagate_info_to_inlined_callees): New function.
+	(ipa_propagate_indirect_call_infos): New function.
+	* ipa-prop.h: Include cgraph.h
+	(struct ipa_param_call_note): Fields reordered, new field processed.
+	* cgraph.h (cgraph_edge): Shrink loop_nest field to 31 bits, add a new
+	flag indirect_call.
+	* cgraphunit.c (verify_cgraph_node): Allow indirect edges not to have
+	rediscovered call statements.
+	* cgraph.c (cgraph_create_edge): Initialize indirect_call to zero.
+	(dump_cgraph_node): Dump also the indirect_call flag.
+	(cgraph_clone_edge): Copy also the indirect_call flag.
+	* tree-inline.c (copy_bb): Do not check for fndecls from call
+	expressions, check for edge availability when moving clones.
+	(get_indirect_callee_fndecl): New function.
+	(expand_call_inline): If callee declaration is not apprent from
+	the statement, try calling get_indirect_callee_fndecl.  Do not
+	issue warnings or call sorry when not inlinings an indirect edge.
+	* Makefile.in (IPA_PROP_H): Added $(CGRAPH_H) to dependencies.
+
+	* ipa-prop.c (ipa_print_node_param_flags): Make the dump format a
+	bit more frandly to matching.
+	* testsuite/g++.dg/ipa/iinline-1.C: New testcase.
+	* testsuite/gcc.dg/ipa/iinline-1.c: New testcase.
+	* testsuite/gcc.dg/ipa/modif-1.c: New testcase.
+	
+2008-07-23  Michael Meissner  <gnu@the-meissners.org>
+
+	PR 36907
+	* opth-gen.awk: Suppress function specific features when building
+	target libraries.
+	* optc-gen.awk: Ditto.
+
+2008-07-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR 35058
+	* diagnostic.c (pedwarn): Add opt parameter.
+	(pedwarn0): New.
+	* c-tree.h (pedwarn_init): Add opt parameter.
+	(pedwarn_c90): Likewise.
+	(pedwarn_c99): Likewise.
+	* c-errors.c (pedwarn_c99): Likewise.
+	(pedwarn_c90): Likewise.
+	* toplev.h (pedwarn): Update declaration.
+	(pedwarn0): Declare.
+	* c-lex.c: All calls to pedwarn changed.
+	* builtins.c: All calls to pedwarn changed.
+	* toplev.c: All calls to pedwarn changed.
+	* c-decl.c: All calls to pedwarn changed.
+	* c-typeck.c: All calls to pedwarn changed.
+	* c-common.c: All calls to pedwarn changed.
+	* c-parser.c: All calls to pedwarn changed.
+	
+2008-07-23  Michael Meissner  <gnu@the-meissners.org>
+	    Karthik Kumar  <karthikkumar@gmail.com>
+
+	* attribs.c (file scope): Include c-common.h.
+	(decl_attributes): Add support for #pragma GCC optimize and
+	#pragma GCC option.
+
+	* targhooks.c (default_can_inline_p): New function that is the
+	default for the TARGET_CAN_INLINE_P target hook.
+
+	* targhooks.h (default_can_inline_p): Add declaration.
+
+	* tree.c (cl_optimization_node): New static tree for building
+	OPTIMIZATION_NODE tree.
+	(cl_target_option_node): New static tree for building
+	TARGET_OPTION_NODE tree.
+	(cl_option_hash_table): New hash table for hashing
+	OPTIMIZATION_NODE and TARGET_OPTION_NODE trees.
+	(cl_option_hash_hash): New function to provide the hash value for
+	OPTIMIZATION_NODE and TARGET_OPTION_NODE trees.
+	(cl_option_hash_eq): New function to provide an equality test for
+	OPTIMIZATION_NODE and TARGET_OPTION_NODE trees.
+	(tree_code_size): Add support for OPTIMIZATION_NODE and
+	TARGET_OPTION_NODE trees.
+	(tree_code_structure): Add support for OPTIMIZATION_NODE and
+	TARGET_OPTION_NODE trees.
+	(build_optimization_node): Build a tree that has all of the
+	current optimization options.
+	(build_target_option_node): Build a tree that has the target
+	options that might be changed on a per function basis.
+
+	* tree.h (file scope): Include options.h.
+	(DECL_FUNCTION_SPECIFIC_TARGET): New accessor macro.
+	(DECL_FUNCTION_SPECIFIC_OPTIMIZATION): Ditto.
+	(TREE_OPTIMIZATION): Ditto.
+	(TREE_TARGET_SPECIFIC): Ditto.
+	(struct tree_function_decl): Add fields for remembering the
+	current optimization options and target specific options.
+	(struct tree_optimization_option): New tree variant that remembers
+	the optimization options.
+	(struct tree_target_option): New tree variant that remembers the
+	target specific flags that might change for compiling a particular
+	function.
+	(union tree_node): Include tree_optimization_option and
+	tree_target_option fields.
+	(enum tree_index): Add TI_OPTIMIZATION_DEFAULT,
+	TI_OPTIMIZATION_CURRENT, TI_OPTIMIZATION_COLD,
+	TI_OPTIMIZATION_HOT, TI_TARGET_OPTION_DEFAULT,
+	TI_TARGET_OPTION_CURRENT, TI_CURRENT_OPTION_PRAGMA,
+	TI_CURRENT_OPTIMIZE_PRAGMA entries for saving function specific
+	optimization and target options.
+	(optimization_default_node): New macro to refer to global_trees
+	field.
+	(optimization_current_node): Ditto.
+	(optimization_cold_node): Ditto.
+	(optimization_hot_node): Ditto.
+	(target_option_default_node): Ditto.
+	(target_option_current_node): Ditto.
+	(current_option_pragma): Ditto.
+	(current_optimize_pragma): Ditto.
+
+	* target.h (struct gcc_target): Add valid_option_attribute_p,
+	target_option_save, target_option_restore, target_option_print,
+	target_option_pragma_parse, and can_inline_p hooks.
+
+	* toplev.h (parse_optimize_options): Add declaration.
+	(fast_math_flags_struct_set_p): Ditto.
+
+	* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): New function to
+	adjust the current __OPTIMIZE__, etc. macros when #pragma GCC
+	optimize is used.
+
+	* ipa-inline.c (cgraph_decide_inlining_of_small_function): Call
+	tree_can_inline_p hook to see if one function can inline another.
+	(cgraph_decide_inlining): Ditto.
+	(cgraph_decide_inlining_incrementally): Ditto.
+
+	* opts.c (decode_options): Add support for running multiple times
+	to allow functions with different target or optimization options
+	than was specified on the command line.
+	(fast_math_flags_struct_set_p): New function that is similar to
+	fast_math_flags_set_p, except it uses the values in the
+	cl_optimization structure instead of global variables.
+
+	* optc-gen.awk: Add support for TargetSave to allow a back end to
+	declare new fields that need to be saved when using function
+	specific options.  Include flags.h and target.h in the options.c
+	source.  Add support for Save to indicate which options can be set
+	for individual functions.  Generate cl_optimize_save,
+	cl_optimize_restore, cl_optimize_print, cl_target_option_save,
+	cl_target_option_restore, cl_target_option_print functions to
+	allow functions to use different optimization or target options.
+
+	* opt-functions.awk (var_type_struct): Return the type used for
+	storing the field in a structure.
+
+	* opth-gen.awk: Add support for TargetSave to allow a back end to
+	declare new fields that need to be saved when using function
+	specific options.  Add support for Save to indicate which options
+	can be set for individual functions.  Only generate one extern for
+	Mask fields.  Generate cl_optimization and cl_target_option
+	structures to remember optimization and target options.
+
+	* treestruct.def (TS_OPTIMIZATION): Add support for garbage
+	collecting new tree nodes.
+	(TS_TARGET_OPTION): Ditto.
+
+	* c-decl.c (merge_decls): Merge function specific target and
+	optimization options.
+
+	* function.c (invoke_set_current_function_hook): If the function
+	uses different optimization options, change the global variables
+	to reflect this.
+
+	* coretypes.h (struct cl_optimization): Add forward reference.
+	(struct cl_target_option): Ditto.
+
+	* c-pragma.c (option_stack): New static vector to remember the
+	current #pragma GCC option stack.
+	(handle_pragma_option): New function to support #pragma GCC option
+	to change target options.
+	(optimize_stack): New static vector to remember the current
+	#pragma GCC optimize stack.
+	(handle_pragma_optimize): New function to support #pragma GCC
+	optimize to change optimization options.
+	(init_pragma): Add support for #pragma GCC optimize and #pragma
+	GCC option.
+
+	* tree.def (OPTIMIZATION_NODE): New tree code for remembering
+	optimization options.
+	(TARGET_OPTION_NODE): New tree code for remembering certain target
+	options.
+
+	* print-tree.c (print_node): Add support for OPTIMIZATION_NODE and
+	TARGET_OPTION_NODE trees.
+
+	* common.opt (-O): Add Optimization flag.
+	(-Os): Ditto.
+	(-fmath-errno): Ditto.
+	(-falign-functions): Add UInteger flag to make sure flag gets full
+	int in cl_optimization structure.
+	(-falign-jumps): Ditto.
+	(-falign-labels): Ditto.
+	(-falign-loops): Ditto.
+	(-fsched-stalled-insns): Ditto.
+	(-fsched-stalled-insns-dep): Ditto.
+
+	* target-def.h (TARGET_VALID_OPTION_ATTRIBUTE_P): Add default
+	definition.
+	(TARGET_OPTION_SAVE): Ditto.
+	(TARGET_OPTION_RESTORE): Ditto.
+	(TARGET_OPTION_PRINT): Ditto.
+	(TARGET_OPTION_PRAGMA_PARSE): Ditto.
+	(TARGET_CAN_INLINE_P): Ditto.
+	(TARGET_INITIALIZER): Add new hooks.
+
+	* tree-inline.c (tree_can_inline_p): New function to determine
+	whether one function can inline another.  Check if the functions
+	use compatible optimization options, and also call the backend
+	can_inline_p hook.
+
+	* tree-inline.h (tree_can_inline_p): Add declaration.
+
+	* c-common.c (c_common_attribute): Add support for option and
+	optimize attributes.
+	(handle_option_attribute): Add support for the option attribute to
+	allow the user to specify different target options for compiling a
+	specific function.
+	(handle_optimize_attribute): Add support for the optimize
+	attribute to allow the user to specify different optimization
+	options for compiling a specific function.
+	(handle_hot_attribute): Turn on -O3 optimization for this one
+	function if it isn't the default optimization level.
+	(handle_cold_attribute): Turn on -Os optimization for this one
+	function if it insn't the default optimization.
+	(const_char_p): New const char * typedef.
+	(optimize_args): New static vector to remember the optimization
+	arguments.
+	(parse_optimize_options): New function to set up the optimization
+	arguments from either the optimize attribute or #pragma GCC
+	optimize.
+
+	* c-common.h (c_cpp_builtins_optimize_pragma): Add declaration.
+	(builtin_define_std): Ditto.
+
+	* config.gcc (i[3467]86-*-*): Add i386-c.o to C/C++ languages.
+	Add t-i386 Makefile fragment to add i386-c.o and i386.o
+	dependencies.
+	(x86_64-*-*): Ditto.
+
+	* Makefile.in (TREE_H): Add options.h.
+	(options.o): Add $(TARGET_H) $(FLAGS_H) dependencies.
+
+	* doc/extend.texi (option attribute): Document new attribute.
+	(optimize attribute): Ditto.
+	(hot attribute): Document hot attribute sets -O3.
+	(cold attribute): Document cold attribute sets -Os.
+	(#pragma GCC option): Document new pragma.
+	(#pragma GCC optimize): Ditto.
+
+	* doc/options.texi (TargetSave): Document TargetSave syntax.
+	(UInteger): Document UInteger must be used for certain flags.
+	(Save): Document Save option to create target specific options
+	that can be saved/restored on a function specific context.
+
+	* doc/c-tree.texi (DECL_FUNCTION_SPECIFIC_TARGET): Document new
+	macro.
+	(DECL_FUNCTION_SPECIFIC_OPTIMIZATION): Ditto.
+
+	* doc/tm.texi (TARGET_VALID_OPTION_ATTRIBUTE_P): Document new
+	hook.
+	(TARGET_OPTION_SAVE): Ditto.
+	(TARGET_OPTION_RESTORE): Ditto.
+	(TARGET_OPTION_PRINT): Ditto.
+	(TARGET_OPTION_PRAGMA_PARSE): Ditto.
+	(TARGET_CAN_INLINE_P): Ditto.
+
+	* doc/invoke.texi (-mfpmath=sse+387): Document as an alias for
+	-mfpmath=sse,387.
+	(-mfpmath=both): Ditto.
+
+2008-07-23  Michael Meissner  <gnu@the-meissners.org>
+	    Karthik Kumar  <karthikkumar@gmail.com>
+
+	* config/i386/i386.h (TARGET_ABM): Move switch into
+	ix86_isa_flags.
+	(TARGET_POPCNT): Ditto.
+	(TARGET_SAHF): Ditto.
+	(TARGET_AES): Ditto.
+	(TARGET_PCLMUL): Ditto.
+	(TARGET_CMPXCHG16B): Ditto.
+	(TARGET_RECIP): Move switch into target_flags.
+	(TARGET_FUSED_MADD): Ditto.
+	(ix86_arch_features): Make an unsigned char type.
+	(ix86_tune_features): Ditto.
+	(OVERRIDE_OPTIONS): Add bool argument to override_options call.
+	(TARGET_CPU_CPP_BUILTINS): Move into ix86_target_macros.
+	(REGISTER_TARGET_PRAGMAS): Define, call ix86_register_pragmas.
+
+	* config/i386/i386.opt (arch): New TargetSave field to define
+	fields that need to be saved for function specific option
+	support.
+	(tune): Ditto.
+	(fpmath): Ditto.
+	(branch_cost): Ditto.
+	(ix86_isa_flags_explicit): Ditto.
+	(tune_defaulted): Ditto.
+	(arch_specified): Ditto.
+	(-m128-long-double): Add Save flag to save option for target
+	specific option support.
+	(-m80387): Ditto.
+	(-maccumulate-outgoing-args): Ditto.
+	(-malign-double): Ditto.
+	(-malign-stringops): Ditto.
+	(-mfancy-math-387): Ditto.
+	(-mhard-float): Ditto.
+	(-mieee-fp): Ditto.
+	(-minline-all-stringops): Ditto.
+	(-minline-stringops-dynamically): Ditto.
+	(-mms-bitfields): Ditto.
+	(-mno-align-stringops): Ditto.
+	(-mno-fancy-math-387): Ditto.
+	(-mno-push-args): Ditto.
+	(-mno-red-zone): Ditto.
+	(-mpush-args): Ditto.
+	(-mred-zone): Ditto.
+	(-mrtd): Ditto.
+	(-msseregparm): Ditto.
+	(-mstack-arg-probe): Ditto.
+	(-m32): Ditto.
+	(-m64): Ditto.
+	(-mmmx): Ditto.
+	(-m3dnow): Ditto.
+	(-m3dnowa): Ditto.
+	(-msse): Ditto.
+	(-msse2): Ditto.
+	(-msse3): Ditto.
+	(-msse4.1): Ditto.
+	(-msse4.2): Ditto.
+	(-msse4): Ditto.
+	(-mno-sse4): Ditto.
+	(-msse4a): Ditto.
+	(-msse5): Ditto.
+	(-mrecip): Move flag into target_flags.
+	(-mcld): Ditto.
+	(-mno-fused-madd): Ditto.
+	(-mfused-madd): Ditto.
+	(-mabm): Move flag into ix86_isa_flags.
+	(-mcx16): Ditto.
+	(-mpopcnt): Ditto.
+	(-msahf): Ditto.
+	(-maes): Ditto.
+	(-mpclmul): Ditto.
+
+	* config/i386/i386-c.c: New file for #pragma support.
+	(ix86_target_macros_internal): New function to #define or #undef
+	target macros based when the user uses the #pragma GCC option to
+	change target options.
+	(ix86_pragma_option_parse): New function to add #pragma GCC option
+	support.
+	(ix86_target_macros): Move defining the target macros here from
+	TARGET_CPU_CPP_BUILTINS in i386.h.
+	(ix86_register_pragmas): Register the #pragma GCC option hook.  If
+	defined, initialize any subtarget #pragmas.
+
+	* config/i386/darwin.h (REGISTER_SUBTARGET_PRAGMAS): Rename from
+	REGISTER_TARGET_PRAGMAS.
+
+	* config/i386/t-i386: New file for x86 dependencies.
+	(i386.o): Make dependencies mirror the include files used.
+	(i386-c.o): New file, add dependencies.
+
+	* config/i386/i386-protos.h (override_options): Add bool
+	argument.
+	(ix86_valid_option_attribute_tree): Add declaration.
+	(ix86_target_macros): Ditto.
+	(ix86_register_macros): Ditto.
+
+	* config/i386/i386.c (ix86_tune_features): Move initialization of
+	the target masks to initial_ix86_tune_features to allow functions
+	to have different target options.  Make type unsigned char,
+	instead of unsigned int.
+	(initial_ix86_tune_features): New static vector to hold processor
+	masks for the tune variables.
+	(ix86_arch_features): Move initialization of the target masks to
+	initial_ix86_arch_features to allow functions to have different
+	target options.  Make type unsigned char, instead of unsigned
+	int.
+	(initial_ix86_arch_features): New static vector to hold processor
+	masks for the arch variables.
+	(enum ix86_function_specific_strings): New enum to describe the
+	string options used for attribute((option(...))).
+	(ix86_target_string): New function to return a string that
+	describes the target options.
+	(ix86_debug_options): New function to print the current options in
+	the debugger.
+	(ix86_function_specific_save): New function hook to save the
+	function specific global variables in the cl_target_option
+	structure.
+	(ix86_function_specific_restore): New function hook to restore the
+	function specific variables from the cl_target_option structure to
+	the global variables.
+	(ix86_function_specific_print): New function hook to print the
+	target specific options in the cl_target_option structure.
+	(ix86_valid_option_attribute_p): New function hook to validate
+	attribute((option(...))) arguments.
+	(ix86_valid_option_attribute_tree): New function that is common
+	code between attribute((option(...))) and #pragma GCC option
+	support that parses the options and returns a tree holding the
+	options.
+	(ix86_valid_option_attribute_inner_p): New helper function for
+	ix86_valid_option_attribute_tree.
+	(ix86_can_inline_p): New function hook to decide if one function
+	can inline another on a target specific basis.
+	(ix86_set_current_function); New function hook to switch target
+	options if the user used attribute((option(...))) or #pragma GCC
+	option.
+	(ix86_tune_defaulted): Move to static file scope from
+	override_options.
+	(ix86_arch_specified): Ditto.
+	(OPTION_MASK_ISA_AES_SET): New macro for moving switches into
+	ix86_isa_flags.
+	(OPTION_MASK_ISA_PCLMUL_SET): Ditto.
+	(OPTION_MASK_ISA_ABM_SET): Ditto.
+	(OPTION_MASK_ISA_POPCNT_SET): Ditto.
+	(OPTION_MASK_ISA_CX16_SET): Ditto.
+	(OPTION_MASK_ISA_SAHF_SET): Ditto.
+	(OPTION_MASK_ISA_AES_UNSET): Ditto.
+	(OPTION_MASK_ISA_PCLMUL_UNSET): Ditto.
+	(OPTION_MASK_ISA_ABM_UNSET): Ditto.
+	(OPTION_MASK_ISA_POPCNT_UNSET): Ditto.
+	(OPTION_MASK_ISA_CX16_UNSET): Ditto.
+	(OPTION_MASK_ISA_SAHF_UNSET): Ditto.
+	(struct ptt): Move to static file scope from override_options.
+	(processor_target_table): Ditto.
+	(cpu_names): Ditto.
+	(ix86_handle_option): Add support for options that are now isa
+	options.
+	(override_options): Add support for declaring functions that
+	support different target options than were specified on the
+	command line.  Move struct ptt, processor_target_table, cpu_names,
+	ix86_tune_defaulted, ix86_arch_specified to static file scope.
+	Add bool argument.  Fix up error messages so the appropriate error
+	is given for either command line or attribute.
+	(ix86_previous_fndecl): New static to remember previous function
+	declaration to see if we need to change target options.
+	(ix86_builtins_isa): New array to record the ISA of each builtin
+	function.
+	(def_builtin): Always create the builtin function, even if the
+	current ISA doesn't support it.
+	(ix86_init_mmx_sse_builtins): Remove TARGET_AES and TARGET_PCLMUL
+	tests for those builtins.
+	(ix86_init_builtins): Remove TARGET_MMX test for calling
+	ix86_init_mmx_sse_builtins.
+	(ix86_expand_builtin): If the current ISA doesn't support a given
+	builtin, signal an error.
+	(TARGET_VALID_OPTION_ATTRIBUTE_P): Set target hook.
+	(TARGET_SET_CURRENT_FUNCTION): Ditto.
+	(TARGET_OPTION_SAVE): Ditto.
+	(TARGET_OPTION_RESTORE): Ditto.
+	(TARGET_OPTION_PRINT): Ditto.
+	(TARGET_CAN_INLINE_P): Ditto.
+
+2008-07-22  Rafael Avila de Espindola  <espindola@google.com>
+
+       * c-typeck.c (build_external_ref): Don't call assemble_external.
+       * final.c (output_operand): Call assemble_external.
+
 2008-07-21  DJ Delorie  <dj@redhat.com>
 
 	* config/h8300/h8300.c (h8300_hard_regno_scratch_ok): New.
-- 
cgit v1.2.1