2004-04-19  Richard Henderson  <rth@redhat.com>

	* except.c (check_handlers_1): Use locus stored in master for warning.
	* tree.c (cp_walk_subtrees): Save and restore input_location.

2004-04-12  Diego Novillo  <dnovillo@redhat.com>

	* cp-lang.c (LANG_HOOKS_RTL_EXPAND_START): Remove.
	(LANG_HOOKS_RTL_EXPAND_STMT): Remove.
	* semantics.c (cxx_expand_function_start): Remove.

2004-04-12  Richard Henderson  <rth@redhat.com>

	* except.c (check_handlers_1): Use EXPR_LOCUS instead of STMT_LINENO.
	* semantics.c (finalize_nrv_r): Likewise.
	* tree.c (cp_walk_subtrees): Likewise.
	* parser.c (cp_parser_statement): Save and restore entire locus;
	set EXPR_LOCUS.
	* pt.c (tsubst_expr): Don't special-case LABEL_STMT.

2004-04-01  Diego Novillo  <dnovillo@redhat.com>

	* name-lookup.c (innermost_nonclass_level): Check for
	error_mark_node.

2004-03-25  Diego Novillo  <dnovillo@redhat.com>

	* parser.c (cp_parser_class_specifier): Initialize
	variable 'attributes'.

2004-03-17  Richard Henderson  <rth@redhat.com>

	* cp-lang.c (cxx_types_compatible_p): Use
	same_type_ignoring_top_level_qualifiers_p.

2004-03-16  Dale Johannesen  <dalej@apple.com>

	* cp-lang.c (cxx_types_compatible_p): New.
	LANG_HOOKS_TYPES_COMPATIBLE_P: New.

2004-03-10  Jason Merrill  <jason@redhat.com>

	PR c++/14452
	* tree.c (stabilize_init): Return whether or not it worked.
	* init.c (build_new_1): If not, use a sentry.
	* cp-tree.h: Adjust prototype.

2004-03-01  Jeff Law  <law@redhat.com>

	* init.c (build_vec_delete_1): Convert 2nd argument to NE_EXPR to
	the proper type.

2004-02-24  Jason Merrill  <jason@redhat.com>

	PR c++/13944
	* except.c (do_free_exception): Remove #if 0 wrapper.
	(build_throw): Use it if we elide a copy into the exception object.

	* tree.c (stabilize_call): Fix thinko.

2004-02-19  Steven Bosscher  <stevenb@suse.de>

	* decl.c (poplevel): Don't output nested inline functions.

2004-02-16  Richard Henderson  <rth@redhat.com>

	* call.c (build_call, build_over_call, build_new_method_call): Add
	static chain operand to call_expr.
	* decl.c (build_offset_ref_call_from_tree): Likewise.
	* parser.c (cp_parser_postfix_expression): Likewise.
	* semantics.c (finish_call_expr): Likewise.
	* cp-lang.c (cp_expand_decl): Don't declare_nonlocal_label.

2004-02-09  Richard Henderson  <rth@redhat.com>

	* cp-lang.c (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P): New.
	* cp-tree.h (cp_missing_noreturn_ok_p): Declare.
	* decl.c (cp_missing_noreturn_ok_p): Export.
	(cxx_init_decl_processing): Don't set lang_missing_noreturn_ok_p.

2004-02-06  Andrew Pinski  <pinskia@physics.uc.edu>

	PR c/13863
	* cp-lang.c (LANG_HOOKS_DECL_UNINIT): Remove.

2004-02-03  Richard Henderson  <rth@redhat.com>

	PR middle-end/13325
	* call.c, cvt.c, init.c, typeck.c: Use TREE_NO_WARNING instead
	of TREE_NO_UNUSED_WARNING.
	* cvt.c (convert_to_void): Also use it for "has no effect" warning.

2004-01-30  Frank Ch. Eigler  <fche@redhat.com>

	* cp-mudflap.c (mflang_flush_calls): Mark static ctor as TREE_USED.

2004-01-12  Jason Merrill  <jason@redhat.com>

	* cp-lang.c (ok_to_generate_alias_set_for_type): Remove.
	(cxx_get_alias_set): Allow all types.

2004-01-08  Frank Ch. Eigler  <fche@redhat.com>

	* cp-mudflap.c (mflang_flush_calls): mf_mark synthetic function.

2004-01-04  Richard Henderson  <rth@redhat.com>

	* call.c (build_over_call): Don't create a save_expr of an
	aggregate, but rather its address.

2004-01-01  Richard Henderson  <rth@redhat.com>

	* expr.c (cxx_expand_expr): Don't handle THROW_EXPR, or
	MUST_NOT_THROW_EXPR.
	* semantics.c (genrtl_try_block, genrtl_eh_spec_block,
	genrtl_handler, cp_expand_stmt): Remove.
	(init_cp_semantics): Don't set lang_expand_stmt.

2003-12-31  Richard Henderson  <rth@redhat.com>

	* cp-mudflap.c (mflang_register_call): Remove.

2003-12-18  Jason Merrill  <jason@redhat.com>

	PR c++/12453
	* cp-simplify.c (cp_gimplify_init_expr): Look inside STMT_EXPRs
	and COMPOUND_EXPRs to find an AGGR_INIT_EXPR.

2003-12-16  Jason Merrill  <jason@redhat.com>

	PR middle-end/12920
	* decl.c (grokdeclarator): Immediately layout an
	ARRAY_TYPE used in a pointer-to-array declarator.

2003-12-16  Jan Hubicka  <jh@suse.cz>

	Revert until initializers are made language independent:
	* cp-lang.c (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Kill.
	* cp-tree.h (cxx_callgraph_analyze_expr): Kill.
	* decl2.c (cxx_callgraph_analyze_expr): Kill.

2003-12-14  Jan Hubicka  <jh@suse.cz>

	* cp-lang.c (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Kill.
	* cp-tree.h (cxx_callgraph_analyze_expr): Kill.
	* decl2.c (cxx_callgraph_analyze_expr): Kill.

2003-11-24  Richard Henderson  <rth@redhat.com>

	* Make-lang.in (tree.o, typeck.o): Remove -Wno-error.

2003-11-20  Richard Henderson  <rth@redhat.com>

	* call.c (build_java_interface_fn_ref): Use build_address+convert.
	* except.c (build_eh_type_type): Likewise.
	* class.c (build_base_path): Use convert+build_indirect_ref.
	* init.c (expand_virtual_init): Likewise.
	* rtti.c (get_tinfo_decl_dynamic): Use convert.

2003-11-20  Frank Ch. Eigler  <fche@redhat.com>

	* cp-mudflap.c (mflang_flush_calls): Adapt to direct expansion of
	synthetic function, bypassing callgraph code.
	* cp-decl2.c (finish_file): Call mudflap after callgraph-based
	expansion.

2003-11-17  Jason Merrill  <jason@redhat.com>

	* init.c (build_new_1): Preevaluate initializer.  Simplify EH code.
	(build_init): Call a constructor rather than call build_aggr_init
	for classes.
	* except.c (stabilize_throw_expr): Remove.
	(build_throw): Use stabilize_init instead of stabilize_throw_expr.
	* tree.c (stabilize_call, stabilize_init): New fns.
	* call.c (build_over_call): A constructor no longer returns the
	address of the object.

2003-11-16  Richard Henderson  <rth@redhat.com>

	* typeck.c (pointer_diff): Remove unused variable.

2003-11-16  Jason Merrill  <jason@redhat.com>

	PR optimization/11269
	* semantics.c (finalize_nrv_r): Rename from nullify_returns_r.
	Also replace uses of the nrv with our RESULT_DECL.
	(cxx_expand_function_start): Don't mess with the nrv.
	(finalize_nrv): New fn.
	* cp-tree.h: Declare it.
	* decl.c (finish_function): Call it.
	* tree.c (cp_copy_res_decl_for_inlining): Don't mess with the nrv.

2003-11-10  Richard Henderson  <rth@redhat.com>

	* cp-simplify.c (gimplify_must_not_throw_expr): Replace add_tree
	with append_to_statement_list.

2003-10-30  Richard Henderson  <rth@redhat.com>

	* decl.c (pop_switch): Call c_do_switch_warnings.

2003-10-23  Richard Henderson  <rth@redhat.com>

	* cp-simplify.c (cp_gimplify_expr): Return gimplify_status.

2003-10-16  Richard Henderson  <rth@redhat.com>

	* decl.c (finish_function): Don't check flag_disable_gimple.

2003-10-14  Richard Henderson  <rth@redhat.com>

	* decl.c (finish_function): Always gimplify; call c_warn_unused_result.

2003-10-13  Richard Henderson  <rth@redhat.com>

	* pt.c (push_tinst_level): Use annotate_with_locus.

2003-10-12  Richard Henderson  <rth@redhat.com>

	* call.c (call_builtin_trap): Use implicit_built_in_decls.
	* class.c (build_base_path): Set TREE_INVARIANT.
	(build_vtbl_ref_1, build_vtbl_initializer): Likewise.
	* decl.c (build_enumerator): Likewise.
	* init.c (build_zero_init): Likewise.
	* pt.c (push_inline_template_parms_recursive): Likewise.
	(build_template_parm_index, reduce_template_parm_level): Likewise.
	(process_template_parm): Likewise.
	* rtti.c (tinfo_base_init, generic_initializer): Likewise.
	(ptr_initializer, ptm_initializer, class_initializer): Likewise.
	* typeck.c (build_ptrmemfunc1): Likewise.
	* typeck2.c (process_init_constructor): Likewise.

	* calls.c (dfs_accumulate_vtbl_inits): Rely on build to set
	TREE_CONSTANT.
	(build_vtbl_initializer): Likewise.
	* init.c (build_vtbl_address): Likewise.
	* rtti.c (tinfo_base_init): Likewise.
	* tree.c (make_ptrmem_cst): Likewise.
	* typeck.c (decay_conversion): Likewise.
	(get_member_function_from_ptrfunc, build_binary_op): Likewise.
	(pointer_diff, build_address, build_nop, build_unary_op): Likewise.

2003-09-30  Richard Henderson  <rth@redhat.com>

	* decl.c (finish_function): Set cfun->function_end_locus.

2003-09-24  Jason Merrill  <jason@redhat.com>

	* class.c, decl.c, decl2.c, error.c, init.c, lex.c, method.c,
	pt.c, semantics.c, tree.c: Revert from TREE_LOCUS to
	DECL_SOURCE_LOCATION.

2003-09-17  Richard Henderson  <rth@redhat.com>

	* decl.c (cxx_init_decl_processing): Don't using_eh_for_cleanups
	if exceptions are disabled.

2003-09-03  Richard Henderson  <rth@redhat.com>

	* cp-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Use expand_stmt_toplev.

2003-09-03  Richard Henderson  <rth@redhat.com>

	* decl.c (finish_function): Fix misapplied patch.  Don't
	free_after_parsing or free_after_compilation.  For real this time.

2003-08-22  Jason Merrill  <jason@redhat.com>

	* cp-simplify.c (cp_gimplify_init_expr): Update use of predicates.

2003-08-21  Jason Merrill  <jason@redhat.com>

	* cp-simplify.c (cp_gimplify_expr): Use simplify_aggr_init_expr.
	(cp_gimplify_init_expr): Don't call it here.
	(gimplify_aggr_init_expr): Remove.

2003-08-19  Jason Merrill  <jason@redhat.com>

	* typeck.c (build_array_ref): Also build ARRAY_REFs from
	INDIRECT_REFs of ARRAY_TYPE.

	* semantics.c (finish_id_expression): Unshare aliases.

2003-08-12  Diego Novillo  <dnovillo@redhat.com>

	* optimize.c (optimize_function): Do not call dump_function.

2003-08-08  Jason Merrill  <jason@redhat.com>

	* optimize.c (optimize_function): Restore support for
	!keep_function_tree_in_gimple_form.

2003-07-27  Andreas Jaeger  <aj@suse.de>

	* cp-lang.c: Convert K&R prototypes to ISO C90.
	* cp-simplify.c: Likewise.
	* cp-mudflap.c: Likewise.

2003-06-13  Frank Ch. Eigler  <fche@redhat.com>

	* semantics.c (expand_body): Call mudflap_c_function just before
	rtl expansion of function body; don't interfere with inlining.
	* optimize.c (optimize_function): Remove mudflap call.

2003-06-13  Diego Novillo  <dnovillo@redhat.com>

	* cp-lang.c, cp-simplify.c, cp-tree.h, decl.c, optimize.c,
	semantics.c, tree.c: Rename SIMPLE to GIMPLE everywhere.

2003-06-05  Frank Ch. Eigler  <fche@redhat.com>

	* cp-mudflap.c (mflang_register_call): Give the synthetic decl
	undefined (not zero) size.

2003-06-05  Frank Ch. Eigler  <fche@redhat.com>

	* cp-mudflap.c (mx_flag): Remove.  Update callers to use mf_mark.

2003-05-24  Diego Novillo  <dnovillo@redhat.com>

	* Make-lang.in (optimize.o): Add dependency on tree-simple.h
	* decl.c (grokdeclarator): Don't abort when the declarator is
	ERROR_MARK_NODE.
	* optimize.c (optimize_function): Unshare all trees after
	optimizing inline calls.

2003-05-12  Diego Novillo  <dnovillo@redhat.com>

	* class.c (dump_array): Call CONSTRUCTOR_ELTS to access
	the operand of a CONSTRUCTOR node.

2003-05-07  Diego Novillo  <dnovillo@redhat.com>

	* decl.c (grokdeclarator): Fix thinko in handling
	ERROR_MARK declarators.

2003-05-07  Diego Novillo  <dnovillo@redhat.com>

	* decl.c (grokdeclarator): Handle ERROR_MARK declarators.

2003-05-07  Jason Merrill  <jason@redhat.com>

	* semantics.c (expand_body): Call expand_stmt when
	-fdisable-simple is given.

2003-04-21  Jeff Law  <law@redhat.com>

	* optimize.c (optimize_function_tree): Do run the tree-ssa
	optimizers.

2003-04-16  Jeff Law  <law@redhat.com>

	* optimize.c (optimize_function): No longer check
	flag_disable_simple.

2003-04-15  Jeff Law  <law@redhat.com>

	* pt.c (instantiate_decl): If CFUN is null, then we will
	need to push to the toplevel.

	* Makefile.in (decl.o): Depends on tree-flow.h.
	* decl.c (finish_function): Call set_has_hidden_use when
	nullifying returns for named value return optimization.

2003-04-02  Jason Merrill  <jason@redhat.com>

	* cp-simplify.c (cp_simplify_expr) <case EMPTY_CLASS_EXPR>:
	Change type of constant to RECORD_TYPE.

2003-03-10  Jeff Law  <law@redhat.com>

	* optimize.c (optimize_function): Avoid unnecessary
	simplification of the function tree.

2003-03-02  Diego Novillo  <dnovillo@redhat.com>

	* decl.c: Replace DECL_SOURCE_LOCATION with TREE_LOCUS
	everywhere.

2003-02-28  Frank Ch. Eigler  <fche@redhat.com>

	* decl2.c (finish_file): Adjust timing of mudflap_finish_file call
	to account for unit-at-a-time compilation.

2003-02-07  Jason Merrill  <jason@redhat.com>

	* cp-simplify.c (cp_simplify_expr): Handle BASELINK.

	* parser.c (cp_parser_primary_expression): Unshare a COMPONENT_REF
	from an ALIAS_DECL.

2003-02-05  Jason Merrill  <jason@redhat.com>

	* cp-simplify.c (genericize_try_block): Do genericize catch blocks.

2003-02-03  Diego Novillo  <dnovillo@redhat.com>

	* parser.c (cp_parser_asm_definition): Call finish_asm_stmt with
	'volatile_p' directly.
	* typeck.c (build_binary_op): Initialize variable 'type'.
	* Make-lang.in (cp/tree.o-warn): Add -Wno-error.

2003-01-29  Frank Ch. Eigler  <fche@redhat.com>

	* cp-mudflap.c (mflang_register_call): Adapt to mf-runtime.h API
	change.

2003-01-15  Jeff Law <law@redhat.com>

	* class.c: Use TREE_FILENAME and TREE_LINENO to extract
	file/line information from tree nodes.  Remove EXPR_WITH_FILE_LOCATION
	nodes.  Use annotate_with_file_line to attach file/line information
	to tree nodes.  Use TREE_LOCUS to copy file/line information
	from one node to another.
	* decl2.c, error.c, init.c, lex.c, method.c: Likewise.
	* optimize.c: Likewise.
	* cp-tree.def (TINST_LEVEL): New tree node.
	* cp-tree.h (TINST_DECL): Update now that we no longer use
	EXPR_WITH_FILE_LOCATION to represent the TINST_DECL information.
	(TINST_FILE, TINST_LINE): Kill.
	* decl.c: Use TREE_FILENAME and TREE_LINENO to extract
	file/line information from tree nodes.  Use annotate_witH_file_line
	to add file/line information to tree nodes.  Use TREE_LOCUS
	to copy file/line information from one node to another.
	(duplicate_decls): Make sure to copy TREE_LOCUS information
	from the old decl to the new decl.
	(finish_function): Save and restore file/line information
	around genericizing the function tree.
	* pt.c (lookup_template_class): Use TREE_LOCUS to copy file/line
	information from one node to another.
	(push_tinst_level): Generate a TINST_LEVEL node rather than
	using EXPR_WITH_FILE_LOCATION nodes.  Use annotate_with_file_line
	to annotate the new node with file/line information.
	(pop_tinst_level): Use  TREE_LINENO and TREE_FILENAME to extract
	file/line information from nodes.
	(tsubst_friend_function, instantiate_class_template): Likewise.
	(tsubst_decl, instantiate_decl, tsubst_enum): Likewise.
	* semantics.c: Use annotate_with_file_line to annotate tree
	nodes with file/line information.  Use TREE_FILENAME and TREE_LINENO
	to extract file/line information from tree nodes.
	(expand_body): Restore file/line information slightly earlier.
	tree.c (cp_walk_subtrees): Set lineno appropriately.
	(cp_copy_res_decl_for_inlining): Use TREE_LOCUS to copy file/line
	information from one node to another.

2003-01-13  Frank Ch. Eigler  <fche@redhat.com>

	Prototype C++ mudflap support.
	* Make-lang.in (CXX_OBJS): Add cp/cp-mudflap.o and dependencies.
	* cp-mudflap.c: New file with C++ front-end mflang_* routines.
	* decl2.c (finish_file): Divert to mudflap if appropriate.
	* optimize.c (optimize_function): Ditto.

2003-01-02  Jason Merrill  <jason@redhat.com>

	* Make-lang.in (CXX_C_OBJS): Replace old-tree-inline.o with
	tree-inline.o.

	* optimize.c (dump_function): Move to ../tree-dump.c.

	* cp-simplify.c (cp_simplify_expr): Handle PTRMEM_CST, INIT_EXPR,
	MODIFY_EXPR and EMPTY_CLASS_EXPR.
	(cp_simplify_stmt): Handle USING_STMT.
	(cp_simplify_init_expr): New fn.
	* cvt.c (build_up_reference): Don't push the decl.
	* class.c (build_vtable_entry_ref, build_vtbl_ref_1): Unshare the
	vtable address.
	* init.c (build_vtbl_address): Likewise.
	* cp-lang.c (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
	* decl.c (lookup_name_real): Unshare the expansion of an ALIAS_DECL.
	(finish_function): Don't genericize templates.
	* parse.y (parse_asm_stmt): Fix prototype.
	* semantics.c (expand_body): Don't expand if we saw errors.
	Drop support for expanding non-GENERIC code.

	* cp-simplify.c (cp_simplify_stmt): Handle HANDLER and EH_SPEC_BLOCK.
	(genericize_try_block): Always build a TRY_CATCH_EXPR.
	(genericize_catch_block): New fn.
	(genericize_eh_spec_block): New fn.
	(cp_simplify_expr): Handle THROW_EXPR and MUST_NOT_THROW_EXPR.
	(simplify_must_not_throw_expr): New fn.
	* except.c (wrap_cleanups_r): Make the MUST_NOT_THROW_EXPR void.
	(build_throw): Likewise.

2002-12-14  Jason Merrill  <jason@redhat.com>

	* optimize.c (dump_function): Use pretty dumpers.
	(optimize_function): Don't do .original dump here.

2002-12-03  Diego Novillo  <dnovillo@redhat.com>

	* cp-simplify.c: Include coretypes.h and tm.h.

2002-11-24  Jason Merrill  <jason@redhat.com>

	Gimplify C++ cleanups.
	* decl.c (finish_function): Call c_genericize.
	* cp-simplify.c (cp_simplify_stmt): New fn.
	(genericize_try_block): New fn.
	(cp_simplify_expr): Move INIT_EXPR/TARGET_EXPR code
	to ../gimplify.c.  Handle AGGR_INIT_EXPR.
	(simplify_target_expr): Move to ../gimplify.c.
	(maybe_fixup_loop_cond): Remove.
	(simplify_aggr_init_expr): Split out from...
	* semantics.c (simplify_aggr_init_exprs_r): ...here.
	(expand_body): Don't simplify AGGR_INIT_EXPRs here
	if we're gimplifying.  Handle expanding generic trees.
	* tree.c (init_tree): Set lang_simplify_stmt.
	* cp-tree.h: Declare the new fns.

	* optimize.c (optimize_function): Do pretty dumps.

2002-10-04  Jason Merrill  <jason@redhat.com>

	* Make-lang.in (CXX_C_OBJS): Add gimplify.o.

2002-09-24  Jason Merrill  <jason@redhat.com>

	* parse.y (parse_asm_stmt): New fn.
	(simple_stmt): Use it.
	* semantics.c (finish_asm_stmt): Change cv_qualifier parm to
	volatile_p.
	* cp-tree.h: Adjust prototype.
	* pt.c (tsubst_expr): Adjust call.

2002-08-23  Diego Novillo  <dnovillo@redhat.com>

	* Make-lang.in (CXX_C_OBJS): Add tree-dchain.o

2002-08-11  Jason Merrill  <jason@redhat.com>

	* cp-simplify.c (maybe_fixup_loop_cond): Move here.
	(cp_simplify_expr): Call it.
	(simplify_target_expr): Remove pre_p parm.

2002-08-09  Jason Merrill  <jason@redhat.com>

	* cp-simplify.c (cp_simplify_expr): New fn.
	(simplify_target_expr): New fn.
	(cp_simplify_function_tree): Remove.
	* cp-lang.c (LANG_HOOKS_SIMPLIFY_FUNCTION_TREE): Don't define.
	(LANG_HOOKS_SIMPLIFY_EXPR): Define.
	* optimize.c (optimize_function): De-hook simplify_function_tree.
	* cp-tree.h: Declare cp_simplify_expr.

2002-07-17  Daniel Berlin  <dberlin@dberlin.org>

	* Make-lang.in (CXX_C_OBJS): Add tree-alias-ecr.c,
	tree-alias-type.o, tree-alias-steen.o, disjoint-set.o.

2002-06-21  Andreas Jaeger  <aj@suse.de>

	* Make-lang.in (cp-simplify.o): New.

2002-06-18  Jason Merrill  <jason@redhat.com>

	* cp-simplify.c: New file.
	* Make-lang.in: Add it.
	* cp-tree.h: Declare cp_simplify_function_tree.
	* cp-lang.c (LANG_HOOKS_SIMPLIFY_FUNCTION_TREE): Define.
	* optimize.c (optimize_function): Call tree optimizers (but not yet).

Local Variables:
mode: change-log
change-log-default-name: "ChangeLog.tree-ssa"
End:


Copyright (C) 2002-2004 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
