Commit Graph

41461 Commits

Author SHA1 Message Date
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
Aldy Hernandez
4e9bb42b21 expmed.c (store_bit_field): Reset alias set for memory.
2002-03-13  Aldy Hernandez  <aldyh@redhat.com>

        * expmed.c (store_bit_field): Reset alias set for memory.
        (extract_bit_field): Same.

From-SVN: r50706
2002-03-13 02:03:36 +00:00
Kaveh R. Ghazi
2f9834e805 c-common.c (c_tree_code_type, [...]): Delete.
* c-common.c (c_tree_code_type, c_tree_code_length,
	c_tree_code_name, add_c_tree_codes): Delete.
	* c-common.h (add_c_tree_codes): Delete.
	* c-lang.c (tree_code_type, tree_code_length, tree_code_name):
	Define.
	* c-objc-common.c (c_objc_common_init): Don't call
	add_c_tree_codes, instead set lang_unsafe_for_reeval.
	* objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
	objc_tree_code_name, add_objc_tree_codes): Delete.
	(objc_init): Don't call add_objc_tree_codes.
	* objc/objc-lang.c (tree_code_type, tree_code_length,
	tree_code_name): Define.
	* toplev.c (lang_independent_init): Don't set
	tree_code_length[IDENTIFIER_NODE].
	* tree.c (tree_code_type, tree_code_length, tree_code_name):
	Delete definitions, moved to language front-ends.
	* tree.def (IDENTIFIER_NODE): Hardwire the length.
	* tree.h (tree_code_type, tree_code_length, tree_code_name):
	Const-ify.
	(tree_code_length): Change type to unsigned char.

ada:
	* misc.c (gnat_tree_code_type, gnat_tree_code_length,
	gnat_tree_code_name): Delete.
	(tree_code_type, tree_code_length, tree_code_name): Define.
	(gnat_init): Don't try to copy into the various tree_code
	arrays.

ch:
	* decl.c (chill_tree_code_type, chill_tree_code_length,
	chill_tree_code_name): Delete.
	(tree_code_type, tree_code_length, tree_code_name): Define.
	(init_decl_processing): Don't try to copy into the various
	tree_code arrays.

cp:
	* cp-lang.c (tree_code_type, tree_code_length, tree_code_name):
	Define.
	* decl.c (duplicate_decls): Use TREE_CODE_LENGTH, not
	tree_code_length.
	* lex.c (cplus_tree_code_type, cplus_tree_code_length,
	cplus_tree_code_name): Delete.
	(cxx_init): Don't call add_c_tree_codes, instead set
	lang_unsafe_for_reeval.  Don't try to copy into the various
	tree_code arrays.

f:
	* com.c (tree_code_type, tree_code_length, tree_code_name):
	Define.

java:
	* lang.c (java_tree_code_type, java_tree_code_length,
	tree_code_name): Delete.
	(tree_code_type, tree_code_length, tree_code_name): Define.
	(java_init): Don't try to copy into the various tree_code
	arrays.

From-SVN: r50705
2002-03-13 01:42:43 +00:00
Richard Henderson
36ad243642 i386.c (ix86_expand_prologue): Revert 2002-03-03 internal visibility change.
* config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
        internal visibility change.

From-SVN: r50704
2002-03-12 17:33:36 -08:00
Richard Henderson
c2273204ae Makefile.in (NOTPARALLEL): New.
* Makefile.in (NOTPARALLEL): New.  Use it instead of explicit
        .NOTPARALLEL tag.
        (do-check): Rename from check.
        (check): Allow parallel check.

From-SVN: r50700
2002-03-12 16:38:20 -08:00
Richard Henderson
f4a126533c Fix typo in comment.
From-SVN: r50699
2002-03-12 16:36:45 -08:00
Tom Tromey
8a611251a9 re PR java/5923 (gcj -C generates incorrect bytecode)
* jcf-parse.c (get_constant) [CONSTANT_String]: String values are
	UTF-8, not UCS-2.  Fixes PR java/5923.

From-SVN: r50695
2002-03-12 23:37:11 +00:00
Bob Wilson
0ae02efa21 xtensa.c (xtensa_expand_block_move): Use validize_mem() instead of change_address to avoid clobbering memory attributes.
* config/xtensa/xtensa.c (xtensa_expand_block_move): Use
        validize_mem() instead of change_address to avoid clobbering
        memory attributes.

From-SVN: r50693
2002-03-12 23:33:11 +00:00
Nathan Sidwell
df867456d7 re PR c++/5659 (default access for class/struct bug)
cp:
	PR c++/5659
	* decl.c (xref_tag): Don't set CLASSTYPE_DECLARED_CLASS here.
	* decl2.c (handle_class_head): Set CLASSTYPE_DECLARED_CLASS for
	definitions.
testsuite:
	* g++.dg/other/access1.C: New test.

From-SVN: r50692
2002-03-12 23:32:47 +00:00
Neil Booth
35bb2beeac * c-lex.h (position_after_whitespace): Remove.
From-SVN: r50691
2002-03-12 23:30:32 +00:00
Jakub Jelinek
62ae25292b c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
* c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
	(lex_string): Use unsigned char pointers.

	* gcc.c-torture/execute/wchar_t-1.c: New test.

From-SVN: r50689
2002-03-12 23:36:55 +01:00
Andreas Tobler
46f56f54c4 configure.host (powerpc*-darwin*): Enable interpreter.
2002-03-12  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.host (powerpc*-darwin*): Enable interpreter.

From-SVN: r50686
2002-03-12 22:29:52 +00:00
David Edelsohn
2ab57cc911 * gcc.dg/20020103-1.c: Add rs6000 target and macro.
From-SVN: r50684
2002-03-12 17:18:42 -05:00