2004-04-19 Richard Henderson * 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 * 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 * 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 * name-lookup.c (innermost_nonclass_level): Check for error_mark_node. 2004-03-25 Diego Novillo * parser.c (cp_parser_class_specifier): Initialize variable 'attributes'. 2004-03-17 Richard Henderson * cp-lang.c (cxx_types_compatible_p): Use same_type_ignoring_top_level_qualifiers_p. 2004-03-16 Dale Johannesen * cp-lang.c (cxx_types_compatible_p): New. LANG_HOOKS_TYPES_COMPATIBLE_P: New. 2004-03-10 Jason Merrill 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 * init.c (build_vec_delete_1): Convert 2nd argument to NE_EXPR to the proper type. 2004-02-24 Jason Merrill 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 * decl.c (poplevel): Don't output nested inline functions. 2004-02-16 Richard Henderson * 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 * 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 PR c/13863 * cp-lang.c (LANG_HOOKS_DECL_UNINIT): Remove. 2004-02-03 Richard Henderson 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 * cp-mudflap.c (mflang_flush_calls): Mark static ctor as TREE_USED. 2004-01-12 Jason Merrill * cp-lang.c (ok_to_generate_alias_set_for_type): Remove. (cxx_get_alias_set): Allow all types. 2004-01-08 Frank Ch. Eigler * cp-mudflap.c (mflang_flush_calls): mf_mark synthetic function. 2004-01-04 Richard Henderson * call.c (build_over_call): Don't create a save_expr of an aggregate, but rather its address. 2004-01-01 Richard Henderson * 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 * cp-mudflap.c (mflang_register_call): Remove. 2003-12-18 Jason Merrill 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 PR middle-end/12920 * decl.c (grokdeclarator): Immediately layout an ARRAY_TYPE used in a pointer-to-array declarator. 2003-12-16 Jan Hubicka 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 * 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 * Make-lang.in (tree.o, typeck.o): Remove -Wno-error. 2003-11-20 Richard Henderson * 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 * 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 * 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 * typeck.c (pointer_diff): Remove unused variable. 2003-11-16 Jason Merrill 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 * cp-simplify.c (gimplify_must_not_throw_expr): Replace add_tree with append_to_statement_list. 2003-10-30 Richard Henderson * decl.c (pop_switch): Call c_do_switch_warnings. 2003-10-23 Richard Henderson * cp-simplify.c (cp_gimplify_expr): Return gimplify_status. 2003-10-16 Richard Henderson * decl.c (finish_function): Don't check flag_disable_gimple. 2003-10-14 Richard Henderson * decl.c (finish_function): Always gimplify; call c_warn_unused_result. 2003-10-13 Richard Henderson * pt.c (push_tinst_level): Use annotate_with_locus. 2003-10-12 Richard Henderson * 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 * decl.c (finish_function): Set cfun->function_end_locus. 2003-09-24 Jason Merrill * 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 * decl.c (cxx_init_decl_processing): Don't using_eh_for_cleanups if exceptions are disabled. 2003-09-03 Richard Henderson * cp-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Use expand_stmt_toplev. 2003-09-03 Richard Henderson * 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 * cp-simplify.c (cp_gimplify_init_expr): Update use of predicates. 2003-08-21 Jason Merrill * 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 * 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 * optimize.c (optimize_function): Do not call dump_function. 2003-08-08 Jason Merrill * optimize.c (optimize_function): Restore support for !keep_function_tree_in_gimple_form. 2003-07-27 Andreas Jaeger * cp-lang.c: Convert K&R prototypes to ISO C90. * cp-simplify.c: Likewise. * cp-mudflap.c: Likewise. 2003-06-13 Frank Ch. Eigler * 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 * 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 * cp-mudflap.c (mflang_register_call): Give the synthetic decl undefined (not zero) size. 2003-06-05 Frank Ch. Eigler * cp-mudflap.c (mx_flag): Remove. Update callers to use mf_mark. 2003-05-24 Diego Novillo * 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 * class.c (dump_array): Call CONSTRUCTOR_ELTS to access the operand of a CONSTRUCTOR node. 2003-05-07 Diego Novillo * decl.c (grokdeclarator): Fix thinko in handling ERROR_MARK declarators. 2003-05-07 Diego Novillo * decl.c (grokdeclarator): Handle ERROR_MARK declarators. 2003-05-07 Jason Merrill * semantics.c (expand_body): Call expand_stmt when -fdisable-simple is given. 2003-04-21 Jeff Law * optimize.c (optimize_function_tree): Do run the tree-ssa optimizers. 2003-04-16 Jeff Law * optimize.c (optimize_function): No longer check flag_disable_simple. 2003-04-15 Jeff Law * 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 * cp-simplify.c (cp_simplify_expr) : Change type of constant to RECORD_TYPE. 2003-03-10 Jeff Law * optimize.c (optimize_function): Avoid unnecessary simplification of the function tree. 2003-03-02 Diego Novillo * decl.c: Replace DECL_SOURCE_LOCATION with TREE_LOCUS everywhere. 2003-02-28 Frank Ch. Eigler * decl2.c (finish_file): Adjust timing of mudflap_finish_file call to account for unit-at-a-time compilation. 2003-02-07 Jason Merrill * 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 * cp-simplify.c (genericize_try_block): Do genericize catch blocks. 2003-02-03 Diego Novillo * 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 * cp-mudflap.c (mflang_register_call): Adapt to mf-runtime.h API change. 2003-01-15 Jeff Law * 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 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 * 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 * optimize.c (dump_function): Use pretty dumpers. (optimize_function): Don't do .original dump here. 2002-12-03 Diego Novillo * cp-simplify.c: Include coretypes.h and tm.h. 2002-11-24 Jason Merrill 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 * Make-lang.in (CXX_C_OBJS): Add gimplify.o. 2002-09-24 Jason Merrill * 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 * Make-lang.in (CXX_C_OBJS): Add tree-dchain.o 2002-08-11 Jason Merrill * 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 * 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 * 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 * Make-lang.in (cp-simplify.o): New. 2002-06-18 Jason Merrill * 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.