Commit Graph

41673 Commits

Author SHA1 Message Date
Richard Earnshaw
3a4edb4417 re PR target/5170 (Supicious code in arm.md)
PR target/5170
* arm.md (split pattern for thumb shiftable immediates): Add comment
explaining non-obvious test.

From-SVN: r50814
2002-03-15 17:06:58 +00:00
Richard Earnshaw
32defa36b0 re PR target/5712 ([ARM] bad ADR generated)
PR target/5712
* arm.md (movaddr, movaddr_insn): Delete.

From-SVN: r50809
2002-03-15 16:32:26 +00:00
Paolo Carlini
53723190aa 2002-03-15 Paolo Carlini <pcarlini@unitus.it>
* testsuite/22_locale/collate_members_char.cc
	(test01): compare the result of collate::compare with
	that of collate::transform + string::compare, not with
	that of collate::transform + collate::compare.
	(test01): values returned by collate::compare are
	normalized, therefore test against +-1.
	* testsuite/22_locale/collate_members_wchar_t.cc: Ditto.

From-SVN: r50808
2002-03-15 16:05:56 +00:00
Jason Merrill
190f491640 relocate tests to appropriate directories
From-SVN: r50806
2002-03-15 06:07:04 -05:00
Jason Merrill
81a60e6ca0 add comments
From-SVN: r50805
2002-03-15 05:18:21 -05:00
Jason Merrill
98ef4163bc fix comment typo
From-SVN: r50804
2002-03-15 05:17:16 -05:00
Jason Merrill
5cc90635da toplev.c (wrapup_global_declarations): Clarify variable handling.
* toplev.c (wrapup_global_declarations): Clarify variable handling.
        -fkeep-static-consts doesn't apply to comdats.

cp/
        * decl.c (make_rtl_for_nonlocal_decl): Also defer COMDAT
        variables.
        * decl2.c (maybe_make_one_only): Also mark the decl as needed.

From-SVN: r50802
2002-03-15 04:54:42 -05:00
GCC Administrator
0f9b56dcb2 Daily bump.
From-SVN: r50801
2002-03-15 08:17:02 +00:00
Richard Henderson
ecb0eecefb c-decl.c: Include c-pragma.h.
* c-decl.c: Include c-pragma.h.
        (start_decl, start_function): Invoke maybe_apply_pragma_weak.
        (finish_function): Tidy.
        * c-pragma.c: Include c-common.h.
        (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
        (handle_pragma_weak): Use them.
        (init_pragma): Register pending_weaks.
        * c-pragma.h (maybe_apply_pragma_weak): Declare.
        * print-tree.c (print_node): Print DECL_WEAK.
        * varasm.c (mark_weak_decls): Remove.
        (remove_from_pending_weak_list): Remove.
        (add_weak): Remove.
        (asm_emit_uninitialised): Call globalize_decl for weak commons.
        (weak_decls): Make a tree_list.
        (declare_weak): Cons weak_decls directly.
        (globalize_decl): Remove weak_decls elements directly.
        (weak_finish): Simplify weak_decls walk.  Don't weaken unused
        symbols.  Don't pretend to handle aliases.
        (init_varasm_once): Update weak_decls registry.
	* Makefile.in: Update dependencies.

        * cp/decl.c: Include c-pragma.h.
        (start_decl, start_function): Invoke maybe_apply_pragma_weak.
	* cp/Make-lang.in: Update dependencies.

	* gcc.dg/weak-1.c: New.

From-SVN: r50797
2002-03-14 23:11:14 -08:00
Richard Henderson
98d2b17e0c re PR target/5312 ([IA64] ICE in itanium_reorder at config/ia64/ia64.c:5917)
PR target/5312
        * config/ia64/ia64.c: Include tm_p.h last.
        (gen_nop_type): Remove duplicate definition.
        (cycle_end_fill_slots): Set sched_data for second L slot.
        (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
        (nop_cycles_until): Fix typos.

        * gcc.dg/20020313-1.c: New.

From-SVN: r50796
2002-03-14 22:50:26 -08:00
Hans-Peter Nilsson
a541f1aa81 20020312-2.c [__MMIX__]: No pic register.
* gcc.dg/20020312-2.c [__MMIX__]: No pic register.
	* gcc.c-torture/compile/981006-1.x: Don't use -fpic on cris-*-elf*
	cris-*-aout* mmix-*-*.
	* g++.old-deja/g++.other/local-alloc1.C: Skip on cris-*-elf*
	cris-*-aout* mmix-*-*.
	* g++.dg/debug/debug3.C: Expect warning for unsupported -fpic on
	cris-*-elf* cris-*-aout* and mmix-*-*.
	* gcc.dg/20001009-1.c: Ditto.
	* gcc.dg/20010912-1.c: Ditto.
	* gcc.dg/20020122-4.c: Ditto.
	* gcc.dg/inline-2.c: Ditto.

From-SVN: r50794
2002-03-15 05:36:43 +00:00
Jakub Jelinek
f6562b3792 re PR c++/5908 (Warning regression wrt. gcc 3.0)
PR c++/5908

From-SVN: r50793
2002-03-15 04:16:42 +01:00
Jakub Jelinek
f2f4927e3d re PR rtl-optimization/5891 (ICE compiling SPEC fp test with -funroll-loops on ia64)
PR optimization/5891
	* unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.

From-SVN: r50791
2002-03-15 04:06:26 +01:00
David Mosberger
5025a549a1 unwind-ia64.c: Handle copy_state and label_state descriptors correctly.
* config/ia64/unwind-ia64.c: Handle copy_state and label_state
	  descriptors correctly.

From-SVN: r50789
2002-03-15 01:55:49 +00:00
Michael Meissner
03e9dbc91c Add --param max-unrolled-insns=<n> support
From-SVN: r50787
2002-03-14 23:31:50 +00:00
Richard Earnshaw
1224938570 * arm.md: Fix warnings about constraints in peepholes and splits.
From-SVN: r50786
2002-03-14 22:34:00 +00:00
Jeffrey A Law
933a07215c * gcc.c-torture/compile/20020314-1.c: New test.
From-SVN: r50782
2002-03-14 14:26:17 -07:00
Zack Weinberg
f0cce04a61 cpphash.h (struct lexer_state): Remove line_extension member.
* cpphash.h (struct lexer_state): Remove line_extension member.
	* cpplib.c (dequote_string, do_linemarker): New functions.
	(linemarker_dir): New data object.
	(DIRECTIVE_TABLE): No longer need to interpret #line in
	preprocessed source.  Delete obsolete comment about return
	values of handlers.
	(end_directive, directive_diagnostics, _cpp_handle_directive):
	Don't muck with line_extension.
	(directive_diagnostics): No need to issue warnings for
	linemarkers here.
	(_cpp_handle_directive): Issue warnings for linemarkers here,
	when appropriate.  Dispatch linemarkers to do_linemarker, not
	do_line.
	(do_line): Code to handle linemarkers split out to do_linemarker.
	Convert escape sequences in filename argument, both places.

	* cppmacro.c (quote_string): Rename cpp_quote_string and
	export.  All callers changed.
	* cpplib.h (cpp_quote_string): Prototype.
	* cppmain.c (print_line): Call cpp_quote_string on to_file
	before printing it.

	* doc/cpp.texi: Document that escapes are now interpreted in
	#line and in linemarkers, and that non-printing characters are
	converted to octal escapes when linemarkers are generated.

From-SVN: r50780
2002-03-14 18:42:31 +00:00
Zack Weinberg
dcc229e5a1 cpphash.h (struct lexer_state): Remove line_extension member.
* cpphash.h (struct lexer_state): Remove line_extension member.
	* cpplib.c (dequote_string, do_linemarker): New functions.
	(linemarker_dir): New data object.
	(DIRECTIVE_TABLE): No longer need to interpret #line in
	preprocessed source.  Delete obsolete comment about return
	values of handlers.
	(end_directive, directive_diagnostics, _cpp_handle_directive):
	Don't muck with line_extension.
	(directive_diagnostics): No need to issue warnings for
	linemarkers here.
	(_cpp_handle_directive): Issue warnings for linemarkers here,
	when appropriate.  Dispatch linemarkers to do_linemarker, not
	do_line.
	(do_line): Code to handle linemarkers split out to do_linemarker.
	Convert escape sequences in filename argument, both places.

	* cppmacro.c (quote_string): Rename cpp_quote_string and
	export.  All callers changed.
	* cpplib.h (cpp_quote_string): Prototype.
	* cppmain.c (print_line): Call cpp_quote_string on to_file
	before printing it.

	* doc/cpp.texi: Document that escapes are now interpreted in
	#line and in linemarkers, and that non-printing characters are
	converted to octal escapes when linemarkers are generated.

From-SVN: r50779
2002-03-14 18:17:18 +00:00
Jan Hubicka
83a4940733 emit-rtl.c (try_split): Use delete_insns.
* emit-rtl.c (try_split): Use delete_insns.
	* recog.c (split_all_insns): Fix terminating condition.

From-SVN: r50778
2002-03-14 18:09:49 +00:00
Philipp Thomas
b07ac17fa6 fr.po: Update to latest revision.
2002-03-14  Philipp Thomas  <pthomas@suse.de>

        * fr.po: Update to latest revision.

From-SVN: r50777
2002-03-14 16:39:28 +00:00
Richard Earnshaw
2019279fa9 * gcc.c-torture/execute/20020314-1.c: New test.
From-SVN: r50772
2002-03-14 15:32:31 +00:00
Richard Earnshaw
c882c7acd5 re PR target/5828 (gcc-3.0.4 on arm : floating point registers incorrectly reloaded)
PR target/5828
* arm.c (arm_output_epilogue): Fix floating-point register save
adjustment when using a frame pointer.

Co-Authored-By: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>

From-SVN: r50771
2002-03-14 15:09:13 +00:00
Jakub Jelinek
d3f129b340 call.c (build_over_call): Set TREE_NO_UNUSED_WARNING too.
* call.c (build_over_call): Set TREE_NO_UNUSED_WARNING too.
	* cvt.c (convert_to_void): Preserve TREE_NO_UNUSED_WARNING.

	* g++.dg/warn/Wunused-1.C: New test.

From-SVN: r50770
2002-03-14 15:26:56 +01:00
Geoffrey Keating
6cbcc54138 Delete all lines containing "$Revision:".
* xeinfo.adb: Don't look for revision numbers.
	* xnmake.adb: Likewise.
	* xsinfo.adb: Likewise.
	* xsnames.adb: Likewise.
	* xtreeprs.adb: Likewise.

From-SVN: r50768
2002-03-14 11:00:22 +00:00
Richard Sandiford
3f26edaa19 mips.h (FP_INC, [...]): New macros.
* config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
	* config/mips/mips.c (compute_frame_size): Retrofit them here.
	(save_restore_insns, mips_expand_epilogue): And here.
	(build_mips16_call_stub): And here.
	(mips_function_value): Use the new macros to decide whether a single
	or complex float can be returned in floating-point registers.  Return
	a parallel rtx in the complex case.

From-SVN: r50766
2002-03-14 10:17:17 +00:00
Jan Hubicka
1e3881c2a0 toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup call after liveness analysis.
* toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
	call after liveness analysis.

	* recog.c (split_insn): Use delete_insn_and_edges.

	* cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
	instructions to have branch prediction notes.
	* ia64reorg.c (ia64_reorg): Do not rebuild CFG.

From-SVN: r50765
2002-03-14 10:10:13 +00:00
Geoffrey Keating
200ef6348c configure.in: Don't pass -Wno-long-long to a ADA compiler that doesn't support it.
* configure.in: Don't pass -Wno-long-long to a ADA compiler
	that doesn't support it.
	* configure: Regenerate.

From-SVN: r50763
2002-03-14 09:56:41 +00:00
GCC Administrator
73228d2734 Daily bump.
From-SVN: r50761
2002-03-14 08:18:32 +00:00
Jakub Jelinek
0b82d204c4 re PR target/5626 (gcc-3.1 on sparcv9 does not generate code for long jumps)
PR target/5626
	* config/sparc/sparc.md (normal_branch, inverted_branch,
	normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
	inverted_fp_branch): Adjust calls to output_cbranch.
	Set length attribute.
	(normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
	output_v9branch.  Set length attribute.
	* config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
	predicates.
	(noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
	(output_cbranch): Likewise.  Handle far branches.
	(output_v9branch): Handle far branches.
	* config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
	Adjust prototypes.
	* config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
	noov_compare64_op predicates.

From-SVN: r50753
2002-03-13 20:48:29 +01:00
Richard Sandiford
56668fb05b Fix last commit.
From-SVN: r50749
2002-03-13 17:44:22 +00:00
Richard Sandiford
440d0518b3 * g++.dg/abi/mangle6.C: New test.
From-SVN: r50744
2002-03-13 17:19:31 +00:00
Richard Sandiford
049e687916 mangle.c (write_builtin_type): Handle 128-bit integers even if they are not a standard integer type.
* mangle.c (write_builtin_type): Handle 128-bit integers even if
	they are not a standard integer type.

From-SVN: r50743
2002-03-13 17:18:16 +00:00
Jason Merrill
7a8de19b4c gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr into the function and constify it.
* gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
        into the function and constify it.
        * gthr-dce.h, gthr-solaris.h: Likewise.

From-SVN: r50741
2002-03-13 12:15:46 -05:00
Richard Sandiford
872c9284b0 cp-tree.h (init_init_processing): Remove declaration.
* cp-tree.h (init_init_processing): Remove declaration.
	* init.c (BI_header_type, init_init_processing): Remove old ABI stuff.
	* decl.c (cxx_init_decl_processing): Don't call init_init_processing.

From-SVN: r50740
2002-03-13 17:12:24 +00:00
David Edelsohn
2a55fd4253 rs6000.h (PAD_VARARGS_DOWN): Define.
* config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
        * config/rs6000/rs6000.c (rs6000_va_arg): Use
        std_expand_builtin_va_arg if not ABI_V4.

From-SVN: r50739
2002-03-13 11:57:48 -05:00
Jason Merrill
9a789d73d1 varasm.c (globalize_decl): New fn.
* varasm.c (globalize_decl): New fn.
        (assemble_start_function): Use it.
        (asm_emit_uninitialized): Use it.
        (assemble_alias): Use it.
        (assemble_variable): Use it.

From-SVN: r50738
2002-03-13 11:03:25 -05:00
Jason Merrill
19c5b1cf0d varasm.c (globalize_decl): New fn.
* varasm.c (globalize_decl): New fn.
        (assemble_start_function): Use it.
        (asm_emit_uninitialized): Use it.
        (assemble_alias): Use it.
        (assemble_variable): Use it.

From-SVN: r50736
2002-03-13 09:20:17 -05:00
Hans-Peter Nilsson
2a15f5e1e2 cris.c (cris_target_asm_function_prologue): Revert 2002-03-12 internal visibility change.
* config/cris/cris.c (cris_target_asm_function_prologue): Revert
	2002-03-12 internal visibility change.
	(cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
	visibility into SYMBOL_REF_FLAG.

From-SVN: r50735
2002-03-13 13:33:39 +00:00
Ulrich Weigand
c0a3eeacda expr.c (expand_expr, [...]): Do not call copy_to_reg with VOIDmode operand.
* expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
	VOIDmode operand.  Add compile-time optimization for constant results.

From-SVN: r50734
2002-03-13 13:00:25 +00:00
Jason Merrill
a1652cee9a c-typeck.c (convert_for_assignment): Don't allow conversions between pointers and references.
* c-typeck.c (convert_for_assignment): Don't allow conversions
        between pointers and references.  Only allow lvalues to convert to
        reference.

From-SVN: r50731
2002-03-13 04:58:55 -05:00
Hartmut Penner
c52a375d21 s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code before prologue, to avoid scheduling problems.
* config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
        before prologue, to avoid scheduling problems.

From-SVN: r50730
2002-03-13 08:51:01 +00:00
GCC Administrator
96395e3a6a Daily bump.
From-SVN: r50729
2002-03-13 08:17:56 +00:00
Jakub Jelinek
e387e99b29 sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
* config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
	(ELIMINABLE_REGS): Add sfp->sp.
	(INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.

From-SVN: r50725
2002-03-13 08:56:19 +01:00
Jakub Jelinek
09948ece3d re PR rtl-optimization/5892 (ICE in gen_nop_type during 2.4.17 ia64 kernel build)
PR optimization/5892
	* config/ia64/ia64.c (rotate_one_bundle): Update current packet.

	* gcc.c-torture/compile/20020312-1.c: New test.

From-SVN: r50723
2002-03-13 08:49:23 +01:00
Jakub Jelinek
4061c1a393 loop.c (basic_induction_var): Don't call convert_modes if mode classes are different.
* loop.c (basic_induction_var): Don't call convert_modes if mode
	classes are different.

	* gcc.c-torture/compile/20020309-2.c: New test.

From-SVN: r50721
2002-03-13 08:41:45 +01:00
Richard Henderson
9f53e9654b re PR target/5901 ([IA64] misplaced .body)
PR optimization/5901
        * function.c (reposition_prologue_and_epilogue_notes): Position
        the markers after/before the last/first insn not deleted.

From-SVN: r50715
2002-03-12 22:10:23 -08:00
Richard Henderson
5b43fed17b re PR rtl-optimization/5878 (gcc 3.1 breaks on C code generated by the Mercury compiler)
PR 5878
	* config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
	config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
	(PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.

	* config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
	config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
	PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.

	* config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
	* config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
	(arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
	also.  Don't set it if not flag_pic.
	* config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
	to be INVALID_REGNUM when not used.

	* gcc.dg/20020312-2.c: New.

From-SVN: r50713
2002-03-12 21:42:40 -08:00
Loren J. Rittle
56d4fe31c5 reported by Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
reported by Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
	* testsuite/thread/pthread4.cc: Lower nominal iteration counter.

From-SVN: r50709
2002-03-13 02:53:27 +00:00
Benjamin Kosnik
f714575791 ctype_noninline.h: Cast to unsigned char.
2002-03-12  Benjamin Kosnik  <bkoz@redhat.com>
            Per Liboriussen  <liborius@stofanet.dk>

	* config/os/gnu-linux/bits/ctype_noninline.h: Cast to
	unsigned char.
	* config/os/gnu-linux/bits/ctype_inline.h: Same.

	* config/os/irix/irix6.5/bits/ctype_inline.h: Same.

	* config/os/solaris/solaris2.5/bits/ctype_inline.h: Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.

	* config/os/solaris/solaris2.6/bits/ctype_inline.h: Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.

	* config/os/solaris/solaris2.7/bits/ctype_inline.h: Same.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.

	* testsuite/22_locale/ctype_members_char.cc (main): Add tests.

Co-Authored-By: Per Liboriussen <liborius@stofanet.dk>

From-SVN: r50708
2002-03-13 02:32:08 +00:00