Commit Graph

62714 Commits

Author SHA1 Message Date
Hans-Peter Nilsson 9524880c99 cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb, don't inspect BLOCK_FOR_INSN for barriers.
* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
	don't inspect BLOCK_FOR_INSN for barriers.
	* emit-rtl.c (emit_barrier_before): Revert last change.
	(emit_barrier_after, emit_barrier): Ditto.

From-SVN: r89308
2004-10-20 00:23:16 +00:00
GCC Administrator a47498de53 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r89306.2
2004-10-20 00:16:22 +00:00
GCC Administrator 5385ca4f55 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r89305.2
2004-10-20 00:16:16 +00:00
Mark Mitchell 33c25e5c5a call.c (struct conversion): Add base_p.
* call.c (struct conversion): Add base_p.
	(convert_like): Add c_cast_p argument.
	(convert_like_with_conversion): Likewise.
	(build_conv): Clear base_p.
	(standard_conversion): Set it, for derived-to-base conversions.
	(convert_like_real): Add c_cast_p parameter.  Handle pointer
	conversions directly rather than relying on ocp_convert.
	(perform_direct_initialization_if_possible): Add c_cast_p
	parameter.
	* cp-tree.h (perform_direct_initialization_if_possible): Change
	prototype.
	(convert_member_func_to_ptr): New function.
	* typeck.c (check_for_casting_away_constness): Add diag_fn
	parameter.
	(build_static_cast_1): New function, split out from ...
	(build_static_cast): ... here.  Use build_static_cast_1.
	(build_reinterpret_cast_1): New function, split out from ...
	(build_reinterpret_cast): ... here.  Use build_reinterpret_cast_1.
	(build_const_cast_1): New function, split out from ...
	(build_const_cast): ... here.  Use build_const_cast_1.
	(build_c_cast): Rewrite to use build_const_cast_1,
	build_static_cast_1, and build_reinterpret_cast_1.
	(convert_member_func_to_ptr): New function.

	* g++.dg/conversion/reinterpret1.C: Adjust error markers.
	* g++.dg/conversion/const2.C: New test.
	* g++.dg/expr/reinterpret2.C: New test.
	* g++.dg/expr/reinterpret3.C: New test.
	* g++.dg/expr/cast2.C: New test.
	* g++.dg/expr/copy1.C: New test.
	* g++.dg/other/conversion1.C: Change error message.
	* g++.dg/parse/comma1.C: Use __extension__ to allow casts from
	function pointers to void *.
	* g++.old-deja/g++.mike/p10148.C: Likewise.

From-SVN: r89300
2004-10-19 23:24:20 +00:00
Hans-Peter Nilsson b55d574602 extend.texi (Extended Asm): Warn and provide example solution for using a call-clobbered asm register.
* doc/extend.texi (Extended Asm): Warn and provide example
	solution for using a call-clobbered asm register.
	(Local Reg Vars): Similar.  Cross-reference example.

From-SVN: r89299
2004-10-19 23:17:06 +00:00
R. Kelley Cook 9a7ac51154 CRLF fixup
From-SVN: r89297
2004-10-19 22:00:48 +00:00
Eric Botcazou a574786357 * gcc.dg/smod-1.c: Pass -mtune=i486 only on x86.
From-SVN: r89289
2004-10-19 20:57:30 +00:00
Andrew Pinski d717e50058 tree-cfg.c (group_case_labels): Look at the second to last case statement for combing with the default case.
2004-10-19  Andrew Pinski  <pinskia@physics.uc.edu>

        * tree-cfg.c (group_case_labels): Look at the second to last
        case statement for combing with the default case.

From-SVN: r89288
2004-10-19 13:52:22 -07:00
Richard Henderson 3af51af7a1 Testcase for PR 17962.
From-SVN: r89285
2004-10-19 12:21:41 -07:00
Richard Henderson e4ca3dc393 re PR target/17962 (small fp vector uses sse/mmx vectors and is not aligned)
PR 17962
        * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.

From-SVN: r89284
2004-10-19 12:15:31 -07:00
Ulrich Weigand e5fa845c7b gc_priv.h (GC_generic_malloc_words_small_inner): Add prototype.
* include/private/gc_priv.h (GC_generic_malloc_words_small_inner):
	Add prototype.

From-SVN: r89283
2004-10-19 17:47:54 +00:00
Richard Henderson 953312a85a builtins.c (expand_builtin_memmove): If fold_builtin_memmove succeeds, only expand the result.
* builtins.c (expand_builtin_memmove): If fold_builtin_memmove
        succeeds, only expand the result.

From-SVN: r89282
2004-10-19 10:43:31 -07:00
Richard Henderson a8afd3ac14 re PR middle-end/17885 (gimplifing of volatile &a->)
PR middle-end/17885
        * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
        of INDIRECT_REF.

From-SVN: r89280
2004-10-19 10:24:46 -07:00
Kazu Hirata e61d7b781e tree-cfg.c (thread_jumps): Use a do-while loop instead of a loop with goto.
* tree-cfg.c (thread_jumps): Use a do-while loop instead of a
	loop with goto.

From-SVN: r89276
2004-10-19 15:38:25 +00:00
Kazu Hirata e836a5a26a expr.c (expand_assignment): Remove the last argument.
* expr.c (expand_assignment): Remove the last argument.
	Change the return type to void.
	* expr.h: Update the prototype of expand_assignment.
	* function.c (assign_parm_setup_reg): Update a call to
	expand_assignment.
	* stmt.c (expand_asm_expr): Likewise.

From-SVN: r89275
2004-10-19 14:43:56 +00:00
Kazu Hirata 88e9994a46 MAINTAINERS: Remove from Write After Approval those that are already maintainers.
* MAINTAINERS: Remove from Write After Approval those that are
	already maintainers.

From-SVN: r89274
2004-10-19 13:13:35 +00:00
Kazu Hirata 7f8adc4e06 expr.c (expand_expr_real_1): Remove unnecessary assignments to temp.
* expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
	unnecessary assignments to temp.  Return const0_rtx.

From-SVN: r89273
2004-10-19 12:51:05 +00:00
Paolo Bonzini 6947512352 re PR c++/18047 (Wrong precedence between equality (==, !=) and < operators)
2004-10-19  Paolo Bonzini  <bonzini@gnu.org>

	PR c++/18047
	* parser.c (enum cp_parser_prec): Give relational expressions
	a higher precedence than equality expressions.

2004-10-19  Paolo Bonzini  <bonzini@gnu.org>

	PR c++/18047

	* g++.dg/parse/expr3.C: New test.

From-SVN: r89272
2004-10-19 12:40:31 +00:00
Kaz Kojima f94cef0a66 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
From-SVN: r89271
2004-10-19 11:05:34 +00:00
Sebastian Pop ad02a94436 * MAINTAINERS: Update my email address.
From-SVN: r89270
2004-10-19 09:27:04 +00:00
Paolo Carlini b67ed5e845 list_sort_search.cc: Include <ext/new_allocator.h>.
2004-10-19  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/20_util/allocator/list_sort_search.cc:
	Include <ext/new_allocator.h>.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.

From-SVN: r89269
2004-10-19 08:56:32 +00:00
Kelley Cook 4c67db1411 configure.ac (powerpc-*-darwin*): Require assembler to support .machine directive.
2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.ac (powerpc-*-darwin*): Require assembler to support
	.machine directive.
	* configure: Regenerate.

From-SVN: r89264
2004-10-19 00:21:03 +00:00
GCC Administrator df484c6bbc Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r89262.2
2004-10-19 00:16:15 +00:00
GCC Administrator 772024bf45 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r89261.2
2004-10-19 00:16:11 +00:00
Kazu Hirata 193d7268a8 sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting the currently visited word to right.
* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
	the currently visited word to right.

From-SVN: r89259
2004-10-18 23:56:18 +00:00
Kazu Hirata 00268eb387 reload1.c (ior_hard_reg_set): Remove.
* reload1.c (ior_hard_reg_set): Remove.
	(finish_spills): Use IOR_HARD_REG_SET instead of
	ior_hard_reg_set.

From-SVN: r89258
2004-10-18 23:54:36 +00:00
Kazu Hirata 26ebd00db3 sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting the currently visited word to right.
* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
	the currently visited word to right.

From-SVN: r89257
2004-10-18 23:51:07 +00:00
Kaz Kojima e0d3b4528f ffi.c (ffi_prep_closure): Set T bit in trampoline for the function returning a structure pointed with R2.
* src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
	the function returning a structure pointed with R2.
	* src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
	the structure return value if T bit set.  Emit position
	independent code and EH data if PIC.

From-SVN: r89254
2004-10-18 23:12:20 +00:00
Eric Botcazou 6e7a355c16 re PR middle-end/18045 (signed integer remainder for power of 2 broken)
PR middle-end/18045
	* expmed.c (expand_smod_pow2): Handle modes whose size
	is greater than that of HOST_WIDE_INT.

From-SVN: r89253
2004-10-18 22:45:01 +00:00
Ziemowit Laski d4de696663 c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
[gcc/ChangeLog]
2004-10-18  Ziemowit Laski  <zlaski@apple.com>

        * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.

[gcc/testsuite/ChangeLog]
2004-10-18  Ziemowit Laski  <zlaski@apple.com>

        * objc.dg/method-14.m: New test.

From-SVN: r89252
2004-10-18 22:28:09 +00:00
Eric Botcazou a494ed43ab re PR middle-end/17813 (ada bootstrap failure on i486-linux)
PR middle-end/17813
	* dojump.c (discard_pending_stack_adjust): New function.
	(clear_pending_stack_adjust): Call it.
	* expr.h (discard_pending_stack_adjust): Declare it.
	* explow.c (emit_stack_save): Emit pending stack adjustments
	before saving the stack pointer.
	(emit_stack_restore): Discard pending stack adjustments before
	restoring the stack pointer.

Co-Authored-By: Roger Sayle <roger@eyesopen.com>

From-SVN: r89251
2004-10-18 22:06:36 +00:00
Andrew Pinski 829acd784a pr17529.c: Fix test for non x86.
2004-10-18  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.c-torture/compile/pr17529.c: Fix test for non x86.
        Also xfail as the patch was reverted.

From-SVN: r89249
2004-10-18 15:03:15 -07:00
Richard Henderson a2d366026e c-common.c (handle_mode_attribute): Allow scalar->vector type changes yet.
* c-common.c (handle_mode_attribute): Allow scalar->vector
        type changes yet.

From-SVN: r89248
2004-10-18 15:01:51 -07:00
Andrew Pinski 135a488f23 Fix typo.
From-SVN: r89247
2004-10-18 14:54:11 -07:00
Matthias Klose 95e1958054 * gnatvsn.ads: Set gnat library version to 4.0.
From-SVN: r89246
2004-10-18 21:47:21 +00:00
Kazu Hirata df9af2bb6b expr.c (expand_expr_real_1): Don't request a value to expand_assignment.
* expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
	value to expand_assignment.

From-SVN: r89245
2004-10-18 21:18:23 +00:00
Kazu Hirata ab51c2f00c tree-cfg.c (cleanup_tree_cfg): Don't iterate on thread_jumps.
* tree-cfg.c (cleanup_tree_cfg): Don't iterate on
	thread_jumps.
	(thread_jumps): Iterate until no new forwarder block arises.

From-SVN: r89244
2004-10-18 21:16:53 +00:00
Kazu Hirata 78b6731db8 tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
* tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
	(thread_jumps): Use forwardable as cache of
	tree_forwarder_block_p throughout the function.

From-SVN: r89243
2004-10-18 21:14:34 +00:00
Andreas Krebbel 320b0f6a1e cfg.c (dump_flow_info): Remove redundant dump of reg life info.
2004-10-18  Andreas Krebbel  <krebbel1@de.ibm.com>

	* cfg.c (dump_flow_info): Remove redundant dump of reg life info.

From-SVN: r89240
2004-10-18 19:58:01 +00:00
Andrew Pinski c2f55a1baa re PR middle-end/16973 (Differences between addresses of labels broken)
2004-10-18  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/16973
        * gcc.dg/pr16973.c: New test.

From-SVN: r89238
2004-10-18 12:38:47 -07:00
Andrew Pinski 775689606a re PR middle-end/15014 (labels after are removed even though they are used)
2004-10-18  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/15014
        PR middle-end/16973
        * tree-cfg.c (remove_bb): If we have a label expression in the
        basic block and the label we have taken the address, move the
        label expression to the basic block which is previous in the
        linked list.
        (tree_verify_flow_info): Fix printing out the label name of the
        problematic label expression.

From-SVN: r89237
2004-10-18 12:29:52 -07:00
David Edelsohn b1c79b464f Note PR rtl-optimization/18002.
From-SVN: r89236
2004-10-18 14:47:38 -04:00
Pat Haugen b757b9f8b2 simplify-rtx.c (mode_signbit_p): Externalize function...
2004-10-18  Pat Haugen  <pthaugen@us.ibm.com>

        * simplify-rtx.c (mode_signbit_p): Externalize function...
        * rtl.h (mode_signbit_p): ... to here.
        * combine.c (simplify_shift_const): Recognize PLUS signbit as
        canonical form of XOR signbit and move to outer op.

From-SVN: r89235
2004-10-18 14:46:06 -04:00
Diego Novillo 1a1804c270 tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
* tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
	Update all callers.
	* tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
	Don't call fold_stmt more than once, use bsi_replace.

From-SVN: r89234
2004-10-18 14:01:10 -04:00
Diego Novillo bca9e17b5a re PR tree-optimization/17656 (internal compiler error: in replace_immediate_uses, at tree-ssa.c:1041)
PR tree-optimization/17656
	* tree-ssa.c (replace_immediate_uses): When replacing a
	constant, if the call to fold_stmt produced a different
	statement, get an appropriate statement pointer by scanning
	STMT's basic block.

	PR tree-optimization/17656
	* testsuite/gcc.c-torture/compile/pr17656.c: New test.

From-SVN: r89233
2004-10-18 13:39:47 -04:00
Nathan Sidwell 18e4be8561 cp-tree.h (UNIQUELY_DERIVED_FROM_P): Adjust lookup_base call.
cp:
	* cp-tree.h (UNIQUELY_DERIVED_FROM_P): Adjust lookup_base call.
	(ACCESSIBLY_UNIQUELY_DERIVED_P): Remove.
	(PUBLICLY_UNIQUELY_DERIVED_P): Adjust lookup_base call.
	(enum base_access): Reorganize.
	(accessible_base_p, accessible_p): Add consider_local_p parameter.
	* call.c (standard_conversion): Update comment about
	DERIVED_FROM_P.
	(enforce_access): Adjust accessible_p call.
	(build_over_call): Adjust accessible_base_p call.
	* class.c (convert_to_base): Adjust lookup_base call.
	(build_vtbl_ref_1): Likewise.
	(warn_about_ambiguous_bases): Likewise. Add early exit.
	* cvt.c (convert_to_pointer_force) Adjust lookup_base call.
	* search.c (accessible_base_p): Add consider_local_p parameter.
	(lookup_base): Pass consider_local_p to accessible_base_p call.
	(friend_accessible_p): Check whether scope is a class member.
	Remove unnecessary class template check.
	(accessible_p): Add consider_local_p parameter. Use it.
	(adjust_result_of_qualified_name_lookup): Adjust lookup_base call.
	* tree.c (maybe_dummy_object): Likewise.
	* typeck.c (comp_except_type): Use PUBLICLY_UNIQUELY_DERIVED_P.
	(build_class_member_access_expr): Adjust lookup_base call.
	* typeck2.c (binfo_or_else): Likewise.
	* rtti.c (build_dynamic_cast_1): Access can consider friendship
	and current scope.
testsuite:
	* g++.dg/eh/shadow1.C: New.

From-SVN: r89232
2004-10-18 17:21:36 +00:00
Richard Henderson b499264121 * pointer-set.c (hash1): Don't use libm functions in fallback case.
From-SVN: r89231
2004-10-18 09:44:50 -07:00
H.J. Lu f072a5c8aa Correct date.
From-SVN: r89229
2004-10-18 09:06:10 -07:00
H.J. Lu 3b415018d3 re PR bootstrap/17684 (/usr/ccs/bin/ld: Can't create libgcc_s.sl)
2004-11-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/17684
	* Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
	(stage1-start): Remove and copy libunwind.a and
	libunwind*$(SHLIB_EXT) instead of libunwind*.
	(stage2-start): Likewise.
	(stage3-start): Likewise.
	(stage4-start): Likewise.
	(stageprofile-start): Likewise.
	(stagefeedback-start): Likewise.

	* config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
	the shared library to be created and don't remove the existing
	shared library.
	* config/arm/t-netbsd (SHLIB_LINK): Likewise.
	* config/i386/t-nwld (SHLIB_LINK): Likewise.
	* config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
	* config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
	* config/sh/t-linux (SHLIB_LINK): Likewise.
	* config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
	* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
	* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
	* config/t-slibgcc-sld (SHLIB_LINK): Likewise.

	* mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
	files.

From-SVN: r89227
2004-10-18 08:52:51 -07:00
Kazu Hirata a204196782 basic-block.h (reg_set_iterator): New.
* basic-block.h (reg_set_iterator): New.
	(EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
	(EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
	(EXECUTE_IF_AND_IN_REG_SET): Likewise.
	* caller-save.c (save_call_clobbered_regs): Adjust to the new
	style.
	* cfgcleanup.c (thread_jump): Likewise.
	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
	* conflict.c (conflict_graph_compute): Likewise.
	* flow.c (verify_local_live_at_start, update_life_info,
	initialize_uninitialized_subregs, propagate_one_insn,
	init_propagate_block_info, free_propagate_block_info,
	propagate_block, dump_regset): Likewise.
	* global.c (global_conflicts): Likewise.
	* graph.c (start_bb): Likewise.
	* local-alloc.c (update_equiv_regs): Likewise.
	* loop.c (load_mems): Likewise.
	* reload1.c (compute_use_by_pseudos, order_regs_for_reload,
	find_reg, finish_spills): Likewise.
	* resource.c (mark_target_live_regs): Likewise.
	* sched-deps.c (sched_analyze_insn): Likewise.
	* sched-rgn.c (sched-rgn.c): Likewise.
	* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.

From-SVN: r89226
2004-10-18 15:11:31 +00:00