Commit Graph

42065 Commits

Author SHA1 Message Date
Richard Kenner 3bf1e98453 emit-rtl.c (adjust_address_1, [...]): Cast value to unsigned HOST_WIDE_INT, not unsigned int.
* emit-rtl.c (adjust_address_1, offset_address): Cast value to
	unsigned HOST_WIDE_INT, not unsigned int.

From-SVN: r51670
2002-03-31 14:48:22 -05:00
Jakub Jelinek 0864c5260d PR middle-end/6096, middle-end/6098, middle-end/6099
PR middle-end/6096, middle-end/6098, middle-end/6099
	* reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
	CODE_LABELs.
	(fill_slots_from_thread): Likewise.

From-SVN: r51668
2002-03-31 20:45:21 +02:00
Jakub Jelinek 105b208422 sparc.c (function_arg_record_value_1): Pass complex floating fields in float regs.
* config/sparc/sparc.c (function_arg_record_value_1): Pass complex
	floating fields in float regs.
	(function_arg_record_value_2): Likewise.

From-SVN: r51667
2002-03-31 20:43:31 +02:00
Hans-Peter Nilsson db08fddf62 mmix.md (define_constants): Remove misleading FIXME.
* config/mmix/mmix.md (define_constants): Remove misleading
	FIXME.  Add MMIX_fp_rO_OFFSET.
	("nonlocal_goto_receiver"): Don't have stack-frame address of
	saved rO as part of the pattern.  Remove FIXME.
	("*nonlocal_goto_receiver_expanded"): Similar.  Generate address
	here, at output-time.

From-SVN: r51664
2002-03-31 18:38:57 +00:00
Jakub Jelinek 4f31cce8e4 re PR middle-end/6100 (sparc-sun-solaris2.7 gcc-3.1 RTL checking failure w/-m64 on compile/20020320-1.c)
PR middle-end/6100
	* config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
	REG_BR_PRED.
	(output_v9branch): Likewise.

From-SVN: r51663
2002-03-31 20:37:36 +02:00
Alexandre Oliva d05972d298 * libgcj.spec.in, libgcj-test.spec.in: Revert for now.
From-SVN: r51659
2002-03-31 18:24:59 +00:00
Alexandre Oliva ba2b743542 gcc.c: Revert previous patch for now.
* gcc.c: Revert previous patch for now.
* config/i386/djgpp.h: Likewise.

From-SVN: r51658
2002-03-31 18:24:49 +00:00
Hans-Peter Nilsson 5c7060d317 instantiate1.C, [...]: Tweak match patterns.
* g++.dg/ext/instantiate1.C, g++.dg/ext/instantiate2.C,
	g++.dg/ext/instantiate3.C: Tweak match patterns.

From-SVN: r51657
2002-03-31 16:29:04 +00:00
Hans-Peter Nilsson 820ecf563c static11.C: Skip on mmix-knuth-mmixware.
* g++.old-deja/g++.pt/static11.C: Skip on mmix-knuth-mmixware.
	* g++.dg/other/static11.C: Copy g++.old-deja/g++.pt/static11.C for
	-da test.

From-SVN: r51656
2002-03-31 15:49:29 +00:00
Hans-Peter Nilsson aa66aa5ff4 Fix date in last entry
From-SVN: r51655
2002-03-31 15:09:20 +00:00
Hans-Peter Nilsson 8f840f5701 crti.asm (_init): Register _fini with atexit.
* config/mmix/crti.asm (_init): Register _fini with atexit.
	* config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".

From-SVN: r51654
2002-03-31 15:07:55 +00:00
Richard Henderson 41ba8a20bd elf.h (ASM_OUTPUT_DEF): Tidy.
* config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
        (ASM_OUTPUT_DEF_FROM_DECLS): New.

        * gcc.dg/special/alias-2.c: New.
        * gcc.dg/special/ecos.exp: Run it.

From-SVN: r51650
2002-03-31 03:50:43 -08:00
Richard Henderson a7648399b2 * config/alpha/alpha.md (trap): New.
From-SVN: r51649
2002-03-31 03:09:48 -08:00
Richard Henderson adc186efab * libgcc2.c (__bb_exit_func): Make static.
From-SVN: r51647
2002-03-31 02:58:55 -08:00
Richard Henderson 9602f5a04b builtins.c (expand_builtin_va_arg): Give warnings not errors for promoted argument types; build trap.
* builtins.c (expand_builtin_va_arg): Give warnings not errors for
        promoted argument types; build trap.
        (expand_builtin_trap): New.
        (expand_builtin): Use it.
        * stmt.c (expand_nl_goto_receivers): Likewise.
        * expr.h (expand_builtin_trap): Declare.
        * libfuncs.h (LTI_abort, abort_libfunc): New.
        * optabs.c (init_optabs): Init abort_libfunc.

        * gcc.dg/va-arg-1.c: Expect warnings, not errors.

From-SVN: r51643
2002-03-31 01:52:42 -08:00
Alexandre Oliva b56bc85a40 libgcj.spec.in: Override libgcc, not lib.
* libgcj.spec.in: Override libgcc, not lib.
* libgcj-test.spec.in: Likewise.

From-SVN: r51640
2002-03-31 09:33:05 +00:00
Alexandre Oliva 1a0a7539e5 gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
* gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
(LINK_COMMAND_SPEC): ... from here.
(init_gcc_specs): Duplicate it here too, omitting
shared_name in the second copy.
(init_spec): Test for duplicate
* config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.

From-SVN: r51639
2002-03-31 09:32:52 +00:00
GCC Administrator efe52a8241 Daily bump.
From-SVN: r51638
2002-03-31 08:17:00 +00:00
David S. Miller b5de1a2766 linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
* config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
	* config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.

From-SVN: r51634
2002-03-31 00:02:54 -08:00
Richard Henderson 8fc55e09c3 Fix main return value.
From-SVN: r51632
2002-03-30 23:40:08 -08:00
Kazu Hirata 463eefc812 * gcc.dg/weak-1.c: Disable on h8300 port.
From-SVN: r51629
2002-03-31 06:45:26 +00:00
Roger Sayle 78414d74b1 regmove.c (combine_stack_adjustments_for_block): Avoid emitting a stack adjustment of zero bytes.
* regmove.c (combine_stack_adjustments_for_block): Avoid
        emitting a stack adjustment of zero bytes.  Let delete_insn
        update bb->head.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r51628
2002-03-30 19:34:55 -08:00
Richard Henderson 33074e5fe7 sparc.c: Remove all references to TARGET_EPILOGUE.
* config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
        (sparc_emitting_epilogue): New.
        (leaf_label, output_return, sparc_return_peephole_ok): Remove.
        * config/sparc/sparc-protos.h: Update.
        * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
        (TARGET_SWITCHES): Update.
        * config/sparc/sparc.md (return): Remove.
        (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
        * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
        config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
        config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
        config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
        config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
        config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
        Remove MASK_EPILOGUE.
        * doc/invoke.texi: Update.

From-SVN: r51626
2002-03-30 19:11:20 -08:00
Richard Henderson afaef72670 re PR c++/3719 (Unable to retrow exception in unexpected exception handler.)
PR c++/3719
        * libsupc++/eh_personality.cc (__cxa_call_unexpected): Copy handler
        data out of the exception struct before calling unexpectedHandler.

	* g++.dg/eh/unexpected1.C: New.

From-SVN: r51623
2002-03-30 18:56:34 -08:00
Daniel Berlin 606cc0562d dwarf2out.c (dwarf2out_define): Remove start_source_file call, CPP will start the file for us.
2002-03-30  Daniel Berlin  <dan@dberlin.org>

	* dwarf2out.c (dwarf2out_define): Remove start_source_file call,
	CPP will start the file for us.

From-SVN: r51621
2002-03-31 00:36:47 +00:00
Krister Walfridsson 320d7e7ad6 configure.in (i*86-*-netbsdelf*): Don't disable libgcj.
2002-03-30  Krister Walfridsson  <cato@df.lth.se>

	* configure.in (i*86-*-netbsdelf*): Don't disable libgcj.

libffi:
2002-03-30  Krister Walfridsson  <cato@df.lth.se>

	* configure.in: Enable i*86-*-netbsdelf*.
	* configure: Rebuilt.

From-SVN: r51620
2002-03-31 00:33:17 +00:00
Bryce McKinlay c71f2c0640 gcconfig.h: define DYNAMIC_LOADING for ELF NetBSD/i386.
2002-03-30  Krister Walfridsson  <cato@df.lth.se>

	* include/private/gcconfig.h: define DYNAMIC_LOADING for ELF
        NetBSD/i386.

From-SVN: r51616
2002-03-31 00:15:36 +00:00
Richard Henderson bdbe5b8d8d ia64.c (group_barrier_needed_p): Special case prologue_allocate_stack.
* config/ia64/ia64.c (group_barrier_needed_p): Special case
        prologue_allocate_stack.
        (ia64_single_set): Use insn codes for recognition of special
        cases, not rtl matching.
        * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.

	* gcc.c-torture/compile/20020330-1.c: New.

From-SVN: r51615
2002-03-30 16:15:19 -08:00
Jan Hubicka 4ab95d8267 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
From-SVN: r51612
2002-03-30 22:49:56 +00:00
Richard Henderson 89a8b315b8 sparc.h (OVERRIDE_OPTIONS): Don't override -fpic or -fomit-frame-pointer with profiling.
* config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
        or -fomit-frame-pointer with profiling.
        (SUBTARGET_OVERRIDE_OPTIONS): Remove.
        (FUNCTION_PROFILER): Do nothing.
        (PROFILE_HOOK): New.
        * config/sparc/sparc.c (sparc_override_options): Don't check
        code models for profiling.
        (sparc_function_profiler): Remove.
        (sparc_profile_hook): New.
        * config/sparc/sparc-protos.h: Update.

From-SVN: r51610
2002-03-30 13:01:19 -08:00
Richard Henderson 6b7d1a345e Fix whitespace.
From-SVN: r51608
2002-03-30 12:47:54 -08:00
Jakub Jelinek 30984c5791 re PR rtl-optimization/6086 (Reload misoptimizes DImode PREINC on PPC)
PR optimization/6086
	* combine.c (combine_simplify_rtx): If simplify_rtx failed because
	of SUBREG of volatile MEM or because the MEM was mode dependent,
	return CLOBBER instead of unmodified SUBREG.

From-SVN: r51606
2002-03-30 19:50:34 +01:00
Jan Hubicka 1540f9ebc4 local-alloc.c (local_alloc): Avoid call of update_equiv_regs when not optimizing.
* local-alloc.c (local_alloc): Avoid call of update_equiv_regs when not optimizing.

	* toplev.c (rest_of_compilation): Cann mark_constant_function
	only when optimizing.

	* flow.c (calculate_global_regs_live): Ensure that all AUX fields are NULL.

	* cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
	(thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
	(try_optimize_cfg): clear all AUX fields.

	* i386.c (aligned_operand): Be prepared for SUBREGed registers.
	(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
	(ix86_address_cost): Be prepared for SUBREGed registers.
	(legitimate_address_p): Accept SUBREGed registers.

From-SVN: r51604
2002-03-30 13:26:19 +00:00
GCC Administrator d83975041f Daily bump.
From-SVN: r51600
2002-03-30 08:17:30 +00:00
Bryce McKinlay a8f55e51dc cp-demangle.c (java_demangle_v3): Don't try to release "demangled" if it is NULL.
* cp-demangle.c (java_demangle_v3): Don't try to release "demangled"
	if it is NULL.

From-SVN: r51594
2002-03-30 03:30:36 +00:00
Richard Henderson 70d95bac49 re PR target/5672 ([mn10200] Compiler segmentation fault in static initialiser.)
PR target/5672
        * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.

From-SVN: r51593
2002-03-29 18:16:41 -08:00
Franz Sirl d3294cd931 rs6000.c (rs6000_va_arg): Correctly set register count for aggregate and TFmode types.
2002-03-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
	for aggregate and TFmode types.

From-SVN: r51591
2002-03-30 01:00:23 +00:00
Hans-Peter Nilsson a106c875ba * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
From-SVN: r51589
2002-03-30 00:40:53 +00:00
Richard Henderson 6e2d670b4f Record pr numbers.
From-SVN: r51588
2002-03-29 15:45:43 -08:00
Richard Henderson 7d7a5d6f8a aix.h (CPP_PREDEFINES): Add -D_LP64.
* config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
        * config/ia64/hpux.h, config/ia64/linux.h: Likewise.

From-SVN: r51586
2002-03-29 15:39:05 -08:00
Richard Henderson 30c99a84e0 i386.c (x86_arch_always_fancy_math_387): New.
* config/i386/i386.c (x86_arch_always_fancy_math_387): New.
        (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
        * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
        * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
        conditional.
        * docs/invoke.texi: Update -mno-fancy-math-387 docs.

From-SVN: r51584
2002-03-29 15:24:20 -08:00
Hans Boehm 4d6ac5424e linux_threads.c (return_free_lists): Clear fl[i] unconditionally.
* linux_threads.c (return_free_lists): Clear fl[i] unconditionally.
	(GC_local_gcj_malloc): Add assertion.
	(start_mark_threads): Fix abort message.
	* mark.c (GC_mark_from): Generalize assertion.
	* reclaim.c (GC_clear_fl_links): New function.
	(GC_start_reclaim): Must clear some freelist links.
	* include/private/specific.h, specific.c: Add assertions.
	Safer definition for INVALID_QTID, quick_thread_id.  Fix/add comments.
	Rearrange tse fields.

From-SVN: r51582
2002-03-29 22:52:13 +00:00
Dale Johannesen 02a566dcf0 * loop.c (combine_movables): Do allow combination of pseudos.
From-SVN: r51581
2002-03-29 14:36:56 -08:00
Martin Kahlert 5bebbee733 parse.y (do_resolve_class): Fix infinite recursion.
2002-03-29  Martin Kahlert  <martin.kahlert@infineon.com>

	* parse.y (do_resolve_class): Fix infinite recursion.

(http://gcc.gnu.org/ml/java/2002-03/msg00654.html)

From-SVN: r51578
2002-03-29 14:27:29 -08:00
Loren J. Rittle bc3a44dbca config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
* config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
	* config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
	No functional change except ...
	* config/t-slibgcc-nolc-override (SHLIB_LC): Override it.  New file.
	* doc/install.texi (*-*-freebsd*): Document port configuration.

From-SVN: r51574
2002-03-29 22:01:18 +00:00
Tom Tromey bce54832de parse.y (check_inner_circular_reference): Ignore incomplete types.
2002-03-29  Tom Tromey  <tromey@redhat.com>

	* parse.y (check_inner_circular_reference): Ignore incomplete
	types.

(http://gcc.gnu.org/ml/gcc-patches/2002-03/msg01987.html)

From-SVN: r51573
2002-03-29 13:58:49 -08:00
Janis Johnson cb260b1181 dg.exp: Ignore tests in new directories bprob and gcov.
* g++.dg/dg.exp: Ignore tests in new directories bprob and gcov.
	* g++.dg/bprob/bprob.exp: New driver for profile-directed branch
	ordering tests.
	* g++.dg/bprob/bprob-1.C: New test.
	* g++.dg/gcov/gcov.exp: New driver for gcov tests.
	* g++.dg/gcov/gcov-1.C: New test.
	* g++.dg/gcov/gcov-1.x: New file.
	* g++.dg/gcov/gcov-2.C: New test.
	* g++.dg/gcov/gcov-3.C: New test.
	* g++.dg/gcov/gcov-3.h: New file.

From-SVN: r51572
2002-03-29 21:56:12 +00:00
Neil Booth b0c4822985 Makefile.in (convert.o, [...]): Update.
* Makefile.in (convert.o, calls.o, expmed.o): Update.
	* attribs.c (handle_mode_attribute, handle_vector_size_attribute):
	Use new hooks.
	* builtin-types.def (BT_PTRMODE): Update.
	* c-common.c (type_for_size): Rename c_common_type_for_size.
	(type_for_mode): Similarly.
	(shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
	Use new hook.
	* c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
	* c-decl.c (finish_enum, build_enumerator): Use new hooks.
	* c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
	Redefine.
	* c-typeck.c (common_type, comptypes, default_conversion):
	Use new hooks.
	* calls.c: Include langhooks.h.
	(emit_library_call_value_1): Use new hooks.  Avoid redundant
	calls.
	* convert.c: Include langhooks.h
	(convert_to_pointer, convert_to_integer): Use new hooks.
	* except.c (init_eh): Similarly.
	* expmed.c: Include langhooks.h.
	(expand_mult_add): Use new hooks.
	* expr.c (store_expr, store_constructor, expand_expr, do_jump,
	try_casesi): Similarly.
	* fold-const.c (optimize_bit_field_compare, make_range,
	decode_field_reference, fold_truthop, fold): Similarly.
	* function.c (assign_stack_local_1, assign_stack_temp_for_type,
	put_var_into_stack): Similarly.
	* langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
	LANG_HOOKS_TYPE_FOR_SIZE): New.
	(LANG_HOOKS_TYPES_INITIALIZER): Update.
	* langhooks.h (lang_hooks_for_types): New hooks.
	* stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
	* tree.c (get_unwidened, get_narrower): Similarly.
	* tree.h (type_for_mode, type_for_size): Remove.
	* varasm.c (force_const_mem): Use new hooks.
ada:
	* gigi.h (type_for_size, type_for_mode): Rename.
	* misc.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
	Redefine.
	* trans.c (tree_transform): Update.
	* utils.c (gnat_init_decl_processing, init_gigi_decls,
	builtin_function, float_type_for_size, signed_or_unsigned_type,
	build_vms_descriptor, unchecked_convert): Update.
	(type_for_mode, type_for_size): Rename.
	* utils2.c (nonbinary_modular_operation): Update.
cp:
	* cp-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
	Redefine.
	* cvt.c (cp_convert_to_pointer, type_promotes_to): Use new hooks.
	* decl.c (finish_enum): Similarly.
	* error.c (dump_type): Similarly.
	* lex.c (cxx_init): Similarly.
	* mangle.c (write_builtin_type): Similarly.
	* typeck.c (comptypes): Similarly.
f:
	* com.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
	Redefine.
	(type_for_mode, type_for_size): Rename.
	(signed_or_unsigned_type, signed_type, truthvalue_conversion,
	unsigned_type):	Use new hooks.
java:
	* Make-lang.in (builtins.o): Update.
	* boehm.c (get_boehm_type_descriptor): Update.
	* builtins.c: Include langhooks.h.
	* decl.c (java_init_decl_processing): Update.
	* java-tree.h (java_type_for_mode, java_type_for_size): New.
	* lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
	Redefine.
	* typeck.c (type_for_mode, type_for_size): Update.
objc:
	* objc-act.c (handle_impent): Update.
	* objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
	Redefine.

From-SVN: r51571
2002-03-29 21:46:27 +00:00
Roger Sayle d52e4867ca re PR c++/5998 (regression, all builtins disabled)
* include/c_std/std_cmath.h:  To prevent problems overloading
	g++ builtins, use the double variants from the global namespace
	before defining float and long double variants in std::.

	PR c++/5998:
	* decl.c (cxx_init_decl_processing): Re-enable built-in functions
	in the g++ front-end.
	(duplicate_decl): Allow redefinition of anticipated built-ins.
	Fix inlining problem by over-writing the old DECL_RTL.
	(lookup_namespace_name): Fail to find an identifier in the
	specified namespace if its still anticipated.
	(builtin_function_1): New function split out from builtin_function
	to create a builtin in the current namespace with given context.
	(builtin_function): Call builtin_function_1 to define the
	appropriate builtins in both the std and global namespaces.
	(select_decl): Don't test for anticipated decls here.
	(unqualified_namespace_lookup): Instead ignore them whilst
	searching through scopes and namespaces.
	* decl2.c (do_nonmember_using_decl): If a using declaration
	specifies an anticipated built-in function, mark it as no longer
	anticipated in that scope.
	(ambiguous_decl):  Avoid resolving to an anticipated decl.
	* lex.c (do_scoped_id): Fail to find an identifier in the global
	namespace if its still anticipated.

	* g++.old-deja/g++.other/builtins5.C: New test.
	* g++.old-deja/g++.other/builtins6.C: New test.
	* g++.old-deja/g++.other/builtins7.C: New test.
	* g++.old-deja/g++.other/builtins8.C: New test.
	* g++.old-deja/g++.other/builtins9.C: New test.

From-SVN: r51568
2002-03-29 20:41:53 +00:00
Martin Kahlert 5843e8704e lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.
2002-03-29  Martin Kahlert  <martin.kahlert@infineon.com>

	* lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.

From-SVN: r51566
2002-03-29 19:33:25 +00:00