* loop.c (combine_givs_used_by_other): Delete.
(combine_givs_benefit_from): Delete.
(combine_givs): Deny combination of givs only used once. Simplify
code with the death of combine_givs_benefit_from.
Richard Earnshaw [Sat, 13 Feb 1999 05:41:18 +0000 (05:41 +0000)]
arm.md: Use gen_rtx_FOO instead of gen_rtx (FOO, ...).
* arm.md: Use gen_rtx_FOO instead of gen_rtx (FOO, ...).
* arm.h: Likewise.
* arm.c: Likewise.
* arm.h (TARGET_OPTIONS): Reformat for clarity.
(GO_IF_LEGITIMATE_ADDRESS): When generating PIC, references to symbols
in the constant pool aren't valid.
(LEGITIMATE_PIC_OPERAND_P): Likewise.
* arm.c: Include "system.h", not stdio.h and string.h.
Jim Wilson [Fri, 12 Feb 1999 13:31:48 +0000 (13:31 +0000)]
Fix linux-x-cygwin build failure with readline.
* stmt.c (expand_return): Return if optimize_tail_recursion succeeded.
(optimize_tail_recursion): Change return type from void to int.
Add return statements.
* tree.h (optimize_tail_recursion): Change prototype to match.
Michael Hayes [Fri, 12 Feb 1999 02:41:28 +0000 (02:41 +0000)]
c4x.c (c4x_address_cost): Revert 9 Feb change.
* config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change.
(While this patch fixed GIV combination for complex arithmetic
it screwed up generation of autoincrement addresses for the common cases.)
Jeffrey A Law [Thu, 11 Feb 1999 23:55:21 +0000 (23:55 +0000)]
mips.c (save_restore_insns): Fix loop to save/restore FP registers.
* mips.c (save_restore_insns): Fix loop to save/restore FP registers.
(compute_frame_size): Change loop over FP regs to be consistent
with the loop in save_restore_insns.
Jim Wilson [Thu, 11 Feb 1999 14:48:43 +0000 (14:48 +0000)]
i960.h (OVERRIDE_OPTIONS): Warn if -mlong-double-64 is used.
Thu Feb 11 17:38:40 1999 Jim Wilson <wilson@cygnus.com>
* i960/i960.h (OVERRIDE_OPTIONS): Warn if -mlong-double-64 is used.
(LONG_DOUBLE_TYPE_SIZE): Undef then unconditionally define to 96.
John Wehle [Wed, 10 Feb 1999 23:10:43 +0000 (23:10 +0000)]
function.c (assign_stack_temp_for_type): Clear best_p when an exact match is found.
* function.c (assign_stack_temp_for_type): Clear best_p
when an exact match is found.
* i386.h (LOCAL_ALIGNMENT): Define.
* function.c (assign_stack_local, assign_outer_stack_local): Use it.
(assign_stack_temp_for_type): New function based on assign_stack_temp.
(assign_stack_temp): Call it.
(assign_temp): Use assign_stack_temp_for_type, not assign_stack_temp.
* stmt.c: Use assign_temp, not assign_stack_temp.
* tm.texi: Document LOCAL_ALIGNMENT.
Jonathan Larmour [Wed, 10 Feb 1999 16:00:06 +0000 (16:00 +0000)]
Test gcc features used by ECOS.
* gcc.dg/special/ecos.exp: New test driver for new tests with
special requirements.
* gcc.dg/special/alias-1.c: New test.
* gcc.dg/special/gcsec-1.c: New test.
* gcc.dg/special/weak-1.c: New test.
* gcc.dg/special/weak-1a.c: Accompanying file to weak-1.c.
* gcc.dg/special/weak-2.c: New test.
* gcc.dg/special/weak-2a.c: Accompanying file to weak-2.c.
* gcc.dg/special/weak-2b.c: Accompanying file to weak-2.c.
* gcc.dg/special/wkali-1.c: New test.
* gcc.dg/special/wkali-2.c: New test.
* gcc.dg/special/wkali-2a.c: Accompanying file to wkali-2.c.
* gcc.dg/special/wkali-2b.c: Accompanying file to wkali-2.c.
Tom Tromey [Wed, 10 Feb 1999 14:27:53 +0000 (14:27 +0000)]
jvspec.c (lang_specific_driver): Use libgcj, not libjava.
* jvspec.c (lang_specific_driver): Use libgcj, not libjava.
* Makefile.in (jcf-path.o): Define LIBGCJ_ZIP_FILE.
(libgcj_zip): Renamed.
* jcf-path.c (add_entry): Use LIBGCJ_ZIP_FILE, not
LIBJAVA_ZIP_FILE.
(jcf_path_init): Use LIBGCJ_ZIP_FILE.
Mark Mitchell [Wed, 10 Feb 1999 10:46:30 +0000 (10:46 +0000)]
cp-tree.h (get_template_base): Don't declare.
* cp-tree.h (get_template_base): Don't declare.
(dfs_walk): Declare.
(dfs_unmark): Likewise.
(markedp): Likewise.
* pt.c (unify): Remove duplicate declaration. Pass tparms and
targs to get_template_base.
(get_template_base_recursive): Move here from search.c. Check to
see that the base found can be instantiated to form the desired
type.
(get_template_base): Likewise.
(get_class_bindings): Simplify.
* search.c (get_template_base_recursive): Move to pt.c.
(get_template_base): Likewise.
(markedp): Make it global.
(dfs_walk): Likewise.
(dfs_unmark): Likewise.
Mark Mitchell [Wed, 10 Feb 1999 10:28:07 +0000 (10:28 +0000)]
cp-tree.h (get_template_base): Don't declare.
* cp-tree.h (get_template_base): Don't declare.
(dfs_walk): Declare.
(dfs_unmark): Likewise.
(markedp): Likewise.
* pt.c (unify): Remove duplicate declaration. Pass tparms and
targs to get_template_base.
(get_template_base_recursive): Move here from search.c. Check to
see that the base found can be instantiated to form the desired
type.
(get_template_base): Likewise.
(get_class_bindings): Simplify.
* search.c (get_template_base_recursive): Move to pt.c.
(get_template_base): Likewise.
(markedp): Make it global.
(dfs_walk): Likewise.
(dfs_unmark): Likewise.
Jeffrey A Law [Wed, 10 Feb 1999 09:13:41 +0000 (09:13 +0000)]
reload1.c (reload_combine_note_store): Second argument is no longer unused/ignored.
* reload1.c (reload_combine_note_store): Second argument is no
longer unused/ignored. Handle multi-register hard regs.
(move2add_note_store): Simplify.
Tue Feb 9 19:31:09 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* lex.c (java_lang_cloneable): Initialize.
* parse.y (java_lang_cloneable): New static variable.
(qualify_ambiguous_name): Take CONVERT_EXPR into account when
doing one more qualification round.
(valid_ref_assignconv_cast_p): Reject null source or
destination. Allow an array to be cast into java.lang.Cloneable.
(patch_cast): Swapped two first arguments to first call to
valid_ref_assignconv_cast_p.
Jim Blandy [Tue, 9 Feb 1999 00:23:07 +0000 (00:23 +0000)]
configure.in: For PowerPC configurations...
1999-02-09 Jim Blandy <jimb@zwingli.cygnus.com>
* configure.in: For PowerPC configurations, accept "401", "ec603e",
"740", and "750" as valid arguments to --with-cpu.
* configure: Rebuilt.
Marc Espie [Tue, 9 Feb 1999 00:17:32 +0000 (01:17 +0100)]
Makefile.in (REQUIRED_OFILES): remove mkstemp.o
* Makefile.in (REQUIRED_OFILES): remove mkstemp.o
* configure.in (funcs): Check for and conditionally add mkstemps to
the list of functions libiberty will provide.
* configure: Rebuilt.
This is being installed only to get it into the repository to help with the revert...
This is being installed only to get it into the repository to help
with the revert, resubmit & review process for the massive rs6000.md
changes.
* rs6000.md (andsi3_internal1 splitter): Don't split if using the
rlwinm instruction.
(anddi3_internal1): Ditto.
(andsi3_internal{2,3}): Correct some insn lengths.
(anddi3*): Restore missing TARGET_POWERPC64, and don't emit old
mnemonics.
loop.c (reg_single_usage): New file-scope variable ...
* loop.c (reg_single_usage): New file-scope variable ...
(scan_loop): ... moved out of here. Always initialize.
Test loop_has_call instead of reg_single_usage not zero.
Free reg_single_usage after strength reduction.
(count_loop_regs_set): Assume single_usage non-zero.
(combine_givs_used_by_other): Test reg_single_usage.
(load_mems_and_recount_loop_regs_set): Remove reg_single_usage
as a parameter. Assume non-zero.
Zack Weinberg [Mon, 8 Feb 1999 20:27:27 +0000 (20:27 +0000)]
cpplib.c (special_symbol): Rewrite.
1999-02-08 23:25 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu>
* cpplib.c (special_symbol): Rewrite. Don't copy things
multiple times. Handle __STDC__ specially. T_CONST
indicates a constant /string/. Don't handle T_*_TYPE and
T_SPEC_DEFINED. Use cpp_buf_line_and_col instead of
adjust_position. Determine the file buffer only if needed.
(initialize_builtins): Handle __SIZE_TYPE__,
__PTRDIFF_TYPE__, __WCHAR_TYPE__, __USER_LABEL_PREFIX__, and
__REGISTER_PREFIX__ with T_CONST special hashtab entries.
Don't provide __OBJC__; the driver does that. Provide
__STDC_VERSION__, using T_CONST. Use T_STDC for
__STDC__. Give install the length of all symbols defined.
(eval_if_expression): Drop code to insert and remove the
"defined" special symbol.
* cpplib.h: Remove SELF_DIR_DUMMY (no longer used). Remove
T_*_TYPE and T_SPEC_DEFINED from enum node_type; add T_STDC.
* cpphash.c (install): Drop the `ivalue' parameter. Constify
the `value' parameter. All callers changed.
* cpphash.h (install): Change prototype to match.
(union hashval): Remove `ival' member.
* cppexp.c (cpp_lex): Handle `defined' here.
c-typeck.c (check_init_type_bitfields): Use nonincremental initialization of unions whose first member is a bitfield.
Mon Feb 9 18:57:45 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
* c-typeck.c (check_init_type_bitfields): Use nonincremental
initialization of unions whose first member is a bitfield.
Remove unnecessary code for checking the declaration mode
after DECL_C_BIT_FIELD.
* varasm.c (output_constructor): Additional comment about the
constructor of bitfield union initialization.
Michael Hayes [Mon, 8 Feb 1999 14:50:03 +0000 (14:50 +0000)]
c4x.md (all call patterns): Add constraints "Ur".
* config/c4x/c4x.md (all call patterns): Add constraints "Ur".
(call, call_value): Force address into a register if not valid
for a call instruction.
(load_immed_address): Emit a USE of the SYMBOL_REF that is
forced into memory.
* config/c4x/c4x.c (c4x_print_operand): Fix 'C' and 'U' modifiers.
Michael Hayes [Mon, 8 Feb 1999 14:00:37 +0000 (14:00 +0000)]
c4x.c (c4x_legitimize_address): Don't generate a LO_SUM address for HImode or HFmode but instead force address...
* config/c4x/c4x.c (c4x_legitimize_address): Don't generate a
LO_SUM address for HImode or HFmode but instead force address into
a register so that it is offsettable.
(c4x_emit_move_sequence): Handle LO_SUM immediate address.