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: