blob: e02c76515e4eea04d98a34b67b1c1bac88e85ba3 [file] [log] [blame]
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: