Commit Graph

42311 Commits

Author SHA1 Message Date
Alan Modra a6a063b81c re PR rtl-optimization/6233 (simple loop miscompilation)
PR optimization/6233
	* rtlanal.c (pure_call_p): New function.
	* rtl.h (pure_call_p): Declare.
	* loop.c (prescan_loop): Use it to set has_nonconst_call.
	* gcse.c (store_killed_in_insn): Use pure_call_p here too.

From-SVN: r52110
2002-04-10 13:20:39 +09:30
Eric Christopher 7b2e107761 mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional information to .comm directive.
2002-04-09  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
	information to .comm directive.

From-SVN: r52109
2002-04-10 03:40:00 +00:00
Loren J. Rittle ef98ad7b6c * configure.in: Add *-*-freebsd* configurations.
From-SVN: r52107
2002-04-10 02:51:54 +00:00
Richard Henderson d8a50944dc expr.c (expand_expr): Force overflows into registers.
* expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.

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

From-SVN: r52104
2002-04-09 19:22:20 -07:00
Richard Henderson 6a58eee93d basic-block.h (flow_delete_block_noexpunge): Declare.
* basic-block.h (flow_delete_block_noexpunge): Declare.
	(expunge_block_nocompact): Declare.
	* cfg.c (expunge_block_nocompact): Split out from ...
	(expunge_block): ... here.
	* cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
	(flow_delete_block_noexpunge): Split out from ...
	(flow_delete_block): ... here.
	* cfgcleanup.c (delete_unreachable_blocks): Compact while
	removing dead blocks.
	* except.c (exception_handler_labels): Remove.
	(exception_handler_label_map): New.
	(struct eh_region): Add aka member.
	(mark_ehl_map_entry, mark_ehl_map, free_region): New.
	(ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
	(for_each_eh_label, for_each_eh_label_1): New.
	(init_eh): Register exception_handler_label_map.
	(free_eh_status): Use free_region.
	(find_exception_handler_labels): Use the map, not the list.
	(remove_exception_handler_label): Likewise.
	(maybe_remove_eh_handler): Likewise.
	(remove_eh_handler): Use the region aka bitmap.
	* except.h (exception_handler_labels): Remove.
	(for_each_eh_label): Declare.
	* jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
	* loop.c (invalidate_loops_containing_label): New.
	(find_and_verify_loops): Use it.  Use for_each_eh_label.
	* sched-rgn.c (is_cfg_nonregular): Use
	current_function_has_exception_handlers.

From-SVN: r52100
2002-04-09 17:15:58 -07:00
Richard Henderson 4fc4e47839 hashtab.c (higher_prime_number): Use 7 as minimum.
* hashtab.c (higher_prime_number): Use 7 as minimum.
        (find_empty_slot_for_expand): Don't compute hash2 unless needed.
        (htab_find_slot_with_hash): Likewise.

From-SVN: r52099
2002-04-09 17:14:53 -07:00
Loren J. Rittle b911c031b3 gcconfig.h (DATAEND): Update comment example to match reality.
* include/private/gcconfig.h (DATAEND): Update comment example
	to match reality.

From-SVN: r52098
2002-04-09 23:11:36 +00:00
Benjamin Kosnik 0dba73e0ab localefwd.h (locale::_Impl::_M_facets): Change from pointer to vector.
2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>

        libstdc++/1072
        * include/bits/localefwd.h (locale::_Impl::_M_facets): Change from
        pointer to vector.
        Remove forward declaration of vector.
        Include vector.
        * include/bits/locale_facets.tcc: Remove vector include.
        (use_locale): Adjust.
        (has_locale): Adjust.
        * src/locale.cc: Adjust.
        * src/localename.cc: Same.

From-SVN: r52095
2002-04-09 21:19:55 +00:00
Richard Henderson b47374fa9b sbitmap.c (sbitmap_union_of_diff, [...]): Do not return changed status.
* sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
        sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
        Do not return changed status.
        (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
        sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
        New functions that do return changed status.
        * sbitmap.h: Update decls.
        * gcse.c, lcm.c: Use _cg functions as needed.

From-SVN: r52094
2002-04-09 14:15:38 -07:00
J"orn Rennecke 1951818c2f config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
* config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
	(sh64-*-elf*, sh-*-rtemself*): Likewise.
	* config/sh/embed_bb.c: New file.
	* config/sh/embed-elf.h: New file.
	* sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
	if -m[12345]* option is given.  Don't use subtarget_cpp_ptr_spec.
	(CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
	__PTRDIFF_TYPE__ .
	(SUBTARGET_CPP_PTR_SPEC): Don't define.
	(EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
	Add subtarget_asm_endian_spec.
	(ASM_SPEC): Use subtarget_asm_endian_spec.
	(SUBTARGET_ASM_ENDIAN_SPEC): Define.
	(RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
	(WCHAR_UNSIGNED): Define.
	(SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
	(DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
	(ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
	Fix value.
	* sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
	(sh_adjust_cost): Likewise.
	sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
	__PTRDIFF_TYPE__ .
	(SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
	(WCHAR_TYPE_SIZE): Likewise.
	(ASM_SPEC): Use subtarget_asm_endian_spec.
	(SH_ELF_WCHAR_TYPE): #undef/ #define.
	(MAX_WCHAR_TYPE_SIZE): Don't #undef.
	* config/sh/elf.h (WCHAR_UNSIGNED): #undef .
	(MAX_WCHAR_TYPE_SIZE): Don't #define .
	(WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
	(USER_LABEL_PREFIX): Don't #undef /#define .
	(DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
	* config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
	(ASM_SPEC): Likewise.
	(SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
	(CC1_SPEC): don't supply -m3 for -m4*, -m5*.
	* t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
	(LIB2FUNCS_EXTRA): Define.
	* t-sh64 (LIB2FUNCS_EXTRA): Define.
	* config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
	(LIB1ASMFUNCS_CACHE): Define.
	(LIB2FUNCS_EXTRA): Redefine empty.

From-SVN: r52091
2002-04-09 21:07:15 +01:00
Richard Henderson 3429579991 * reorg.c (get_branch_condition): Use reversed_comparison_code.
From-SVN: r52090
2002-04-09 12:45:20 -07:00
Stephane Carrez e8766a3973 larith.asm (__map_data_section): Fix condition and optimize for size.
* config/m68hc11/larith.asm (__map_data_section): Fix condition
	and optimize for size.
	(__do_global_ctors): Fix pointer comparison.
	(__do_global_dtors): Likewise.

From-SVN: r52086
2002-04-09 20:53:50 +02:00
Tom Tromey 42aacdfbb8 * win32.cc (_Jv_platform_initProperties): Use GetTempPath.
From-SVN: r52084
2002-04-09 17:44:32 +00:00
Jason Merrill 02f136ee0d re PR rtl-optimization/6189 (Regression from 3.0.x: g++ -O3 generates wrong code)
PR optimization/6189
        * semantics.c (genrtl_start_function): Don't free
        DECL_SAVED_FUNCTION_DATA for inline functions.

[[Split portion of a mixed commit.]]

From-SVN: r52083.2
2002-04-09 13:02:43 -04:00
Jason Merrill edf5cd1d1d re PR rtl-optimization/6189 (Regression from 3.0.x: g++ -O3 generates wrong code)
PR optimization/6189
        * semantics.c (genrtl_start_function): Don't free
        DECL_SAVED_FUNCTION_DATA for inline functions.

From-SVN: r52082
2002-04-09 13:01:59 -04:00
David S. Miller f451b552cf sparc.c (sparc_extra_constraint_check): New function, implementing EXTRA_CONSTRAINTS.
2002-04-09  David S. Miller  <davem@redhat.com>

	* config/sparc/sparc.c (sparc_extra_constraint_check): New
	function, implementing EXTRA_CONSTRAINTS.  For memory constraints,
	allow reloading pseudos.
	* config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
	* config/sparc/sparc-protos.h: Declare it.

	* config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
	unsigned comparison warning.
	(output_restore_regs): Mark leaf_function as unused.

From-SVN: r52080
2002-04-09 07:52:03 -07:00
Jason Merrill cd6af0c13a init.c (build_member_call): For now, don't convert to intermediate base if it would cause an error.
* init.c (build_member_call): For now, don't convert to
        intermediate base if it would cause an error.

From-SVN: r52078
2002-04-09 09:59:59 -04:00
Richard Kenner 1ce7f3c2ab expr.c (is_aligning_offset): New function.
* expr.c (is_aligning_offset): New function.
	(expand_expr, case COMPONENT_EXPR): Call it.

From-SVN: r52077
2002-04-09 09:41:58 -04:00
Benjamin Kosnik dcf5a5dec8 sstream.tcc: Clean up bit ops.
2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>
	    Richard Henderson  <rth@redhat.com>

	* include/bits/sstream.tcc: Clean up bit ops.
	* include/bits/fstream.tcc: Same.

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

From-SVN: r52070
2002-04-09 08:48:33 +00:00
Jakub Jelinek b0396e3b6c locale_facets.h (__num_base::_S_scale_hex): Remove.
2002-04-09  Jakub Jelinek  <jakub@redhat.com>

	* include/bits/locale_facets.h (__num_base::_S_scale_hex): Remove.
	(__num_base::_S_scale_oct): Remove.
	* src/locale.cc (__num_base::_S_scale_hex): Remove.
	(__num_base::_S_scale_oct): Remove.

From-SVN: r52068
2002-04-09 08:00:08 +00:00
Benjamin Kosnik 1cb7f91f86 bitset_members.cc: New test.
2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/6124
	* testsuite/23_containers/bitset_members.cc: New test.
	* include/std/std_bitset.h (_Bit_count::_S_bit_count): Move..
	(_S_bit_count): Here.
	(_First_one::_S_first_one): Move...
	(_S_first_one): Here.
	Format.
	* src/bitset.cc: Adjust.
	* config/linker-map.gnu: Export.

From-SVN: r52066
2002-04-09 07:35:31 +00:00
GCC Administrator e70ed0d9a5 Daily bump.
From-SVN: r52064
2002-04-09 07:17:26 +00:00
Hans-Peter Nilsson ed426a38ad Fix ChangeLog date
From-SVN: r52059
2002-04-09 07:08:23 +00:00
Hans-Peter Nilsson 0bd9dd55a7 re PR objc/6107 (sparc-sun-solaris2.7 gcc-3.1 extra objc testsuite failures w/-m64)
PR objc/6107
	* objc/objc-api.h (struct objc_protocol_list): Change type of
	member count from int to size_t.

From-SVN: r52058
2002-04-09 07:06:18 +00:00
Benjamin Kosnik b988dfc58f fstream.tcc (filebuf::seekpos): Fix.
2002-04-08  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/5180
	* include/bits/fstream.tcc (filebuf::seekpos): Fix.
	* include/std/std_fstream.h: Clean.
	* include/bits/ostream.tcc: Remove extraneous variables.
	* include/bits/sstream.tcc (stringbuf::seekoff): Be strict about
	open modes and which modes.
	(stringbuf::seekpos): Same.
	* testsuite/27_io/stringbuf_virtuals.cc: New tests.

From-SVN: r52057
2002-04-09 06:14:32 +00:00
Bryce McKinlay 973348ec02 re PR java/6204 (gcj generates invalid byte code)
* libjava.lang/PR6204.java, libjava.lang/PR6204.out: New test case.
	* libjava.lang/PR6085.java, libjava.lang/PR6085.out: Likewise.

From-SVN: r52056
2002-04-09 06:25:11 +01:00
Loren J. Rittle e285b25952 * include/private/gcconfig.h (DATAEND): Clarify comment.
From-SVN: r52054
2002-04-09 01:35:21 +00:00
Hans Boehm 787bf7e377 gc_priv.h (WARN macro): Add "GC warning:" prefix.
* include/private/gc_priv.h (WARN macro): Add "GC warning:" prefix.
	(GC_large_alloc_warn_interval, GC_large_alloc_warn_suppressed):
	declare.
	* allchblk.c (GC_allchblk_nth): Change text and support reduced
	frequency for blacklist warning message.
	* misc.c (GC_large_alloc_warn_interval,
	GC_large_alloc_warn_suppressed): define.
	(GC_init_inner): Check GC_NO_BLACKLIST_WARNING and
	GC_LARGE_ALLOC_WARN_INTERVAL environment variables.
	* doc/README.environment (GC_NO_BLACKLIST_WARNING): Deprecate.
	(GC_LARGE_ALLOC_WARN_INTERVAL): Add documentation.

	* dyn_load.c (_DYNAMIC): Move declaration to file scope.

From-SVN: r52053
2002-04-09 00:39:16 +00:00
Hans Boehm cc382e5c1a java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE correctly.
* src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
	correctly.
	* src/ia64/unix.S: Add unwind information. Fix comments.
	Save sp in a way that's compatible with unwind info.
	(ffi_call_unix): Correctly restore sp in all cases.
	* src/ia64/ffi.c: Add, fix comments.

From-SVN: r52048
2002-04-08 23:59:13 +00:00
Hans-Peter Nilsson 613bacac4a Fix commit goof: s/istarget/ishost/ for host
From-SVN: r52047
2002-04-08 23:16:17 +00:00
Hans-Peter Nilsson a19caa8896 980628-4.x, [...]: New, xfail cross-endian tests.
* g77.f-torture/execute/980628-4.x,
	g77.f-torture/execute/980628-5.x,
	g77.f-torture/execute/980628-6.x, g77.f-torture/execute/alpha2.x,
	g77.f-torture/execute/auto0.x, g77.f-torture/execute/auto1.x,
	g77.f-torture/compile/alpha1.x: New, xfail cross-endian tests.

From-SVN: r52046
2002-04-08 22:49:02 +00:00
Hans-Peter Nilsson adb563c471 Make-lang.in (f/target.o): Depend on diagnostic.h.
* Make-lang.in (f/target.o): Depend on diagnostic.h.
	* target.c: Include diagnostic.h.
 	(ffetarget_memcpy_): Call sorry if host and target endians are
	not matching.

From-SVN: r52043
2002-04-08 22:20:39 +00:00
Jakub Jelinek dc79864588 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
From-SVN: r52041
2002-04-08 22:24:17 +02:00
Tom Tromey 90def2b26c re PR libgcj/6068 (libgcj build picks up libgcj.spec from install tree)
* configure.in: Add FLAGS_FOR_TARGET to GCJ_FOR_TARGET.
	Fixes PR libgcj/6068.

From-SVN: r52038
2002-04-08 18:57:57 +00:00
Tom Tromey 6613372140 For PR libgcj/5303:
* .cvsignore: Added rmic.1 and rmiregistry.1.
	* gcj.texi (Top): Link to new nodes.
	(Invoking rmic): New node.
	(Invoking rmiregistry): Likewise.
	* Make-lang.in (java.generated-manpages): Added rmic.1 and
	rmiregistry.1.
	(java.maintainer-clean): Likewise.
	($(srcdir)/java/rmic.1): New target.
	($(srcdir)/java/rmiregistry.1): Likewise.
	(java.install-man): Handle rmic.1 and rmiregistry.1.

From-SVN: r52035
2002-04-08 18:32:23 +00:00
David S. Miller 7a31a340a1 re PR target/6082 (memory model wrong for FreeBSD/sparc64)
2002-04-08  David S. Miller  <davem@redhat.com>

	PR target/6082
	* config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW

	Make init_priority work on Sparc when using GNU ld.
	* config/sparc/linux.h, config/sparc/linux64.h,
	config/sparc/netbsd-elf.h, config/sparc/freebsd.h
	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
	* config/sparc/sol2-gld.h: New file to do the same.
	* config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
	sparc/sol2-gld.h to tm_file.

	PR optimization/4328
	* config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
	* doc/md.texi: Document it.
	* config/sparc/sparc.md (movdi_insn_sp64_novis,
	movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
	movdf_insn_v9only_vis, movdf_insn_sp64_novis,
	movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
	* config/sparc/sparc.c (mem_min_alignment): Fix comment.

From-SVN: r52031
2002-04-08 10:20:48 -07:00
Andreas Jaeger 11579f33b9 Revert last patch from Richard Henderson.
From-SVN: r52029
2002-04-08 19:09:50 +02:00
Alberto Biancardi 62afca269c re PR libgcj/6187 (method distance of class java.awt.geom.Point2D causes infinite recursion)
2002-04-08  Alberto Biancardi  <alberto.biancardi@unipv.it>

	Fix for PR libgcj/6187:
	* java/awt/geom/Point2D.java (distance): Call distanceSq, not
	distance.

From-SVN: r52027
2002-04-08 14:43:35 +00:00
Paolo Carlini 224e6091b4 parse.y (namespace_qualifier, [...]): Add ending ';', in accordance with POSIX.
2002-04-08  Paolo Carlini  <pcarlini@unitus.it>

	* parse.y (namespace_qualifier, maybe_identifier,
	begin_explicit_instantiation, end_explicit_instantiation,
	apparent_template_type, .finish_template_type,
	do_id, maybe_init, defarg_again, component_decl_1):
	Add ending ';', in accordance with POSIX.

From-SVN: r52026
2002-04-08 12:29:38 +00:00
Gerald Pfeifer b57215d9bd contrib.texi (Contributors): Add John David Anglin and Loren J. Rittle (the latter also to Testers).
* doc/contrib.texi (Contributors): Add John David Anglin and Loren
	J. Rittle (the latter also to Testers).  Update David O'Brien's entry.
	* doc/contrib.texi (Contributors): Add David O'Brien.

From-SVN: r52024
2002-04-08 12:07:37 +00:00
Bryce McKinlay 00b224f8b1 gcj.texi (Invocation): Update JvAttachCurrentThread documentation.
* gcj.texi (Invocation): Update JvAttachCurrentThread documentation.
	Add note about handling uncaught exceptions. Add an exception handler
	to example.

From-SVN: r52022
2002-04-08 13:03:02 +01:00
Alan Modra fc06c4b207 Oops, commit right file.
From-SVN: r52021
2002-04-08 18:24:50 +09:30
Alan Modra 534d0cc0d4 configure.in (auto-build.h): Use target_alias and build_alias when running configure.
* configure.in (auto-build.h): Use target_alias and build_alias
	when running configure.
	(gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
	(gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
	* configure: Regenerate.

From-SVN: r52020
2002-04-08 18:23:48 +09:30
GCC Administrator 3f7fe9b9cf Daily bump.
From-SVN: r52019
2002-04-08 07:17:01 +00:00
Bryce McKinlay 0b055ea1d8 parse.y (resolve_qualified_expression_name): Clear "from_super" flag after using it to patch CALL_EXPR.
* parse.y (resolve_qualified_expression_name): Clear "from_super" flag
	after using it to patch CALL_EXPR.

From-SVN: r52015
2002-04-08 07:41:36 +01:00
Bryce McKinlay 92c76eba66 * gcj.texi (Invocation): Document CNI invocation API.
From-SVN: r52012
2002-04-08 07:37:26 +01:00
David S. Miller 19fe522aa3 config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
2002-04-07  David S. Miller  <davem@redhat.com>

	* config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.

From-SVN: r52011
2002-04-07 17:30:07 -07:00
Mark Wielaard ecc2337579 AbstractMap.java (putAll): Use entrySet size.
* java/util/AbstractMap.java (putAll): Use entrySet size.
	(toString): Explicitly use getKey() and getValue().

From-SVN: r52008
2002-04-08 00:23:28 +00:00
Mark Wielaard 298f6e4bdc xfails: Add CASE_INSENSITIVE_ORDER...
* libjava.mauve/xfails: Add CASE_INSENSITIVE_ORDER, result was
    unspecified and test should be updated to match latest spec.
    Add AcuniaPropertiesTest, known bug #6219. Add test_getClassLoader,
    what we do seems to be not really right or wrong.

From-SVN: r52006
2002-04-07 22:33:09 +00:00
John David Anglin bf2d0b8e62 re PR c++/5933 (HP-UX: broken MI of virtual classes)
PR 5933
	* pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
	generating 32-bit pic code.

From-SVN: r52004
2002-04-07 21:29:01 +00:00