Commit Graph

60126 Commits

Author SHA1 Message Date
Mark Mitchell
508a1c9c6d class.c (finish_struct_methods): Remove unncessary code.
* class.c (finish_struct_methods): Remove unncessary code.
	(add_implicitly_declared_members): Create declarations for default
	constructors and copy constructors lazily.
	* cp-tree.h (lang_type_class): Remove lazy_default_ctor and
	lazy_copy_ctor.
	(CLASSTYPE_LAZY_DEFAULT_CTOR): New macro.
	(CLASSTYPE_LAZY_COPY_CTOR): Likewise.
	* decl2.c (check_classfn): Robustify.
	(locate_dtor): Handle empty CLASSTYPE_METHOD_VEC.
	(locate_ctor): Handle lazy default constructors.
	(locate_copy): Handle lazy copy constructors.
	(implicitly_declare_fn): Make sure we're looking at the
	TYPE_MAIN_VARIANT for a class before creating functions.  Don't
	set TYPE_HAS_CONSTRUCTOR.
	(lazily_declare_fn): New function.
	* name-lookup.c (constructor_name_full): Simplify.
	* search.c (lookup_fnfields_1): Lazily create methods, as
	necessary.
	(lookup_for_overrides): Handle empty CLASSTYPE_METHOD_VEC.

From-SVN: r84851
2004-07-17 07:31:08 +00:00
Steven Bosscher
165b54c3f3 cfgcleanup.c (try_simplify_condjump): Don't remove line notes to avoid unreachable code warnings.
* cfgcleanup.c (try_simplify_condjump): Don't remove line
	notes to avoid unreachable code warnings.
	* toplev.c (backend_init): Don't emit line notes for
	unreachable code warnings.

	* combine.c (distribute_notes): Don't distribute a
	REG_VTABLE_REF note.
	* final.c (final_scan_insn): Don't handle it.
	* rtl.c (reg_note_name): Remove it.
	* rtl.h (enum reg_node): Dito.

	* emit-rtl.c (force_line_numbers, restore_line_number_status):
	Remove.
	* rtl.h (force_line_numbers, restore_line_number_status):
	Remove prototypes.

	* stmt.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Move...
	* tree-eh.c (using_eh_for_cleanups_p): ...here.  Make static.
	(using_eh_for_cleanups): Also moved here.

	* expr.c (expand_expr_real_1) <CASE_LABEL_EXPR>: Die if we see one.
	<SWITCH_EXPR>: Die if we have a non-NULL SWITCH_BODY.  Update calls
	to expand_start_case and add_case_node.
	* stmt.c (struct nesting): Cleanup unused fields condition_code,
	last_unconditional_cleanup, nominal_type, printname, and
	line_number_status.
	(struct fixup_goto): Remove.
	(struct stmt_status): Remove x_goto_fixup_chain field.
	(goto_fixup_chain): Remove.
	(strip_default_case_nodes, group_case_nodes, emit_jump_if_reachable,
	pushcase, pushcase_range): Remove.
	(expand_start_bindings_and_block): Don't set unused fields in
	the nesting stack.
	(expand_start_case, add_case_node): Cleanup unused formal arguments.
	(expand_end_case_type): Don't simplify the case-list.  Use emit_jump
	instead of emit_jump_if_reachable.
	(emit_case_nodes): Likewise.
	* tree-cfg.c (group_case_labels, cleanup_dead_labels): No longer
	static.
	(update_eh_label): Work around left-over exception handing regions.
	* tree-flow.h (group_case_labels, cleanup_dead_labels): Add protos.
	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): New function.
	(pass_cleanup_cfg_post_optimizing): New pass.
	(init_tree_optimization_passes): Run the new pass after all
	optimizations.
	* tree.h (pushcase, pushcase_range): Remove prototypes.
	(expand_start_case, add_case_node): Update prototypes.

cp/
	* cp-tree.h (struct lang_type): Don't have three GTY options on a
	single bit GTY desc.

java/
	* parse.y (java_complete_expand_methods, java_expand_classes): Don't
	abuse restore_line_number_status.

From-SVN: r84849
2004-07-17 00:31:15 +00:00
GCC Administrator
cd0408d8ff Daily bump.
From-SVN: r84847
2004-07-17 00:16:21 +00:00
Krister Walfridsson
e36f6190a9 * tree-inline.c (estimate_num_insns_1): Correct increase of count.
From-SVN: r84844
2004-07-16 16:55:04 -07:00
Richard Earnshaw
c0f43fa72e configure.in (ZIP, GCJH): Remove white space around '=' in variable assignment.
* configure.in(ZIP, GCJH): Remove white space around '=' in variable
assignment.
* configure: Regenerated.

From-SVN: r84843
2004-07-16 23:42:19 +00:00
Richard Henderson
77c9db7751 builtins.c (std_expand_builtin_va_arg): Remove.
* builtins.c (std_expand_builtin_va_arg): Remove.
        (expand_builtin_va_arg): Remove.
        * expr.h: Don't declare them.
        * gimplify.c (mark_decls_volatile_r): Remove.
        (copy_if_shared_r): Don't call it.
        * target-def.h: Don't test EXPAND_BUILTIN_VA_ARG.
        * expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR.
        * gimple-low.c (lower_stmt): Likewise.
        * tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise.
        * tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise.
        * tree-ssa-operands.c (get_expr_operands): Likewise.
        * doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention
        EXPAND_BUILTIN_VA_ARG.
        * system.h (EXPAND_BUILTIN_VA_ARG): Poison.
        * config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h,
        config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h,
        config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84842
2004-07-16 16:25:51 -07:00
Daniel Berlin
3f7d210dfb tree-ssa-pre.c (insert_aux): Break out if we hit a critical edge.
2004-07-16  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (insert_aux): Break out if we hit
	a critical edge.

From-SVN: r84841
2004-07-16 22:51:48 +00:00
Richard Henderson
6809cbf90d basic-block.h (remove_fake_exit_edges): Declare.
* basic-block.h (remove_fake_exit_edges): Declare.
        * cfganal.c (remove_fake_predecessors): Rename from
        remove_fake_successors; iterate over predecessors.
        (remove_fake_exit_edges): New.
        * cfgcleanup.c (try_optimize_cfg): Use it.
        * gcse.c (one_pre_gcse_pass, store_motion): Likewise.
        * predict.c (estimate_probability): Likewise.
        (tree_estimate_probability, note_prediction_to_br_prob): Likewise.
        * tree-cfg.c (make_edges): Likewise.
        * tree-ssa-pre.c (fini_pre): Likewise.
        * profile.c (instrument_edges): Don't remove_fake_edges.
        (branch_prob): Do it earlier here.

From-SVN: r84840
2004-07-16 15:28:29 -07:00
Richard Henderson
7b48e1e0f0 tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15 switchification wrt CONSTRUCTOR.
* tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15
        switchification wrt CONSTRUCTOR.  Document the reason.

From-SVN: r84839
2004-07-16 15:13:37 -07:00
Frank Ch. Eigler
cc3704221d tree-mudflap.c (mf_file_function_line_tree): Correct typo that prevented descriptive __mf_check source location strings.
2004-07-16  Frank Ch. Eigler  <fche@redhat.com>

	* tree-mudflap.c (mf_file_function_line_tree): Correct typo
	that prevented descriptive __mf_check source location strings.

From-SVN: r84836
2004-07-16 21:25:43 +00:00
Nathanael Nerode
b764adea38 configure.in: Use build_noncanonical rather than build_alias.
* configure.in: Use build_noncanonical rather than build_alias.
	* configure: Rebuild.

From-SVN: r84835
2004-07-16 21:17:16 +00:00
Nathanael Nerode
f11d297f7a configure.in: Eliminate CANADIAN and NULL_TARGET variables by logic refactoring.
* configure.in: Eliminate CANADIAN and NULL_TARGET variables
	by logic refactoring.  Move default definition of NATIVE closer
	to first alternate definition.
	* configure: Regenerate.

From-SVN: r84834
2004-07-16 21:14:18 +00:00
Richard Henderson
d25cee4d2b tree-def (WITH_SIZE_EXPR): New.
* tree-def (WITH_SIZE_EXPR): New.
        * explow.c (expr_size, int_expr_size): Handle WITH_SIZE_EXPR.
        * expr.c (expand_expr_real_1): Likewise.
        * gimplify.c (maybe_with_size_expr): New.
        (gimplify_arg, gimplify_modify_expr): Use it.
        (gimplify_modify_expr_to_memcpy): Take size parameter.
        (gimplify_modify_expr_to_memset): Likewise.
        (gimplify_expr): Handle WITH_SIZE_EXPR.
        * tree-alias-common.c (find_func_aliases): Likewise.
        * tree-eh.c (tree_could_trap_p): Likewise.
        (tree_could_throw_p): Likewise.
        * tree-gimple.c (is_gimple_lvalue): Likewise.
        (get_call_expr_in): Likewise.
        * tree-inline.c (estimate_num_insns_1): Likewise.
        (expand_calls_inline): Likewise.
        * tree-nested.c (convert_call_expr): Likewise.
        * tree-pretty-print.c (dump_generic_node): Likewise.
        * tree-sra.c (sra_walk_expr): Likewise.
        * tree-ssa-alias.c (add_pointed_to_expr): Likewise.
        * tree-ssa-ccp.c (get_rhs, set_rhs): Likewise.
        * tree-ssa-operands.c (get_expr_operands): Likewise.
        * tree-tailcall.c (find_tail_calls): Likewise.

        * calls.c (expand_call): Reset old_stack_allocated after
        calling emit_stack_restore.

        * gcc.c-torture/compile/20020210-1.c: Remove XFAIL.

From-SVN: r84833
2004-07-16 14:13:08 -07:00
Nathanael Nerode
4c86f32571 Makefile.am: Set ZIP and GCJH directly using autoconf.
* Makefile.am: Set ZIP and GCJH directly using autoconf.
	* Makefile.in, include/Makefile.in, testsuite/Makefile.in,
	gcj/Makefile.in: Regenerate.
	* configure.in: Set ZIP and GCJH.  Remove redundant condition
	in AM_CONDITIONAL(NATIVE,...)
	* configure: Regenerate.

From-SVN: r84832
2004-07-16 21:04:58 +00:00
Richard Henderson
7740f00d54 langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING, [...]): Remove.
* langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING,
        lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
        * langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
        * langhooks.h (struct lang_hooks_for_tree_inlining): Remove
        copy_res_decl_for_inlining.

        * tree-inline.c (declare_return_variable): New modify_dest argument.
        Use it as the return value, when possible or manditory.  Handle
        TREE_ADDRESSABLE types.
        (expand_call_inline): Extract MODIFY_EXPR lhs for call.  Simplify
        replacement of CALL_EXPR.

cp/
        * cp-lang.c (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING): Die.
        * cp-tree.h (cp_copy_res_decl_for_inlining): Remove.
        * tree.c (cp_copy_res_decl_for_inlining): Remove.

From-SVN: r84831
2004-07-16 13:51:31 -07:00
Richard Henderson
26e79d1018 tree-flow.h (struct var_ann_d): Remove has_hidden_use.
* tree-flow.h (struct var_ann_d): Remove has_hidden_use.
        * gimple-low.c (expand_var_p): Don't check it.
        * tree-ssa-alias.c (setup_pointers_and_addressables): Likewise.
        * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
        * tree-ssa-operands.c (add_stmt_operand): Likewise.
        * tree-dfa.c (find_hidden_use_vars, find_hidden_use_vars_r): Kill.
        (find_referenced_vars): Don't call them.
        * tree-flow-inline.h (has_hidden_use, set_has_hidden_use): Kill.

From-SVN: r84830
2004-07-16 13:40:25 -07:00
Richard Henderson
d58247a321 * function.c (pass_by_reference): True for all variable sized types.
From-SVN: r84829
2004-07-16 13:34:12 -07:00
Jeff Law
7eacb691bb * analyze_brprob: Fix comments. More consistent output format.
From-SVN: r84828
2004-07-16 12:58:00 -06:00
Toon Moene
cc440d714f gcc_release: Revert yesterday's change.
2004-07-16  Toon Moene  <toon@moene.indiv.nluug.nl>

	* maintainer-scripts/gcc_release: Revert yesterday's change.

From-SVN: r84827
2004-07-16 18:37:05 +00:00
Sebastian Pop
4619c7017f Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h.
* Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h.
	* tree-pretty-print.c: Include tree-chrec.h.
	(dump_generic_node): Pretty print SCEV_KNOWN, SCEV_NOT_KNOWN
	and POLYNOMIAL_CHREC nodes.

From-SVN: r84826
2004-07-16 17:55:47 +00:00
Steve Ellcey
58ec6ece35 builtins.c (expand_builtin_stpcpy): Do not create temporary reg with VOIDmode.
* builtins.c (expand_builtin_stpcpy): Do not create temporary
	reg with VOIDmode.

From-SVN: r84825
2004-07-16 17:19:20 +00:00
Jason Merrill
27f1984e92 undo reversion
From-SVN: r84822
2004-07-16 13:11:06 -04:00
Andris Pavenis
a23ee064e2 re PR preprocessor/16366 (Preprocessor option -remap causes memory corruption)
2004-07-16  Andris Pavenis  <pavenis@latnet.lv>

	PR preprocessor/16366
	* internal.h (struct cpp_reader): New field dir_hash.
	* files.c (make_cpp_dir): Use dir_hash, not file_hash.
	(_cpp_init_files, _cpp_cleanup_files): Update for new field.

From-SVN: r84821
2004-07-16 17:07:01 +00:00
Jason Merrill
043fdfc83e revert: cp-lang.c (cxx_types_compatible_p): To the middle-end, references and pointers are compatible.
revert:
        * cp-lang.c (cxx_types_compatible_p): To the middle-end,
        references and pointers are compatible.

From-SVN: r84820
2004-07-16 13:06:56 -04:00
Segher Boessenkool
11368579a1 * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
From-SVN: r84819
2004-07-16 17:13:40 +02:00
Segher Boessenkool
270e140b79 * MAINTAINERS: Add myself to write-after-approval.
From-SVN: r84818
2004-07-16 16:56:10 +02:00
Andreas Krebbel
490ceeb4f3 s390.md: Changed every occurence of BASE_REGISTER to BASE_REGNUM.
2004-07-16  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md: Changed every occurence of BASE_REGISTER
	to BASE_REGNUM.
	* config/s390/s390.c: Likewise.
	* config/s390/s390.h: Likewise.

From-SVN: r84817
2004-07-16 12:51:21 +00:00
Richard Sandiford
5eb00b77df mips.md (addsi3, adddi3): Remove special handling of $sp adds.
* config/mips/mips.md (addsi3, adddi3): Remove special handling
	of $sp adds.  Remove REGNO checks from mips16 patterns.

From-SVN: r84816
2004-07-16 12:32:19 +00:00
Nathan Sidwell
090ad434b0 class.c (finish_struct_bits): Use for loop.
* class.c (finish_struct_bits): Use for loop.
	(propagate_binfo_offsets): Do primary binfo outside of loop.

From-SVN: r84815
2004-07-16 09:42:22 +00:00
Richard Sandiford
d811830ea7 * config/mips/mips.md: Delete outdated comment.
From-SVN: r84814
2004-07-16 09:31:39 +00:00
Richard Sandiford
bb5928069e mips.c (get_float_compare_codes): Delete.
* config/mips/mips.c (get_float_compare_codes): Delete.
	(mips_emit_compare): New function, mostly extracted from
	get_float_compare_codes and gen_conditional_branch.
	(gen_conditional_branch, gen_conditional_move): Use it.

From-SVN: r84813
2004-07-16 09:00:09 +00:00
Nathan Sidwell
3758425f53 re PR c++/16583 (G++ segfaults with -fdump-translation-unit)
PR c++/16583
	* dump.c (cp_dump_tree): Don't dump the bases if there's no
	binfo.

From-SVN: r84812
2004-07-16 08:22:12 +00:00
Segher Boessenkool
00ca8311cf genautomata.c (add_vect): Speedup by using integers as bit-vectors for walking through the comb_vect and...
* genautomata.c (add_vect): Speedup by using integers as
        bit-vectors for walking through the comb_vect and finding
        a match.

From-SVN: r84811
2004-07-16 10:12:11 +02:00
Nathan Sidwell
bd7eccc44e * pt.c (tsubst) <TREE_BINFO case>: We should never get here.
From-SVN: r84810
2004-07-16 08:07:08 +00:00
Richard Sandiford
f128625718 mips.c (mips_zero_if_equal): Only use XORs if the second operand is an uns_arith_operand...
* config/mips/mips.c (mips_zero_if_equal): Only use XORs if the second
	operand is an uns_arith_operand; use subtraction otherwise.
	* config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand,
	not just arith_operands.

From-SVN: r84809
2004-07-16 07:53:47 +00:00
Richard Sandiford
a012718f1d mips-protos.h (gen_int_relational): Delete.
* config/mips/mips-protos.h (gen_int_relational): Delete.
	(mips_emit_scc): Declare.
	* config/mips/mips.c (internal_test): Delete.
	(sle_operand, sleu_operand): New functions.
	(map_test_to_internal_test, gen_int_relational): Delete.
	(mips_emit_binary, mips_relational_operand_ok_p)
	(mips_emit_int_relational, mips_zero_if_equal)
	(mips_emit_scc): New functions.
	(gen_conditional_branch): Rework to use mips_emit_int_relational.
	* config/mips/mips.h (PREDICATE_CODES): Add sle_operand and
	sleu_operand.
	* config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu)
	(sltu, sleu): Use mips_emit_scc.
	(*sge_[sd]i, *sgeu_[sd]i): New patterns.
	(*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand.
	(*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand.

From-SVN: r84808
2004-07-16 07:51:31 +00:00
Richard Sandiford
c03eb5a305 * config/mips/mips.md (*sgt_di_mips16): Fix destination constraint.
From-SVN: r84807
2004-07-16 07:47:07 +00:00
Richard Sandiford
9cb24602d3 mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero.
* config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero.
	(*sne_[sd]i): Likewise sne_[sd]i_zero.
	(*sgt_[sd]i): ...and sgt_[sd]i.
	(*slt_[sd]i): ...and slt_[sd]i.
	(*sgtu_[sd]i): ...and sgtu_[sd]i.
	(*sltu_[sd]i): ...and sltu_[sd]i.
	(*sleu_[sd]i): ...and sleu_[sd]i_const.
	Name previously unnamed mips16 patterns.  Formatting fixes.

From-SVN: r84806
2004-07-16 07:45:54 +00:00
Richard Sandiford
d7ad1e57f7 mips.c (cmp_operands): Renamed from branch_cmp.
* config/mips/mips.c (cmp_operands): Renamed from branch_cmp.
	(branch_type): Delete.
	(gen_conditional_branch, gen_conditional_move)
	(mips_gen_conditional_trap): Update after name change.  Get the
	comparison mode from cmp_operands[0].
	* config/mips/mips.h (cmp_type, branch_type): Delete.
	(cmp_operands): Renamed from branch_cmp.
	* config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after
	name change.  Don't set branch_type.
	(seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the
	mode class of cmp_operands[0] rather than branch_type.  Update after
	name change.

From-SVN: r84805
2004-07-16 07:44:24 +00:00
Richard Sandiford
629198e266 mips.c (mips_rtx_costs): In mips16 code, set the cost of 0...255 to 0 when inside a SET.
* config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost
	of 0...255 to 0 when inside a SET.

From-SVN: r84804
2004-07-16 07:35:58 +00:00
Richard Sandiford
2bff1abfb0 * config/mips/mips.md: Remove mips16 define_peepholes.
From-SVN: r84803
2004-07-16 06:46:48 +00:00
Nathanael Nerode
ed2e3d3395 configure.in: Use target_noncanonical rather than target_alias for forward-compatibility with...
* configure.in: Use target_noncanonical rather than
	target_alias for forward-compatibility with autoconf 2.59.
	* configure: Regenerate.
	* Makefile.am, gcj/Makefile.am, include/Makefile.am,
	testsuite/Makefile.am: Substitute target_noncanonical.
	* Makefile.in, gcj/Makefile.in, include/Makefile.in,
	testsuite/Makefile.in: Regenerate.

From-SVN: r84802
2004-07-16 05:36:35 +00:00
Daniel Berlin
50265400ed tree-ssa-pre.c (init_pre): Connect infinite loops to exit.
2004-07-16  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (init_pre): Connect infinite loops to exit.
	(fini_pre): Remove fake edges.

From-SVN: r84800
2004-07-16 04:24:43 +00:00
Richard Henderson
310de7612e tree-ssa-operands.c (get_expr_operands): Use a switch.
* tree-ssa-operands.c (get_expr_operands): Use a switch.  Split out...
        (get_indirect_ref_operands, get_call_expr_operands): ... these.

From-SVN: r84798
2004-07-15 19:26:47 -07:00
Nathanael Nerode
bc03b358a0 configure.in: Move as much as possible below AC_CANONICAL_SYSTEM.
* configure.in: Move as much as possible below AC_CANONICAL_SYSTEM.
	Introduce _GCC_TOPLEV_NONCANONICAL_TARGET.
	* acinclude.m4: Include acx.m4.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

From-SVN: r84797
2004-07-16 02:11:33 +00:00
Mark Mitchell
aaaa46d2b0 vec.h (VEC_address): New function.
* vec.h (VEC_address): New function.

	* cp-tree.h (lang_type_class): Remove has_real_assign_ref and
	has_abstract_assign_ref.  Make methods a VEC(tree) *.
	(TYPE_HAS_CONST_ASSIGN_REF): Add documentation.
	(CLASSTYPE_CONSTRUCTORS): Adjust for changes to CLASSTYPE_METHOD_VEC.
	(CLASSTYPE_DESTRUCTORS): Likewise.
	(TYPE_HAS_REAL_ASSIGN_REF): Remove.
	(TYPE_HAS_ABSTRACT_ASSIGN_REF): Likewise.
	(add_method): Change prototoype.
	* class.c (add_method): Remove error_p parameter.  Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	(handle_using_decl): Adjust call to add_method.
	(maybe_warn_about_overly_private_class): Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	(resort_type_method_vec): Likewise.
	(finish_struct_methods): Likewise.
	(check_for_override): Likewise.
	(warn_hidden): Likewise.
	(add_implicitly_declared_members): Defer creation of assignment
	operators.  Adjust call to add_method.
	(clone_function_decl): Adjust call to add_method.
	(check_bases_and_members): Don't set TYPE_HAS_REAL_ASSIGN_REF.
	(finish_struct_1): Use CLASSTYPE_DESTRUCTORS.
	* decl.c (grok_special_member_properties): Don't set
	TYPE_HAS_ABSTRACT_ASSIGN_REF.
	* decl2.c (check_classfn): Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	* method.c (locate_dtor): Use CLASSTYPE_DESTRUCTORS.
	(locate_ctor): Use CLASSTYPE_CONSTRUCTORS.
	(locate_copy): Adjust for changes to CLASSTYPE_METHOD_VEC.
	(implicitly_declare_fn): Set DECL_SOURCE_LOCATION.  Do not call
	cp_finish_decl.
	* pt.c (check_explicit_specialization): Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	(instantiate_class_template): Do not set
	TYPE_HAS_ABSTRACT_ASSIGN_REF.
	* ptree.c (cxx_print_type): Don't try to print
	CLASSTYPE_METHOD_VEC.
	* rtti.c (emit_support_tinfos): Use CLASSTYPE_DESTRUCTORS.
	* search.c (lookup_field_r): Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	(lookup_fnfields): Likewise.
	(lookup_conversion_operator): Likewise.
	(lookup_fnfields_1): Likewise.  Create assignment operators
	lazily.
	(look_for_overrides_here): Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	(add_conversions): Likewise.
	* semantics.c (finish_member_declaration): Adjust call to add_method.

From-SVN: r84796
2004-07-16 01:15:43 +00:00
Tobias Schlüter
b38b6477f8 re PR fortran/16404 (should reject invalid code with -pedantic -std=f95 ? (x8))
fortran/
* parse.c (gfc_check_do_variable): Fix error locus.

testsuite/
PR fortran/16404
* gfortran.dg/do_iterator.f90: New test.

From-SVN: r84795
2004-07-16 02:57:43 +02:00
Tobias Schlüter
c9583ed23d re PR fortran/16404 (should reject invalid code with -pedantic -std=f95 ? (x8))
PR fortran/16404
(parts ported from g95)
* parse.h (gfc_state_data): New field do_variable.
(gfc_check_do_variable): Add prototype.
* parse.c (push_state): Initialize field 'do_variable'.
(gfc_check_do_variable): New function.
(parse_do_block): Remember do iterator variable.
(parse_file): Initialize field 'do_variable'.
* match.c (gfc_match_assignment, gfc_match_do,
gfc_match_allocate, gfc_match_nullify, gfc_match_deallocate):
Add previously missing checks.
(gfc_match_return): Reformat error message.
* io.c (match_out_tag): New function.
(match_open_element, match_close_element,
match_file_element, match_dt_element): Call match_out_tag
instead of match_vtag where appropriate.
(match_io_iterator, match_io_element): Add missing check.
(match_io): Reformat error message.
(match_inquire_element): Call match_out_tag where appropriate.

From-SVN: r84793
2004-07-16 02:39:40 +02:00
Tobias Schlüter
e94f3b4f2b fortran-torture.exp (fortran-torture): Don't test compile tests with fulllist of options.
* lib/fortran-torture.exp (fortran-torture): Don't test compile
tests with fulllist of options.
* lib/gfortran-dg.exp (gfortran-dg-runtest): Only test with all
of TORTURE_OPTIONS if test contains 'dg-do run'.

From-SVN: r84792
2004-07-16 02:32:26 +02:00
Volker Reichelt
a916927fb5 re PR rtl-optimization/16536 (Incorrect __restrict__ optimization in -O2)
PR rtl-optimization/16536
	* gcc.c-torture/execute/restrict-1.c: New test.

From-SVN: r84791
2004-07-16 00:25:59 +00:00