Commit Graph

42171 Commits

Author SHA1 Message Date
Ulrich Weigand
2f460a0a57 reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM is only used as frame pointer when...
* reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
	is only used as frame pointer when frame_pointer_needed is true.

From-SVN: r52140
2002-04-10 17:56:02 +00:00
Lars Brinkhoff
6127eac4bd * gcc.c-torture/execute/20020406-1.c: Declare malloc.
From-SVN: r52138
2002-04-10 10:47:24 -07:00
Richard Earnshaw
0be5cf851a re PR target/817 (ARM compiler generates out-of-range accesses to constant pool data)
PR target/817
* arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
for the fact that the pool entry uses two words.
(movdf_hard_insn): Similarly.  Also, ADR instruction can span
1k bytes.
(movdf_soft_insn): Similarly.
(movxf_hard_insn): Adjust neg_pool_range attribute to allow
for the fact that the pool entry uses three words.

From-SVN: r52132
2002-04-10 14:06:38 +00:00
Jason Merrill
6b7c9242a8 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: r52129
2002-04-10 08:18:44 -04:00
Richard Sandiford
bf6d4777dd mips.c (mips_va_arg): When using the struct version of the EABI va_list...
* config/mips/mips.c (mips_va_arg): When using the struct version
	of the EABI va_list, allow arguments in the register save area to
	take up less room than a stack argument.

From-SVN: r52125
2002-04-10 10:36:50 +00:00
Nathan Sidwell
ba3307c092 re PR c++/5507 (Overzealous implicit typename warning)
cp:
        PR c++/5507
        * decl.c (make_typename_type): Remove implicit typenameness.
testsuite:
        PR c++/5507
        * g++.dg/template/typename2.C: New test.

From-SVN: r52124
2002-04-10 09:40:18 +00:00
GCC Administrator
d4bb3dd75c Daily bump.
From-SVN: r52122
2002-04-10 07:17:16 +00:00
Richard Henderson
c2e9dc85ff expr.c (expand_expr): Don't force into registers if EXPAND_INITIALIZER.
* expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
        if EXPAND_INITIALIZER.

From-SVN: r52118
2002-04-10 00:11:32 -07:00
Richard Henderson
bc8e8e97b4 alpha.md (movdi_er_maybe_g): New.
* config/alpha/alpha.md (movdi_er_maybe_g): New.
        * config/alpha/alpha.c (alpha_expand_mov): Use it.

From-SVN: r52113
2002-04-09 22:22:33 -07:00
Alan Modra
aec3e1894e * gcc.c-torture/execute/loop-12.c: New.
From-SVN: r52111
2002-04-10 13:22:22 +09:30
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