Nick Clifton [Wed, 8 May 2002 15:01:13 +0000 (15:01 +0000)]
Do not allow big-endian/little-endian multilibs to override arm/thumb multilibs.
Do not allow big-endian/little-endian multilibs to override arm/thumb
multilibs.
Do not build hardware floating point multilibs, nor apcs-26 multilibs for
the Thumb.
Jan Hubicka [Wed, 8 May 2002 09:17:27 +0000 (09:17 +0000)]
cfglayout.c (function_tail_eff_head): Rename to ...
* cfglayout.c (function_tail_eff_head): Rename to ...
(function_footer): ... this one.
(unlink_insn_chain): New functions.
(label_for_bb): Only call block_label and emit debug message.
(record_effective_endpoints): Actually unlink the headers and footers.
(fixup_reorder_cahin): Re-insert the unlinked sequences.
(cfg_layout_duplicate_bb): Use duplicate_insn_chain.
* cfglayout.h (struct reorder_block_def): New fields footer/header;
remove eff_head/eff_end.
* rtl.h (set_first_insn): Declare.
* emit-rtl.c (set_first_insn): New function.
* cfglayout.c (fixup_reorder_chain): Dump duplicated
(cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
cfg_layout_duplicate_bb): New global function.
(duplicate_insn_chain): New static function.
* cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
cfg_layout_duplicate_bb): Declare.
(struct reorder_block_def): Add "original" field.
* emit-rtl.c (emit_copy_of_insn_after): New function.
* rtl.h (emit_copy_of_insn_after): Declare.
* config/mips/mips.md: Name the unspecs with define_constant.
(*HILO_delay): Rename to 'hilo_delay' (no star).
(reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
(reload_outdi, reload_outsi): Likewise.
Tom Tromey [Wed, 8 May 2002 01:41:41 +0000 (01:41 +0000)]
re PR java/1200 (gcjh -jni doesn't respect class hierarchy)
Fix for PR java/1200:
* gjavah.c (throwable_p): New function.
(decode_signature_piece): Use it. A `WeakReference' isn't the
same as a `jweak'.
Include hashtab.h.
(gcjh_streq): New function.
Mark Mitchell [Tue, 7 May 2002 18:50:53 +0000 (18:50 +0000)]
configure.in (AC_TYPE_PID_T): Use it.
* configure.in (AC_TYPE_PID_T): Use it.
* configure: Regenerated.
* getruntime.c: Include <sys/types.h>.
* waitpid.c: Likewise. Use pid_t, not int, as the type of "pid".
Mark Mitchell [Tue, 7 May 2002 14:42:29 +0000 (14:42 +0000)]
sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
(LINK_START_SPEC): Handle it.
(LINK_OS_SPEC): Likewise.
(CPP_SPEC): Likewise.
(STARTFILE_SPEC): Likewise.
(LIB_SPEC): Likewise.
(ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
all platforms.
(CRTSAVRES_DEFAULT_SPEC): New macro.
(LIB_WINDISS_SPEC): New macro.
(CPP_OS_WINDISS_SPEC): Likewise.
(STARTFILE_WINDISS_SPEC): Likewise.
(ENDFILE_WINDISS_SPEC): Likewise.
(LINK_START_WINDISS_SPEC): Likewise.
(LINK_OS_WINDISS_SPEC): Likewise.
* config/rs6000/windiss.h: New file.
Tom Tromey [Tue, 7 May 2002 03:32:01 +0000 (03:32 +0000)]
re PR java/5941 (incorrect "Unreachable statement" error)
Fix for PR java/5941:
* parse.y (finish_for_loop): Set SUPPRESS_UNREACHABLE_ERROR for
loop update expression.
(java_complete_lhs): Use SUPPRESS_UNREACHABLE_ERROR.
* java-tree.h (SUPPRESS_UNREACHABLE_ERROR): New macro.
Roger Sayle [Mon, 6 May 2002 22:59:38 +0000 (22:59 +0000)]
re PR rtl-optimization/3995 (i386 optimisation: joining tests)
PR opt/3995
* fold-const.c (sign_bit_p): New function.
(fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
(A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
Reapply fold when converting (A & C) == C into (A & C) != 0.
(fold_binary_op_with_conditional_arg): Fix typo in comment.
testsuite/
* gcc.c-torture/execute/20020506-1.c: New test case.
Roger Sayle [Mon, 6 May 2002 16:59:18 +0000 (16:59 +0000)]
fold-const.c (lshift-double): Cast the high word to an unsigned HOST_WIDE_INT when...
* fold-const.c (lshift-double): Cast the high word to an unsigned
HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
(div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
avoid compiler warning. (fold): Remove redundant code from
BIT_AND_EXPR as integer operands are canonicalized to be arg1.
Jeff Law [Mon, 6 May 2002 16:53:34 +0000 (10:53 -0600)]
pa-protos.h (hppa_fpstore_bypass_p): Declare.
* pa-protos.h (hppa_fpstore_bypass_p): Declare.
* pa.c (pa_adjust_cost): Remove all true dependency cost
adjustments. Also remove support for non-DFA scheduling.
* pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
to adjust true dependency costs. Update various comments.
(7100lc, 7200, 7300 scheduling): Simplify by combining the
FP ALU & MPY units into a single unit.
genautomata.c (form_the_same_automaton_unit_lists_from_regexp, [...]): New prototypes and functions.
2002-05-05 Vladimir Makarov <vmakarov@redhat.com>
* genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
process_unit_to_form_the_same_automaton_unit_lists,
form_the_same_automaton_unit_lists
check_unit_distributions_to_automata): New prototypes and
functions.
(check_automata): Rename it into `check_automata_insn_issues'.
(unit_decl): New fields `the_same_automaton_unit' and
`the_same_automaton_message_reported_p'.
(unit_decl_t): New typedef.
(the_same_automaton_lists): New gloval variable.
(unit_regexp, unit_set_el, units_array, units_cmp,
output_get_cpu_unit_code_func): Use the typedef.
(evaluate_max_reserv_cycles): Increment
`description->max_insn_reserv_cycles'.
(initiate_states): Don't increment `max_cycles_num'.
(transform_insn_regexps): Move code around transformation of
regexps from `generate'.
(generate): Remove call of `transform_insn_regexps'.
(expand_automata): Call `transform_insn_regexps' and
`check_unit_distributions_to_automata'. Check errors before
`generate'.
* config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
automaton `ultrasparc3_1'.
Neil Booth [Sun, 5 May 2002 17:05:09 +0000 (17:05 +0000)]
c-common.c (c_common_init): Set up CPP arithmetic.
* c-common.c (c_common_init): Set up CPP arithmetic.
* cppinit.c (cpp_create_reader): Default CPP arithmetic to
something reasonable for the host.
(sanity_checks): Add checks.
(cpp_read_main_file): Call sanity_checks() from here...
(cpp_post_options): ... not here.
* cpplex.c (cpp_interpret_charconst): Get max_chars right.
* cpplib.h (struct cpp_options): New member int_precision.
testsuite:
* gcc.dg/cpp/charconst.c: Update tests.
Paolo Carlini [Sat, 4 May 2002 21:33:19 +0000 (21:33 +0000)]
[multiple changes]
2002-05-04 Benjamin Kosnik <bkoz@redhat.com>
Paolo Carlini <pcarlini@unitus.it>
* testsuite/22_locale/num_put_members_char.cc: Add test04(),
testing for the locale_facets.tcc entry of the previous commit.
* testsuite/22_locale/num_put_members_wchar_t.cc: Likewise.
* config/locale/generic/c_locale.cc
(__convert_to_v(float, double, long double)):
Fix the temporary switch to the "C" locale, saving and
restoring in the proper way the current locale.
* config/locale/generic/time_members.cc
(__timepunct<char, wchar_t>::_M_put): Likewise.
* config/locale/gnu/messages_members.cc
(messages<char>::do_get): Likewise.
* config/locale/gnu/messages_members.h
(messages<_CharT>::do_get): Likewise.
* config/locale/gnu/time_members.cc
(__timepunct<char, wchar_t>::_M_put): Likewise.
* include/bits/locale_facets.tcc (__convert_from_v): Likewise.
Neil Booth [Sat, 4 May 2002 19:42:01 +0000 (19:42 +0000)]
cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
* cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
(cpp_post_options): Move sanity checks to...
(sanity_checks): New.
* cpplex.c (maybe_read_ucs): Fix prototype.
(parse_string, cpp_parse_escape): Cast for %c format specifier.
* cpplib.h (cppchar_t): Use unsigned long or unsigned long long
if necessary.
Neil Booth [Sat, 4 May 2002 07:30:32 +0000 (07:30 +0000)]
c-lex.c (lex_string): Let cpp_parse_escape handles truncation and sign-extension.
* c-lex.c (lex_string): Let cpp_parse_escape handles truncation
and sign-extension.
(lex_charconst): Update for change in prototype of
cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
appropriately.
* cpphash.h (BITS_PER_CPPCHAR_T): New.
* cppinit.c (cpp_create_reader): Initialize them for no
change in semantics.
(cpp_post_options): Add sanity checks.
* cpplex.c (cpp_parse_escape): Handle precision, sign-extension
and truncation issues. Calculate in type cppchar_t.
(MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
(cpp_interpret_charconst): Calculate in type cppchar_t. Handle
run-time dependent precision correctly. Return whether the
result is signed or not.
* cpplib.c (dequote_string): Use cppchar_t; update.
* cpplib.h (cppchar_signed_t): New.
struct cpp_options): New precision members.
(cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
David S. Miller [Sat, 4 May 2002 05:36:40 +0000 (22:36 -0700)]
sparc-protos.h (sparc_rtx_costs): New.
2002-05-03 David S. Miller <davem@redhat.com>
* config/sparc/sparc-protos.h (sparc_rtx_costs): New.
* config/sparc/sparc.c (sparc_rtx_costs): New function
implementing RTX_COSTS and CONST_COSTS.
* config/sparc/sparc.h (CONST_COSTS): Delete.
(RTX_COSTS_CASES): Define.
(RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
the work.
libjava.exp (test_libjava_from_source): Append .exe to executable names.
2002-05-04 David Billinghurst <David.Billinghurst@riotinto.com>
* testsuite/lib/libjava.exp (test_libjava_from_source):
Append .exe to executable names. If no suffix is present,
then ".exe" is added by default on win32. Harmless
elsewhere so always do it.
Zack Weinberg [Sat, 4 May 2002 03:10:42 +0000 (03:10 +0000)]
Re-apply patch accidentally reverted with DFA scheduler merge: remove all rules and variables to slurp source files out of libiberty and...
* Re-apply patch accidentally reverted with
DFA scheduler merge: remove all rules and variables to slurp
source files out of libiberty and rebuild them with HOST_CC.
($(HOST_PREFIX_1)varray.o): New rule.
(genattrtab rule): Word wrap.