1 2004-04-19 Richard Henderson <rth@redhat.com>
3 * except.c (check_handlers_1): Use locus stored in master for warning.
4 * tree.c (cp_walk_subtrees): Save and restore input_location.
6 2004-04-12 Diego Novillo <dnovillo@redhat.com>
8 * cp-lang.c (LANG_HOOKS_RTL_EXPAND_START): Remove.
9 (LANG_HOOKS_RTL_EXPAND_STMT): Remove.
10 * semantics.c (cxx_expand_function_start): Remove.
12 2004-04-12 Richard Henderson <rth@redhat.com>
14 * except.c (check_handlers_1): Use EXPR_LOCUS instead of STMT_LINENO.
15 * semantics.c (finalize_nrv_r): Likewise.
16 * tree.c (cp_walk_subtrees): Likewise.
17 * parser.c (cp_parser_statement): Save and restore entire locus;
19 * pt.c (tsubst_expr): Don't special-case LABEL_STMT.
21 2004-04-01 Diego Novillo <dnovillo@redhat.com>
23 * name-lookup.c (innermost_nonclass_level): Check for
26 2004-03-25 Diego Novillo <dnovillo@redhat.com>
28 * parser.c (cp_parser_class_specifier): Initialize
29 variable 'attributes'.
31 2004-03-17 Richard Henderson <rth@redhat.com>
33 * cp-lang.c (cxx_types_compatible_p): Use
34 same_type_ignoring_top_level_qualifiers_p.
36 2004-03-16 Dale Johannesen <dalej@apple.com>
38 * cp-lang.c (cxx_types_compatible_p): New.
39 LANG_HOOKS_TYPES_COMPATIBLE_P: New.
41 2004-03-10 Jason Merrill <jason@redhat.com>
44 * tree.c (stabilize_init): Return whether or not it worked.
45 * init.c (build_new_1): If not, use a sentry.
46 * cp-tree.h: Adjust prototype.
48 2004-03-01 Jeff Law <law@redhat.com>
50 * init.c (build_vec_delete_1): Convert 2nd argument to NE_EXPR to
53 2004-02-24 Jason Merrill <jason@redhat.com>
56 * except.c (do_free_exception): Remove #if 0 wrapper.
57 (build_throw): Use it if we elide a copy into the exception object.
59 * tree.c (stabilize_call): Fix thinko.
61 2004-02-19 Steven Bosscher <stevenb@suse.de>
63 * decl.c (poplevel): Don't output nested inline functions.
65 2004-02-16 Richard Henderson <rth@redhat.com>
67 * call.c (build_call, build_over_call, build_new_method_call): Add
68 static chain operand to call_expr.
69 * decl.c (build_offset_ref_call_from_tree): Likewise.
70 * parser.c (cp_parser_postfix_expression): Likewise.
71 * semantics.c (finish_call_expr): Likewise.
72 * cp-lang.c (cp_expand_decl): Don't declare_nonlocal_label.
74 2004-02-09 Richard Henderson <rth@redhat.com>
76 * cp-lang.c (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P): New.
77 * cp-tree.h (cp_missing_noreturn_ok_p): Declare.
78 * decl.c (cp_missing_noreturn_ok_p): Export.
79 (cxx_init_decl_processing): Don't set lang_missing_noreturn_ok_p.
81 2004-02-06 Andrew Pinski <pinskia@physics.uc.edu>
84 * cp-lang.c (LANG_HOOKS_DECL_UNINIT): Remove.
86 2004-02-03 Richard Henderson <rth@redhat.com>
89 * call.c, cvt.c, init.c, typeck.c: Use TREE_NO_WARNING instead
90 of TREE_NO_UNUSED_WARNING.
91 * cvt.c (convert_to_void): Also use it for "has no effect" warning.
93 2004-01-30 Frank Ch. Eigler <fche@redhat.com>
95 * cp-mudflap.c (mflang_flush_calls): Mark static ctor as TREE_USED.
97 2004-01-12 Jason Merrill <jason@redhat.com>
99 * cp-lang.c (ok_to_generate_alias_set_for_type): Remove.
100 (cxx_get_alias_set): Allow all types.
102 2004-01-08 Frank Ch. Eigler <fche@redhat.com>
104 * cp-mudflap.c (mflang_flush_calls): mf_mark synthetic function.
106 2004-01-04 Richard Henderson <rth@redhat.com>
108 * call.c (build_over_call): Don't create a save_expr of an
109 aggregate, but rather its address.
111 2004-01-01 Richard Henderson <rth@redhat.com>
113 * expr.c (cxx_expand_expr): Don't handle THROW_EXPR, or
115 * semantics.c (genrtl_try_block, genrtl_eh_spec_block,
116 genrtl_handler, cp_expand_stmt): Remove.
117 (init_cp_semantics): Don't set lang_expand_stmt.
119 2003-12-31 Richard Henderson <rth@redhat.com>
121 * cp-mudflap.c (mflang_register_call): Remove.
123 2003-12-18 Jason Merrill <jason@redhat.com>
126 * cp-simplify.c (cp_gimplify_init_expr): Look inside STMT_EXPRs
127 and COMPOUND_EXPRs to find an AGGR_INIT_EXPR.
129 2003-12-16 Jason Merrill <jason@redhat.com>
132 * decl.c (grokdeclarator): Immediately layout an
133 ARRAY_TYPE used in a pointer-to-array declarator.
135 2003-12-16 Jan Hubicka <jh@suse.cz>
137 Revert until initializers are made language independent:
138 * cp-lang.c (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Kill.
139 * cp-tree.h (cxx_callgraph_analyze_expr): Kill.
140 * decl2.c (cxx_callgraph_analyze_expr): Kill.
142 2003-12-14 Jan Hubicka <jh@suse.cz>
144 * cp-lang.c (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Kill.
145 * cp-tree.h (cxx_callgraph_analyze_expr): Kill.
146 * decl2.c (cxx_callgraph_analyze_expr): Kill.
148 2003-11-24 Richard Henderson <rth@redhat.com>
150 * Make-lang.in (tree.o, typeck.o): Remove -Wno-error.
152 2003-11-20 Richard Henderson <rth@redhat.com>
154 * call.c (build_java_interface_fn_ref): Use build_address+convert.
155 * except.c (build_eh_type_type): Likewise.
156 * class.c (build_base_path): Use convert+build_indirect_ref.
157 * init.c (expand_virtual_init): Likewise.
158 * rtti.c (get_tinfo_decl_dynamic): Use convert.
160 2003-11-20 Frank Ch. Eigler <fche@redhat.com>
162 * cp-mudflap.c (mflang_flush_calls): Adapt to direct expansion of
163 synthetic function, bypassing callgraph code.
164 * cp-decl2.c (finish_file): Call mudflap after callgraph-based
167 2003-11-17 Jason Merrill <jason@redhat.com>
169 * init.c (build_new_1): Preevaluate initializer. Simplify EH code.
170 (build_init): Call a constructor rather than call build_aggr_init
172 * except.c (stabilize_throw_expr): Remove.
173 (build_throw): Use stabilize_init instead of stabilize_throw_expr.
174 * tree.c (stabilize_call, stabilize_init): New fns.
175 * call.c (build_over_call): A constructor no longer returns the
176 address of the object.
178 2003-11-16 Richard Henderson <rth@redhat.com>
180 * typeck.c (pointer_diff): Remove unused variable.
182 2003-11-16 Jason Merrill <jason@redhat.com>
184 PR optimization/11269
185 * semantics.c (finalize_nrv_r): Rename from nullify_returns_r.
186 Also replace uses of the nrv with our RESULT_DECL.
187 (cxx_expand_function_start): Don't mess with the nrv.
188 (finalize_nrv): New fn.
189 * cp-tree.h: Declare it.
190 * decl.c (finish_function): Call it.
191 * tree.c (cp_copy_res_decl_for_inlining): Don't mess with the nrv.
193 2003-11-10 Richard Henderson <rth@redhat.com>
195 * cp-simplify.c (gimplify_must_not_throw_expr): Replace add_tree
196 with append_to_statement_list.
198 2003-10-30 Richard Henderson <rth@redhat.com>
200 * decl.c (pop_switch): Call c_do_switch_warnings.
202 2003-10-23 Richard Henderson <rth@redhat.com>
204 * cp-simplify.c (cp_gimplify_expr): Return gimplify_status.
206 2003-10-16 Richard Henderson <rth@redhat.com>
208 * decl.c (finish_function): Don't check flag_disable_gimple.
210 2003-10-14 Richard Henderson <rth@redhat.com>
212 * decl.c (finish_function): Always gimplify; call c_warn_unused_result.
214 2003-10-13 Richard Henderson <rth@redhat.com>
216 * pt.c (push_tinst_level): Use annotate_with_locus.
218 2003-10-12 Richard Henderson <rth@redhat.com>
220 * call.c (call_builtin_trap): Use implicit_built_in_decls.
221 * class.c (build_base_path): Set TREE_INVARIANT.
222 (build_vtbl_ref_1, build_vtbl_initializer): Likewise.
223 * decl.c (build_enumerator): Likewise.
224 * init.c (build_zero_init): Likewise.
225 * pt.c (push_inline_template_parms_recursive): Likewise.
226 (build_template_parm_index, reduce_template_parm_level): Likewise.
227 (process_template_parm): Likewise.
228 * rtti.c (tinfo_base_init, generic_initializer): Likewise.
229 (ptr_initializer, ptm_initializer, class_initializer): Likewise.
230 * typeck.c (build_ptrmemfunc1): Likewise.
231 * typeck2.c (process_init_constructor): Likewise.
233 * calls.c (dfs_accumulate_vtbl_inits): Rely on build to set
235 (build_vtbl_initializer): Likewise.
236 * init.c (build_vtbl_address): Likewise.
237 * rtti.c (tinfo_base_init): Likewise.
238 * tree.c (make_ptrmem_cst): Likewise.
239 * typeck.c (decay_conversion): Likewise.
240 (get_member_function_from_ptrfunc, build_binary_op): Likewise.
241 (pointer_diff, build_address, build_nop, build_unary_op): Likewise.
243 2003-09-30 Richard Henderson <rth@redhat.com>
245 * decl.c (finish_function): Set cfun->function_end_locus.
247 2003-09-24 Jason Merrill <jason@redhat.com>
249 * class.c, decl.c, decl2.c, error.c, init.c, lex.c, method.c,
250 pt.c, semantics.c, tree.c: Revert from TREE_LOCUS to
251 DECL_SOURCE_LOCATION.
253 2003-09-17 Richard Henderson <rth@redhat.com>
255 * decl.c (cxx_init_decl_processing): Don't using_eh_for_cleanups
256 if exceptions are disabled.
258 2003-09-03 Richard Henderson <rth@redhat.com>
260 * cp-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Use expand_stmt_toplev.
262 2003-09-03 Richard Henderson <rth@redhat.com>
264 * decl.c (finish_function): Fix misapplied patch. Don't
265 free_after_parsing or free_after_compilation. For real this time.
267 2003-08-22 Jason Merrill <jason@redhat.com>
269 * cp-simplify.c (cp_gimplify_init_expr): Update use of predicates.
271 2003-08-21 Jason Merrill <jason@redhat.com>
273 * cp-simplify.c (cp_gimplify_expr): Use simplify_aggr_init_expr.
274 (cp_gimplify_init_expr): Don't call it here.
275 (gimplify_aggr_init_expr): Remove.
277 2003-08-19 Jason Merrill <jason@redhat.com>
279 * typeck.c (build_array_ref): Also build ARRAY_REFs from
280 INDIRECT_REFs of ARRAY_TYPE.
282 * semantics.c (finish_id_expression): Unshare aliases.
284 2003-08-12 Diego Novillo <dnovillo@redhat.com>
286 * optimize.c (optimize_function): Do not call dump_function.
288 2003-08-08 Jason Merrill <jason@redhat.com>
290 * optimize.c (optimize_function): Restore support for
291 !keep_function_tree_in_gimple_form.
293 2003-07-27 Andreas Jaeger <aj@suse.de>
295 * cp-lang.c: Convert K&R prototypes to ISO C90.
296 * cp-simplify.c: Likewise.
297 * cp-mudflap.c: Likewise.
299 2003-06-13 Frank Ch. Eigler <fche@redhat.com>
301 * semantics.c (expand_body): Call mudflap_c_function just before
302 rtl expansion of function body; don't interfere with inlining.
303 * optimize.c (optimize_function): Remove mudflap call.
305 2003-06-13 Diego Novillo <dnovillo@redhat.com>
307 * cp-lang.c, cp-simplify.c, cp-tree.h, decl.c, optimize.c,
308 semantics.c, tree.c: Rename SIMPLE to GIMPLE everywhere.
310 2003-06-05 Frank Ch. Eigler <fche@redhat.com>
312 * cp-mudflap.c (mflang_register_call): Give the synthetic decl
313 undefined (not zero) size.
315 2003-06-05 Frank Ch. Eigler <fche@redhat.com>
317 * cp-mudflap.c (mx_flag): Remove. Update callers to use mf_mark.
319 2003-05-24 Diego Novillo <dnovillo@redhat.com>
321 * Make-lang.in (optimize.o): Add dependency on tree-simple.h
322 * decl.c (grokdeclarator): Don't abort when the declarator is
324 * optimize.c (optimize_function): Unshare all trees after
325 optimizing inline calls.
327 2003-05-12 Diego Novillo <dnovillo@redhat.com>
329 * class.c (dump_array): Call CONSTRUCTOR_ELTS to access
330 the operand of a CONSTRUCTOR node.
332 2003-05-07 Diego Novillo <dnovillo@redhat.com>
334 * decl.c (grokdeclarator): Fix thinko in handling
335 ERROR_MARK declarators.
337 2003-05-07 Diego Novillo <dnovillo@redhat.com>
339 * decl.c (grokdeclarator): Handle ERROR_MARK declarators.
341 2003-05-07 Jason Merrill <jason@redhat.com>
343 * semantics.c (expand_body): Call expand_stmt when
344 -fdisable-simple is given.
346 2003-04-21 Jeff Law <law@redhat.com>
348 * optimize.c (optimize_function_tree): Do run the tree-ssa
351 2003-04-16 Jeff Law <law@redhat.com>
353 * optimize.c (optimize_function): No longer check
356 2003-04-15 Jeff Law <law@redhat.com>
358 * pt.c (instantiate_decl): If CFUN is null, then we will
359 need to push to the toplevel.
361 * Makefile.in (decl.o): Depends on tree-flow.h.
362 * decl.c (finish_function): Call set_has_hidden_use when
363 nullifying returns for named value return optimization.
365 2003-04-02 Jason Merrill <jason@redhat.com>
367 * cp-simplify.c (cp_simplify_expr) <case EMPTY_CLASS_EXPR>:
368 Change type of constant to RECORD_TYPE.
370 2003-03-10 Jeff Law <law@redhat.com>
372 * optimize.c (optimize_function): Avoid unnecessary
373 simplification of the function tree.
375 2003-03-02 Diego Novillo <dnovillo@redhat.com>
377 * decl.c: Replace DECL_SOURCE_LOCATION with TREE_LOCUS
380 2003-02-28 Frank Ch. Eigler <fche@redhat.com>
382 * decl2.c (finish_file): Adjust timing of mudflap_finish_file call
383 to account for unit-at-a-time compilation.
385 2003-02-07 Jason Merrill <jason@redhat.com>
387 * cp-simplify.c (cp_simplify_expr): Handle BASELINK.
389 * parser.c (cp_parser_primary_expression): Unshare a COMPONENT_REF
392 2003-02-05 Jason Merrill <jason@redhat.com>
394 * cp-simplify.c (genericize_try_block): Do genericize catch blocks.
396 2003-02-03 Diego Novillo <dnovillo@redhat.com>
398 * parser.c (cp_parser_asm_definition): Call finish_asm_stmt with
399 'volatile_p' directly.
400 * typeck.c (build_binary_op): Initialize variable 'type'.
401 * Make-lang.in (cp/tree.o-warn): Add -Wno-error.
403 2003-01-29 Frank Ch. Eigler <fche@redhat.com>
405 * cp-mudflap.c (mflang_register_call): Adapt to mf-runtime.h API
408 2003-01-15 Jeff Law <law@redhat.com>
410 * class.c: Use TREE_FILENAME and TREE_LINENO to extract
411 file/line information from tree nodes. Remove EXPR_WITH_FILE_LOCATION
412 nodes. Use annotate_with_file_line to attach file/line information
413 to tree nodes. Use TREE_LOCUS to copy file/line information
414 from one node to another.
415 * decl2.c, error.c, init.c, lex.c, method.c: Likewise.
416 * optimize.c: Likewise.
417 * cp-tree.def (TINST_LEVEL): New tree node.
418 * cp-tree.h (TINST_DECL): Update now that we no longer use
419 EXPR_WITH_FILE_LOCATION to represent the TINST_DECL information.
420 (TINST_FILE, TINST_LINE): Kill.
421 * decl.c: Use TREE_FILENAME and TREE_LINENO to extract
422 file/line information from tree nodes. Use annotate_witH_file_line
423 to add file/line information to tree nodes. Use TREE_LOCUS
424 to copy file/line information from one node to another.
425 (duplicate_decls): Make sure to copy TREE_LOCUS information
426 from the old decl to the new decl.
427 (finish_function): Save and restore file/line information
428 around genericizing the function tree.
429 * pt.c (lookup_template_class): Use TREE_LOCUS to copy file/line
430 information from one node to another.
431 (push_tinst_level): Generate a TINST_LEVEL node rather than
432 using EXPR_WITH_FILE_LOCATION nodes. Use annotate_with_file_line
433 to annotate the new node with file/line information.
434 (pop_tinst_level): Use TREE_LINENO and TREE_FILENAME to extract
435 file/line information from nodes.
436 (tsubst_friend_function, instantiate_class_template): Likewise.
437 (tsubst_decl, instantiate_decl, tsubst_enum): Likewise.
438 * semantics.c: Use annotate_with_file_line to annotate tree
439 nodes with file/line information. Use TREE_FILENAME and TREE_LINENO
440 to extract file/line information from tree nodes.
441 (expand_body): Restore file/line information slightly earlier.
442 tree.c (cp_walk_subtrees): Set lineno appropriately.
443 (cp_copy_res_decl_for_inlining): Use TREE_LOCUS to copy file/line
444 information from one node to another.
446 2003-01-13 Frank Ch. Eigler <fche@redhat.com>
448 Prototype C++ mudflap support.
449 * Make-lang.in (CXX_OBJS): Add cp/cp-mudflap.o and dependencies.
450 * cp-mudflap.c: New file with C++ front-end mflang_* routines.
451 * decl2.c (finish_file): Divert to mudflap if appropriate.
452 * optimize.c (optimize_function): Ditto.
454 2003-01-02 Jason Merrill <jason@redhat.com>
456 * Make-lang.in (CXX_C_OBJS): Replace old-tree-inline.o with
459 * optimize.c (dump_function): Move to ../tree-dump.c.
461 * cp-simplify.c (cp_simplify_expr): Handle PTRMEM_CST, INIT_EXPR,
462 MODIFY_EXPR and EMPTY_CLASS_EXPR.
463 (cp_simplify_stmt): Handle USING_STMT.
464 (cp_simplify_init_expr): New fn.
465 * cvt.c (build_up_reference): Don't push the decl.
466 * class.c (build_vtable_entry_ref, build_vtbl_ref_1): Unshare the
468 * init.c (build_vtbl_address): Likewise.
469 * cp-lang.c (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
470 * decl.c (lookup_name_real): Unshare the expansion of an ALIAS_DECL.
471 (finish_function): Don't genericize templates.
472 * parse.y (parse_asm_stmt): Fix prototype.
473 * semantics.c (expand_body): Don't expand if we saw errors.
474 Drop support for expanding non-GENERIC code.
476 * cp-simplify.c (cp_simplify_stmt): Handle HANDLER and EH_SPEC_BLOCK.
477 (genericize_try_block): Always build a TRY_CATCH_EXPR.
478 (genericize_catch_block): New fn.
479 (genericize_eh_spec_block): New fn.
480 (cp_simplify_expr): Handle THROW_EXPR and MUST_NOT_THROW_EXPR.
481 (simplify_must_not_throw_expr): New fn.
482 * except.c (wrap_cleanups_r): Make the MUST_NOT_THROW_EXPR void.
483 (build_throw): Likewise.
485 2002-12-14 Jason Merrill <jason@redhat.com>
487 * optimize.c (dump_function): Use pretty dumpers.
488 (optimize_function): Don't do .original dump here.
490 2002-12-03 Diego Novillo <dnovillo@redhat.com>
492 * cp-simplify.c: Include coretypes.h and tm.h.
494 2002-11-24 Jason Merrill <jason@redhat.com>
496 Gimplify C++ cleanups.
497 * decl.c (finish_function): Call c_genericize.
498 * cp-simplify.c (cp_simplify_stmt): New fn.
499 (genericize_try_block): New fn.
500 (cp_simplify_expr): Move INIT_EXPR/TARGET_EXPR code
501 to ../gimplify.c. Handle AGGR_INIT_EXPR.
502 (simplify_target_expr): Move to ../gimplify.c.
503 (maybe_fixup_loop_cond): Remove.
504 (simplify_aggr_init_expr): Split out from...
505 * semantics.c (simplify_aggr_init_exprs_r): ...here.
506 (expand_body): Don't simplify AGGR_INIT_EXPRs here
507 if we're gimplifying. Handle expanding generic trees.
508 * tree.c (init_tree): Set lang_simplify_stmt.
509 * cp-tree.h: Declare the new fns.
511 * optimize.c (optimize_function): Do pretty dumps.
513 2002-10-04 Jason Merrill <jason@redhat.com>
515 * Make-lang.in (CXX_C_OBJS): Add gimplify.o.
517 2002-09-24 Jason Merrill <jason@redhat.com>
519 * parse.y (parse_asm_stmt): New fn.
520 (simple_stmt): Use it.
521 * semantics.c (finish_asm_stmt): Change cv_qualifier parm to
523 * cp-tree.h: Adjust prototype.
524 * pt.c (tsubst_expr): Adjust call.
526 2002-08-23 Diego Novillo <dnovillo@redhat.com>
528 * Make-lang.in (CXX_C_OBJS): Add tree-dchain.o
530 2002-08-11 Jason Merrill <jason@redhat.com>
532 * cp-simplify.c (maybe_fixup_loop_cond): Move here.
533 (cp_simplify_expr): Call it.
534 (simplify_target_expr): Remove pre_p parm.
536 2002-08-09 Jason Merrill <jason@redhat.com>
538 * cp-simplify.c (cp_simplify_expr): New fn.
539 (simplify_target_expr): New fn.
540 (cp_simplify_function_tree): Remove.
541 * cp-lang.c (LANG_HOOKS_SIMPLIFY_FUNCTION_TREE): Don't define.
542 (LANG_HOOKS_SIMPLIFY_EXPR): Define.
543 * optimize.c (optimize_function): De-hook simplify_function_tree.
544 * cp-tree.h: Declare cp_simplify_expr.
546 2002-07-17 Daniel Berlin <dberlin@dberlin.org>
548 * Make-lang.in (CXX_C_OBJS): Add tree-alias-ecr.c,
549 tree-alias-type.o, tree-alias-steen.o, disjoint-set.o.
551 2002-06-21 Andreas Jaeger <aj@suse.de>
553 * Make-lang.in (cp-simplify.o): New.
555 2002-06-18 Jason Merrill <jason@redhat.com>
557 * cp-simplify.c: New file.
558 * Make-lang.in: Add it.
559 * cp-tree.h: Declare cp_simplify_function_tree.
560 * cp-lang.c (LANG_HOOKS_SIMPLIFY_FUNCTION_TREE): Define.
561 * optimize.c (optimize_function): Call tree optimizers (but not yet).
565 change-log-default-name: "ChangeLog.tree-ssa"