Commit Graph

80 Commits

Author SHA1 Message Date
Andrew Pinski
27e1a8d2ee c-semantics.c (emit_local_var): Remove code for DECL_INITIAL.
2005-05-28  Andrew Pinski  <pinskia@physics.uc.edu>

        * c-semantics.c (emit_local_var): Remove code for DECL_INITIAL.

From-SVN: r82415
2004-05-28 20:51:05 -07:00
Diego Novillo
6de9cd9a88 Merge tree-ssa-20020619-branch into mainline.
From-SVN: r81764
2004-05-13 02:41:07 -04:00
Richard Kenner
1c9766da11 c-decl.c (finish_decl): Make a decl_stmt for a variable-sized TYPE_DECL.
* c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
	TYPE_DECL.
	* c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
	* stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
	* stor-layout.c (variable_size): Don't check for MINUS_EXPR.
	Use skip_simple_arithmetic to find SAVE_EXPR.
	(force_type_save_exprs, force_type_save_exprs_1): New functions.
	* tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
	Properly chain multiple pointers.
	(copy_tree_r): Copy a TYPE_DECL.
	* tree.c (variably_modified_type_p): Add some missing tests and
	make some other minor changes.
	* tree.h (force_type_save_exprs): New declaration.
	* gcc.c-torture/execute/20040411-1.c: New test.

From-SVN: r80629
2004-04-12 17:25:55 -04:00
Steven Bosscher
1da326c335 (c-decl.c, [...]): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
* (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c,
        function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c,
        tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
        * ada/utils.c: Likewise.
        * cp/decl.c: Likewise.
        * f/com.c: Likewise.
        * java/class.c: Likewise.

From-SVN: r77985
2004-02-17 21:33:43 +00:00
Kazu Hirata
283334f011 alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c,
cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h,
	flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h,
	ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def,
	tree-optimize.c, vmsdbgout.c, config/fp-bit.c,
	config/alpha/alpha.c, config/alpha/alpha.h,
	config/alpha/alpha.md, config/alpha/unicosmk.h,
	config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c,
	config/c4x/c4x-protos.h, config/c4x/c4x.md,
	config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c,
	config/frv/frvend.c, config/i386/cygming.h,
	config/i386/djgpp.h, config/i386/emmintrin.h,
	config/i386/gthr-win32.c, config/i386/i386-interix.h,
	config/i386/i386-protos.h, config/i386/openbsd.h,
	config/i386/winnt.c, config/i386/xm-mingw32.h,
	config/i386/xmmintrin.h, config/ia64/ia64.md,
	config/iq2000/iq2000.md, config/m32r/m32r.md,
	config/m68k/m68k.md, config/mcore/mcore-elf.h,
	config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
	config/mips/iris5gas.h, config/mips/iris6.h,
	config/mips/iris6gas.h, config/mips/linux.h,
	config/mips/mips.md, config/mips/netbsd.h,
	config/mips/openbsd.h, config/mips/windiss.h,
	config/pa/fptr.c, config/rs6000/aix.h,
	config/rs6000/altivec.h, config/rs6000/darwin.h,
	config/rs6000/xcoff.h, config/s390/s390-protos.h,
	config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
	config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
	config/sparc/sol2.h: Update copyright.

From-SVN: r77018
2004-01-31 02:07:12 +00:00
Daniel Jacobowitz
10176e2852 * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
(genrtl_for_stmt): Remove emit_nop calls.

From-SVN: r76368
2004-01-22 20:23:27 +00:00
Eric Christopher
e13e48e707 re PR c/13014 (if shortcut misses required diagnostics)
2003-11-24  Eric Christopher  <echristo@redhat.com>

	PR C/13014
	* c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
	(start_function): Use.
	(c_push_function_context): Ditto.
	(c-pop_function_context): Ditto.
        (language_function): Move...
	* c-tree.h: ... here. Add x_in_iteration_stmt, and
	x_in_case_stmt.
	* c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
	c_in_iteration_stmt, c_in_case_stmt for parser state. Move
	check for valid break or continue statment here...
	* c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
	here. Change original errors to abort.

From-SVN: r73887
2003-11-24 20:12:06 +00:00
Jason Merrill
1b288fecde re PR c++/12519 (ICE tree check: in genrtl_cleanup_stmt, at c-semantics.c:761)
PR c++/12519
        * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
        it isn't a decl.

From-SVN: r72206
2003-10-07 18:10:37 -04:00
Richard Henderson
177560b2d0 stmt.c (expand_asm_operands): Take a location_t, instead of individual file and line.
* stmt.c (expand_asm_operands): Take a location_t, instead of
        individual file and line.
        * c-typeck.c (c_expand_asm_operands): Likewise.
        * tree.h (expand_asm_operands): Update decl.
        * c-common.h (c_expand_asm_operands): Likewise.
        * c-semantics (genrtl_asm_stmt): Update call.
cp/
        * typeck.c (c_expand_asm_operands): Take location_t, instead of
        individual file and line.
ada/
        * trans.c (tree_transform): Update call to expand_asm_operands.

From-SVN: r71884
2003-09-28 12:09:53 -07:00
Richard Henderson
d560a41c5c function.h (struct function): Add rtl_inline_init, saved_for_inline.
* function.h (struct function): Add rtl_inline_init, saved_for_inline.
        * integrate.c (save_for_inline): Set saved_for_inline.
        * c-semantics.c (genrtl_scope_stmt): Check it.
        * toplev.c (wrapup_global_declarations): Check it.
        (rest_of_handle_inlining): Set and check rtl_inline_init.
        (rest_of_compilation): Remove out of date comment.

From-SVN: r70931
2003-08-29 15:44:05 -07:00
Jason Merrill
de7df9ebdc tree.h (boolean_type_node): Move from C/C++/Java frontends.
* tree.h (boolean_type_node): Move from C/C++/Java frontends.
        (boolean_true_node, boolean_false_node): Likewise.
        (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
        * tree.c (build_common_tree_nodes): Init boolean_type_node.
        (build_common_tree_nodes_2): Init boolean_{true,false}_node.
        * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
        * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
        (truthvalue_true_node): Renamed from boolean_true_node.
        (truthvalue_false_node): Renamed from boolean_false_node.
        * c-decl.c: Just set truthvalue_* to integer_*.
        * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
        * cp/decl.c: Just set truthvalue_* to boolean_*.
        * java/java-tree.h: Move boolean_type_node et al to the back end.

From-SVN: r69758
2003-07-24 16:48:13 -04:00
Jan Hubicka
084c177908 java-tree.h (DECL_NUM_STMTS): Rename to...
* java-tree.h (DECL_NUM_STMTS): Rename to...
	(DECL_ESTIMATED_INSNS): ... this.
	* lang.c (java_estimate_num_insns, java_estimate_num_insns_1):
	New static functions.
	(LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Define.
	* parser.y (add_stmt_to_compound): Do not account statements.

	* cp-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
	* decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
	(start_function): Use DECL_ESTIMATED_INSNS.
	* optimize.c (maybe_clone_body): Use DECL_ESTIMATED_INSNS.

	* decl2.c (maybe_emit_vtables): Fix marking vtables as needed in
	unit-at-a-time

	* c-common.c (c_estimate_num_insns_1): New static function.
	(c_estimate_num_insns): New global function.
	* c-common.h (DECL_NUM_STMTS): Rename to...
	(DECL_ESTIMATED_INSNS): ... this.
	(c_estimate_num_insns): Declare.
	* c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
	* c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
	* c-semantics.c (add_stmt): Do not account statements.
	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
	New.
	* langhooks.h (lang_hooks_for_tree_inlining): Add
	estimate_num_insns
	* params.def (max-inline-insns-auto, max-inline-insns-auto): set
	to 100.
	(max-inline-insns): set to 300.
	(min-inline-insns): set to 10.
	* tree-inline.c (struct inline_data): Rename inlined_stmts to
	inlined-insns.
	(INSNS_PER_STMT): Kill.
	(inlinable_function_p): Compute and store body size.
	(expand_call_inline): Likewise.
	(optimize_inline_calls): Likewise.

From-SVN: r69113
2003-07-09 00:31:20 +00:00
Steven Bosscher
516574425b re PR c/1687 (Exponential time behavior with -O -finline-functions (compile time regression from 3.2, 3.3))
2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>

	PR c/1687
	* tree-inline.c (find_alloca_call): Use
	walk_tree_without_duplicates, instead of walk_tree.
	(find_builtin_longjmp_call): Likewise.
	* c-objc-common.c (c_cannot_inline_fn): Likewise.
	* c-semantics.c (find_reachable_label): Likewise.

From-SVN: r69097
2003-07-08 19:44:17 +00:00
Nathan Sidwell
0cea056ba1 rtl.h (emit_line_note): Take a location_t.
* rtl.h (emit_line_note): Take a location_t.
	(emit_line_note_force): Remove.
	(set_file_and_line_for_statement): Take a location_t.
	* tree.g (emit_line_note): Take a location_t.
	* emit-rtl.c (emit_line_note): Take a location_t.
	(emit_line_note_force): Remove.
	* function.c (init_function_start): Adjust emit_line_note call.
	(expand_function_end): Use force_next_line_note, not
	emit_line_note_force.
	* c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
	* c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
	genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
	genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
	genrtl_continue_stmt, genrtl_switch_stmt,
	genrtl_asm_stmt): Likewise.
	* expr.c (expand_expr): Likewise.
	* integrate.c (expand_inline_function): Likewise.
	* stmt.c (set_file_and_line_for_stmt): Take a location_t.
	(expand_decl_init): Adjust emit_line_note call.

	* ada/trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
	calls.

	* cp/semantics.c: (genrtl_try_block) Adjust emit_line_note
	calls.

	* f/com.c (bison_rule_pushlevel_, bison_rule_compstmt_): Adjust
	emit_line_note calls.
	* f/ste.c (ffeste_emit_line_note_): Likewise.

	* java/expr.c (expand_byte_code):

	* treelang/treetree.c (tree_code_if_start, tree_code_if_else,
	tree_code_if_end, tree_code_create_function_initial,
	tree_code_create_function_wrapup, tree_code_generate_return,
	tree_code_output_expression_statement): Adjust emit_line_note
	calls.

From-SVN: r69047
2003-07-07 17:57:30 +00:00
Kaveh R. Ghazi
5f1989e65d c-aux-info.c: Include toplev.h after c-tree.h.
gcc:
	* c-aux-info.c: Include toplev.h after c-tree.h.
	* c-common.c: Likewise.
	(GCC_DIAG_STYLE): Undef.
	* c-semantics.c (GCC_DIAG_STYLE): Define.
	* c-tree.h (GCC_DIAG_STYLE): Likewise.
	* diagnostic.h (inform): Move prototype to toplev.h.
	* jump.c: Include diagnostic.h before toplev.h.
	* toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
	(warning, error, fatal_error, pedwarn, sorry, inform,
	error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.

cp:
	* cp-tree.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_CXXDIAG): Define.
	(cp_error_at, cp_warning_at, cp_pedwarn_at): Mark with
	ATTRIBUTE_GCC_CXXDIAG.

From-SVN: r68910
2003-07-04 01:55:50 +00:00
Kaveh R. Ghazi
0108ae51e9 c-semantics.c (genrtl_case_label): Fix format specifier bug.
* c-semantics.c (genrtl_case_label): Fix format specifier bug.
	* cfgrtl.c (rtl_verify_flow_info_1): Likewise.

From-SVN: r68784
2003-07-01 18:28:27 +00:00
Nathan Sidwell
2e04021970 rtl.h (emit_note): Remove FILE parameter.
* rtl.h (emit_note): Remove FILE parameter.
	* emit-rtl.c (emit_line_note): Adjust emit_note call.
	(emit_note): Remove FILE parameter. Adjust.
	* builtins.c (expand_builtin_expect): Adjust emit_note call.
	* c-semantics.c (genrtl_scope_stmt): Likewise.
	(expand_stmt): Likewise.
	* cfglayout.c (reemit_insn_block_notes): Likewise.
	(duplicate_insn_chain): Likewise.
	* except.c (expand_eh_region_start, expand_eh_region_end,
	sjlj_emit_function_enter): Likewise.
	* explow.c (probe_stack_range): Likewise.
	* expr.c (emit_block_move_via_loop): Likewise.
	* function.c (init_function_start, expand_function_start,
	expand_function_end, thread_prologue_and_epilogue_insns): Likewise.
	* integrate.c (expand_inline_function, copy_insn_list): Likewise.
	* reg-stack.c (compensate_edge): Likewise.
	* reload1.c (reload): Likewise.
	* rtlanal.c (hoist_insn_to_edge): Likewise.
	* stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop,
	expand_loop_continue_here, expand_end_loop, expand_continue_loop,
	expand_exit_loop_top_cond, expand_value_return,
	expand_start_bindings_and_block, expand_end_bindings,
	expand_decl_cleanup, expand_start_case): Likewise.
	* unroll.c (copy_loop_body
	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
	* config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
	* config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore,
	rs6000_emit_allocate_stack, rs6000_output_function_prologue,
	rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise.
	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.

	* ada/misc.c (record_code_position): Likewise.

From-SVN: r68561
2003-06-27 09:49:44 +00:00
Andreas Jaeger
2f6e4e977d c-lex.c: Convert to ISO C90.
* c-lex.c: Convert to ISO C90.
	* c-objc-common.c: Likewise.
	* c-opts.c: Likewise.
	* c-pch.c: Likewise.
	* c-ppoutput.c: Likewise.
	* c-pragma.h: Likewise.
	* c-pretty-print.c: Likewise.
	* c-pretty-print.h: Likewise.
	* c-semantics.c: Likewise.
	* c-tree.h: Likewise.
	* c-typeck.c: Likewise.

From-SVN: r68327
2003-06-22 15:41:26 +02:00
Roger Sayle
0b82d59c03 c-semantics.c (genrtl_do_stmt_1): New function split out from...
* c-semantics.c (genrtl_do_stmt_1): New function split out from...
	(gen_rtl_do_stmt): ... here.  Call genrtl_do_stmt_1.
	(expand_unreachable_stmt): Expand unreachable while statements
	using genrtl_do_stmt_1.

	* gcc.dg/duff-4.c: New test case.

From-SVN: r67224
2003-05-29 16:33:47 +00:00
Kaveh R. Ghazi
e34d07f255 builtins.c (validate_arglist): Eliminate libiberty VA_ macros, always use stdarg.
gcc:
	* builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
	always use stdarg.
	* c-errors.c (pedwarn_c99): Likewise.
	* c-format.c (status_warning): Likewise.
	* c-semantics.c (build_stmt): Likewise.
	* calls.c (emit_library_call, emit_library_call_value): Likewise.
	* collect2.c (notice, fatal_perror, fatal, error): Likewise.
	* cpperror.c (cpp_error, cpp_error_with_line): Likewise.
	* diagnostic.c (build_message_string, output_printf,
	output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
	fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
	error_with_decl, fnotice): Likewise.
	* dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
	dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
	dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
	dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
	dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
	dw2_asm_output_encoded_addr_rtx): Likewise.
	* emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
	* errors.c (warning, error, fatal, internal_error): Likewise.
	* final.c (output_operand_lossage, asm_fprintf): Likewise.
	* fix-header.c (fatal): Likewise.
	* gcc.c (fatal, error, notice): Likewise.
	* gcov.c (fnotice): Likewise.
	* genattrtab.c (attr_rtx, attr_printf): Likewise.
	* gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
	* gensupport.c (message_with_line): Likewise.
	* mips-tfile.c (fatal, error): Likewise.
	* protoize.c (notice): Likewise.
	* ra-debug.c (ra_debug_msg): Likewise.
	* read-rtl.c (fatal_with_file_and_line): Likewise.
	* rtl-error.c (error_for_asm, warning_for_asm): Likewise.
	* tree.c (build, build_nt, build_function_type_list): Likewise.

cp:
	* error.c (cp_error_at, cp_warning_at, cp_pedwarn_at): Eliminate
	libiberty VA_ macros, always use stdarg.
	* rtti.c (create_pseudo_type_info): Likewise.
	* tree.c (build_min_nt, build_min): Likewise.

From-SVN: r66919
2003-05-17 22:21:35 +00:00
Jason Merrill
03307888f7 tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
* tree.h (STRIP_MAIN_TYPE_NOPS): New macro.

        * tree.c (iterative_hash_expr): New fn.

        * c-semantics.c (emit_local_var): Don't mess with temp slots if
        there's no initializer.

From-SVN: r66775
2003-05-13 14:58:56 -04:00
Nathan Sidwell
070588f06e c-decl.c (pending_invalid_xref_file): Remove.
* c-decl.c (pending_invalid_xref_file): Remove.
	(pending_invalid_xref_line): Remove.
	(pending_invalid_xref_location): New.
	(lookup_label): Use location_t and input_location directly.
	(lookup_tag): Likewise.
	(pending_xref_error): Likewise.
	(c_expand_body_1): Likewise.
	* c-common.c (x_expand_start_cond): Likewise.
	* c-semantics.c (genrtl_for_stmt): Likewise.
	(find_reachable_label): Likewise.
	* expr.c (expand_expr): Likewise.
	* integrate.c (output_inline_function): Likewise.
	* tree-inline.c (find_alloca_call): Likewise.
	(find_builtin_longjmp_call): Likewise.
	* gcc.c (input_filename): Make static.

From-SVN: r66425
2003-05-03 13:28:33 +00:00
Geoffrey Keating
7454096f70 c-semantics.c (genrtl_switch_stmt, [...]): Call expand_stmt on result of expand_unreachable_stmt.
* c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
	expand_stmt on result of expand_unreachable_stmt.

From-SVN: r66392
2003-05-02 18:07:01 +00:00
Nathan Sidwell
d479d37f5e input.h (lineno): Rename to ...
* input.h (lineno): Rename to ...
	(input_line): ... here.
	* tree.h (lineno): Rename to ...
	(input_line): ... here.
	* scan.h (lineno): Rename to ...
	(input_line): ... here.
	* toplev.c (lineno): Rename to ...
	(input_line): ... here.
	(push_srcloc, pop_srcloc):  Rename lineno to input_line.
	* c-common.c (c_expand_start_cond, fname_decl): Likewise.
	* c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
	store_parm_decls, c_expand_body_1): Likewise.
	* c-errors.c (pedwarn_c99): Likewise.
	* c-format.c (status_warning): Likewise.
	* c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
	* c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
	* c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
	* c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
	gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
	genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
	genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
	build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
	prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
	* coverage.c (create_coverage): Likewise.
	* diagnostic.c (pedwarn, sorry, error, fatal_error,
	internal_error, warning, diagnostic_report_current_module,
	inform): Likewise.
	* expr.c (expand_expr): Likewise.
	* integrate.c (expand_inline_function,
	output_inline_function): Likewise.
	* rtl-error.c (file_and_line_for_asm): Likewise.
	* tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
	walk_tree): Likewise.
	* tree.c (make_node): Likewise.
	* ada, cp, f, java, objc, treelang: Likewise.

	ada
	* trans.c (build_unit_elab, set_lineno): Rename lineno to
	input_line.
	* utils.c (pushdecl, create_label_decl, begin_subprog_body,
	end_subprog_body): Likewise.
	* utils2.c (build_call_raise): Likewise.

	cp
	* class.c (finish_struct): Rename lineno to input_line.
	* decl.c (push_binding_level, pop_binding_level,
	suspend_binding_level, resume_binding_level, make_label_decl,
	use_label, start_function): Likewise.
	* decl2.c (warn_if_unknown_interface,
	start_static_initialization_or_destruction,
	generate_ctor_or_dtor_function, finish_file): Likewise.
	* error.c (cp_line_of, print_instantiation_full_context,
	print_instantiation_context): Likewise.
	* except.c (check_handlers_1, check_handlers): Likewise.
	* init.c (create_temporary_var): Likewise.
	* method.c (use_thunk, synthesize_method): Likewise.
	* parser.c (cp_lexer_set_source_position_from_token,
	cp_lexer_get_preprocessor_token): Likewise.
	* pt.c (push_tinst_level, pop_tinst_level,
	tsubst_friend_function, instantiate_class_template, tsubst_decl,
	tsubst, tsubst_expr, instantiate_decl): Likewise.
	* semantics.c (genrtl_try_block, finish_label_stmt,
	begin_class_definition, expand_body,
	genrtl_finish_function): Likewise.
	* tree.c (build_min_nt, build_min): Likewise.

	f
	* ansify.c (die_unless): Rename lineno to input_line.
	* com.c (ffecom_subscript_check_, ffecom_do_entry_,
	ffecom_gen_sfuncdef_, ffecom_start_progunit_,
	ffecom_sym_transform_, ffecom_sym_transform_assign_,
	bison_rule_pushlevel_, bison_rule_compstmt_, finish_function,
	store_parm_decls): Likewise.
	* intrin.c (ffeintrin_fulfill_generic): Likewise.
	* lex.c (ffelex_hash_, ffelex_include_, ffelex_next_line_,
	ffelex_file_fixed, ffelex_file_free): Likewise.
	* std.c (ffestd_exec_end): Likewise.
	* ste.c (ffeste_emit_line_note_, ffeste_start_block_,
	ffeste_start_stmt_): Likewise.
	* ste.h (ffeste_filelinenum, ffeste_set_line): Likewise.

	java
	* lex.h (lineno): Rename to ...
	(input_line): ... here
	* parse-scan.y (lineno): Rename to ...
	(input_line): ... here.
	(reset_report): Rename lineno to input_line.
	* check-init.c (check_init): Likewise.
	* class.c (push_class): Likewise.
	* decl.c (complete_start_java_method, end_java_method): Likewise.
	* expr.c (expand_byte_code): Likewise.
	* jcf-parse.c (give_name_to_class, parse_class_file): Likewise.
	* jcf-write.c (generate_bytecode_insns): Likewise.
	* lex.c (java_init_lex, java_allocate_new_line,
	do_java_lex): Likewise.
	* parse.h (YYNOT_TWICE): Likewise.
	* parse.y (empty_statement, expression_statement,
	java_pop_parser_context, java_parser_context_save_global,
	yyerror, register_fields, method_header, safe_layout_class,
	find_in_imports_on_demand, create_artificial_method,
	source_end_java_method, start_complete_expand_method,
	build_thisn_assign, java_complete_lhs,
	maybe_absorb_scoping_block): Likewise.

	objc
	* objc-act.c (objc_init): Rename lineno to input_line.
	(build_module_descriptor, build_selector_translation_table,
	build_protocol_template, build_method_prototype_list_template,
	build_category_template, build_selector_table,
	build_class_template, build_super_template, build_ivar_template,
	build_ivar_list_template, build_method_list_template,
	build_method_template, add_instance_variable): Likewise.

	treelang
	* tree1.c (treelang_init): Rename lineno to input_line.

From-SVN: r66333
2003-05-01 16:13:36 +00:00
Geoffrey Keating
e55614cab2 c-semantics.c (expand_unreachable_stmt): Return a tree.
* c-semantics.c (expand_unreachable_stmt): Return a tree.
	(expand_stmt): Update for change to expand_unreachable_stmt.
	(expand_unreachable_if_stmt): Likewise.

From-SVN: r66252
2003-04-29 20:39:12 +00:00
Chris Lattner
b39b808448 c-common.h, [...]: Rename genrtl_decl_cleanup to genrtl_cleanup_stmt.
* c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
	genrtl_cleanup_stmt.  Correct comment at head of
	genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).

	* stmt.c (struct nesting): Kill n_function_calls.
	(expand_start_bindings): Don't set
	thisblock->data.block.n_function_calls.
	(expand_end_bindings): Compare function_call_count against 0.
	(expand_cleanups): Kill DONT_DO argument; all callers passed
	NULL_TREE. All callers updated to match.

Co-Authored-By: Zack Weinberg <zack@codesourcery.com>

From-SVN: r65869
2003-04-20 22:58:28 +00:00
Roger Sayle
96c6931df4 re PR c/10175 (-Wunreachable-code doesn't work for single lines)
2003-04-16  Roger Sayle  <roger@eyesopen.com>

	* c-semantics.c (find_reachable_label): New function to find a
	potentially reachable label in an expression.
	(expand_unreachable_if_stmt): Similar to expand_if_stmt but
	assumes the start of the IF_STMT is unreachable (dead) code.
	(expand_unreachable_stmt): Similar to expand_stmt but assumes
	the start of the statement list is unreachable (dead) code.
	(genrtl_if_stmt):  If the controlling expression of the IF
	is constant, use expand_unreachable_stmt for the THEN or ELSE
	clause as appropriate.
	(genrtl_switch_stmt):  Use expand_unreachable_stmt to expand
	the body of a SWITCH statement.
	(expand_stmt): The code immediately following a "return",
	"break", "continue" or "goto" is unreachable.
	* Makefile.in (c-semantics.o): Depend upon tree-inline.h.

	* gcc.dg/Wunreachable-5.c: New test case for PR c/10175.
	* gcc.c-torture/execute/medce-1.c: New test case.
	* gcc.c-torture/execute/medce-2.c: New test case.

From-SVN: r65715
2003-04-17 01:22:51 +00:00
Jan Hubicka
d50672efa7 i386.c (builtin_description): Add __builtin_ia32_paddq and __builtin_ia32_psubq.
* i386.c (builtin_description): Add __builtin_ia32_paddq and
	__builtin_ia32_psubq. Fix __builtin_ia32_paddq128
	 and __builtin_ia32_psubq128.
	* i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
	* i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
	(mmx_adddi3, mmx_subdi3): New.
	* mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
	* xmmintrin.h (_mm_movepi64_pi64): New.
	(_mm_add_epi64, _mm_sub_epi64): fix.
	(_mm_mul_pu16): Rename to...
	(_mm_mul_su32): ... this one.

	* builtins.c (expand_builtin_expect):  Do not predict
	flag_guess_branch_prob is not set.
	* c-semantics.c (expand_stmt): Likewise.
	* predict.c (predict_insn): Likewise.
	* stmt.c (expand_continue_loop): Likewise.
	* toplev.c (rest_of_compilation): Do not call
	note_prediction_to_br_prob and note_prediction_to_br_prob
	when not optimizing.

From-SVN: r63263
2003-02-22 00:32:09 +00:00
Roger Sayle
8cadeff16d c-semantics.c (genrtl_while_stmt): Improve initial RTL generation when loop condition is known true, i.e.
* c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
	when loop condition is known true, i.e.  "while (1) { ... }".
	(genrtl_for_stmt): Similarly for "for" statements.

From-SVN: r61338
2003-01-15 17:44:37 +00:00
Eric Botcazou
4c46ea2353 re PR inline-asm/8832 (traditional "asm volatile" code is illegally optimized)
PR inline-asm/8832
	* tree.h (expand_asm): New prototype.
	* stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
	to do so.
	* c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
	down to expand_asm.
	* c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
	* rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
	(volatile_refs_p) [ASM_INPUT]: Likewise.
	(side_effects_p) [ASM_INPUT]: Likewise.

From-SVN: r61099
2003-01-09 11:13:07 +00:00
Jason Merrill
9f17520894 c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT doesn't match the begin SCOPE_STMT in partialness.
* c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
        doesn't match the begin SCOPE_STMT in partialness.

cp/
        * semantics.c (do_pushlevel): Call pushlevel after adding the
        SCOPE_STMT.
        (do_poplevel): Call poplevel before adding the SCOPE_STMT.
        * parse.y (function_body): Go back to using compstmt.
        * decl.c (pushdecl): Skip another level to get to the parms level.

        * call.c (build_new_method_call): Use is_dummy_object to determine
        whether or not to evaluate the object parameter to a static member
        function.

From-SVN: r60196
2002-12-17 01:24:02 -05:00
Zack Weinberg
4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Eric Botcazou
a9b6f1e712 re PR c/7622 (tree inliner fallout (regression relative to 2.95))
PR c/7622
	* c-semantics (genrtl_scope_stmt): Do not output inlined
	nested functions that contain no code.

From-SVN: r59817
2002-12-04 14:58:19 +00:00
Kazu Hirata
da7d830409 ChangeLog: Follow spelling conventions.
* ChangeLog: Follow spelling conventions.
	* ChangeLog.0: Likewise.
	* ChangeLog.1: Likewise.
	* ChangeLog.2: Likewise.
	* ChangeLog.3: Likewise.
	* ChangeLog.4: Likewise.
	* ChangeLog.5: Likewise.
	* ChangeLog.6: Likewise.
	* FSFChangeLog.10: Likewise.
	* FSFChangeLog.11: Likewise.
	* alias.c: Likewise.
	* basic-block.h: Likewise.
	* c-aux-info.c: Likewise.
	* c-common.c: Likewise.
	* c-common.h: Likewise.
	* c-decl.c: Likewise.
	* c-format.c: Likewise.
	* c-semantics.c: Likewise.
	* c-typeck.c: Likewise.
	* calls.c: Likewise.
	* cfganal.c: Likewise.
	* cfgloop.c: Likewise.
	* collect2.c: Likewise.
	* combine.c: Likewise.
	* conflict.c: Likewise.
	* cppexp.c: Likewise.
	* cppfiles.c: Likewise.
	* cpphash.h: Likewise.
	* cppinit.c: Likewise.
	* cpplex.c: Likewise.
	* cpplib.c: Likewise.
	* cpplib.h: Likewise.
	* cppmacro.c: Likewise.
	* cse.c: Likewise.

From-SVN: r57398
2002-09-22 02:03:17 +00:00
Nathan Sidwell
85341ddd99 re PR c++/7640 (g++ 3.3 ICE: SEGV in integer_zerop)
.:	PR c++/7640
	* c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
testsuite:
	* g++.dg/other/do1.C: New test.

From-SVN: r57212
2002-09-16 20:13:07 +00:00
Jason Merrill
d65b1d77fd c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
* c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
        * c-common.def: Adjust.
        * c-dump.c (c_dump_tree): Adjust.
        * c-semantics.c (genrtl_return_stmt): Adjust.
        * c-pretty-print.c (pp_c_statement): Adjust.
        * tree-inline.c (copy_body_r): Adjust.

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

        * pt.c (tsubst_expr): RETURN_EXPR is now RETURN_STMT_EXPR.
        * semantics.c (nullify_returns_r): Likewise.

From-SVN: r56523
2002-08-22 19:22:53 -04:00
Gabriel Dos Reis
77893a23f9 Fix PR/7566
Fix PR/7566
        * c-semantics.c (genrtl_case_label): Don't (mis)use
        warning_with_decl.

From-SVN: r56329
2002-08-14 17:50:48 +00:00
Jan Hubicka
969d70ca57 cfglayout.c (function_tail_eff_head): Rename to ...
* cfglayout.c (function_tail_eff_head): Rename to ...
	(function_footer): ... this one.
	(unlink_insn_chain): New functions.
	(label_for_bb): Only call block_label and emit debug message.
	(record_effective_endpoints): Actually unlink the headers and footers.
	(fixup_reorder_cahin): Re-insert the unlinked sequences.
	(cfg_layout_duplicate_bb): Use duplicate_insn_chain.
	* cfglayout.h (struct reorder_block_def): New fields footer/header;
	remove eff_head/eff_end.
	* rtl.h (set_first_insn): Declare.
	* emit-rtl.c (set_first_insn): New function.

	* cfglayout.c (fixup_reorder_chain): Dump duplicated
	(cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
	cfg_layout_duplicate_bb): New global function.
	(duplicate_insn_chain): New static function.
	* cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
	cfg_layout_duplicate_bb): Declare.
	(struct reorder_block_def): Add "original" field.
	* emit-rtl.c (emit_copy_of_insn_after): New function.
	* rtl.h (emit_copy_of_insn_after): Declare.

	* cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
	(fixup_reorder_chain): properly handle edges to exit block.

Wed May  8 11:10:31 CEST 2002  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
			       Jan Hubicka  <jh@suse.cz>

	* basic-block.h (note_prediction_to_br_prob): declare.
	* c-semantics.c: Inlucde predit.h
	(expand_stmt): predict GOTO_STMT as not taken.
	* cfgcleanup.c: (delete_unreachable_blocks): Make global.
	(cleanup_cfg): Do not free tail_recursion_list.
	* cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
	(flow_delete_block): Kill predictions past end of basic block.
	* output.h (delete_unreachable_blocks): Declare.
	* predict.c (predicted_by_p, process_note_predictions,
	process_note_prediction, last_block_p): New function.
	(estimate_probability): Bypass loop on PRED_CONTINUE;
	do not handle noreturn heuristics; kill PRED_RETURN; add
	PRED_EARLY_RETURN.
	* predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
	PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
	* predict.h (IS_TAKEN): New constant.
	* print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
	* rtl.c (NOTE_INSN_PREDICTION): New.
	* rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
	New macro.
	(insn_note): add NOTE_INSN_PREDICTION.
	* sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
	CFG; free tail_recursion_label_list.
	* stmt.c: Include predict.h;
	(return_prediction): New.
	(expand_value_return): Use it.
	* toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.

From-SVN: r53285
2002-05-08 09:17:27 +00:00
Jason Merrill
659e5a7aa9 re PR c++/5636 (gcc-3.0.3, memory leakage: function that take a string as parameter will not call local variable destructors if exception is thrown.)
PR c++/5636
        * tree.h (CLEANUP_EH_ONLY): New macro.
        * stmt.c (expand_decl_cleanup_eh): New fn.
        (expand_cleanups): Check CLEANUP_EH_ONLY.
        * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
        Use expand_decl_cleanup_eh.
        (expand_stmt): Adjust.
        * c-common.h: Adjust prototype.
        * cp/semantics.c (nullify_returns_r): Just set CLEANUP_EH_ONLY on
        cleanup for nrv.

        * except.c (struct eh_status): Remove protect_list.
        (begin_protect_partials, end_protect_partials): Remove.
        (add_partial_entry): Remove.
        * except.h: Remove prototypes.

        * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
        expand_decl_cleanup_eh.

cp/:
        * semantics.c (finish_eh_cleanup): New fn.
        * cp-tree.h: Add prototype.
        * init.c (perform_member_init, expand_cleanup_for_base): Use
        finish_eh_cleanup.
        * cp-tree.def (SUBOBJECT, CTOR_STMT): Remove.
        * cp-tree.h: Remove references.
        * decl.c (begin_constructor_body, end_constructor_body): Likewise.
        * dump.c (cp_dump_tree): Likewise.
        * pt.c (tsubst_expr): Likewise.
        * semantics.c (genrtl_ctor_stmt, genrtl_subobject): Remove.
        (cp_expand_stmt): Remove handling of CTOR_STMT and SUBOBJECT.
        * tree.c (cp_statement_code_p): Likewise.

        * init.c (build_new_1): Set CLEANUP_EH_ONLY on deleting cleanup.

From-SVN: r51827
2002-04-03 19:11:00 -05:00
Mark Mitchell
6e4ae815bd c-common.c (statement_code_p): Handle CLEANUP_STMT.
* c-common.c (statement_code_p): Handle CLEANUP_STMT.
	* c-common.def (CLEANUP_STMT): New tree node.
	* c-common.h (CLEANUP_DECL): New macro.
	(CLEANUP_EXPR): Likewise.
	* c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
	* tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
	* tree-inline.c (initialize_inlined_parameters): Clean up
	new local variables.

	* cp-tree.h (CLEANUP_DECL): Remove.
	(CLEANUP_EXPR): Likewise.
	* decl.c (destroy_local_var): Simplify.
	(maybe_build_cleanup): Tidy.
	* dump.c (cp_dump_tree): Remove handling of CLEANUP_STMT.
	* semantics.c (cp_expand_stmt): Likewise.
	* cp/tree.c (cp_statement_code_p): Likewise.

	* g++.dg/opt/dtor1.C: New test.

From-SVN: r50830
2002-03-15 20:08:39 +00:00
Jakub Jelinek
6f9fdf4db2 PR c/4475, c++/3780:
* c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
	* c-common.h (SWITCH_TYPE): Define.
	* c-typeck.c (c_start_case): Set SWITCH_TYPE.
	* stmt.c (all_cases_count): Set lastval to thisval at end of loop.
	Rename spareness variable to sparseness.
	(expand_end_case_type): Renamed from expand_end_case, use orig_type
	if non-NULL instead of TREE_TYPE (orig_index).
	* tree.h (expand_end_case_type): Renamed from expand_end_case.
	(expand_end_case): Define using expand_end_case_type.
	* c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
	to expand_end_case_type.
	* doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.

	* semantics.c (begin_switch_stmt): Clear SWITCH_TYPE.
	(finish_switch_cond): Set SWITCH_TYPE.

	* gcc.dg/Wswitch.c: Fix typos.  Don't return unconditionally
	before all tests.  Move warning one line above to match where it
	C frontend emits.
	* gcc.dg/Wswitch-2.c: New test.
	* g++.dg/warn/Wswitch-1.C: New test.
	* g++.dg/warn/Wswitch-2.C: New test.

From-SVN: r49497
2002-02-04 23:05:15 +01:00
Richard Henderson
e803a64bc8 rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
* rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
        * rtl.c (note_insn_name): Update.
        * emit-rtl.c (remove_unnecessary_notes): Kill it.
        * stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
        to perform loop rotation.
        (expand_exit_loop_top_cond): New.
        * tree.h (expand_exit_loop_top_cond): Declare it.
        * c-semantics.c (genrtl_while_stmt): Use it.
        (genrtl_for_stmt): Likewise.

        * ada/trans.c (tree_transform) [N_Loop_Statement]: Use
        expand_exit_loop_top_cond.

        * f/ste.c (ffeste_begin_iterdo_): Use expand_exit_loop_top_cond.
        (ffeste_R819B): Likewise.

From-SVN: r49364
2002-01-30 22:21:31 -08:00
Jason Merrill
8a827ab215 c-semantics.c (genrtl_compound_stmt): Only check nesting consistency if this COMPOUND_STMT is scoped.
* c-semantics.c (genrtl_compound_stmt): Only check nesting consistency if
        this COMPOUND_STMT is scoped.

From-SVN: r49077
2002-01-22 11:05:50 -05:00
Jason Merrill
de097a2d7d c-common.def (FILE_STMT): New code.
* c-common.def (FILE_STMT): New code.
        * c-common.c (statement_code_p): It's a statement.
        * c-common.h (stmt_tree_s): Add x_last_filename.
        (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
        (last_expr_filename): New macro.
        * c-semantics.c (begin_stmt_tree): Initialize it.
        (add_stmt): If the filename changed, also insert a
        FILE_STMT.
        (expand_stmt): Handle seeing one.

From-SVN: r48881
2002-01-15 17:27:07 -05:00
Jakub Jelinek
b0832fe1f3 tree.h (expand_expr_stmt_value): Add maybe_last argument.
* tree.h (expand_expr_stmt_value): Add maybe_last argument.
	* c-common.h (genrtl_expr_stmt_value): Likewise.
	* stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
	(expand_expr_stmt_value): Add maybe_last argument.
	Don't warn about statement with no effect if it is the last statement
	in expression statement.
	* c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
	(genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
	expand_expr_stmt_value.
	(expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
	genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
	* expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
	as maybe_last to expand_expr_stmt_value.

	* gcc.dg/20020104-1.c: New test.

From-SVN: r48541
2002-01-04 22:03:20 +01:00
Alexandre Oliva
1574ef130f c-common.h (genrtl_expr_stmt_value): Declare.
* c-common.h (genrtl_expr_stmt_value): Declare.
* c-semantics.c (genrtl_goto_stmt): Redirect to...
(genrtl_goto_stmt_value): ... this new function.  Pass new
argument down to expand_expr_stmt_value, taking
TREE_ADDRESSABLE into account.
* c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
STMT_EXPR as addressable, i.e., one whose result we want.
* expr.c (expand_expr): Don't save expression statement value
of labeled_blocks or loop_exprs.
* stmt.c (expand_expr_stmt): Redirect to...
(expand_expr_stmt_value): ... this new function.  Use new
argument to tell whether to save expression value.
(expand_end_stmt_expr): Reset last_expr_type and
last_expr_value if we don't have either.
* tree-inline.c (declare_return_variable): Mark its use
statement as addressable.
* tree.h: Document new use of TREE_ADDRESSABLE.
(expand_expr_stmt_value): Declare.

From-SVN: r48456
2002-01-02 02:31:58 +00:00
Stan Shebs
b36948478c alias.c: Remove uses of "register" specifier in declarations of arguments and local...
2001-10-10  Stan Shebs  <shebs@apple.com>

        * alias.c: Remove uses of "register" specifier in declarations
        of arguments and local variables.
        * c-common.c: Ditto.
        * c-convert.c: Ditto.
        * c-decl.c: Ditto.
        * c-format.c: Ditto.
        * c-semantics.c: Ditto.
        * c-typeck.c: Ditto.
        * caller-save.c: Ditto.
        * calls.c: Ditto.
        * cfg.c: Ditto.
        * cfgbuild.c: Ditto.
        * cfgrtl.c: Ditto.
        * collect2.c: Ditto.
        * combine.c: Ditto.
        * convert.c: Ditto.
        * cppexp.c: Ditto.
        * cppfiles.c: Ditto.
        * cse.c: Ditto.
        * dbxout.c: Ditto.
        * defaults.h: Ditto.
        * df.c: Ditto.
        * dwarf2out.c: Ditto.
        * dwarfout.c: Ditto.
        * emit-rtl.c: Ditto.
        * explow.c: Ditto.
        * expmed.c: Ditto.
        * expr.c: Ditto.
        * final.c: Ditto.
        * fix-header.c: Ditto.
        * floatlib.c: Ditto.
        * flow.c: Ditto.
        * fold-const.c: Ditto.
        * function.c: Ditto.
        * gcc.c: Ditto.
        * gcse.c: Ditto.
        * gen-protos.c: Ditto.
        * genattrtab.c: Ditto.
        * gencheck.c: Ditto.
        * genconfig.c: Ditto.
        * genemit.c: Ditto.
        * genextract.c: Ditto.
        * genflags.c: Ditto.
        * gengenrtl.c: Ditto.
        * genoutput.c: Ditto.
        * genpeep.c: Ditto.
        * genrecog.c: Ditto.
        * gensupport.c: Ditto.
        * global.c: Ditto.
        * gmon.c: Ditto.
        * graph.c: Ditto.
        * haifa-sched.c: Ditto.
        * hard-reg-set.h: Ditto.
        * hash.c: Ditto.
        * integrate.c: Ditto.
        * jump.c: Ditto.
        * lists.c: Ditto.
        * local-alloc.c: Ditto.
        * loop.c: Ditto.
        * mips-tdump.c: Ditto.
        * mips-tfile.c: Ditto.
        * optabs.c: Ditto.
        * prefix.c: Ditto.
        * print-rtl.c: Ditto.
        * read-rtl.c: Ditto.
        * real.c: Ditto.
        * recog.c: Ditto.
        * reg-stack.c: Ditto.
        * regclass.c: Ditto.
        * regmove.c: Ditto.
        * reload.c: Ditto.
        * reload1.c: Ditto.
        * reorg.c: Ditto.
        * resource.c: Ditto.
        * rtl.c: Ditto.
        * rtlanal.c: Ditto.
        * scan.c: Ditto.
        * sched-deps.c: Ditto.
        * sched-rgn.c: Ditto.
        * sdbout.c: Ditto.
        * simplify-rtx.c: Ditto.
        * stmt.c: Ditto.
        * stor-layout.c: Ditto.
        * toplev.c: Ditto.
        * tradcif.y: Ditto.
        * tradcpp.c: Ditto.
        * tree.c: Ditto.
        * unroll.c: Ditto.
        * varasm.c: Ditto.
        * xcoffout.c: Ditto.

From-SVN: r46173
2001-10-11 03:16:15 +00:00
Andreas Jaeger
7a75edb707 emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
* emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
	* errors.c: Likewise.
	* final.c: Likewise.
	* dwarf2asm.c: Likewise.
	* doprint.c (checkit): Likewise.
	* diagnostic.c: Likewise.
	* collect2.c: Likewise.
	* calls.c: Likewise.
	* c-semantics.c (build_stmt): Likewise.
	* c-format.c (status_warning): Likewise.
	* c-errors.c (pedwarn_c99): Likewise.
	* builtins.c (validate_arglist): Likewise.
	* config/pj/pj.c (pj_printf): Likewise.
	* fix-header.c: Likewise.
	* gcc.c: Likewise.
	* gcov.c (fnotice): Likewise.
	* gensupport.c (message_with_line): Likewise.
	* mips-tfile.c: Likewise.
	* protoize.c (notice): Likewise.
	* read-rtl.c (fatal_with_file_and_line): Likewise.
	* rtl-error.c: Likewise.
	* tradcpp.c: Likewise.
	* tree.c: Likewise.
	* cp/tree.c (build_min_nt): Likewise.
	(build_min): Likewise.
	* cp/lex.c: Likewise.
	* cp/errfn.c: Likewise.
	* cp/rtti.c (create_pseudo_type_info): Likewise.

From-SVN: r45185
2001-08-27 08:48:43 +02:00
Lars Brinkhoff
1322177dbd Makefile.in, [...]: replace "GNU CC" with "GCC".
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
	bitmap.h, builtin-types.def, builtins.c, builtins.def,
	c-aux-info.c, c-common.c, c-common.def, c-common.h,
	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
	conditions.h, config.gcc, configure.frag, configure.in,
	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
	emit-rtl.c, errors.c, errors.h, except.c, except.h,
	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
	gencheck.c, gencodes.c, genconfig.c, genemit.c,
	genextract.c, genflags.c, gengenrtl.c, genmultilib,
	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
	params.h, predict.c, predict.def, predict.h, prefix.c,
	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
	xcoffout.h: replace "GNU CC" with "GCC".

From-SVN: r45105
2001-08-22 14:35:51 +00:00
Jason Merrill
07b2f2fd6e c-common.h (RETURN_NULLIFIED_P): Lose.
* c-common.h (RETURN_NULLIFIED_P): Lose.
        * c-semantics.c (genrtl_return_stmt): Don't check it.

        Support named return value optimization for inlines, too.
        * decl.c (finish_function): Nullify returns here.
        * semantics.c (genrtl_start_function): Not here.
        (cp_expand_stmt): Don't mess with CLEANUP_STMTs.
        (nullify_returns_r): No longer static.  Just clear RETURN_EXPR.
        Also nullify the CLEANUP_STMT for the nrv.
        * cp-tree.h: Declare it.
        * optimize.c (declare_return_variable): Replace the nrv with the
        return variable.
        * typeck.c (check_return_expr): Be more flexible on alignment check.
        Ignore cv-quals when checking for a matching type.

From-SVN: r44762
2001-08-10 10:01:33 -04:00