Commit Graph

67666 Commits

Author SHA1 Message Date
David Edelsohn
98c41d988c re PR target/20813 (ICE in gen_reg_rtx for 3 spec tests)
PR target/20813
	* config/rs6000/default64.h (TARGET_DEFAULT): Add MASK_PPC_GFXOPT.
	* config/rs6000/rs6000.c (processor_target_table): Rename rs64a to
	rs64.  Add MASK_PPC_GFXOPT to powerpc64 and rs64.
	(rs6000_init_libfuncs): Set TFmode optabs to xlq names if
	TARGET_XL_COMPAT.
	* doc/invoke.texi (PowerPC options): Change rs64a to rs64.

From-SVN: r98562
2005-04-22 10:36:30 -04:00
Nathan Sidwell
e6ef8d816e lambda-code.c: Define VEC(int,heap), VEC(lambda_loop,heap).
* lambda-code.c: Define VEC(int,heap), VEC(lambda_loop,heap).
	(gcc_tree_to_linear_expression): Convert to heap allocated
	vectors.
	(gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
	lbv_to_gcc_expression, lle_to_gcc_expression,
	lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
	perfect_nestify): Likewise.
	lambda.h (gcc_loopnest_to_lambda_loopnest,
	lambda_loopnest_to_gcc_loopnest): Likewise.
	tree-loop-linear.c (linear_transform_loops): Likewise.

From-SVN: r98561
2005-04-22 14:17:07 +00:00
Eric Botcazou
8ca864d2a8 predicates.md (arith_double_operand): Use trunc_int_for_mode if HOST_BITS_PER_WIDE_INT >=64.
* config/sparc/predicates.md (arith_double_operand): Use
	trunc_int_for_mode if HOST_BITS_PER_WIDE_INT >=64.
	* config/sparc/sparc.md (movqi, movhi, movsi, movqi): Use gen_int_mode.
	(DImode, DFmode constant splitters): Likewise.  Remove code for
	TARGET_ARCH64 && HOST_BITS_PER_WIDE_INT < 64.
	(logical constant splitters): Use const_int_operand predicate.
	(lshrsi3_extend): Remove code for TARGET_ARCH64 &&
	HOST_BITS_PER_WIDE_INT < 64.

From-SVN: r98560
2005-04-22 13:25:57 +00:00
Nathan Sidwell
144d51f9df pa.c (legitimize_pic_address): Use gcc_assert and gcc_unreachable as appropriate.
* config/pa/pa.c (legitimize_pic_address): Use gcc_assert and
	gcc_unreachable as appropriate.
	(force_mode, emit_move_sequence, singlemove_string,
	output_move_double, output_fp_move_double, find_addr_reg,
	output_block_move, output_block_clear, output_and,
	output_64bit_and, output_ior, output_64bit_ior, store_reg_modify,
	pa_adjust_cost, pa_issue_rate, print_operand,
	output_global_address, output_arg_descriptor, output_cbranch,
	output_lbranch, output_bb, output_bvb, output_dbra, output_movb,
	output_call): Likewise.
	* config/pa/pa.md (call, call_value, sibcall, sibcall_value,
	prefetch, prefetch_cc, prefetch_nocc): Likewise.

From-SVN: r98559
2005-04-22 13:22:31 +00:00
Zdenek Dvorak
9885da8e1b Makefile.in (LIBGCOV): Add _gcov_interval_profiler, _gcov_pow2_profiler and _gcov_one_value_profiler.
* Makefile.in (LIBGCOV): Add _gcov_interval_profiler,
	_gcov_pow2_profiler and _gcov_one_value_profiler.
	(tree-profile.o): Add GGC_H and gt-tree-profile.h dependency.
	(GTFILES): Add $(srcdir)/tree-profile.c.
	* gcov-io.h (__gcov_interval_profiler, __gcov_pow2_profiler,
	__gcov_one_value_profiler): Declare.
	* gimplify.c (force_gimple_operand): Check whether the statements
	should be produced in ssa form.
	(force_gimple_operand_bsi): New function.
	* libgcov.c (__gcov_interval_profiler, __gcov_pow2_profiler,
	__gcov_one_value_profiler): New functions.
	* rtl-profile.c (rtl_gen_pow2_profiler): Only measure whether
	the profiled value is a power of two or not.
	* tree-cfg.c (tree_block_ends_with_condjump_p): Handle empty blocks.
	* tree-flow.h (in_ssa_p): Declare.
	(force_gimple_operand_bsi): Declare.
	* tree-into-ssa.c (in_ssa_p): New variable.
	(rewrite_into_ssa): Set in_ssa_p.
	* tree-outof-ssa.c (rewrite_out_of_ssa): Set in_ssa_p.
	* tree-profile.c: Include ggc.h and gt-tree-profile.h.
	(gcov_type_node, tree_interval_profiler_fn, tree_pow2_profiler_fn,
	tree_one_value_profiler_fn): New variables.
	(tree_init_edge_profiler): Initialize the profiler function decls.
	(tree_gen_edge_profiler): Use global gcov_type_node.
	(prepare_instrumented_value): New function.
	(tree_gen_interval_profiler, tree_gen_interval_profiler,
	tree_gen_one_value_profiler): Call the library functions instead of
	creating instrumentation code.
	* tree.c (build_fn_decl): New function.
	* tree.h (build_fn_decl): Declare.
	* value-prof.c (rtl_divmod_values_to_profile,
	rtl_find_values_to_profile, rtl_mod_pow2_value_transform,
	tree_mod_pow2_value_transform, tree_find_values_to_profile):
	Do not handle may_be_other and precise values of exponents at pow2
	profiler.
	(tree_mod_subtract_transform): Reflect that value field of
	histogram has changed meaning.
	(tree_divmod_values_to_profile): Record the values correctly.
	(tree_values_to_profile): Update comment.
	* value-prof.h (struct histogram_value_t): Remove pow2 data.

From-SVN: r98555
2005-04-22 10:57:04 +00:00
Joseph Myers
ebccb65d5a varasm.c (do_assemble_alias): Return early if TREE_ASM_WRITTEN (decl).
* varasm.c (do_assemble_alias): Return early if TREE_ASM_WRITTEN
	(decl).

testsuite:
	* gcc.dg/weak/weak-13.c: New test.

From-SVN: r98551
2005-04-22 11:15:09 +01:00
Bernd Schmidt
acb217cbc9 * config.sub: Update from master copy.
From-SVN: r98550
2005-04-22 08:58:48 +00:00
Nathan Sidwell
7637e42c0e i386.md (length_immediate): Use gcc_assert or gcc_unreachable, as appropriate.
* config/i386/i386.md (length_immediate): Use gcc_assert or
	gcc_unreachable, as appropriate.
	(*movsi_1, *movqi_1, reload_outqi, *movdi_1_rex64, *pushsf,
	*pushsf_rex64, *truncxfsf2_mixed, *truncxfsf2_i387,
	*truncxfdf2_mixed, *truncxfdf2_i387, *adddi_1_rex64,
	*adddi_2_rex64, *adddi_3_rex64, *adddi_4_rex64, *adddi_5_rex64,
	*addsi_1, addsi_1_zext, *addsi_2, *addsi_2_zext, *addsi_3,
	*addsi_3_zext, *addsi_4, *addsi_5, *addhi_1_lea, *addhi_1,
	*addhi_2, *addhi_3, *addhi_4, *addhi_5, *addqi_1_lea, *addqi_1,
	*addqi_1_slp, *addqi_2, *addqi_3, *addqi_4, *addqi_5, addqi_ext_1,
	*addqi_ext_1_rex64, *anddi_1_rex64, *andsi_1, *andhi_1,
	*ashldi3_1_rex64, *ashldi3_cmp_rex64, *ashlsi3_1, *ashlsi3_1_zext,
	*ashlsi3_cmp, *ashlsi3_cmp_zext, *ashlhi3_1_lea, *ashlhi3_1,
	*ashlhi3_cmp, *ashlqi3_1_lea, *ashlqi3_1, *ashlqi3_cmp,
	pro_epilogue_adjust_stack_1, pro_epilogue_adjust_stack_rex64,
	pro_epilogue_adjust_stack_rex64_2, prefetch, *prefetch_sse,
	*prefetch_sse_rex): Likewise.
	* config/i386/predicates.md (x86_64_immediate_operand,
	x86_64_zext_immediate_operand, symbolic_operand,
	no_seg_address_operand, aligned_operand,
	memory_displacement_operand): Likewise.
	* config/i386/sse.md (*mov<mode>_internal,
	*movv2df_internal): Likewise.

From-SVN: r98549
2005-04-22 08:42:25 +00:00
Jan Hubicka
ca31b95fa3 Makefile.in (ipa.o, [...]): New files.
* Makefile.in (ipa.o, ipa-inline.o): New files.
	* cgraph.h (cgraph_remove_unreachable_nodes, cgraph_postorder,
	cgraph_decide_inlining_incrementally, cgraph_clone_inlined_nodes,
	cgraph_mark_inline_edge, cgraph_default_inline_p): Declare.
	* cgraphunit.c (cgraph_default_inline_p, cgraph_decide_inlining_incrementally,
	ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns,
	cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
	cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
	cgraph_mark_inline, cgraph_check_inline_limits,
	cgraph_default_inline_p, cgraph_recursive_inlining_p,
	update_callee_keys, lookup_recursive_calls,
	cgraph_decide_recursive_inlining, cgraph_set_inline_failed,
	cgraph_decide_inlining_of_small_functions, cgraph_decide_inlining,
	cgraph_decide_inlining_incrementally, cgraph_gate_inlining,
	pass_ipa_inline): Move to ipa-inline.c
	(cgraph_postorder, cgraph_remove_unreachable_nodes): Move to ipa.c
	* ipa.c: New file.
	* ipa-inline.c: New file.

From-SVN: r98548
2005-04-22 08:16:54 +00:00
Eric Botcazou
6e32e5b97a invoke.texi (SPARC options): Document that -mapp-regs is turned off by default on Solaris.
* doc/invoke.texi (SPARC options): Document that -mapp-regs
	is turned off by default on Solaris.

From-SVN: r98544
2005-04-22 06:41:34 +00:00
Sven de Marothy
c58f195fd2 LogManager.java: Reformatted.
2005-04-22  Sven de Marothy  <sven@physto.se>

	* java/util/logging/LogManager.java: Reformatted.
	(readConfiguration): If a logger for a key is not found, create one.

From-SVN: r98543
2005-04-22 05:48:06 +00:00
Andrew John Hughes
6a15d30b22 Naming.java: Added class documentation.
2005-04-22  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/rmi/Naming.java:
	Added class documentation.
	(lookup(String)): Call parseURL and getName.
	(bind(String,java.rmi.Remote)): Likewise.
	(unbind(String)): Likewise.
	(rebind(String, java.rmi.Remote)): Likewise.
	(list(String)): Call parseURL.
	(parseURL(String)): New method to handle parsing and defaults.
	(getName(java.net.URL)): New method to handle finding the service name.

From-SVN: r98542
2005-04-22 05:45:02 +00:00
Tom Tromey
36a0d3d264 * java/lang/natClass.cc (initializeClass): Link class.
From-SVN: r98540
2005-04-22 02:33:31 +00:00
GCC Administrator
88ab7d19e4 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r98534.2
2005-04-22 00:16:45 +00:00
Mike Stump
b2e61dde5c ChangeLog: New.
* ChangeLog: New.
        * Make-lang.in: Likewise.
        * config-lang.in: Likewise.
        * lang-specs.h: Likewise.
        * objcp-decl.c: Likewise.
        * objcp-decl.h: Likewise.
        * objcp-lang.c: Likewise.

From-SVN: r98530
2005-04-21 22:19:42 +00:00
Roger Sayle
dbb743654f c-common.h (objc_build_method_signature): Update prototype.
* c-common.h (objc_build_method_signature): Update prototype.
	* stub-objc.c (objc_build_method_signature): Update the stub
	implementation to accept and ignore additional parameter.
	* c-parser.c (c_parser_objc_method_decl): Reorgnize to pass
	the value of ellipsis to objc_build_method_signature instead
	of setting TREE_OVERFLOW on the parms TREE_LIST node.

	* objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing
	this field of an objc method decl.
	* objc-act.c (build_method_decl): Take an additional "ellipsis"
	argument, and set METHOD_ADD_ARGS_ELLIPSIS_P as appropriate.
	(objc_build_method_signature): Accept additional "ellipsis"
	argument and pass it to build_method_decl.
	(get_arg_type_list, start_method_def, gen_method_decl): Use
	the new METHOD_ADD_ARGS_ELLIPSIS_P instead of examining the
	TREE_OVERFLOW field of a TREE_LIST node.

From-SVN: r98528
2005-04-21 21:31:40 +00:00
Geoffrey Keating
915167f5a5 Index: ChangeLog
2005-04-21  Geoffrey Keating  <geoffk@apple.com>

	* config/rs6000/rs6000-protos.h (rs6000_emit_sync): New.
	* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Use
	gen_rtx_* not gen_rtx_fmt_*.
	(rs6000_emit_vector_select): Likewise.
	(rs6000_emit_sync): New.
	* config/rs6000/rs6000.md (GPR, INT, INT1): New mode macros.
	(larx, stcx, cmp): New mode substitutions.
	(UNSPEC_SYNC, UNSPEC_SYNC_OP, UNSPEC_SYNC_SWAP, UNSPEC_LWSYNC,
	UNSPEC_ISYNC): New constants.
	(rlwinm): Give name.
	(memory_barrier, isync, lwsync): New insns.
	(sync_compare_and_swap<mode>, sync_lock_test_and_set<mode>): New insn.
	(sync_lock_release<mode>): New expander.
	(sync_add<mode>, sync_sub<mode>, sync_ior<mode>, sync_and<mode>,
	sync_xor<mode>, sync_nand<mode>, sync_old_add<mode>,
	sync_old_sub<mode>, sync_old_ior<mode>, sync_old_and<mode>,
	sync_old_xor<mode>, sync_old_nand<mode>, sync_new_add<mode>,
	sync_new_sub<mode>, sync_new_ior<mode>, sync_new_and<mode>,
	sync_new_xor<mode>, sync_new_nand<mode>): New expanders.
	(sync_add<mode>_internal, sync_addshort_internal,
	sync_sub<mode>_internal, sync_andsi_internal, sync_anddi_internal,
	sync_boolsi_internal, sync_booldi_internal, sync_boolc<mode>_internal,
	sync_boolc<mode>_internal2, sync_boolcc<mode>_internal): New insns.

	* doc/md.texi (Standard Names): sync_compare_and_swap's operand 0
	is the memory before, not after, the operation.  Clarify
	barrier requirements.

Index: testsuite/ChangeLog
2005-04-21  Geoffrey Keating  <geoffk@apple.com>

	* lib/target-supports.exp (check_effective_target_sync_int_long):
	Add powerpc*.

From-SVN: r98527
2005-04-21 21:13:41 +00:00
Tom Tromey
8fd5bcbe95 AssertionError.java: Typo fix.
2005-04-21  Tom Tromey  <tromey@redhat.com>

	* java/lang/AssertionError.java: Typo fix.

From-SVN: r98523
2005-04-21 20:41:32 +00:00
Richard Sandiford
eb7058ce96 * gcc.target/mips/branch-1.c: New test.
From-SVN: r98522
2005-04-21 19:58:20 +00:00
Nathan Sidwell
0e61db61a0 lambda.h (lambda_vector_min_nz): Likewise.
* lambda.h (lambda_vector_min_nz): Likewise.
	* langhooks.h (struct lang_hooks_for_types,
	struct lang_hooks): Likewise.
	* output.h (assemble_integer, this_is_asm_operands): Likewise.
	* tree.h: Likewise.
	* vec.h: Likewise.
	* tree-flow-inline.h (relink_imm_use): Use gcc_assert.

	* optabs.c (prepare_cmp_insn, emit_cmp_and_jump_insns): Reword
	comments to avoid 'abort'.  Use gcc_assert as necessary.
	* opts.c (common_handle_option): Likewise.
	* pretty-print.c (pp_base_format_text): Likewise.
	* print-rtl.c (print_rtx): Likewise.
	* read-rtl.c (read_rtx_filename, read_rtx_1): Likewise.
	* regmove.c (try_auto_increment): Likewise.
	* reload.c (find_valid_class, find_reloads_toplev,
	find_equiv_reg): Likewise.
	* reload1.c (reload, forget_old_reloads_1, function_invariant_p,
	merge_assigned_reloads): Likewise.
	* tree-inline.c (inline_forbidden_p_1,
	estimate_num_insns_1): Likewise.
	* tree-optimize.c (execute_todo): Likewise.
	* tree-outof-ssa.c (eliminate_phi): Likewise.
	* tree-ssa-alias.c (add_pointed_to_expr): Likewise.
	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Likewise.
	* tree-ssa-operands.c (parse_ssa_operands,
	get_indirect_ref_operands, create_ssa_artficial_load_stmt): Likewise.
	* tree-ssa-pre.c (find_or_generate_expression): Likewise.
	* tree-ssanames.c (release_ssa_name): Likewise.
	* tree.c (int_bit_position, int_byte_position, tree_low_cst,
	walk_tree): Likewise.

	* tree-ssa-operands.c (verify_abort): Fold into ..
	(verify_imm_links): ... here.

From-SVN: r98519
2005-04-21 18:05:34 +00:00
Richard Henderson
7fc785d836 vect-85.c: Don't xfail on alpha.
* gcc.dg/vect/vect-85.c: Don't xfail on alpha.
        * gcc.dg/vect/vect-86.c: Likewise.
        * gcc.dg/vect/vect-87.c: Likewise.
        * gcc.dg/vect/vect-88.c: Likewise.

From-SVN: r98518
2005-04-21 10:51:11 -07:00
Richard Henderson
aa0f9c7329 sync.md (sync_new_nand<I48MODE>): Fix constraints on non-memory operand for previous inversion.
* config/alpha/sync.md (sync_new_nand<I48MODE>): Fix constraints
        on non-memory operand for previous inversion.

From-SVN: r98517
2005-04-21 10:48:39 -07:00
Tom Tromey
aa3241f328 VMClassLoader.java (transformException): Removed.
* java/lang/VMClassLoader.java (transformException): Removed.
	(resolveClass): No longer native.  Now does nothing.
	* java/lang/natVMClassLoader.cc (resolveClass): Removed.

From-SVN: r98516
2005-04-21 17:20:36 +00:00
Per Bothner
c1fc50476c re PR preprocessor/20907 (long comments throw off line numbers)
PR preprocessor/20907
	* line-map.c (linemap_line_start): Fix bug when we need to increse
	column_bits but can re-use the current line_map.

From-SVN: r98515
2005-04-21 10:08:27 -07:00
Devang Patel
1c28033707 tree-if-conv.c (find_phi_replacement_condition): Avoid generating x = !(a == b) : p : q;.
* tree-if-conv.c (find_phi_replacement_condition): Avoid
  generating x = !(a == b) : p : q;.
  (pass_if_conversion): Verify stmts and flow.

  * gcc.dg/tree-ssa/ifc-3.c: New test.

From-SVN: r98514
2005-04-21 10:03:23 -07:00
Nathan Sidwell
de3eb46f1f * optabs.c (gen_conditional_trap): Restore #define.
From-SVN: r98513
2005-04-21 16:56:41 +00:00
Anthony Green
ad903c6db7 re PR java/21115 (false boolean argument passed from pre-compiled to interpreted method is true)
2005-04-21  Anthony Green  <green@redhat.com>

        PR libgcj/21115
        * testsuite/libjava.special/special.exp,
        testsuite/libjava.special/pr21115I.java,
        testsuite/libjava.special/pr21115.java,
        testsuite/libjava.special/pr21115.out: New files.

From-SVN: r98511
2005-04-21 16:22:33 +00:00
Bryce McKinlay
55f9636756 gcj.texi (Object fields): Change "Integer" to "Int" in example contructor.
2005-04-21  Bryce McKinlay  <mckinlay@redhat.com>

        * gcj.texi (Object fields): Change "Integer" to "Int" in example
        contructor.

From-SVN: r98510
2005-04-21 16:49:38 +01:00
Nathan Sidwell
41806d92af alias.c (true_dependence): Remove 'abort' from comments.
* alias.c (true_dependence): Remove 'abort' from comments. Use
	gcc_assert and gcc_unreachable as appropriate.
	(canon_true_dependence): Likewise.
	* bb-reorder.c (connect_traces): Likewise.
	* c-common.c (c_add_case_label): Likewise.
	* c-decl.c (finish_function): Likewise.
	* caller-save.c (insert_restore, insert_save): Likewise.
	* cfg.c (update_bb_profile_for_threading): Likewise.
	* cfganal.c (flow_active_insn_p): Likewise.
	* cfgexpand.c (add_reg_br_prob_note): Likewise.
	* cfgrtl.c (rtl_redirect_edge_and_branch_force, rtl_split_edge,
	cfg_layout_merge_blocks): Likewise.
	* ifcvt.c (cond_exec_process_insns, merge_if_block,
	find_if_block): Likewise.
	* integrate.c (allocate_initial_values): Likewise.
	* jump.c (reverse_condition, reverse_condition_maybe_unordered,
	swap_condition, unsigned_condition, signed_condition,
	mark_jump_label, invert_jump_1, rtx_renumbered_equal_p,
	reg_or_subregno): Likewise.
	* lambda-code.c (lambda_compute_auxillary_space,
	lambda_transform_legal_p): Likewise.
	* lambda-mat.c (lambda_matrix_inverse_hard): Likewise.
	* langhooks.c (lhd_set_decl_assembler_name, lhd_type_promotes_to,
	lhd_incomplete_type_error, lhd_expand_expr,
	lhd_types_compatible_p, lhd_tree_size): Likewise.
	* lcm.c (create_pre_exit, optimize_mode_switching): Likewise.
	* local-alloc.c (update_equiv_regs): Likewise.
	* loop-unroll.c (peel_loop_completely
	unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
	peel_loop_simple, unroll_loop_stupid,
	analyze_iv_to_split_insn): Likewise.
	* loop.c (gen_prefetch, find_and_verify_loops,
	basic_induction_var): Likewise.
	* modulo-sched.c (normalize_sched_times, check_nodes_order): Likewise.
	* value-prof.c (tree_find_values_to_profile): Likewise.
	* varasm.c (named_section, default_assemble_integer,
	decode_addr_const): Likewise.

From-SVN: r98508
2005-04-21 15:47:33 +00:00
Alan Modra
ac7e839c63 Fix for latent bug in splitting arguments exposed by rs6000_arg_partial_bytes rewrite.
Fix for latent bug in splitting arguments exposed by
rs6000_arg_partial_bytes rewrite.
Oked by Richard Henderson.

Co-Authored-By: Fariborz Jahanian <fjahanian@apple.com>

From-SVN: r98507
2005-04-21 15:36:01 +00:00
Kazu Hirata
452ff12a5a cp-tree.h (THROW_NAME, [...]): Remove.
* cp-tree.h (THROW_NAME, AUTO_VTABLE_NAME, AUTO_TEMP_FORMAT,
	VTABLE_BASE, VTABLE_NAME_PREFIX, STATIC_NAME_FORMAT): Remove.

From-SVN: r98504
2005-04-21 14:01:56 +00:00
Mike Stump
44e97417bf Add me under obj-c/c++.
From-SVN: r98503
2005-04-21 13:58:59 +00:00
Kazu Hirata
dbcc9ccc94 predicates.md, sparc.md: Fix comment typos.
* config/sparc/predicates.md, config/sparc/sparc.md: Fix
	comment typos.

From-SVN: r98502
2005-04-21 13:52:29 +00:00
Jan Hubicka
b48610900e cgraphunit.c: Include tree-pass.h (cgraph_decide_recursive_inlining...
* cgraphunit.c: Include tree-pass.h
	(cgraph_decide_recursive_inlining,
	cgraph_decide_inlining_of_small_function, cgraph_set_inline_failed,
	cgraph_decide_inlining): Dump goes to dump_file.
	(cgraph_optimize): Call ipa passes instead of inliner.
	(cgraph_gate_inlining, pass_ipa_inline): New.
	* tree-optimize.c (all_ipa_passes): New static variable.
	(register_one_dump_file): Dead with IPA passes.
	(register_dump_files): Likewise.
	(init_tree_optimization_passes): Initialize IPA passes.
	(execute_todo): Do cgraph dump when asked to, do not dump function body
	for IPA pass.
	* tree-pass.h (TODO_dump_cgraph): New macro.
	(ipa_passes): Declare.
	* Makefile.in (cgraphunit.o): Add dependency on cgraphunit.h

From-SVN: r98501
2005-04-21 13:18:23 +00:00
Nathan Sidwell
d0396b7941 i386.c (type_natural_mode): Use gcc_unreachable and gcc_assert instead of abort.
* config/i386/i386.c (type_natural_mode): Use gcc_unreachable and
	gcc_assert instead of abort.
	(classify_argument, examine_argument, construct_container,
	contains_128bit_aligned_vector_p, ix86_check_movabs,
	standard_80387_constant_opcode, standard_80387_constant_rtx,
	ix86_initial_elimination_offset, ix86_compute_frame_layout,
	pro_epilogue_adjust_stack, ix86_expand_epilogue,
	ix86_address_cost, legitimate_address_p, legitimize_pic_address,
	legitimize_tls_address, output_pic_addr_const,
	i386_output_dwarf_dtprel, put_condition_code, print_reg,
	get_some_local_dynamic_name, print_operand, print_operand_address,
	output_387_binary_op, emit_i387_cw_initialization,
	output_fix_trunc, output_fp_compare, ix86_output_addr_vec_elt,
	ix86_expand_clear, ix86_expand_binary_operator,
	ix86_expand_unary_operator, ix86_match_ccmode, ix86_cc_mode,
	ix86_cc_modes_compatible, ix86_fp_comparison_codes,
	ix86_fp_comparison_arithmetics_cost, ix86_expand_fp_compare,
	ix86_expand_branch, ix86_expand_setcc,
	ix86_expand_carry_flag_compare, ix86_expand_fp_movcc,
	ix86_expand_int_addcc, ix86_split_to_parts, ix86_split_long_move,
	ix86_expand_movmem, ix86_expand_call, assign_386_stack_local,
	memory_address_length, ix86_attr_length_immediate_default,
	ix86_attr_length_address_default, ix86_agi_dependant,
	x86_initialize_trampoline, ix86_init_mmx_sse_builtins,
	ix86_expand_binop_builtin, ix86_force_to_memory,
	ix86_secondary_memory_needed, ix86_avoid_jump_misspredicts,
	x86_emit_floatuns): Likewise.
	* config/i386/netware.c (gen_regparm_prefix,
	i386_nlm_strip_name_encoding): Likewise.
	* config/i386/winnt.c (i386_pe_mark_dllexport): Likewise.

From-SVN: r98500
2005-04-21 10:25:07 +00:00
Nathan Sidwell
e3feb57152 optabs.c (gen_condiational_trap): Remove #define.
* optabs.c (gen_condiational_trap): Remove #define.
	(add_equal_note): Assertify. Remove explicit indirection from
	call via function pointer.
	(expand_ternary_op, expand_simple_binop, expand_binop,
	expand_twoval_unop, expand_twoval_binop,
	expand_twoval_binop_libfunc, expand_simple_unop expand_unop,
	emit_unop_insn,  emit_no_conflict_block,  prepare_cmp_insn,
	prepare_operand emit_cmp_and_jump_insn_1, emit_cmp_and_jump_insns,
	prepare_float_lib_cmp, emit_conditional_move,
	emit_conditional_add, gen_add2_insn, gen_add3_insn,
	have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn,
	expand_float, expand_fix, debug_optab_libfuncs, gen_cond_trap,
	vector_compare_rtx, expand_vec_cond_expr): Likewise.

From-SVN: r98499
2005-04-21 10:13:38 +00:00
Nathan Sidwell
d4e6fecb8f vec.h: Update API to separate allocation mechanism from type.
* vec.h: Update API to separate allocation mechanism from type.
	(VEC_safe_grow): New.
	* vec.c (calculate_allocation): New.
	(vec_gc_o_reserve, vec_heap_o_reserve): Adjust.
	(vec_gc_free, vec_heap_free): Remove.
	* gengtype-lex.l (DEF_VEC_): Process mult-argument macros.  Adjust.
	(VEC): Likewise.
	(mangle_macro_name): New.
	(struct macro_def): New.
	(struct macro): Add multiple argument values.
	(macro_expans_end): New.
	(push_macro_expansion):  Chain on new macro. Process multiple
	args, create follow on expansion. Return follow on argument.
	(macro_input): Deal with multiple arguments.

	* tree.h: Define VEC(tree,heap) and VEC(tree,gc).
	(struct tree_binfo): Adjust.
	* basic-block.h: Define VEC(edge,gc).
	(struct edge_def): Adjust.
	(struct basic_block_def, struct edge_iterator): Likewise.
	(ei_container, ei_start_1, ei_last_1): Likewise.
	* cfg.c (connect_src, connect_dest): Likewise.
	* cfgrtl.c (force_nonfallthru_and_redirect)
	* dbxout.c (dbxout_type)
	* dwarf2out.c (gen_member_die)
	* lambda-code.c: Define VEC(int,gc), VEC(lambda_loop,gc).
	(gcc_tree_to_linear_expression): Adjust.
	(gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
	lbv_to_gcc_expression, lle_to_gcc_expression,
	lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
	perfect_nestify): Likewise.
	* lambda.h (gcc_loopnest_to_lambda_loopnest,
	lambda_loopnest_to_gcc_loopnest): Adjust prototypes.
	* profile.c (instrument_values): Adjust.
	* tree-cfg.c (modified_noreturn_calls): Adjust.
	(remove_fallthru_edge): Likewise.
	* tree-dump.c (dequeue_and_dump): Adjust.
	* tree-flow-inline.h (mark_stmt_modified): Adjust.
	* tree-flow.h (modified_noreturn_calls): Adjust.
	(tree_on_heap): Remove. (yay!)
	(register_new_def): Adjust.
	* tree-into-ssa.c: Define VEC(int,heap).
	(block_defs_stack): Adjust.
	(find_idf, insert_phi_nodes, register_new_def,
	rewrite_initialize_block, rewrite_finalize_block,
	register_new_update_single, rewrite_update_init_block,
	rewrite_update_fini_block, rewrite_blocks,
	ssa_rewrite_finalize_block, ssa_register_new_def,
	ssa_rewrite_initialize_block, rewrite_ssa_into_ssa): Likewise.
	* tree-loop-linear.c (linear_transform_loops): Adjust.
	* tree-ssa-alias.c: Define VEC(fieldoff_t,heap).
	(push_fields_onto_fieldstack, create_overlap_variables_for): Adjust.
	* tree-ssa-dom.c (avail_exprs_stack, block_defs_stack,
	stmts_to_rescan, const_and_copies_stack, nonzero_vars_stack,
	vrp_variables_stack): Adjust declarations.
	(tree_ssa_dominator_optimize): Adjust.
	(dom_opt_initialize_block, remove_local_expressions_from_table,
	restore_nonzero_vars_to_original_value,
	restore_vars_to_original_value,
	restore_currdefs_to_original_value, dom_opt_finalize_block,
	record_var_is_nonzero, record_cond, record_const_or_copy_1,
	optimize_stmt, update_rhs_and_lookup_avail_expr,
	lookup_avail_expr, record_range): Likewise.
	* tree-ssa-pre.c: Define VEC(basic_block,heap).
	(compute_antic_aux): Adjust.
	(inserted_exprs, create_expression_by_pieces,
	insert_into_preds_of_block, eliminate, mark_operand_necessary,
	remove_dead_inserted_code, fini_pre): Likewise.
	* tree-ssa-propagate.c (interesting_ssa_edges): Adjust.
	(varying_ssa_edges, add_ssa_edge, process_ssa_edge_worklist.
	ssa_prop_init): Likewise.
	* tree-ssa.c: Define VEC(bitmap,heap).
	(verify_name_tags): Adjust.
	* value-prof.c (rtl_divmod_values_to_profile): Adjust.
	(insn_prefetch_values_to_profile, rtl_find_values_to_profile,
	tree_divmod_values_to_profile, tree_find_values_to_profile,
	value_profile_transformations): Likewise.
	* value-prof.h: Define VEC(histogram_value,heap).
	* varasm.c: Remove alias_pair pointer typedef, define
	VEC(alias_pair,gc).
	(finish_aliases_1, finish_aliases_2, assemble_alias): Adjust.

	* config/pa/pa.c (typedef extern_symbol): Typedef the structure,
	not a pointer to it.  Create an object vector.
	(extern_symbols): Turn into an object vector.
	(pa_hpux_asm_output_external, pa_hpux_file_end): Adjust.

	* cp/cp-tree.h: Adjust for new VEC API.
	Define VEC(tree_pair_s,gc).
	(struct save_scope): Adjust.
	(struct lang_type_class): Adjust.
	(unemitted_tinfo_decls): Adjust.
	* cp/class.c (add_method, resort_type_method_vec,
	finish_struct_methods, struct find_final_overrider_data,
	dfs_find_final_overrider_pre, find_final_overrider,
	get_vcall_index, warn_hidden, walk_subobject_offsets,
	check_methods, fixup_inline_methods, end_of_class,
	warn_about_ambiguous_bases, finish_struct, build_vtbl_initializer,
	add_vcall_offset): Adjust.
	* cp/decl.c (xref_basetypes, finish_method): Adjust.
	* cp/decl2.c (check_classfn): Adjust.
	* cp/init.c (sort_mem_initializers, push_base_cleanups): Adjust.
	* cp/method.c (do_build_copy_constructor): Adjust.
	* cp/name-lookup.c (new_class_binding, store_binding,
	store_bindings, store_class_bindings): Adjust.
	* cp/name-lookup.h: Define VEC(cxx_saved_binding,gc),
	VEC(cp_class_binding,gc).
	(struct cp_binding_level): Adjust.
	* cp/parser.c: Define VEC(cp_token_position,heap).
	(struct cp_lexer): Adjust.
	(cp_lexer_new_main, cp_lexer_new_from_tokens, cp_lexer_destroy,
	cp_lexer_save_tokens): Adjust.
	* cp/pt.c (retrieve_specialization,
	check_explicit_specialization): Adjust.
	* cp/rtti.c (unemitted_tinfo_decls): Adjust.
	(init_rtti_processing, get_tinfo_decl, get_pseudo_ti_init,
	get_pseudo_ti_desc): Adjust.
	* cp/search.c (dfs_access_in_type, lookup_conversion_operator,
	lookup_fnfields_1, dfs_walk_once, dfs_walk_once_accessible,
	dfs_get_pure_virtuals, lookup_conversions_r, binfo_for_vbase): Adjust.
	* cp/semantics.c: Define VEC(deferred_access,gc).
	(push_deferring_access_checks): Adjust.
	* cp/typeck2.c (abstract_virtuals_error): Adjust.

From-SVN: r98498
2005-04-21 09:18:28 +00:00
Sebastian Pop
2412d35ca6 Makefile.in (tree-chrec.o): Depend on params.h.
PR/20742
	* Makefile.in (tree-chrec.o): Depend on params.h.
	* params.def (PARAM_SCEV_MAX_EXPR_SIZE): New parameter with
	default value 20.
	* tree-chrec.c: Depend on params.h.  Replace build with buildN,
	and fold build with fold_buildN.
	(chrec_fold_plus_1): Fail with a chrec_don_know when the size of
	the expression exceeds PARAM_SCEV_MAX_EXPR_SIZE.
	(tree_contains_chrecs): Compute an estimation of the size of the
	given expression.
	* tree-chrec.h (tree_contains_chrecs): Modify its declaration.
	(tree_does_not_contain_chrecs): Update the use of tree_contains_chrecs.
	* tree-scalar-evolution.c (simple_iv): Ditto.
	* doc/invoke.texi (scev-max-expr-size): Documented.

From-SVN: r98497
2005-04-21 08:48:55 +00:00
Eric Botcazou
e6db622515 Revert unrelated changes from latest commit.
From-SVN: r98496
2005-04-21 08:34:22 +00:00
Richard Sandiford
6ac4959912 config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
	(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
	(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
	(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
	(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
	(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
	* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
	(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
	* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
	(darwin_fix_and_continue_switch): Delete.
	* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
	(SUBTARGET_SWITCHES): Delete.
	* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
	(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
	(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
	(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
	(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
	(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
	(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
	(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
	(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
	(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
	(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
	(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
	(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
	(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
	(TARGET_64BIT): Undef before redefining.
	(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
	(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
	(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
	(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
	(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
	(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
	(ix86_asm_string, ix86_regparm, ix86_regparm_string)
	(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
	(ix86_debug_arg_string, ix86_debug_addr_string)
	(ix86_align_loops_string, ix86_align_jumps_string)
	(ix86_align_funcs_string): Delete.
	* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
	(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
	* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
	(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
	* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
	* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
	(SUBTARGET_SWITCHES): Delete.
	* config/i386/i386.c (ix86_debug_arg_string): Delete.
	(ix86_debug_addr_string): Delete.
	(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
	(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
	(ix86_align_loops_string, ix86_align_jumps_string)
	(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
	(ix86_align_funcs_string): Make static.
	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
	(ix86_handle_option): New function.
	(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
	(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
	of darwin_fix_and_continue_switch.
	(darwin_one_byte_bool): Delete.
	* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
	* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
	to darwin_one_byte_bool.
	* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
	* config/i386/djgpp.opt, config/i386/i386.opt,
	* config/i386/sco5.opt: New files.

From-SVN: r98495
2005-04-21 07:35:09 +00:00
Eric Botcazou
0e5d569cd5 sparc.c (reg_or_0_operand, [...]): Delete.
* config/sparc/sparc.c (reg_or_0_operand, const1_operand,
	fp_zero_operand, fp_register_operand, intreg_operand,
	fcc_reg_operand, fcc0_reg_operand, icc_or_fcc_reg_operand,
	call_operand, call_operand_address, tgd_symbolic_operand,
	tld_symbolic_operand, tie_symbolic_operand, tle_symbolic_operand,
	symbolic_operand, symbolic_memory_operand, label_ref_operand,
	sp64_medium_pic_operand, data_segment_operand,
	text_segment_operand, splittable_symbolic_memory_operand,
	reg_or_nonsymb_mem_operand, splittable_immediate_memory_operand,
	eq_or_neq, normal_comp_operator, noov_compare_op,
	noov_compare64_op, v9_regcmp_op, extend_op, cc_arithop,
	cc_arithopn, arith_operand, arith_4096_operand, arith_add_operand,
	const64_operand, const64_high_operand, arith11_operand,
	arith10_operand, arith_double_operand, arith_double_4096_operand,
	arith_double_add_operand, arith11_double_operand,
	arith10_double_operand, small_int, small_int_or_double,
	uns_small_int, uns_arith_operand, clobbered_register,
	input_operand, compare_operand): Delete.
	(sparc_emit_set_const32): Use predicates in assertion.  Remove special
	code for TARGET_ARCH64 && HOST_BITS_PER_WIDE_INT != 64.
	(sparc_emit_set_const64): Call gcc_unreachable if H_B_P_W_I == 32.
	(GEN_HIGHINT64, GEN_INT64): Delete.
	(sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
	gen_safe_XOR64): Adjust for above deletion.
	(sparc_emit_set_const64): Support only H_B_P_W_I == 64 and CONST_INTs.
	Use 'unsigned HOST_WIDE_INT' instead of 'long' for bitmask.
	(legitimate_constant_p): Use const_zero_operand instead.
	(sparc_extra_constraint_check): Likewise.
	* config/sparc/sparc.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'O'.
	(PREFERRED_RELOAD_CLASS): Use const_zero_operand.
	(PREDICATE_CODES): Delete.
	* config/sparc/sparc.md: Include predicates.md.
	(All patterns): Adjust for new predicate names.
	(cmpdi, cmpdi_sp64): Use arith_operand predicate.
	(movhi_const64_special, movsi_const64_special): Add 'K' constraint.
	(movdi): Use general_operand predicate.
	(movdi_sp64_dbl): Delete.
	(movdi_const64_special): Add 'N' constraint.
	(movdicc): Use arith10_operand predicate.
	(movdi_cc_sp64, movdi_cc_sp64_trunc): Use arith11_operand predicate.
	(movdi_cc_reg_sp64): Use arith10_operand predicate.
	(movdi_cc_reg_sp64_trunc): Delete.
	(cmp_zero_extract, cmp_zero_extract_sp64): Use small_int_operand.
	(adddi3_insn_sp32, addx, cmp_cc_plus, cmp_ccx_plus, cmp_cc_plus_set,
	cmp_ccx_plus_set): Use register_operand predicate.
	(adddi3_sp64, cmp_ccx_plus_set): Use arith_operand predicate.
	(subdi3_sp32): Delete.
	(subdi3_insn_sp32): Change to define_insn_and_split.
	(subdi3_sp64, cmp_minus_ccx, cmp_minus_ccx_set): Use arith_operand.
	(muldi3, muldi3_sp64, muldi3_v8plus): Likewise.
	(smulsi3_highpart_v8plus, const_smulsi3_highpart_v8plus,
	umulsi3_highpart_v8plus, const_umulsi3_highpart_v8plus): Use
	small_int_operand predicate.
	(divdi3, udivdi3): Use arith_operand predicate.
	(udivsi3, udivsi3_sp32, udivsi3_sp64): Use nonimmediate_operand.
	(and<V64I>3_sp64, ior<V64I>3_sp64, xor<V64I:mode>3_sp64,
	xor_not_<V64I:mode>_sp64) : Use arith_operand predicate.
	(xordi3_sp64_dbl): Delete.
	(cmp_ccx_arith_op, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
	cmp_ccx_xor_not_set, cmp_ccx_arith_op_not, cmp_ccx_arith_op_not_set,
	cmp_ccx_neg, cmp_ccx_set_neg, one_cmpl<V64I>2_sp64, cmp_ccx_not,
	cmp_ccx_set_not): Use arith_operand predicate.
	(ashrsi3_extend2, lshrsi3_extend2 et al.): Use small_int_operand.
	* config/sparc/predicates.md: New file.

From-SVN: r98494
2005-04-21 06:37:52 +00:00
Chris Burdess
b9850b3d44 CRLFInputStream.java: Rewrite to return CRLF-delimited chunks.
2005-04-21  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/CRLFInputStream.java: Rewrite to return
	CRLF-delimited chunks.

From-SVN: r98493
2005-04-21 06:17:03 +00:00
Mark Mitchell
d3e53108dd check_allocate_max_size.cpp: Add explicit instantiations for systems without weak symbols.
* testsuite/ext/bitmap_allocator/check_allocate_max_size.cpp: Add
	explicit instantiations for systems without weak symbols.
	* testsuite/ext/bitmap_allocator/check_deallocate_null.cc:
	Likewise.

From-SVN: r98486
2005-04-21 04:21:51 +00:00
Kazu Hirata
a94400fda3 re PR tree-optimization/14846 ([tree-ssa] don't use a shift in A & CST_POWER_OF_2 == 0 until very late in tree-ssa optimizations)
PR tree-optimization/14846
	* fold-const.c (fold_single_bit_test_into_sign_test): New,
	split out from ...
	(fold_single_bit_test): ... here.
	(fold_binary): Call fold_single_bit_test_into_sign_test
	instead of fold_single_bit_test.

From-SVN: r98482
2005-04-21 00:39:22 +00:00
Bryce McKinlay
fcda200251 gcj.texi: Fix typos and bogus example.
2005-04-20  Bryce McKinlay  <mckinlay@redhat.com>

   * gcj.texi: Fix typos and bogus example.

From-SVN: r98478
2005-04-21 01:22:54 +01:00
GCC Administrator
ed187ee15b Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r98476.2
2005-04-21 00:17:40 +00:00
Jim Wilson
4424eb9148 Avoid emitting bogus debug info that confuses gdb.
PR c++/20805
* dwarf2out.c (gen_variable_die): Don't emit a specification if this
is another declaration.

From-SVN: r98473
2005-04-20 17:06:34 -07:00
Jim Wilson
78ecf64c1b Avoid emitting bogus debug info that confuses gdb.
PR c++/20805
* dwarf2out.c (gen_variable_die): Don't emit a specification if this
is another declaration.

From-SVN: r98472
2005-04-20 16:50:57 -07:00
Hans-Peter Nilsson
68a813322b predicates.md: New file.
* config/cris/predicates.md: New file.
	* config/cris/cris-protos.h (cris_store_multiple_op_p)
	(cris_movem_load_rest_p): Declare.
	* config/cris/cris.c (cris_store_multiple_op): Return bool, not int.
	(cris_movem_load_rest_p): Ditto.  Globalize.
	(cris_bdap_operand, cris_bdap_biap_operand,
	cris_orthogonal_operator, cris_commutative_orth_op,
	cris_operand_extend_operator,
	cris_additive_operand_extend_operator, cris_extend_operator,
	cris_plus_or_bound_operator, cris_mem_op,
	cris_general_operand_or_symbol,
	cris_general_operand_or_gotless_symbol,
	cris_general_operand_or_plt_symbol, cris_mem_call_operand,
	cris_load_multiple_op): Remove predicate functions.
	(cris_symbol, cris_gotless_symbol) <case UNSPEC>: Return 0, don't
	abort, for UNSPECs other than CRIS_UNSPEC_PLT.
	* config/cris/cris.h (PREDICATE_CODES): Don't define.
	* config/cris/cris.md: Include predicates.md.
	("call", "call_value"): Generate CONSTs of Pmode, not VOIDmode.

From-SVN: r98471
2005-04-20 22:31:30 +00:00
Ian Lance Taylor
c3e5898be3 c-common.def: Remove STMT_EXPR (moved to cp/cp-tree.def).
./	* c-common.def: Remove STMT_EXPR (moved to cp/cp-tree.def).
	* c-common.h (STMT_EXPR_STMT): Don't define.
	(STMT_EXPR_NO_SCOPE): Don't define.
	* c-dump.c (c_dump_tree): Don't handle STMT_EXPR.
	* c-pretty-print.c (pp_c_primary_expression): Likewise.
	(pp_c_expression): Likewise.
cp/
	* cp-tree.def: Add STMT_EXPR.
	* cp-tree.h (STMT_EXPR_NO_SCOPE): Define.
	(STMT_EXPR_STMT): Define.
	* cxx-pretty-print.c (pp_cxx_primary_expression): Handle
	STMT_EXPR.
	(pp_cxx_expression): Likewise.
	(pp_cxx_statement): Call pp_cxx_statement, not pp_statement.
	* dump.c (cp_dump_tree): Handle STMT_EXPR.

From-SVN: r98469
2005-04-20 19:59:16 +00:00