Zack Weinberg [Tue, 3 Apr 2001 17:38:23 +0000 (17:38 +0000)]
xm-beos.h, [...]: Delete.
* config/i386/xm-beos.h, config/i386/xm-isc.h,
config/i386/xm-next.h, config/i386/xm-sco.h,
config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
config/m88k/xm-m88k.h: Delete.
* config/i386/xm-djgpp.h: Don't define __MSDOS__.
* config/romp/xm-romp.h: Don't define bcopy.
* config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
* config.gcc: Remove references to deleted files.
From-SVN: r41061
Alexandre Petit-Bianco [Tue, 3 Apr 2001 17:32:02 +0000 (10:32 -0700)]
boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Set to use `build_int_2.'
2001-03-28 Hans Boehm <boehm@acm.org>
* boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Set to use `build_int_2.'
(get_boehm_type_descriptor): Set type on returned value to be a
pointer length integer.
(http://gcc.gnu.org/ml/java/2001-03/msg00444.html)
From-SVN: r41059
Jakub Jelinek [Tue, 3 Apr 2001 15:06:12 +0000 (17:06 +0200)]
Use byte offsets in SUBREGs instead of words.
2001-04-03 Jakub Jelinek <jakub@redhat.com>
David S. Miller <davem@pierdol.cobaltmicro.com>
Andrew MacLeod <amacleod@redhat.com>
Use byte offsets in SUBREGs instead of words.
* alias.c (nonlocal_mentioned_p): Use subreg_regno function.
* caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
to pass new argument.
(add_stored_regs): Use subreg_regno_offset function.
* calls.c (expand_call): For non-paradoxical SUBREG take endianess
into account.
(precompute_arguments): Use gen_lowpart_SUBREG.
* combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
(combine_simplify_rtx): Rework to use SUBREG_BYTE.
(simplify_set): Rework to use SUBREG_BYTE.
(expand_field_assignment): Use SUBREG_BYTE.
(make_extraction): Use SUBREG_BYTE.
(if_then_else_cond): Use SUBREG_BYTE.
(apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
(gen_lowpart_for_combine): Compute full byte offset.
* cse.c (mention_regs): Use SUBREG_BYTE.
(remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
(canon_hash): Use SUBREG_BYTE.
(fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
(gen_lowpart_if_possible): Formatting.
* dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
correctly.
* dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
(mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
(loc_descriptor): Fixup explicit XEXP into SUBREG_REG
* dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
(output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
(output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
* emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
certain invariants about SUBREGs the compiler creates.
(gen_lowpart_SUBREG): New function.
(subreg_hard_regno): New function to get the final register number.
(gen_lowpart_common): Use SUBREG_BYTE.
(gen_imagpart): Spacing nits.
(subreg_realpart_p): Use SUBREG_BYTE.
(gen_highpart): Use SUBREG_BYTE.
(subreg_lowpart_p): Always compute endian corrected goal offset,
even at the byte level, then compare against that.
(constant_subword): New function, pulled out all constant cases
from operand_subword and changed second argument name to offset.
(operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
and call constant_subword to do the work. Return const0_rtx if
looking for a word outside of OP.
(operand_subword_force): Change second arg name to offset.
* expmed.c (store_bit_field): Use SUBREG_BYTE.
(store_split_bit_field): Use SUBREG_BYTE.
(extract_bit_field): Use SUBREG_BYTE.
(extract_split_bit_field): Use SUBREG_BYTE.
(expand_shift): Use SUBREG_BYTE.
* expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
* final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
* flow.c (set_noop_p): Use SUBREG_BYTE.
(mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
* function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
(fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
correction code.
(optimize_bit_field): Use SUBREG_BYTE.
(purge_addressof_1): Use SUBREG_BYTE.
(purge_single_hard_subreg_set): Use subreg_regno_offset function.
(assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
* gengenrtl.c (special_rtx): Add SUBREG.
* global.c (mark_reg_store): Use SUBREG_BYTE.
(set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
* ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
* integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
final byte offset is congruent to subreg's mode size.
(subst_constants): Use SUBREG_BYTE.
(mark_stores): Use subreg_regno_offset function.
* jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
function and SUBREG_BYTE.
* local-alloc.c (combine_regs): Use subreg_regno_offset function.
(reg_is_born): Use subreg_hard_regno.
* recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
endian correction code. Don't combine subregs unless resulting
offset aligns with type. Fix subreg constant extraction for DImode.
Simplify SUBREG of VOIDmode CONST_DOUBLE.
(general_operand): Remove dead mode_altering_drug code.
(indirect_operand): Use SUBREG_BYTE.
(constrain_operands): Use subreg_regno_offset function.
* reg-stack.c (get_true_reg): Use subreg_regno_offset function.
* regmove.c (regmove_optimize): Use SUBREG_BYTE.
(optimize_reg_copy_3): Use gen_lowpart_SUBREG.
* regs.h (REG_SIZE): Allow target to override.
(REGMODE_NATURAL_SIZE): New macro which target can override.
* reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
on the entire subreg rtx.
(push_reload): Use SUBREG_BYTE in comments and code.
(find_dummy_reload): Use subreg_regno_offset. Only adjust offsets
for hard registers inside subregs.
(operands_match_p): Use subreg_regno_offset.
(find_reloads): Use SUBREG_BYTE and only advance offset for subregs
containing hard regs.
(find_reload_toplev): Use SUBREG_BYTE. Remove byte endian
corrections when fixing up MEM subregs.
(find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
subreg_regno_offset where appropriate.
(find_reloads_subreg_address): Use SUBREG_BYTE. Remove
byte endian corrections when fixing up MEM subregs.
(subst_reloads): When combining two subregs, make sure final
offset is congruent to subreg's mode size.
(find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
(refers_to_regno_for_reload_p): Use subreg_regno.
(reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
* reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
correction code for memory subreg fixups.
(forget_old_reload_1): Use subreg_regno_offset.
(choose_reload_regs): Use subreg_regno.
(emit_input_reload_insns): Use SUBREG_BYTE.
(reload_combine_note_store): Use subreg_regno_offset.
(move2add_note_store): Use subreg_regno_offset.
* resource.c (update_live_status, mark_referenced_resources): Use
subreg_regno function.
(mark_set_resources): Use subreg_regno function.
* rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
(subreg_regno_offset, subreg_regno): Define prototypes.
(subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
(gen_lowpart_SUBREG): Add prototype.
* rtl.texi (subreg): Update to reflect new byte offset representation.
Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
* rtlanal.c (refers_to_regno_p): Use subreg_regno.
(reg_overlap_mentioned_p): Use subreg_regno.
(replace_regs); Make sure final offset of combined subreg is
congruent to size of subreg's mode.
(subreg_regno_offset): New function.
(subreg_regno): New function.
* sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
* sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
* stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
* tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
(SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
* config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
(a29k_get_reloaded_address): Use SUBREG_BYTE.
(print_operand): Use SUBREG_BYTE.
* config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
* config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
(arm_reload_out_hi): Use SUBREG_BYTE.
* config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
instead of SUBREG_WORD.
(d30v_print_operand_memory_reference): Use subreg_regno_offset.
* config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
SUBREG creation to use byte offset.
* config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
inverted load insns): Fix explicit rtl subregs to use byte
offsets.
* config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
udivsi3, umodsi3): Generate SUBREGs with byte offsets.
* config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
* config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
to use byte offsets.
(unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
* config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
offsets, also make sure it is congruent to SUBREG's mode size.
(extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
unnamed ldob insn): Generate SUBREGs with byte offset.
(zero_extendqihi2): SUBREG's are byte offsets.
* config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
(m68hc11_gen_highpart): Use SUBREG_BYTE.
* config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
zero-extendqisi2): Generate SUBREGs with byte offset.
(umulsidi3, mulsidi3, subreghi1ashrdi_const32,
subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
subregs in rtl to use byte offsets.
* config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
* config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
(mips_move_2words): Use subreg_regno_offset.
(mips_secondary_reload_class): Use subreg_regno_offset.
* config/mips/mips.md (DImode plus, minus, move, and logical op
splits): Fixup explicit subregs in rtl to use byte offsets.
* config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
* config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
* config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
rtl to use byte offsets.
* config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
* config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
subregs to use byte offsets.
* config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
Fixup explicit subregs in rtl to use byte offsets.
* config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
and remove byte endian correction code.
* config/sh/sh.c (output_movedouble): Use subreg_regno.
(gen_ashift_hi): Use SUBREG_BYTE.
(regs_used): Use subreg_regno_offset.
(machine_dependent_reorg): Use subreg_regno_offset.
* config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
* config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
(movdf_i4): Subregs are byte offsets now.
* config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
* config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
(REGMODE_NATURAL_SIZE): Override.
(REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
* config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
with byte offsets.
(zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
extendqidi2): Generate SUBREGs with byte offsets, also make sure
it is congruent to SUBREG's mode size.
(smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
offsets.
(cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
SUBREG_BYTE offset for non-paradoxical subregs in patterns.
* config/v850/v850.c (print_operand, output_move_double): Use
subreg_regno function.
Co-Authored-By: Andrew MacLeod <amacleod@redhat.com>
Co-Authored-By: David S. Miller <davem@pierdol.cobaltmicro.com>
From-SVN: r41058
Alexandre Oliva [Tue, 3 Apr 2001 08:56:59 +0000 (08:56 +0000)]
configure.in (target_subdir): Use target_alias, not target.
* configure.in (target_subdir): Use target_alias, not target.
* configure: Rebuilt.
From-SVN: r41051
Andreas Schwab [Tue, 3 Apr 2001 08:49:38 +0000 (08:49 +0000)]
* include/backward/fstream.h: Define filebuf and wfilebuf.
From-SVN: r41048
Alexandre Oliva [Tue, 3 Apr 2001 08:45:38 +0000 (08:45 +0000)]
crtn.asm (init, fini): Restore r15 from r14, not the other way round.
* config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
other way round.
* config/sh/crti.asm: Fix typos in comments.
From-SVN: r41047
Alexandre Oliva [Tue, 3 Apr 2001 08:38:45 +0000 (08:38 +0000)]
instantiate1.C: Adjust to accommodate peculiarities of the SH.
* g++.old-deja/g++.ext/instantiate1.C: Adjust to accommodate
peculiarities of the SH.
* g++.old-deja/g++.ext/instantiate2.C: Likewise.
From-SVN: r41045
Jakub Jelinek [Tue, 3 Apr 2001 08:29:03 +0000 (10:29 +0200)]
Move ChangeLog entry where it belongs.
From-SVN: r41043
Alan Modra [Tue, 3 Apr 2001 07:43:27 +0000 (07:43 +0000)]
TARGET_NO_SPACE_REGS no longer affects call sequences.
* pa.h: Revise comments for TARGET_NO_SPACE_REGS and
TARGET_FAST_INDIRECT_CALLS.
* pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
-fPIC. Don't warn.
(return_addr_rtx): Short circuit export stub matching when
TARGET_NO_SPACE_REGS.
(output_millicode_call): For out of range calls, make -fPIC
take precedence, then TARGET_PORTABLE_RUNTIME, then ble. Don't
return before delay slot checks when TARGET_PORTABLE_RUNTIME.
* pa.md: Modify length attr calculation of all millicode insns to
match above.
From-SVN: r41042
GCC Administrator [Tue, 3 Apr 2001 07:16:39 +0000 (07:16 +0000)]
Daily bump.
From-SVN: r41041
Geoffrey Keating [Tue, 3 Apr 2001 07:02:31 +0000 (07:02 +0000)]
configure.in (gcc_cv_as_leb128): Correct name of cache variable.
* configure.in (gcc_cv_as_leb128): Correct name of cache variable.
Require at least 2.11 in the version test. Specifically check
for and reject GAS version 2.10.90.
* configure: regenerate.
From-SVN: r41039
Alan Modra [Tue, 3 Apr 2001 06:57:31 +0000 (06:57 +0000)]
Rewrite hppa profiling support.
* config/pa/pa.c (override_options): Remove PIC profiling warning.
(hp_profile_labelno): Delete.
(hp_profile_label_rtx): Delete.
(hp_profile_label_name): Delete.
(pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
(output_function_prologue): Remove profiling code and all tests on
profile_flag. Move store of PIC_OFFSET_TABLE_REGNUM now that
merge_sp_adjust_with_store can work for PIC and profiling.
(hppa_expand_epilogue): Remove profile_flag test.
(hppa_can_use_return_insn_p): Likewise.
(hppa_init_pic_save): Emit before tail_recursion_reentry, and
cater for PROFILE_HOOK.
(hppa_profile_hook): New function.
* config/pa/pa.h (FUNCTION_PROFILER): Now does nothing.
(PROFILE_HOOK): Define.
(hppa_profile_hook): Declare.
(PROFILE_BEFORE_PROLOGUE): Delete.
(ASM_OUTPUT_REG_PUSH): Delete.
(ASM_OUTPUT_REG_POP): Delete.
* config/pa/pa.md (call_profiler): Turn it into a call insn, and
don't `use' r24. Accept function name operand, and use this and a
locally generated label to calculate pc-rel offset to func start.
From-SVN: r41038
Toon Moene [Tue, 3 Apr 2001 05:37:13 +0000 (07:37 +0200)]
com.c (duplicate_decls): Fix thinko in lazy DECL_RTL patch of 2001-03-04.
* com.c (duplicate_decls): Fix thinko in lazy DECL_RTL patch
of 2001-03-04.
From-SVN: r41037
Kaveh R. Ghazi [Tue, 3 Apr 2001 02:05:54 +0000 (02:05 +0000)]
Makefile.in ($(HOST_PREFIX_1)errors.o, [...]): Depend on $(SYSTEM_H).
* $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
$(SYSTEM_H).
From-SVN: r41035
Alan Modra [Tue, 3 Apr 2001 01:12:09 +0000 (01:12 +0000)]
dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and LO_SUM cases to where they belong.
* dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
LO_SUM cases to where they belong.
From-SVN: r41033
Zack Weinberg [Tue, 3 Apr 2001 01:01:41 +0000 (01:01 +0000)]
expr.c (pop_type_0): Save the result of the first lang_printable_name call in a scratch buffer...
* expr.c (pop_type_0): Save the result of the first
lang_printable_name call in a scratch buffer, so it
won't be clobbered by the second call.
From-SVN: r41032
Phil Edwards [Tue, 3 Apr 2001 00:26:58 +0000 (00:26 +0000)]
New concept checking implementation.
2001-04-02 Phil Edwards <pme@sources.redhat.com>
New concept checking implementation.
* docs/html/19_diagnostics/howto.html: Document.
* docs/html/17_intro/concept_check.diff: New file, for reference.
* include/bits/boost_concept_check.h: New file from Boost.
* include/bits/c++config: Update comments.
* include/bits/concept_check.h: New file.
* include/bits/concept_checks.h: Removed.
* include/bits/container_concepts.h: Removed.
* include/bits/sequence_concepts.h: Removed.
* include/bits/stl_iterator_base.h: Removed; split into...
* include/bits/stl_iterator_base_funcs.h: ...this new file...
* include/bits/stl_iterator_base_types.h: ...and this new file.
* include/bits/sbuf_iter.h: Update to use new implementation.
* include/bits/std_iterator.h: Likewise.
* include/bits/std_memory.h: Likewise.
* include/bits/stl_algo.h: Likewise.
* include/bits/stl_algobase.h: Likewise.
* include/bits/stl_construct.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_heap.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_numeric.h: Likewise.
* include/bits/stl_queue.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_stack.h: Likewise.
* include/bits/stl_uninitialized.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/ext/hash_map: Likewise.
* include/ext/hash_set: Likewise.
* include/ext/slist: Likewise.
* include/ext/stl_hashtable.h: Likewise.
* src/Makefile.am (base_headers): Update list of headers.
* Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
* libio/Makefile.in: Regenerated.
* libmath/Makefile.in: Regenerated.
* libsupc++/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* docs/html/install.html: Update contact information.
* docs/html/17_intro/howto.html: Ditto.
* docs/html/18_support/howto.html: Ditto.
* docs/html/20_util/howto.html: Ditto.
* docs/html/21_strings/howto.html: Ditto.
* docs/html/22_locale/howto.html: Ditto.
* docs/html/23_containers/howto.html: Ditto.
* docs/html/24_iterators/howto.html: Ditto.
* docs/html/25_algorithms/howto.html: Ditto.
* docs/html/26_numerics/howto.html: Ditto.
* docs/html/27_io/howto.html: Ditto.
* docs/html/faq/index.html: Ditto, plus info on new checking code.
* docs/html/ext/howto.html: Ditto, plus info on new checking code.
* docs/html/faq/index.txt: Regenerated.
From-SVN: r41031
Zack Weinberg [Mon, 2 Apr 2001 23:40:01 +0000 (23:40 +0000)]
libstdc++.exp (dg-test): Annotate result messages with $which_library as well as $tool_flags and...
* testsuite/lib/libstdc++.exp (dg-test): Annotate result
messages with $which_library as well as $tool_flags and
${dg-extra-tool-flags}. Factor out annotation text into
a single variable.
From-SVN: r41029
Zack Weinberg [Mon, 2 Apr 2001 23:36:26 +0000 (23:36 +0000)]
libjava.exp: Correct typo...
* testsuite/lib/libjava.exp: Correct typo: 'output from source
compiled test', not 'execution from source compiled test'.
Use UNTESTED, not XFAIL, for tests which are not run because
they depend on a previous test which failed.
From-SVN: r41026
Richard Henderson [Mon, 2 Apr 2001 23:26:50 +0000 (16:26 -0700)]
configure.in (GCC_UNWIND_INCLUDE): Assume we're built within the same tree as gcc.
* configure.in (GCC_UNWIND_INCLUDE): Assume we're built within
the same tree as gcc.
* configure: Rebuilt.
* exception.cc (_Jv_Throw): Clarify commentary.
From-SVN: r41025
Richard Henderson [Mon, 2 Apr 2001 23:23:34 +0000 (16:23 -0700)]
except.h (lang_eh_type_covers): Mark extern.
* except.h (lang_eh_type_covers): Mark extern.
(lang_eh_runtime_type): Likewise.
From-SVN: r41024
Rainer Orth [Mon, 2 Apr 2001 23:05:14 +0000 (23:05 +0000)]
fp-cmp-1.c: Renamed nan to dnan.
2001-04-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* gcc.c-torture/execute/ieee/fp-cmp-1.c: Renamed nan to dnan.
* gcc.c-torture/execute/ieee/fp-cmp-3.c: Likewise.
* gcc.c-torture/execute/ieee/fp-cmp-2.c: Renamed nan to fnan.
From-SVN: r41022
Marcus G. Daniels [Mon, 2 Apr 2001 22:52:40 +0000 (22:52 +0000)]
jni.cc (wrap_value<jclass>): New specialization.
2001-04-02 Marcus G. Daniels <mgd@swarm.org>
* jni.cc (wrap_value<jclass>): New specialization.
From-SVN: r41021
Stephen M. Webb [Mon, 2 Apr 2001 22:51:25 +0000 (22:51 +0000)]
std_cstring.h: Fix for const-correctness.
2001-04-02 Stephen M. Webb <stephen@bregmasoft.com>
* include/c_std/bits/std_cstring.h: Fix for const-correctness.
* include/c_std/bits/std_cwchar.h: Same.
* testsuite/21_strings/c_strings.cc: Add.
From-SVN: r41019
Stephen M. Webb [Mon, 2 Apr 2001 22:01:52 +0000 (22:01 +0000)]
std_cstring.h: Fix for const-correctness.
2001-04-02 Stephen M. Webb <stephen@bregmasoft.com>
* include/c_std/bits/std_cstring.h: Fix for const-correctness.
* include/c_std/bits/std_cwchar.h: Same.
* testsuite/21_strings/c_strings.cc: Add.
From-SVN: r41018
Jakub Jelinek [Mon, 2 Apr 2001 21:23:28 +0000 (23:23 +0200)]
lex.c (ffelex_hash_): Avoid eating one whole line after #line.
* lex.c (ffelex_hash_): Avoid eating one whole line after
#line.
* g77.f-torture/compile/
20010321-1.f: New test.
From-SVN: r41015
Tom Tromey [Mon, 2 Apr 2001 21:16:38 +0000 (21:16 +0000)]
PrintStream.java (out): Removed field.
* java/io/PrintStream.java (out): Removed field. Fixes PR
java/2449.
(write): Call flush, not out.flush, per spec.
(close): Flush output stream, per spec. Handle
InterruptedIOException.
(checkError): Likewise.
(flush, print, write): Handle InterruptedIOException per spec.
(PrintStream): Don't create BufferedOutputStream.
(work_bytes): New field.
(writeChars): Use work_bytes. Don't assume `out' is a
BufferedOutputStream.
From-SVN: r41014
Torsten Rueger [Mon, 2 Apr 2001 19:55:56 +0000 (19:55 +0000)]
re PR libgcj/2429 (java.text.MessageFormat should usefully set text on exceptions)
2001-04-02 Torsten Rueger <torsten.rueger@firsthop.com>
* java/text/MessageFormat.java (setLocale): Added missing `else'.
For PR libgcj/2429.
From-SVN: r41012
Tom Tromey [Mon, 2 Apr 2001 19:52:39 +0000 (19:52 +0000)]
jni.cc (add_char): Correctly encode non-ascii characters.
* jni.cc (add_char): Correctly encode non-ascii characters.
(add_char): Define even when INTERPRETER not defined.
(mangled_name): Likewise.
(_Jv_GetJNIEnvNewFrame): Likewise.
(_Jv_LookupJNIMethod): Likewise.
From-SVN: r41010
Kevin B Hendricks [Mon, 2 Apr 2001 19:51:40 +0000 (19:51 +0000)]
* configure.host: Enable interpreter for PPC.
From-SVN: r41009
Benjamin Kosnik [Mon, 2 Apr 2001 19:00:13 +0000 (19:00 +0000)]
configopts.html: Add --enable-sjlj-exceptions docs.
2001-04-01 Benjamin Kosnik <bkoz@codesourcery.com>
* docs/html/configopts.html: Add --enable-sjlj-exceptions docs.
From-SVN: r41007
Zack Weinberg [Mon, 2 Apr 2001 16:29:32 +0000 (16:29 +0000)]
genattr.c, [...]: Wrap generated header in multiple-include guard.
* genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
gengenrtl.c: Wrap generated header in multiple-include guard.
Improve error checking.
From-SVN: r41006
Kaveh R. Ghazi [Mon, 2 Apr 2001 15:20:53 +0000 (15:20 +0000)]
configure.in: Don't check for putenv.
* configure.in: Don't check for putenv.
* configure: Regenerate.
* gcc.c (putenv): Don't define.
* vax/xm-vms.h: Handle putenv.
From-SVN: r41005
Jakub Jelinek [Mon, 2 Apr 2001 08:17:15 +0000 (10:17 +0200)]
ifcvt.c (noce_emit_move_insn): New.
* ifcvt.c (noce_emit_move_insn): New.
(noce_try_store_flag, noce_try_store_flag_constants,
noce_try_store_flag_inc, noce_try_store_flag_mask,
noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
noce_try_abs): Use it.
(noce_process_if_block): Likewise.
For STRICT_LOW_PART, take mode from its SUBREG.
* gcc.c-torture/compile/
20010329-1.c: New test.
From-SVN: r41001
Jakub Jelinek [Mon, 2 Apr 2001 08:08:22 +0000 (10:08 +0200)]
fold-const.c (fold): Before optimizing unsigned comparison with 0x7fffffffU...
* fold-const.c (fold): Before optimizing unsigned comparison with
0x7fffffffU, make sure arg0 is integral type.
* gcc.c-torture/execute/
20010329-1.c: New test.
From-SVN: r41000
Joseph Myers [Mon, 2 Apr 2001 07:39:39 +0000 (08:39 +0100)]
* c-tree.texi: Document representation of wide strings.
From-SVN: r40998
GCC Administrator [Mon, 2 Apr 2001 07:16:38 +0000 (07:16 +0000)]
Daily bump.
From-SVN: r40997
Richard Henderson [Mon, 2 Apr 2001 06:36:33 +0000 (23:36 -0700)]
* except.h (expand_builtin_dwarf_fp_regnum): Declare.
From-SVN: r40995
Bryce McKinlay [Mon, 2 Apr 2001 05:23:10 +0000 (05:23 +0000)]
natSystem.cc (init_properties): Revert yesterday's changes to "file.separator"...
* java/lang/natSystem.cc (init_properties): Revert yesterday's changes
to "file.separator", "path.separator", and "java.io.tmpdir" property
initialization.
* java/io/File.java: Likewise.
* java/io/natFile.cc (init_native): Likewise.
* java/io/natFileWin32.cc (init_native): Likewise.
From-SVN: r40994
Alexandre Oliva [Mon, 2 Apr 2001 01:26:14 +0000 (01:26 +0000)]
Makefile.in (CXX_FOR_TARGET_FOR_RECURSIVE_MAKE, [...]): New macros.
* Makefile.in (CXX_FOR_TARGET_FOR_RECURSIVE_MAKE, RECURSE_FLAGS):
New macros.
(bootstrap, cross): Use RECURSE_FLAGS.
* configure.in: Subst CXX_FOR_TARGET_FOR_RECURSIVE_MAKE.
From-SVN: r40991
Per Bothner [Sun, 1 Apr 2001 21:54:10 +0000 (14:54 -0700)]
natString.cc (intern): If string's data does not point to this String, make a fresh String that does.
* java/lang/natString.cc (intern): If string's data does not point to
this String, make a fresh String that does.
* java/lang/natString.cc (unintern): Replace by static function.
* java/lang/String.java (unintern): Remove method.
From-SVN: r40990
Per Bothner [Sun, 1 Apr 2001 21:28:45 +0000 (14:28 -0700)]
DeflaterOutputStream.java (deflate): Loop while def.needsInput.
* DeflaterOutputStream.java (deflate): Loop while def.needsInput.
(finish): def.deflate needs to be called in a loop.
(inbuf, inbufLength): New private fields.
(write(int)): Use inbuf.
(write(byte[],int,int): Check if pending output in inbuf.
* ZipOutputStream.java: Don't use Deflater if stored.
Use a Checksum object directly, not via a CheckedOutputStream.
(uncompressed_size): New field,
(closeEntry): Only write data_directory if needed.
(write): If STORED, write directly.
Always update crc, and uncompressed_size.
(write_entry): Fix lots of protocol erors.
From-SVN: r40988
Zack Weinberg [Sun, 1 Apr 2001 19:19:57 +0000 (19:19 +0000)]
tests_flags.in: Use test a = b, not test a == b which is not portable.
* tests_flags.in: Use test a = b, not test a == b which is not
portable.
From-SVN: r40986
Bryce McKinlay [Sun, 1 Apr 2001 11:16:40 +0000 (11:16 +0000)]
1.3-Compliant Implementation of java.io.File.
* java/lang/natSystem.cc (init_properties): Get "file.separator",
"path.separator", and "java.io.tmpdir" from the File class, instead
of setting them explicitly.
* java/io/File.java: Do not canonicalize paths for security manager
checks. Call init_native() from static initializer. Do not pass path
argument to native methods. New native method declarations. Some
security manager checks moved to checkWrite().
(equals): Check file system case sensitivity and act appropriatly.
(hashCode): Likewise.
(isHidden): New method implemented.
(performList): Changed prototype. Now takes a class argument specifying
the class of the returned array: Strings or File objects. Also added
FileFilter argument.
(listFiles): New variants with "File" return type implemented.
(createTempFile): Use createNewFile(). Use maxPathLen.
(setReadOnly): New method implemented.
(listRoots): Likewise.
(compareTo): Likewise.
(setLastModified): Likewise.
(checkWrite): New method.
(setPath): Removed.
* java/io/natFile.cc: Various functions no longer take canonical path
argument.
(stat): Handle ISHIDDEN query.
(isAbsolute): Remove WIN32 cruft.
(performList): New arguments. Handle returning either File[] or
String[] arrays. Check with FileFilter or FilenameFilter arguments as
appropriate. Use an ArrayList, not a Vector, for the temporary list.
(performSetReadOnly): New method implemented.
(performListRoots): Likewise.
(performSetLastModified): Likewise.
(performCreate): Likewise.
(init_native): New initialization function.
* java/io/natFileWin32.cc: Various functions no longer take canonical
path argument.
(stat): Add FIXME about ISHIDDEN query.
(performList): New arguments. Handle returning either File[] or String[]
arrays. Check with FileFilter or FilenameFilter arguments as
appropriate. Use an ArrayList, not a Vector, for the temporary list.
(performSetReadOnly): New. Stubbed.
(performListRoots): Likewise.
(performSetLastModified): Likewise.
(performCreate): Likewise.
(init_native) New initialization function.
* configure.in: Check for utime() and chmod().
* configure: Rebuilt.
* include/config.h.in: Rebuilt.
Resolves PR libgcj/1759.
From-SVN: r40985
Jan Hubicka [Sun, 1 Apr 2001 09:50:06 +0000 (09:50 +0000)]
i386.md: remove obsoleted comments.
* i386.md: remove obsoleted comments.
(adddi_?): Rename to adddi_?_rex64; disable for 32bit.
(x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
fix output template.
From-SVN: r40982
GCC Administrator [Sun, 1 Apr 2001 08:16:08 +0000 (08:16 +0000)]
Daily bump.
From-SVN: r40980
Benjamin Kosnik [Sat, 31 Mar 2001 20:15:43 +0000 (20:15 +0000)]
[multiple changes]
2001-03-31 Benjamin Kosnik <bkoz@redhat.com>
* configure.target: Remove duplicate aix entry.
2001-03-30 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/stl_bvector.h: Move to...
* include/bits/stl_vector.h: ...here.
* include/ext/bvector: Move to...
* include/backward/bvector.h: ...here.
* include/bits/std_vector.h: Change stl_bvector include.
* include/bits/std_queue.h: Remove bvector include.
* include/ext/tree: Insert using rb_tree, move to...
* include/backward/tree.h: ...here.
* include/backward/hash_map.h: Include ext/hash_map.
* include/backward/hash_set.h: Include ext/hash_set.
* include/backward/queue.h: New file.
* include/backward/stack.h: Edit.
* include/backward/algo.h: Same.
* include/backward/algobase.h: Same.
* include/backward/alloc.h: Same.
* include/backward/function.h: Same.
* include/backward/iomanip.h: Same.
* include/backward/istream.h: Same.
* include/backward/iterator.h: Same.
* include/backward/list.h: Same.
* include/backward/map.h: Same.
* include/backward/multimap.h: Same.
* include/backward/multiset.h: Same.
* include/backward/ostream.h: Same.
* include/backward/pair.h: Same
* include/backward/rope.h: Same.
* include/backward/set.h: Same.
* include/backward/stream.h: Same.
* include/backward/strstream.h: Same.
* include/backward/tempbuf.h: Same.
* src/Makefile.am (ext_headers): Edit.
* src/Makefile.in: Regenerate.
* testsuite/ext/headers.cc (main): Fix.
* mkcheck.in: Fix.
From-SVN: r40979
Kaveh R. Ghazi [Sat, 31 Mar 2001 18:59:56 +0000 (18:59 +0000)]
* libiberty.h (alloca): Handle setting C_ALLOCA.
From-SVN: r40978
Marek Michalkiewicz [Sat, 31 Mar 2001 16:24:16 +0000 (18:24 +0200)]
* config/avr/libgcc.S (__mulhi3): Optimize previous change.
From-SVN: r40976
GCC Administrator [Sat, 31 Mar 2001 08:16:18 +0000 (08:16 +0000)]
Daily bump.
From-SVN: r40974
Phil Edwards [Fri, 30 Mar 2001 21:59:12 +0000 (21:59 +0000)]
tests_flags.in (LIBS): Pass correct path for installed testing.
2001-03-30 Phil Edwards <pme@sources.redhat.com>
* tests_flags.in (LIBS): Pass correct path for installed testing.
From-SVN: r40973
Benjamin Kosnik [Fri, 30 Mar 2001 17:41:33 +0000 (17:41 +0000)]
mkcheck.in (LIBTOOL): Don't construct -B argument here...
2001-03-28 Benjamin Kosnik <bkoz@redhat.com>
* mkcheck.in (LIBTOOL): Don't construct -B argument here...
* tests_flags.in (CXX): Construct here.
(static_fail): Don't remove compile.out. Format with spaces.
(INCLUDES): Deal with xcompiling.
* configure.in (xcompiling): Substitute.
* testsuite/Makefile.am: Snake libjava configury.
* testsuite/Makefile.in: Regenerate.
* testsuite/23_containers/map_operators.cc: Tweaks.
* testsuite/23_containers/set_operators.cc: Tweaks.
From-SVN: r40972
Bernd Schmidt [Fri, 30 Mar 2001 17:18:14 +0000 (17:18 +0000)]
Prevent hoisting code from generating uninitialized accesses.
From-SVN: r40971
Jan Hubicka [Fri, 30 Mar 2001 15:43:44 +0000 (17:43 +0200)]
i386.c (ix86_split_long_move): Use change address to compensate stack pointer change in push instruction.
* i386.c (ix86_split_long_move): Use change address to compensate
stack pointer change in push instruction.
From-SVN: r40968
GCC Administrator [Fri, 30 Mar 2001 08:16:14 +0000 (08:16 +0000)]
Daily bump.
From-SVN: r40961
Benjamin Kosnik [Fri, 30 Mar 2001 08:14:15 +0000 (08:14 +0000)]
[multiple changes]
2001-03-28 Benjamin Kosnik <bkoz@redhat.com>
* mkcheck.in (LIBTOOL): Don't construct -B argument here...
* tests_flags.in (CXX): Construct here.
(static_fail): Don't remove compile.out. Format with spaces.
(INCLUDES): Deal with xcompiling.
* configure.in (xcompiling): Substitute.
* testsuite/Makefile.am: Snake libjava configury.
* testsuite/Makefile.in: Regenerate.
* testsuite/23_containers/map_operators.cc: Tweaks.
* testsuite/23_containers/set_operators.cc: Tweaks.
2001-03-28 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
Enable dejagnu testing framework.
* configure.in: Generate testsuite/Makefile.
* configure: Regenerate.
* Makefile.am (check-install): Change rule from this...
(check-script-install): ...to this.
(check): Change rule from this...
(check-script):...to this.
* Makefile.in: Regenerate.
From-SVN: r40960
Jan Hubicka [Thu, 29 Mar 2001 22:32:53 +0000 (00:32 +0200)]
i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p instead of...
* i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
instead of rtx_equal_p; fix the output template.
From-SVN: r40959
Jan Hubicka [Thu, 29 Mar 2001 22:25:16 +0000 (00:25 +0200)]
i386.c (ix86_expand_setcc): Support 64bit.
* i386.c (ix86_expand_setcc): Support 64bit.
(ix86_expand_int_movcc): Likewise.
* i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
New patterns.
* i386.md (allocate_stack_worker): Turn to expander.
(allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
* i386.c (print_reg): Do not print x86_64 style regs on IA-32
From-SVN: r40958
Richard Henderson [Thu, 29 Mar 2001 21:11:23 +0000 (13:11 -0800)]
* libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
From-SVN: r40957
Matthew Hiller [Thu, 29 Mar 2001 02:32:46 +0000 (02:32 +0000)]
mn10300.md (cmpsi): Fix first alternative's output template.
2001-03-28 Matthew Hiller <hiller@redhat.com>
* config/mn10300/mn10300.md (cmpsi): Fix first alternative's
output template.
* MAINTAINERS: Added self.
From-SVN: r40956
Bryce McKinlay [Thu, 29 Mar 2001 00:03:27 +0000 (00:03 +0000)]
configure.in: Use different syntax for subdirectory creation.
* configure.in: Use different syntax for subdirectory creation.
* configure: Rebuilt.
From-SVN: r40955
Richard Henderson [Wed, 28 Mar 2001 22:20:31 +0000 (14:20 -0800)]
Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
* Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
From-SVN: r40952
Jim Wilson [Wed, 28 Mar 2001 21:55:09 +0000 (21:55 +0000)]
Fix abort when passing 1.0L as unnamed argument.
* config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
operand_subword.
From-SVN: r40951
Alexandre Oliva [Wed, 28 Mar 2001 21:18:21 +0000 (21:18 +0000)]
Makefile.am (CXXLINK): Add --tag disable-shared after --tag CXX.
* libsupc++/Makefile.am (CXXLINK): Add --tag disable-shared after
--tag CXX.
(LIBTOOL): Let automake take care of its definition.
* libsupc++/Makefile.in: Rebuilt.
From-SVN: r40947
Loren J. Rittle [Wed, 28 Mar 2001 21:15:55 +0000 (21:15 +0000)]
* g++.old-deja/g++.other/eh4.C: Fix typo.
From-SVN: r40946
Loren J. Rittle [Wed, 28 Mar 2001 21:10:51 +0000 (21:10 +0000)]
* g++.dg/special/ecos.exp (conpr-1.C): Do not write in $srcdir.
From-SVN: r40943
Kaveh R. Ghazi [Wed, 28 Mar 2001 19:31:43 +0000 (19:31 +0000)]
expr.c (pop_type_0): Call `concat' rather than building the string manually.
* expr.c (pop_type_0): Call `concat' rather than building the
string manually.
(pop_type): Add format specifier in call to `error'.
* parse.y (patch_method_invocation): Avoid casting away
const-ness.
From-SVN: r40940
Kaveh R. Ghazi [Wed, 28 Mar 2001 19:24:11 +0000 (19:24 +0000)]
toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
* toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
* tradcif.y (yyerror): Likewise. Add format specifier in call to
`error'.
* tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
From-SVN: r40939
Alexandre Petit-Bianco [Wed, 28 Mar 2001 19:22:05 +0000 (11:22 -0800)]
re PR java/2066 (Source parser segfault in resolve_package)
2001-03-21 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (qualify_ambiguous_name): Broaden `length'
recognition. Help MODIFY_EXPR be resolved as expression names.
Fixes PR java/2066. Fixes PR java/2400.
(http://gcc.gnu.org/ml/gcc-patches/2001-03/msg01935.html)
From-SVN: r40938
Jeffrey Oldham [Wed, 28 Mar 2001 18:16:14 +0000 (18:16 +0000)]
jvgenmain.c (do_mangle_classname): End string constant with '\0'.
2001-03-28 Jeffrey Oldham <oldham@codesourcery.com>
* jvgenmain.c (do_mangle_classname): End string constant with '\0'.
From-SVN: r40936
DJ Delorie [Wed, 28 Mar 2001 17:50:11 +0000 (12:50 -0500)]
Revert cflags patch.
From-SVN: r40935
Philip Blundell [Wed, 28 Mar 2001 17:46:52 +0000 (17:46 +0000)]
20010328-1.c: New test.
2001-03-28 Philip Blundell <philb@gnu.org>
* gcc.c-torture/compile/
20010328-1.c: New test.
From-SVN: r40934
Marek Michalkiewicz [Wed, 28 Mar 2001 17:11:28 +0000 (19:11 +0200)]
libgcc.S (__mulhi3): Correct tests to exit the loop when multiplier or multiplicand is zero.
* config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
when multiplier or multiplicand is zero.
From-SVN: r40933
Bernd Schmidt [Wed, 28 Mar 2001 14:25:37 +0000 (14:25 +0000)]
Fix missing barrier problem
From-SVN: r40932
Bernd Schmidt [Wed, 28 Mar 2001 14:21:18 +0000 (14:21 +0000)]
Make hash values more random
From-SVN: r40931
Richard Henderson [Wed, 28 Mar 2001 12:22:48 +0000 (04:22 -0800)]
rs6000.h (EPILOGUE_USES): Use TARGET_AIX, not TARGET_TOC for special toc restore handling.
* config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
not TARGET_TOC for special toc restore handling.
* config/rs6000/rs6000.md (eh_return): Likewise.
From-SVN: r40930
Richard Henderson [Wed, 28 Mar 2001 11:32:54 +0000 (03:32 -0800)]
* Makefile.in (make-temp-file.o): Depend on config.h.
From-SVN: r40929
Richard Henderson [Wed, 28 Mar 2001 11:23:52 +0000 (03:23 -0800)]
sparc.c (eligible_for_epilogue_delay): False if current_function_calls_eh_return.
* config/sparc/sparc.c (eligible_for_epilogue_delay): False if
current_function_calls_eh_return.
(output_function_epilogue): Handle eh_return.
* config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
(EH_RETURN_DATA_REGNO): New.
(EH_RETURN_STACKADJ_RTX): New.
(EH_RETURN_HANDLER_RTX): New.
* config/sparc/sparc.md (call/short branch peepholes): Check
can_throw_internal instead of in_same_eh_region.
From-SVN: r40928
Richard Henderson [Wed, 28 Mar 2001 11:19:20 +0000 (03:19 -0800)]
rs6000.c (rs6000_stack_info): Allocate space for eh_return data registers.
* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
for eh_return data registers.
(rs6000_emit_prologue): Save eh_return data registers.
(rs6000_emit_epilogue): Force inline restores if eh_return.
Restore eh_return data registers. Mind EH_RETURN_STACKADJ_RTX.
* config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
(EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
(EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
the target uses one.
* config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
(return_eh_si, return_eh_di): Remove.
(eh_return): New, from corpse of eh_epilogue.
(eh_set_lr_si, eh_set_lr_di): New.
From-SVN: r40927
Richard Henderson [Wed, 28 Mar 2001 11:14:40 +0000 (03:14 -0800)]
i386.c (general_no_elim_operand): Disallow virtual regs.
* config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
(ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
True for pic register if current_function_calls_eh_return.
(ix86_expand_epilogue): Change "emit_return" argument into "style".
Handle eh_return requirements.
* config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
(EH_RETURN_STACKADJ_RTX): New.
* config/i386/i386.md (exception_receiver): Remove.
(eh_return, eh_return_1): New.
* config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
From-SVN: r40926
Richard Henderson [Wed, 28 Mar 2001 11:09:20 +0000 (03:09 -0800)]
alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
* config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
(alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
(alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
* config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
(EH_RETURN_DATA_REGNO): New.
(EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
* config/alpha/alpha.md (eh_epilogue): Remove.
(exception_receiver): Use $26 for ldgp input.
* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
From-SVN: r40925
Richard Henderson [Wed, 28 Mar 2001 11:04:51 +0000 (03:04 -0800)]
IA-64 ABI Exception Handling.
From-SVN: r40924
Richard Henderson [Wed, 28 Mar 2001 08:59:30 +0000 (00:59 -0800)]
java-tree.h (throw_node): Define as a single member of java_global_trees instead of a separate array.
* java-tree.h (throw_node): Define as a single member of
java_global_trees instead of a separate array.
(JTI_THROW_NODE): New.
* decl.c (throw_node): Don't declare.
(init_decl_processing): Init a scalar throw_node.
Don't register it for gc.
* check-init.c (check_init): Reference scalar throw_node.
* expr.c (build_java_athrow): Likewise.
* jcf-write.c (generate_bytecode_insns): Likewise.
* parse.h (BUILD_THROW): Likewise.
From-SVN: r40922
Richard Henderson [Wed, 28 Mar 2001 08:38:22 +0000 (00:38 -0800)]
decl.c (end_java_method): Do not save and restore flag_non_call_exceptions.
* decl.c (end_java_method): Do not save and restore
flag_non_call_exceptions.
* parse.y (source_end_java_method): Likewise.
* lang.c (flag_exceptions): Don't declare.
(java_init_options): Set flag_non_call_exceptions. Set
flag_exceptions here ...
(java_init): ... not here.
From-SVN: r40921
Richard Henderson [Wed, 28 Mar 2001 08:25:45 +0000 (00:25 -0800)]
decl.c (struct named_label_list): Rename eh_region to in_try_scope, add in_catch_scope.
* decl.c (struct named_label_list): Rename eh_region to
in_try_scope, add in_catch_scope.
(struct binding_level): Rename eh_region to is_try_scope,
add is_catch_scope.
(note_level_for_try): Rename from note_level_for_eh.
(note_level_for_catch): New.
(poplevel): Copy both is_try_scope and is_catch_scope to
the named_label_list struct.
(check_previous_goto_1): Don't check for catch block via
DECL_ARTIFICIAL; use in_try_scope instead.
(check_goto): Likewise.
* cp-tree.h (note_level_for_try, note_level_for_catch): Declare.
* except.c (expand_start_catch_block): Call note_level_for_catch.
* semantics.c (begin_compound_stmt): Update for note_level_for_try.
From-SVN: r40920
GCC Administrator [Wed, 28 Mar 2001 08:16:40 +0000 (08:16 +0000)]
Daily bump.
From-SVN: r40919
Richard Henderson [Wed, 28 Mar 2001 08:08:43 +0000 (00:08 -0800)]
regmove.c (perhaps_ends_bb_p): Use can_throw_internal to reduce false positives.
* regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
reduce false positives.
(regmove_optimize): Disable if flag_non_call_exceptions.
From-SVN: r40917
Richard Henderson [Wed, 28 Mar 2001 07:49:20 +0000 (23:49 -0800)]
stmt.c (expand_return): Remove always true predicate.
* stmt.c (expand_return): Remove always true predicate.
(expand_decl_cleanup_no_eh): Remove dead code.
From-SVN: r40916
Richard Henderson [Wed, 28 Mar 2001 07:42:04 +0000 (23:42 -0800)]
sched-deps.c (sched_analyze_insn): Consolidate scheduling barrier code.
* sched-deps.c (sched_analyze_insn): Consolidate scheduling
barrier code. Add a scheduling barrier if a non-call insn
can throw internally.
From-SVN: r40915
Richard Henderson [Wed, 28 Mar 2001 07:34:51 +0000 (23:34 -0800)]
rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
* rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
Auto-inc addresses trap only if their base register does.
From-SVN: r40914
Richard Henderson [Wed, 28 Mar 2001 07:29:21 +0000 (23:29 -0800)]
except.c (can_throw_internal): Rename from can_throw.
* except.c (can_throw_internal): Rename from can_throw.
* except.h, resource.c: Update references.
From-SVN: r40913
Richard Henderson [Wed, 28 Mar 2001 07:20:43 +0000 (23:20 -0800)]
integrate.c (copy_insn_list): Use returnjump_p.
* integrate.c (copy_insn_list): Use returnjump_p.
(copy_insn_notes): Recurse for CALL_PLACEHOLDER.
From-SVN: r40912
Richard Henderson [Wed, 28 Mar 2001 07:08:57 +0000 (23:08 -0800)]
function.h (struct function): Move all boolean valued fields to single bit fields at the end of the struct.
* function.h (struct function): Move all boolean valued fields
to single bit fields at the end of the struct.
From-SVN: r40911
Richard Henderson [Wed, 28 Mar 2001 06:53:49 +0000 (22:53 -0800)]
flow.c (cleanup_cfg): Take no argument.
* flow.c (cleanup_cfg): Take no argument.
* output.h, sibcall.c, toplev.c: Update all calls.
From-SVN: r40910
Richard Henderson [Wed, 28 Mar 2001 06:22:23 +0000 (22:22 -0800)]
flow.c (tidy_fallthru_edges): Don't combine complex edges.
* flow.c (tidy_fallthru_edges): Don't combine complex edges.
(calculate_global_regs_live): Kill call-clobbered registers
across exception edges.
* reg-stack.c (convert_regs_1): Kill the entire target stack
across non-call exception edges.
From-SVN: r40909
Richard Henderson [Wed, 28 Mar 2001 06:11:49 +0000 (22:11 -0800)]
Remove flag_new_exceptions.
From-SVN: r40908
Richard Henderson [Wed, 28 Mar 2001 05:40:43 +0000 (21:40 -0800)]
combine.c (distribute_notes): If non-call exceptions, put the note on the trapping instruction.
* combine.c (distribute_notes) [REG_EH_REGION]: If non-call
exceptions, put the note on the trapping instruction.
From-SVN: r40907
Richard Henderson [Wed, 28 Mar 2001 05:38:40 +0000 (21:38 -0800)]
except.h (flag_non_call_exceptions): Move ...
* except.h (flag_non_call_exceptions): Move ...
* flags.h: ... here.
From-SVN: r40906
Richard Henderson [Wed, 28 Mar 2001 05:24:24 +0000 (21:24 -0800)]
Make -fsjlj-exceptions a configure option.
From-SVN: r40905
Richard Henderson [Wed, 28 Mar 2001 05:04:20 +0000 (21:04 -0800)]
* parse.y (source_end_java_method): Likewise.
From-SVN: r40904