* config/mips/mips.c (mips_va_arg): For EABI, emit the queued
integer vararg POSTINCREMENT before the destination of the jump
for the hard fp case.
(function_arg_pass_by_reference): Pass a copy of CUM to
FUNCTION_ARG.
* config/mips/mips.h (GO_IF_LEGITIMATE_ADDRESS): Move check
for CONSTANT_ADDRESS_P above while loop for subreg.
From-SVN: r31328
* flow.c (propagate_block): When a prologue/epilogue insn
is marked dead, unconditionally clear libcall_is_dead and
insn_is_dead, and only dump rtl if warnings aren't being
suppressed.
From-SVN: r31327
* i386.c (ix86_attr_length_default): Handle TYPE_STR and TYPE_CLD.
* i386.md (FIRST_PSEUDO_REGISTER): Set to 20.
(FIXED_REGISTERS): Set dirflag as fixed.
(CALL_USED_REGISTERS): Set dirflag as used.
(REG_ALLOC_ORDER): Set dirflag as last one.
(DIRFLAG_REG): New macro.
(MD_ASM_CLOBBERS): Asm clobber dirflag for backward compatibility.
(HI_REGISTER_NAMES): Add dirflag.
(DEBUF_PRINT_REG): Handle dirflag.
* i386.md (type attribute): New cld and str types.
(length_opcode attribute): Set cld and str to 1.
(memory attribute): Set str to unknown - it is not clear from the
patterns.
(pent_np function unit): Prefixed string operations takes 12 cycles
minimally; cld takes 2 cycles.
(ppro_uops attribute): Str is "many" and cld is "few".
(ppro_p0 unit): Handle cld here.
(k6_alux unit): Handle cld and str types.
(k6_load unit): It is ocupied by str opcodes.
(k6_store unit): It is ocupied by str opcodes.
(athlon_decode): Str is vector decoded.
(athlon_ieu): Handle str and cld.
(cld pattern): New.
(movstrsi, clrstr, cmpstr, strlen expander): Emit cld instruction
(movstrsi_1, clrstrsi_1, cmpstrsi_1, strlensi_1,
cmpstrsi_nz_1 insn): Do not output cld instruction
From-SVN: r31326
* gcc.texi (G++ and GCC): Add Java and Chill.
(Bug Critera): Don't list languages.
* gcc.texi (Incompatibilities): No longer claim most C compilers
are K&R.
* gcc.texi (G++ and GCC): Update other front-ends list.
From-SVN: r31323
* haifa-sched.c (extract_bitlst): New parameter for size of the
bitset in bits. All callers changed. Avoid looking at undefined
bits in the bitset.
(edgeset_bitsize): New variable.
(schedule_region): Initialize edgeset_bitsize.
From-SVN: r31322
* friend.c (do_friend): Don't resolve scopes when processing
template declarations, even if the qualifying scope doesn't
involve template parameters.
From-SVN: r31321
* class.c (dfs_modify_vtables_queue_p): Remove.
(modify_all_vtables): Use dfs_unmarked_real_bases_queue_p
and dfs_marked_real_bases_queue_p instead of
dfs_modify_vtables_queue_p.
From-SVN: r31319
* class.c (build_base_field): New function, split out from ...
(build_base_fields): ... here. Use it. Allocate primary bases
first, under the new ABI.
(get_vtable_entry): Remove.
(remove_base_field): New function, split out from ...
(remove_base_fields): ... here. Adjust since primary bases come
first under the new ABI.
From-SVN: r31315
2000-01-10 Jeff Sturm <jsturm@sigma6.com>
* java/lang/natMath.cc (pow): Cast args to `double', not
`jdouble'.
(atan2): Likewise.
(IEEEremainder): Likewise.
* java/lang/mprec.h: Don't wrap includes in `extern "C"'.
* java/lang/fdlibm.h: Don't wrap includes in `extern "C"'.
From-SVN: r31305
* configure.in: Use mt-aix43 to handle *_TARGET defs,
not mh-aix43.
* config/mh-aix43: Delete, move to mt-aix43.
* config/mt-aix43: New file.
From-SVN: r31303
2000-01-09 Anthony Green <green@cygnus.com>
* java/lang/natString.cc (init): Test for overflow condition
during out of bounds check.
(getChars): Throw StringIndexOutOfBoundsException, not
ArrayIndexOutOfBoundsException.
(getBytes): Ditto.
(regionMatches): Obey case option during string comparison.
* configure.host (ligcj_interpreter): New variable. Enable
interpreter by default on IA-32.
* configure.in: Examine libgcj_interpreter.
* configure: Rebuilt.
From-SVN: r31300
* elfos.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
assignment used as truth value.
* function.c (assign_temp): Mark parameter `dont_promote' with
ATTRIBUTE_UNUSED. Wrap variable `unsignedp' with macro
PROMOTE_FOR_CALL_ONLY.
* genrecog.c (write_subroutine): Mark variable `operands' with
ATTRIBUTE_UNUSED.
* optabs.c (prepare_cmp_insn): Mark parameter `align' with
ATTRIBUTE_UNUSED.
* sdbout.c (sdbout_init): Likewise for parameter `asm_file'.
(sdbout_begin_block, sdbout_end_block): Likewise for `file'.
* toplev.c (note_deferral_of_defined_inline_function): Likewise
for `decl'.
From-SVN: r31293
Wed Dec 8 15:33:26 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* expr.c (java_lang_expand_expr): Switch to permanent obstack
before calling expand_eh_region_start and expand_start_all_catch.
* except.c (expand_start_java_handler): Switch to permanent
obstack before calling expand_eh_region_start.
(expand_end_java_handler): Switch to permanent obstack before
calling expand_start_all_catch.
From-SVN: r31284
Thu Jan 6 16:31:28 2000 Anthony Green <green@cygnus.com>
* expr.c (java_lang_expand_expr): Switch to permanent obstack
before building constant array decl.
From-SVN: r31283