Commit Graph

48927 Commits

Author SHA1 Message Date
Jason Merrill
742f0efebe re PR c++/7050 (g++ segfaults on: (i ? get_string() : throw))
PR c++/7050
        * expr.c (store_expr): Don't attempt to store void-typed trees,
        just evaluate them for side effects.

From-SVN: r64646
2003-03-21 02:08:02 -05:00
Mark Mitchell
963142fcd5 decl2.c (arg_assoc_class): Correct check for namespace-scope friends.
* cp/decl2.c (arg_assoc_class): Correct check for namespace-scope
	friends.
	* cp/pt.c (instantiate_class_template): Fix formatting.

	* g++.dg/template/friend17.C: New test.

From-SVN: r64645
2003-03-21 07:04:07 +00:00
DJ Delorie
f3cd018570 stormy16.c (xstormy16_expand_arith): Make sure we always emit at least one insn.
* config/stormy16/stormy16.c (xstormy16_expand_arith): Make
sure we always emit at least one insn.

From-SVN: r64644
2003-03-21 01:03:01 -05:00
Christopher Faylor
70e5e841b8 config.gcc (i[34567]86-*-cygwin*): Use new common makefile stub t-cygming.
2003-03-21  Christopher Faylor  <cgf@redhat.com>

	* config.gcc (i[34567]86-*-cygwin*): Use new common makefile
	stub t-cygming. Use common target header cygming.h. Add extra
	c_target_obj and cxx_target_obj file. Default cygwin to posix
	threading. Enforce i386 as float format.
	(i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
	Remove cygwin.h as target header. Use common target header
	cygming.h  Enforce i386 as float format. Correct typo.
	* config/i386/cygming.h: New file, containing definitions
	common to mingw32 and cygwin.
	* config/i386/cygwin.h: Remove definitions common to cygwin and
	mingw.	Simplify special spec logic.  Define "wrappers" around
	certain include path defines to accommodate -mno-cygwin.
	Remove some #if 0'ed code.
	(STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
	(LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
	(GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
	* config/i386/mingw32.h: Remove definitions common to cygwin and
	mingw.
	(EXTRA_OS_CPP_BUILTINS): Adjust.
	(TARGET_VERSION): Define.
	* config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
	mingw32.h definitions.
	(LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
	* config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
	Add compilation rules for cygwin1.o cygwin2.o.
	* config/i386/cygwin1.c: New file.
	* config/i386/cygwin2.c: New file.
	* config/i386/t-cygming: New makefile stub.

From-SVN: r64643
2003-03-21 03:57:09 +00:00
GCC Administrator
03c1f6a3ea Daily bump.
From-SVN: r64642
2003-03-21 00:17:09 +00:00
Alan Modra
f8c8d81132 New test.
From-SVN: r64635
2003-03-21 10:43:41 +10:30
Richard Henderson
4bddea4c01 fold-const.c (extract_muldiv_1): Revert changing order of operands in case MULT_EXPR of 2003-02-16 patch.
* fold-const.c (extract_muldiv_1): Revert changing order of
        operands in case MULT_EXPR of 2003-02-16 patch.

From-SVN: r64632
2003-03-20 16:03:24 -08:00
Daniel Berlin
9940cce263 Somehow the indentation got screwed when i patched the commit tree on a PC with a patch from a mac.
From-SVN: r64630
2003-03-20 23:05:55 +00:00
Daniel Berlin
b3411d7e5f 2003-03-20 Daniel Berlin <dberlin@dberlin.org>
Merge changes from new-regalloc-branch

	From Michael Matz  <matz@suse.de>
	* df.c (df_ref_record_1): Move init of loc to safe point.
	Only recurse on interesting things in parallels.
	Handle CLASS_CANNOT_CHANGE_MODE smarter.
	(df_uses_record): Ditto.

	* df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
	it's already okay to use memory operands in (IE doesn't require
	adding another insn or anything).

From-SVN: r64629
2003-03-20 23:02:54 +00:00
Richard Henderson
05d482b95f re PR middle-end/6348 (internal error in allocate_dynamic_stack_space with STACK_SIZE_MODE non-default)
PR middle-end/6348
        * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
        different from word_mode.

From-SVN: r64628
2003-03-20 14:51:39 -08:00
Kazu Hirata
86a36a0ecd h8300.md (*insv_si_1_n_lshiftrt): Restrict the source operand to those that can be extracted with bld.
* config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
	source operand to those that can be extracted with bld.

From-SVN: r64627
2003-03-20 22:22:35 +00:00
Richard Earnshaw
228692e24f re PR target/10066 ([arm-linux] libjava build error on arm-linux)
PR 10066
* arm.md (UNSPEC_PIC_BASE): New constant.
(pic_add_dot_plus_four): Wrap with unspec.
(pic_add_dot_plus_eight): Likewise.

From-SVN: r64626
2003-03-20 22:04:56 +00:00
Matt Austern
a260bce676 cp-tree.h (unemitted_tinfo_decls): Declaration of a new varray.
* cp-tree.h (unemitted_tinfo_decls): Declaration of a new varray.
	(unemitted_tinfo_decl_p): Remove.
	(emit_tinfo_decl): Change declaration to remove unused parameter.
	* decl2.c (finish_file): Change tinfo emission to loop through
	unemitted_tinfo_decls array instead of looping through all decls.
	* rtti.c (unemitted_tinfo_decl_p): Declare as static, remove
	unused second parameter.
	(init_rtti_processing): initialize unemitted_tinfo_decls varray.
	(get_tinfo_decls): push new tinfo decl on unemitted_tinfo_decls.
	(emit_tinfo_decl): remove unused second parameter, add assertion
	that decl hasn't already been emitted.

From-SVN: r64621
2003-03-20 21:14:30 +00:00
Kazu Hirata
d0940a55f8 h8300.md (*insv_si_1_n): New.
* config/h8300/h8300.md (*insv_si_1_n): New.
	(*insv_si_1_n_lshiftrt): Likewise.

From-SVN: r64620
2003-03-20 21:12:01 +00:00
Roger Sayle
c876997fea fold-const.c (fold_mathfn_compare): New function to simplify comparisons against built-in math functions.
* fold-const.c (fold_mathfn_compare): New function to simplify
	comparisons against built-in math functions.  Fold comparisons
	of sqrt against constants.
	(fold): Call fold_mathfn_compare when appropriate.

	* gcc.dg/builtins-6.c: New test case.

From-SVN: r64619
2003-03-20 17:48:26 +00:00
Richard Earnshaw
952a6df761 ifcvt.c (find_if_case_1): If we add a new bb, update the dominance information.
* ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
information.

From-SVN: r64618
2003-03-20 16:49:24 +00:00
Per Bothner
b4e46cea24 Various cleanups to help compile server.
* cppinit.c (cpp_create_reader):  Take extra hash_table* argument,
	and pass that to _cpp_init_hashtable.
	(cpp_read_main_file):  Drop hash_table* argument; don't call
	_cpp_init_hashtable.
	* cpplib.h:  Update declarations to match.
	* c-opts.c (c_common_init_options):  Pass ident_hash to
	cpp_create_reader.
	(c_common_post_options):  Don't pass ident_hash to cpp_read_main_file.
	* fix-header.c (read_scan_file):  Likewise pass NULL table to
	cpp_create_reader rather than cpp_read_main_file.

	* cppfiles.c (cpp_rename_file):  Generalized and renamed
	to cpp_change_file.
	* cpplib.h:  Update declaration to match.
	* c-opts.c (push_command_line_line, finish_options):  Change
	cpp_rename_file calls to cpp_change_file.

From-SVN: r64617
2003-03-20 08:46:18 -08:00
Per Bothner
8826ff0fcd Various cleanups to help compile server.
* line-map.c (add_line_map):  Allow leaving the outermost file.
	Allowing entering an outermost-file after the initial time.

	* toplev.c (pop_srcloc):  Allow popping from initial file.

From-SVN: r64616
2003-03-20 08:43:19 -08:00
Kazu Hirata
015c318662 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
From-SVN: r64615
2003-03-20 16:10:36 +00:00
Kazu Hirata
101cb92aa6 * config/h8300/h8300.md (a peephole2): New.
From-SVN: r64614
2003-03-20 16:03:34 +00:00
Michael Koch
54c99af155 2003-03-20 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileChannelImpl.java
	(address): Removed.
	(map_address): New member variable.
	(length): Make it package private.
	(fd): Make it package private.
	(buf): Make it package private.
	(file_obj): Make it package private.
	(FileChannelImpl): New constructor.
	(nio_mmap_file): Use RawData instead of long.
	(nio_munmap_file): Use RawData instead of long.
	(nio_msync): Use RawData instead of long.
	(implCloseChannel): New implementation using map_address.
	(read): Reformated.
	(map): Implemented.
	(create_direct_mapped_buffer): Implemented, use RawData, throws
	IOException.
	(force): Use map_address instead of address.
	* gnu/java/nio/MappedByteFileBuffer.java
	(address): Removed.
	(map_address): New member variable.
	(MappedByteFileBuffer): Use map_address instead of address, reformated.
	(several methods): Use map_address instead of address, replaced long
	with RawData where appropriate.
	* gnu/java/nio/natFileChannelImpl.cc
	(nio_mmap_file): Replaced long with RawData.
	(nio_munmap_file): Replaced long with RawData.
	(nio_msync): Replaced long with RawData.
	* gnu/java/nio/natMappedByteFileBuffer.cc
	(several methods): Replaced long with RawData where appropriate.

From-SVN: r64612
2003-03-20 11:14:35 +00:00
Michael Koch
111a007d96 InetAddress.java, [...]: Merged copyright statements with classpath for easier merging.
2003-03-20  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java,
	java/net/JarURLConnection.java,
	java/net/PlainDatagramSocketImpl.java,
	java/net/PlainSocketImpl.java,
	java/net/URLConnection.java:
	Merged copyright statements with classpath for easier merging.

From-SVN: r64611
2003-03-20 08:19:58 +00:00
Michael Koch
10b33028a2 2003-03-20 Michael Koch <konqueror@gmx.de>
* java/io/FileInputStream.java
	(getChannel): New implementation.
	* java/io/FileOutputStream.java
	(ch): New member variable.
	(getChannel): Implemented.
	* java/io/RandomAccessFile.java
	(RandomAccessFile): Throws FileNotFoundException instead of
	IOException.
	(getChannel): New method.
	(ch): New member variable.

From-SVN: r64609
2003-03-20 07:54:24 +00:00
Michael Koch
04b3370bfd DataOutputStream.java, [...]: Merged copyright statements with classpath for easier merging.
2003-03-20  Michael Koch  <konqueror@gmx.de>

	* java/io/DataOutputStream.java,
	java/io/File.java,
	java/io/FileInputStream.java,
	java/io/FileOutputStream.java,
	java/io/InputStreamReader.java,
	java/io/LineNumberReader.java,
	java/io/OutputStreamWriter.java,
	java/io/PrintStream.java,
	java/io/RandomAccessFile.java:
	Merged copyright statements with classpath for easier merging.

From-SVN: r64608
2003-03-20 07:47:01 +00:00
Kazu Hirata
f4613a2e50 h8300.md (*addsi3_and_r_1): New.
* config/h8300/h8300.md (*addsi3_and_r_1): New.
	(*addsi3_and_not_r_1): Likewise.

From-SVN: r64607
2003-03-20 06:43:29 +00:00
Loren J. Rittle
31260fb846 Makefile.in (STRICT2_WARN): Add @WERROR@.
* Makefile.in (STRICT2_WARN): Add @WERROR@.
        (GCC_WARN_CFLAGS): Remove $(WERROR).
        (fixinc.sh-warn): New.
        * ada/Make-lang.in (ada-warn): Add $(WERROR).
        * cp/Make-lang.in (cp-warn): Add $(WERROR).
        * f/Make-lang.in (f-warn): Add $(WERROR).
        * java/Make-lang.in (java-warn): Add $(WERROR).
        * treelang/Make-lang.in (treelang-warn): Add $(WERROR).

From-SVN: r64606
2003-03-20 03:11:25 +00:00
Alexandre Oliva
951312c819 atomicity.h (__exchange_and_add, [...]): Only .set mips2 for the o32 ABI.
* config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
Only .set mips2 for the o32 ABI.

From-SVN: r64604
2003-03-20 02:30:42 +00:00
GCC Administrator
7e9268dbee Daily bump.
From-SVN: r64603
2003-03-20 00:17:13 +00:00
Nathanael Nerode
2bd3ecadd8 c-common.h (c_dump_tree), [...]): Change return type from 'int' to 'bool'.
(gcc)
	* c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
	langhooks-def.h (lhd_tree_dump_dump_tree),
	langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
	Change return type from 'int' to 'bool'.  Replace 0 and 1 with
	true and false in return statements.
(cp)
	* dump.c (cp_dump_tree), cp-tree.h (cp_dump_tree): Change return
	type from 'int' to 'bool'. Replace 0 and 1 with true and false in
	return statements.
(java)
	* lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
	Replace 0 and 1 with true and false in return statements.

From-SVN: r64596
2003-03-19 20:34:10 +00:00
Richard Kenner
784fb70e84 tree.c (substitute_in_expr, case 'e'): Only make recursive call on an operand if it has a PLACEHOLDER_EXPR.
* tree.c (substitute_in_expr, case 'e'): Only make recursive call
	on an operand if it has a PLACEHOLDER_EXPR.

From-SVN: r64595
2003-03-19 15:20:57 -05:00
Jason Merrill
f8a855dcaf fix typo
From-SVN: r64592
2003-03-19 14:43:40 -05:00
Jason Merrill
b9747e59d6 PR c++/8316, c++/9315, c++/10136
PR c++/8316, c++/9315, c++/10136
        * call.c (print_z_candidate): Split out from...
        (print_z_candidiates): ...here.
        (joust): Use it.

From-SVN: r64590
2003-03-19 13:19:53 -05:00
Kevin Buettner
9eb0ef7a07 Add support for DWARF 3 64-bit sections.
From-SVN: r64589
2003-03-19 18:18:36 +00:00
Tom Tromey
b25a23bd5a lex.c (do_java_lex): Renamed from java_lex.
* lex.c (do_java_lex): Renamed from java_lex.
	(java_lex): New function.
	Include timevar.h.

From-SVN: r64586
2003-03-19 17:02:43 +00:00
Ulrich Weigand
8b5642e025 Fix date of last entry.
From-SVN: r64585
2003-03-19 14:58:28 +00:00
Ulrich Weigand
0796c16a1b s390.c (s390_preferred_reload_class): Do not force constants to the pool unless necessary.
* config/s390/s390.c (s390_preferred_reload_class): Do not
	force constants to the pool unless necessary.
	(s390_decompose_address): Prefer to use pointer as base,
	not index register.
	* config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
	Q alternative.
	("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
	"*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
	("*extractqi", "*extracthi", "*zero_extendhisi2_31",
	"*zero_extendqisi2_31", "*zero_extendqihi2_31",
	"*adddi3_31", "*subdi3_31"): Do not set "type" attribute.

From-SVN: r64583
2003-03-19 14:54:26 +00:00
Jan Hubicka
d9b40e8dbe i386.h (machine_function): New fields use_fast_prologue_epilogue.
* i386.h (machine_function): New fields use_fast_prologue_epilogue.
	* i386.c (use_fast_prologue_epilogue): Remove.
	(ix86_frame): New field save_regs-using_mov;
	(ix86_compute_frame_layout):  Decide on fast prologues;
	allocate saved registers in red zone.
	(ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.

From-SVN: r64579
2003-03-19 12:51:28 +00:00
Paolo Carlini
38b2a9713f 1.cc: Test char not wchar_t.
2003-03-19  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/char_traits/requirements/char/1.cc:
	Test char not wchar_t.

From-SVN: r64576
2003-03-19 12:17:49 +00:00
Michael Koch
a37f82190d Process.java: Merged from classpath.
2003-03-19  Michael Koch  <konqueror@gmx.de>

	* java/lang/Process.java:
	Merged from classpath.

From-SVN: r64575
2003-03-19 12:15:04 +00:00
Michael Koch
f6eb259fa5 2003-03-19 Michael Koch <konqueror@gmx.de>
* java/io/FileOutputStream.java
	(FileOutputStream): New constructor, merged from classpath.
	* java/io/FileWriter.java
	(FileWriter): New constructor, merged from classpath.

From-SVN: r64574
2003-03-19 12:13:41 +00:00
Nick Clifton
31488c64a7 (CPP_SPEC): Remove trailing semi-colon.
From-SVN: r64573
2003-03-19 10:32:46 +00:00
John David Anglin
685d0e0775 re PR target/10062 (internal compiler error: in output_cbranch, at config/pa/pa.c: 5515)
PR 10062
	* config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
	* pa-protos.h (output_lbranch): New prototype.
	* pa.c (compute_frame_size): Change size of the frame marker on the
	64-bit ports to 48 bytes.
	(pa_output_function_prologue): Document why SAVE_SP is set.
	(hppa_expand_prologue): Save previous stack pointer into frame marker
	on targets which use the hpux unwind library.
	(output_cbranch): Use output_lbranch.
	(output_lbranch): New function to output long unconditional branches.
	* pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
	(STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
	64-bit ports.
	* pa.md (jump): Use output_lbranch.
	(allocate_stack): New expander for dynamic stack allocation.

From-SVN: r64570
2003-03-19 04:41:48 +00:00
Geoffrey Keating
6788f5ca12 rs6000.c (rs6000_emit_prologue): Don't clone the result of machopic_function_base_name.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
	the result of machopic_function_base_name.
	* config/darwin.c (machopic_function_base_name): Use a gc-allocated
	string rather than a static array.

From-SVN: r64569
2003-03-19 03:23:44 +00:00
Alan Modra
178274da22 rs6000.c (rs6000_stack_info): Only require a frame when debugging on XCOFF targets.
* config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
	when debugging on XCOFF targets.  Delete "abi" temp.

From-SVN: r64568
2003-03-19 13:21:41 +10:30
Alan Modra
42151102f0 re PR target/10073 (powerpc cannot split insn while building rscheme)
PR target/10073
	* gcc.c-torture/compile/20030319-1.c: New.

From-SVN: r64565
2003-03-19 11:59:15 +10:30
Alan Modra
6a04f4e05e re PR target/10073 (powerpc cannot split insn while building rscheme)
PR target/10073
	* combine.c (force_to_mode <NOT>): Use gen_int_mode.

From-SVN: r64564
2003-03-19 11:58:12 +10:30
GCC Administrator
c59fca5992 Daily bump.
From-SVN: r64563
2003-03-19 00:17:16 +00:00
Jakub Jelinek
6b2300b390 s390.c (s390_output_dwarf_dtprel): New.
* config/s390/s390.c (s390_output_dwarf_dtprel): New.
	* config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
	* config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.

	* config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
	* config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.

From-SVN: r64556
2003-03-19 01:13:02 +01:00
Geoffrey Keating
5ba6918ee8 Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
* Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.

	* gengtype.c: Include rtl.h.
	(enum rtx_code): Don't define.
	(rtx_format): Make declaration match rtl.h.
	(rtx_next_new): Rename from rtx_next to avoid conflict.  Change all
	users.
	(adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
	* Makefile.in (gengtype.o): Update dependencies.

From-SVN: r64554
2003-03-18 20:21:18 +00:00
Geoffrey Keating
f83b236e2a * function.c (next_block_index): Mark with GTY.
From-SVN: r64551
2003-03-18 19:49:41 +00:00