* cpplib.h (struct cpp_options): Change lang_asm to char.
Add lang_fortran.
* cppinit.c (builtin_array): Take out __STDC_VERSION__, it's
done in cpp_handle_option now.
(initialize_builtins): Take out special case code used only by
__STDC_VERSION__.
(cpp_handle_option): Turn off trigraphs and trigraph warnings
if -traditional. Recognize -lang-fortran and set
lang_fortran, also turn off cplusplus_comments.
(print_help): Document -lang-fortran.
* cpplib.c (handle_directive): Ignore `# 123 "file"' if
lang_asm. Ignore all directives other than `# 123 "file"' if
CPP_PREPROCESSED.
(cpp_get_token): If -traditional, don't recognize directives
unless the # is in column 1.
(parse_string): If lang_fortran or lang_asm, silently
terminate strings ('' or "") at end of line.
Remove unnecessary braces.
Alexandre Oliva [Tue, 11 Jan 2000 23:52:07 +0000 (23:52 +0000)]
resource.c (mark_referenced_resources): Mark a set strict_low_part as used.
* resource.c (mark_referenced_resources): Mark a set strict_low_part
as used.
* config/i386/i386.c (ix86_expand_setcc): Re-enable clear + set
strict_low_part when possible.
Kaveh R. Ghazi [Tue, 11 Jan 2000 18:37:11 +0000 (18:37 +0000)]
pa-protos.h: New file.
* pa-protos.h: New file.
* pa.c: Include recog.h and tm_p.h.
(compute_zdepwi_operands, compute_movstrsi_length,
remove_useless_addtr_insns, store_reg, load_reg, set_reg_plus_d,
find_addr_reg, import_milli): Add static prototypes.
(pa_cpu_string, pa_arch_string): Constify a char*.
(legitimize_pic_address): Pass argument `mode' to pic_label_operand.
(read_only_operand): Add argument `mode'.
(singlemove_string, output_move_double, output_fp_move_double,
output_block_move, output_and, output_ior, output_ascii,
remove_useless_addtr_insns, milli_names, output_mul_insn,
output_div_insn, output_mod_insn, output_arg_descriptor,
output_cbranch, output_bb, output_bvb, output_dbra, ,
output_millicode_call, output_call, hppa_encode_label,
output_parallel_movb, output_parallel_addb): Constify a char*.
(hppa_va_start): Mark parameter `stdarg_p' with ATTRIBUTE_UNUSED.
(output_parallel_addb): Remove extra arg to `constrain_operands'
* pa.h: Move all prototypes to pa-protos.h.
(pa_cpu_string, pa_arch_string): Constify a char*.
(LEGITIMIZE_ADDRESS): Call `symbolic_operand' with mode argument.
* pa.md: Call `function_label_operand' with mode argument.
Likewise for `read_only_operand'.
Fix nesting of parens in call to `symbolic_operand'.
Clinton Popetz [Tue, 11 Jan 2000 17:42:30 +0000 (17:42 +0000)]
mips.c (mips_va_arg): For EABI...
* 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.
Clinton Popetz [Tue, 11 Jan 2000 17:26:28 +0000 (17:26 +0000)]
flow.c (propagate_block): When a prologue/epilogue insn is marked dead...
* 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.
Jan Hubicka [Tue, 11 Jan 2000 15:44:34 +0000 (16:44 +0100)]
i386.c (ix86_attr_length_default): Handle TYPE_STR and TYPE_CLD.
* 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
Jeffrey A Law [Tue, 11 Jan 2000 12:50:18 +0000 (12:50 +0000)]
* Band-aid until haifa's bitset implementation is nuked.
* 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.
Mark Mitchell [Tue, 11 Jan 2000 06:50:19 +0000 (06:50 +0000)]
class.c (dfs_modify_vtables_queue_p): Remove.
* 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.
Mark Mitchell [Tue, 11 Jan 2000 03:15:32 +0000 (03:15 +0000)]
class.c (build_base_field): New function, split out from ...
* 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.
Kaveh R. Ghazi [Mon, 10 Jan 2000 23:48:03 +0000 (23:48 +0000)]
Makefile.in (optabs.o): Depend on real.h
* Makefile.in (optabs.o): Depend on real.h
(resource.o): Depend on insn-attr.h
* builtins.c (result_vector): Wrap prototype in macro conditions
governing definition and use.
* c-common.c: Include tm_p.h.
* c-lex.c: Likewise.
* elfos.h: Constify a char*.
* final.c (align_fuzz): Wrap prototype in macro HAVE_ATTR_length.
(get_attr_length, shorten_branches, profile_after_prologue): Mark
parameter with ATTRIBUTE_UNUSED.
* fold-const.c (exact_real_inverse): Wrap variable `i' in
CHECK_FLOAT_VALUE.
* haifa-sched.c (schedule_insns): Mark parameter with
ATTRIBUTE_UNUSED.
* optabs.c: Include real.h.
* real.h (ereal_atof): Add prototype arguments.
* resource.c: Include insn-attr.h.
* sdbout.c (sdbout_queue_anonymous_type,
sdbout_dequeue_anonymous_types): Wrap in macro
SDB_ALLOW_FORWARD_REFERENCES.
(sdbout_init, sdbout_start_new_source_file): Mark parameter with
ATTRIBUTE_UNUSED.
* stmt.c (expand_return): Wrap variable `op0' in macro HAVE_return.
* stupid.c: Include tm_p.h.
* tree.c (real_value_from_int_cst): Mark parameter with
ATTRIBUTE_UNUSED.
Jeff Sturm [Mon, 10 Jan 2000 20:02:47 +0000 (20:02 +0000)]
natMath.cc (pow): Cast args to `double', not `jdouble'.
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"'.
Anthony Green [Sun, 9 Jan 2000 22:25:54 +0000 (22:25 +0000)]
natString.cc (init): Test for overflow condition during out of bounds check.
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.
expr.c (java_lang_expand_expr): Switch to permanent obstack before calling expand_eh_region_start and...
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.
re GNATS gcj/122 (SP mismatch error from certain code constructs)
Thu Jan 6 00:54:10 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-write.c (generate_byecode_conditional): Fixed indentation in
method invocation and typo in conditional expression.
(generate_bytecode_insns): COND_EXPR can be part of a binop. Issue
the appropriate NOTE_POP.
* parse.y (patch_binop): Shift value mask to feature the right
type.
(This is a fix for the PR #122:
http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00000.html)
David Edelsohn [Fri, 7 Jan 2000 18:33:12 +0000 (13:33 -0500)]
rs6000.c (processor_target_table): Add power3 as alias for 630.
* rs6000.c (processor_target_table): Add power3 as alias for 630.
* aix43.h: Revert Aug 2 change.
(HAS_INIT_SECTION): Define, not visible yet.
(LD_INIT_SWITCH): Define, not visible yet.
* t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
alpha.md (adddi_2+1): Limit offset such that it will be loadable with a single ldah+lda pair.
* alpha.md (adddi_2+1): Limit offset such that it will be
loadable with a single ldah+lda pair.
(adddi_2+2): Explicitly fail split if we can't make it work.
Fri Dec 24 00:25:29 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* Makefile.in (LIBDEPS): Added gcc's errors.o
(../jcf-dump$(exeext):): Link with gcc's errors.o
(../gcjh$(exeext):): Likewise.
* expr.c (expand_java_NEW): Layout the entire target type instead of
laying out its methods only.
(lookup_field): Layout the class after having loaded it.
* java-tree.h (java_debug_context): Declared.
* jcf-io.c (toplev.h): Included.
(find_class): Removed assignment to jcf's outofsynch
field. Force source file to be read if newer than its matching
class file. Tweaked debug messages.
* jcf-parse.c (jcf_out_of_synch): Deleted.
(read_class): Call to jcf_out_of_synch removed.
* jcf.h (typedef struct JCF): Field `outofsynch' deleted.
(jcf_out_of_synch): Prototype deleted.
* parse.h (struct parser_ctxt): `minus_seen', `java_error_flag',
`deprecated' and `class_err': integer turned into bit fields.
New bit fields `saved_data_ctx' and `saved_data'. Fixed comments.
* parse.y (package_list): New global.
(package_declaration:): Record newly parsed package name.
(extra_ctxp_pushed_p): Static global deleted.
(java_parser_context_save_global): Create buffer context for the
purpose of saving globals, if necessary.
(java_parser_context_restore_global): Pop context pushed for the
purpose of saving globals, if necessary.
(java_debug_context_do): New prototype and function.
(java_debug_context): Likewise.
(do_resolve_class): Use already parsed package names to qualify
and lookup class candidate.
(java_pre_expand_clinit): Removed unnecessary local variable.
Tom Tromey [Thu, 6 Jan 2000 18:18:15 +0000 (18:18 +0000)]
natClass.cc (_getConstructors): Correctly check whether method name is the init name.
* java/lang/natClass.cc (_getConstructors): Correctly check
whether method name is the init name.
(getMethod): Look at accflags on method in `klass', not `this'.
defaults.h (DWARF_FRAME_REGISTERS): if not defined, default to FIRST_PSEUDO_REGISTER
2000-01-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
* defaults.h (DWARF_FRAME_REGISTERS): if not defined, default to
FIRST_PSEUDO_REGISTER
* dwarf2out.c: Don't include frame.h
* dwarfout.c: Likewise
* Makefile.in (dwarfout.o, dwarf2out.o): Remove dependence on
frame.h
Tom Tromey [Thu, 6 Jan 2000 00:56:21 +0000 (00:56 +0000)]
natClass.cc (getMethod): Compute offset relative to `klass's methods table, not `this's table.
* java/lang/natClass.cc (getMethod): Compute offset relative to
`klass's methods table, not `this's table.
* java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA):
In unwrapping/widening case, check whether `k' is null, not
whether it is primitive. Initialize `num' from `argelts', not
`paramelts'. Correct create and pass arguments to ffi_call.
Don't let presence of `this' argument affect index used to look in
argument arrays.
(COPY): Set appropriate element in `values' vector.