blob: 9c9140e30c9b76b4e6728f2aa8607fc00eb07dd4 [file] [log] [blame]
Tue Mar 1 19:43:31 1994 Stan Shebs (shebs@cygnus.com)
* a29k/a29k.h (TARGET_SOFT_FLOAT): Define.
(TARGET_SWITCHES): Add -msoft-float.
* a29k/a29k.md (all floating point): Disable floating point insns
if doing soft floats.
Tue Mar 1 19:36:05 1994 Glenn Holloway (glenn@soi.com)
* defaults.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use
ASM_OUTPUT_INTERNAL_LABEL instead of ASM_GENERATE_INTERNAL_LABEL.
Tue Mar 1 19:26:47 1994 Jim Wilson (wilson@cygnus.com)
* sparc/sol2.h (JUMP_TABLES_IN_TEXT_SECTION): Delete.
* sparc/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Add.
* c-typeck.c (build_binary_op): Pass TREE_TYPE (orig_op0) not
orig_op0 to TREE_UNSIGNED.
Tue Mar 1 18:33:33 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* varasm.c (output_constant): Strip off some NOP_EXPRs
before further processing.
Tue Mar 1 12:00:00 1994 Stan Cox (coxs@dg-rtp.dg.com)
* m88k.c (legitimize_address, print_operand): Make -fPIC work
again. Put addresses inside UNSPEC when loading them to
ensure that cse won't mistakenly optimize them.
* m88k.md: Two new patterns, to match (HIGH (UNSPEC (..))) and
(LO_SUM (reg) (UNSPEC (..))) as generated above.
* m88k.h: (GO_IF_LEGITIMATE_ADDRESS) Reject invalid PIC addresses.
Tue Mar 1 11:00:14 1994 Doug Evans (dje@cygnus.com)
* configure: Fix some typos.
* config.sub: Move comment to proper place.
Mon Feb 28 18:31:50 1994 Doug Evans (dje@cygnus.com)
* ns32k/encore.h (ASM_OUTPUT_ASCII): Fix typo.
Mon Feb 28 18:31:42 1994 Steve Chamberlain (sac@cygnus.com)
* expr.c (convert_move): Change name of truncsipsi to truncsipsi2
to conform to existing convention, same with extendpsisi.
Mon Feb 28 08:11:55 1994 Jim Meyering (meyering@comco.com)
* cccp.c (check_precompiled): Delete unused var dollar_loc.
(pcstring_used): Delete unused var TMP.
(write_output): Delete unused var WRITTEN.
(assertion_lookup): Delete unused var BP.
(pedwarn_with_file_and_line): Delete unused var I.
Mon Feb 28 07:12:24 1994 Julian Bradfield (jcb@dcs.ed.ac.uk)
* m68k.md (call): Change HPUX_ASM case.
* m68k/hp320.h (READONLY_DATA_SECTION, LEGITIMATE_PIC_OPERAND_P):
Defined.
(FUNCTION_PROLOGUE): Emit PIC prologue.
Mon Feb 28 06:21:18 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* reload1.c (eliminate_regs, case MULT): New case, to apply
distributive law, when needed.
* stor-layout.c (variable_size): If global_bindings_p < 0,
don't even make the SAVE_EXPR.
* reg-stack.c (reg_to_stack): Use GET_RTX_CLASS.
Clear LABEL_REFs here.
(find_blocks): Make algorithm identical to that inreg_to_stack.
Use GET_RTX_CLASS.
Don't clear LABEL_REFs here.
Build a list of labels referenced by other than jumps.
If computed jump, mark using that list and forced_labels.
(uses_reg_or_mem): New function, copied from flow.c.
* optabs.c (expand_binop): Use expand_divmod to do
integer division for DIV of MODE_COMPLEX_INT operands.
Sun Feb 27 20:24:30 1994 Rob Austein (sra@epilogue.com)
* protoize.c (process_aux_info_file): Properly start over on
file error.
Sun Feb 27 17:42:19 1994 Jim Wilson (wilson@cygnus.com)
* expmed.c (store_split_bit_field): If OP0 is a SUBREG, then
compute WORD from the base register, instead of from the SUBREG.
(extract_split_bit_field): Likewise.
(extract_bit_field): Sign-extend multiword bitfield if necessary.
* emit-rtl.c (subreg_realpart_p): New function.
* integrate.c (copy_rtx_and_substitute): Use subreg_realpart_p
instead of subreg_lowpart_p for CONCAT.
* c-pragma.c (HANDLE_PRAGMA_WEAK): Depend on ASM_OUTPUT_DEF not
SET_ASM_OP when defining it.
* dwarfout.c (ASM_OUTPUT_DEF): Delete definition.
* defaults.h (ASM_OUTPUT_DEF): Add it here.
* varasm.c (handle_pragma_weak): Depend on ASM_OUTPUT_DEF not
SET_ASM_OP when defining it. Use ASM_OUTPUT_DEF to output value
instead of SET_ASM_OP and explicit ASM_OUTPUT_LABELREF calls.
* calls.c (expand_call): Set nregs to -1 for BLKmode parameter,
then before move_block_to_reg call set it to the type size.
* reorg.c (try_merge_delay_insns): Success when SLOT_NUMBER ==
NUM_SLOTS not when NEXT_TO_MATCH == 0.
* expmed.c (store_fixed_bit_field): Adjust BITPOS so that it
fits inside MODE before adjusting OFFSET to get an aligned address.
* expmed.c (store_fixed_bit_field): Move float mode to integral
mode conversion from near end of function to top of function.
* c-typeck.c (process_init_element): Check for constructor_type
set before dereferencing it in the string cst code.
Sun Feb 27 17:28:06 1994 Philippe De Muyter (phdm@info.ucl.ac.be)
* m68k/mot3300.h (TARGET_DEFAULT): Default to 68020-40.
(ASM_SPEC): New macro.
(FUNCTION_VALUE, FUNCTION_VALUE_REGNO_P): Return pointer in a0.
(*_LIBCALL): Use functions from sysV68's library.
(INIT_CUMULATIVE_ARGS, FUNCTION_ARG*): Some libcalls pass
parameters in registers.
Sun Feb 27 15:20:35 1994 Ron Guilmette (rfg@netcom.com)
* flags.h (id_clash_len): Now unsigned.
(warn_larger_than, larger_than_size): New variables.
* toplev.c: Likewise.
(main): Support -Wlarger-than-NN.
* c-common.c (declare_hidden_char_array): Build new type if
warn_larger_than.
* c-decl.c (finish_decl, finish_function): Issue warning for
large objects, if requested.
Sun Feb 27 10:50:50 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* integrate.c (expand_inline_function): Allow extra arguments
and force their evaluation for side-effects.
* local-alloc.c (qty_compare{,_1}): Give multi-word regs higher
priority, as stated in the comments.
* global.c (allocno_compare): Likewise.
* c-common.c (binary_op_error): Initialize OPNAME.
* c-decl.c (store_parm_decls): Initialize some vars.
* c-lex.c (readescape): Initialize FIRSTDIG.
* c-typeck.c (type_lists_compatible_p): Initialize NEWVAL.
(pop_init_level): Initialize SIZE.
(output_pending_init_elements): Initialize NEXTPOS_TREE.
* calls.c (expand_call): Initialize OLD_PENDING_ADJ.
* cccp.c (main, args case 'D'): Rewrite to avoid uninitialized var.
(main, args case 'A'): Delete unused var P1.
(rescan): Initialize STR.
(do_xifdef, do_endif): Initialize arg to skip_to_end_of_comment.
* expr.c (emit_move_insn): Delete unused vars.
(emit_move_insn_1): Don't set SUBMODE unless used.
(expand_builtin, case BUILT_IN_SAVEREGS): Clean up uses of VALREG
and SAVED_VALREG.
* final.c (final_scan_insn): Always set OPS and use alloca.
* gcc.c (execute): Initialize PROG.
* optabs.c (emit_float_lib_cmp): Init LIBFUNC; abort if not reset.
* stmt.c (expand_start_bindings): Properly set NOTE if bytecode.
* tree.c (make_node, stabilize_reference_1): Abort if unknown class.
* varasm.c (make_decl_rtl): Initialize NAME and abort if not reset.
Sat Feb 26 13:09:37 1994 Doug Evans (dje@canuck.cygnus.com)
* mips-tfile.c (fatal, error): Don't use prototypes
ifndef HAVE_VPRINTF.
* fixincludes: Fix including of machine/r3_cpu.h and machine/r4_cpu.h
in machine/cpu.h on Ultrix 4.3.
Sat Feb 26 07:14:04 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* rs6000.h (MASK_NO_SUM_IN_TOC, TARGET_NO_SUM_IN_TOC): New macros.
(MASK_MINIMAL_TOC): Change bit value.
(TARGET_SWITCHES): Add -mno-sum-in-toc; use -mfull-toc instead
of -mnormal-toc, other minor changes.
* rs6000.md (movsi): If -mno-sum-in-toc, do addition of
symbol + const.
* jump.c (rtx_renumbered_equal_p): Fix bug in comparing SUBREGs
and REGs.
Two commutative operations are equal if the operands are in the
opposite order.
* function.c (fixup_var_refs_insn): Delete CLOBBER of VAR. If
VAR is being assigned into by a libcall sequence, remove the
libcall notes.
* cse.c (count_reg_usage, case SET): If SRC has side-effects,
count a usage of DEST in it.
* expr.c (store_expr): In promoted TARGET case, if EXP is a
volatile MEM and WANT_VALUE is nonzero, only reference the MEM once.
Return TARGET if it is a hard register; clean up return code.
* tree.c (substitute_in_type, case REAL_TYPE): Fix typo in
previous change.
Fri Feb 25 06:42:20 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* tree.c (substitute_in_type, case REAL_TYPE): Allow
TYPE_{MIN,MAX}_VALUE to be unassigned.
* combine.c (if_then_else_cond): Fix typo in narrowing of a SUBREG.
* alpha.md (neg[sd]f2): Use %R1 consistently.
* reload.c (find_reloads): Don't restrict class of multiword
operand to preferred class.
(find_reloads_address_1): Rework to use `switch'.
Reload a SUBREG of a hard reg as a unit.
* alpha.md (mul*): Disallow multiply by constant.
Thu Feb 24 21:20:11 1994 Ian Lance Taylor (ian@cygnus.com)
* fixinc.sco: In <prototypes.h>, fix prototypes of getcwd and
link.
Thu Feb 24 13:06:05 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config.sub: Don't force os=-hpux for hp9k2... and hp9k3...
Thu Feb 24 11:17:11 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
* configure (hppa*-*-osf*): Renamed from hppa*-*-mach. Target
filenames changed accordingly.
Thu Feb 24 08:54:27 1994 Bob Miorelli (pwa-b!miorelli@uunet.uu.net)
* lynx.h (LIB_SPEC, LINK_SPEC): Add missing blanks.
Thu Feb 24 08:42:07 1994 Ian Willis (ianw@sco.com)
* i386/sco.h, i386/scodbx.h (HANDLE_SYSV_PRAGMA): Define.
Thu Feb 24 07:31:44 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* loop.c (maybe_eliminate_biv_1): Ignore GIV if it isn't
always computed.
* loop.c (scan_loop, strength_reduce): Go back to LOOP_TOP, not
its NEXT_INSN (in case SCAN_START == LOOP_TOP).
Wed Feb 23 07:30:14 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* reload1.c (choose_reload_regs): If EQUIV is a SUBREG,
make a new REG.
* c-common.c (decl_attributes): Warn if attribute will be ignored.
Allow `noreturn', `volatile', and `const' on object of type
pointer to function.
Always give decl with error or warning.
* calls.c (expand_call): Functions may be const or volatile from
their type.
Tue Feb 22 11:00:12 1994 Ian Lance Taylor (ian@cygnus.com)
* fixincludes: In #[el]if, put double underscores around M32,
m88k, pdp11, tower[_0-9]*, u370, u3b[0-9]*. From Kaveh R.
Ghazi.
* fixinc.sco: Fix prototype declaration of utime in <sys/times.h>;
it's broken in SCO 3.2v4.0.
Tue Feb 22 08:14:28 1994 Matthias Pfaller (leo@marco.de)
* ns32k.h (FUNCTION_{PROLOGUE,EPILOGUE}): %$ is not supported
in fprintf.
(ADJSP): New macro to resolve %$.
* pc532.h (FRAME_POINTER_REQUIRED): Deleted.
* pc532-mach.h (FRAME_POINTER_REQUIRED): Moved to here.
(DEFAULT_PCC_STRUCT_RETURN): Deleted; redundant.
* ns32k.c (output_move_dconst): New function.
* ns32k.h (output_move_dconst): New declaration.
* ns32k.md: Added peephole patterns for stack adjustments followed
by QI/HI pushes.
(movsi): Use output_move_dconst for TARGET_32532.
(ffs): New patterns.
* ns32k.c (global_symbolic_reference_mentioned_p): New function.
(print_operand_address): Allow pc-relative mode not only
for {LABEL, SYMBOL}_REF but for CONST too. If compiling PIC,
transform "symbol+const(Rx)" to "const(symbol(sb))[Rx:b]".
* ns32k.h (OVERRIDE_OPTIONS): New macro to support PIC.
(FUNCTION_PROLOGUE): Save/Load sb when compiling PIC.
(FUNCTION_EPILOGUE): Restore sb when compiling PIC.
(INITIAL_FRAME_POINTER_OFFSET): Take saved sb into account when PIC.
(LEGITIMATE_CONSTANT_P, GO_IF_LEGITIMATE_ADDRESS):
Set current_function_uses_pic_offset_table if P uses a global
symbolic reference.
(ENCODE_SECTION_INFO): New macro to support PIC.
Tue Feb 22 07:59:27 1994 Torbjorn Granlund (tege@cygnus.com)
* alpha.md (divsi3): Emit all RTL from RTL template.
(udivsi3, modsi3, umodsi3, divdi3, udivdi3, moddi3, umoddi3): Likewise.
Tue Feb 22 07:21:31 1994 Samuel A. Figueroa (figueroa@cs.nyu.edu)
* i386/os2.h (LINK_SPEC, LIB_SPEC): New macros.
(PATH_SEPARATOR): Delete from here.
* i386/xm-os2.h (PATH_SEPARATOR): Add to here.
Mon Feb 21 17:48:39 1994 Jim Wilson (wilson@cygnus.com)
* mips-tfile.c (fatal, error): Add ! HAVE_VPRINTF versions.
Sun Feb 20 16:53:02 1994 Ted Lemon (mellon@pepper.ncd.com)
* mips.c (mips_move_2words): Check for TARGET_FLOAT64 != TARGET_64BIT.
(override_options): Don't override MASK_64BIT; don't allow -gp64
without -mips3.
* mips.h: Update mips3 comments.
(TARGET_OPTIONS): Add gp64 and gp32.
(SECONDARY_MEMORY_NEEDED): Don't allow fp<->gp copy if TARGET_FLOAT64
!= TARGET_64BIT.
(CC1_SPEC): Generate correct -mfp* and -mgp* from -mips*
* mips.md (movdf_internal1): Disable if TARGET_FLOAT64 != TARGET_64BIT.
(movdf_internal1a): New pattern.
* osfrose.h (CC1_SPEC): Update as above.
Sun Feb 20 15:40:45 1994 Jim Wilson (wilson@cygnus.com)
* sparc.h (HARD_REGNO_MODE_OK): Update comment.
* iris5.h (OBJECT_FORMAT_ELF): Add comments.
* configure (mips-sgi-irix5): Use collect.
Sat Feb 19 14:25:41 1994 Ian Lance Taylor (ian@cygnus.com)
* fixincludes: Permit upper case characters in typedef of size_t
in <sys/types.h>.
Thu Feb 17 18:02:02 1994 Steve Chamberlain (sac@cygnus.com)
* c-parse.in (attrib): Handle attribute ((section ("string"))).
* c-common.c (decl_attributes): Decode section attribute.
* c-decl.c (duplicate_decls): Merge section name into new decl.
* tree.h (DECL_SECTION_NAME): New macro.
(struct tree_decl): New member `section_name'.
* varasm.c (IN_NAMED_SECTION): New macro.
(named_section): New function.
(enum in_section): New value `in_named'.
(in_named_name): New global.
(make_function_rtl, make_decl_rtl, output_constant_def): Fix comment
regarding ASM_OUTPUT_LABELREF.
(make_decl_rtl): Warn if section attribute used with uninitialized
variable declaration.
(assemble_start_function, assemble_variable, output_constant_def):
Change to named section if given.
* sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Define.
* h8300/h8300.h (ASM_OUTPUT_SECTION_NAME): Define.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, SELECT_SECTION): Delete.
(ASM_OUTPUT_LABELREF): Call fprintf directly.
* h8300/h8300.c (asm_output_labelref): Delete.
* sh/sh.h (ASM_OUTPUT_SECTION_NAME): Define.
(ASM_OUTPUT_SECTION): Delete.
Wed Feb 16 21:46:48 1994 Doug Evans (dje@cygnus.com)
* i960/i960.c (i960_function_prologue): Put register save area before
outgoing arg block.
Wed Feb 16 15:33:26 1994 Jim Wilson (wilson@cygnus.com)
* expr.c (get_pointer_alignment): ALIGN is alignment of innermost
object, not the MAX of alignment of all objects.
* expr.c (group_insns): Delete.
(emit_move_insn_1, expand_expr): Use emit_no_conflict_block
instead of group_insns.
* final.c (end_final): Pass BIGGEST_ALIGNMENT not align to
ASM_OUTPUT_ALIGNED_LOCAL.
* alpha.c (alpha_builtin_saveregs): Don't include
current_function_arg_offset_rtx in argsize. Subtract 48 from arg
base address when no int registers stored on the stack.
* genattrtab.c (expand_units): Fix blockage calculation.
* loop.c (scan_loop): Add no_labels_between_p call to tests which
decide if an invariant reg can be safely replaced with its SET_SRC.
Wed Feb 16 00:54:04 1994 Ian Lance Taylor (ian@cygnus.com)
* fixincludes: Fix uses of new in Xm/Traversal.h. Found on
RS/6000.
Tue Feb 15 19:44:41 1994 Per Bothner (bothner@kalessin.cygnus.com)
* tree.def: Remove STRING_TYPE. No-one uses it.
* tree.h (struct tree_type): New bitfield string_flag.
* tree.h (TYPE_STRING_FLAG): New macro.
* tree.c, sparc.c: Remove unneeded tests for STRING_TYPE.
* expr.c (expand_builtin), dwarfout.c: Use TYPE_STRING_FLAG.
* dbxout.c (dbxout_type): For SET_TYPE and ARRAY_TYPE, use
TYPE_STRING_FLAG to emit appropriate indication.
Tue Feb 15 19:36:45 1994 Stephen L Moshier (moshier@world.std.com)
* real.c (real_value_truncate): If requested mode is not
supported, return the unmodified input instead of aborting.
Tue Feb 15 19:30:48 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* expr.c (expand_increment): Handle both BAD_SUBREG and POST.
Tue Feb 15 11:09:08 1994 Ian Lance Taylor (ian@cygnus.com)
* fixinc.svr4: Make byteorder.h a here document, rather than
copying it from the source directory.
* byteorder.h: Removed.
* fixinc.sco: Don't install <sys/byteorder.h>.
* fixincludes: Removed references to GCCCMD. Instead of running
${GCCCMD} to determine correct value for size_t, just fix the
header files to use __SIZE_TYPE__.
* Makefile.in (fixinc.ready): Removed target.
(stmp-fixinc): Don't depend upon fixinc.ready. Don't pass fourth
argument (was "`pwd`/xgcc -B`pwd`/") to $(FIXINCLUDES).
(clean): Don't remove fixinc.ready.
* rs6000.h (RS6000_ITRUNC, RS6000_UITRUNC): Define.
* rs6000.md (fix_truncdfsi2, fixuns_truncdfsi2): Use RS6000_ITRUNC
and RS6000_UITRUNC, not "itrunc" and "uitrunc".
* rs6000.c (output_prolog): Likewise.
Mon Feb 14 19:19:06 1994 Jim Meyering (meyering@idefix.comco.com)
* gen-protos.c (main): Remove unused args in call to fprintf.
* bi-opcode.c (main): Move unused arg ++i out of call to printf.
Mon Feb 14 19:14:55 1994 Stephen L Moshier (moshier@world.std.com)
* real.c (eifrac): If FIXUNS_TRUNC_LIKE_FIX_TRUNC,
convert on positive overflow as if unsigned.
Mon Feb 14 19:13:15 1994 Jason Merrill (jason@deneb.cygnus.com)
* toplev.c (lang_options): Add -W{no,}extern-inline.
* gcc.c (default_compilers): Generate and use .ii files in the
intermediate stage of compiling C++ source.
Mon Feb 14 19:08:37 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* local-alloc.c (optimize_reg_copy): A register that dies in
a CALL_INSN doesn't cross that call.
* combine.c (simplify_shift_const, case AND): When remaking
binary operation, do it in SHIFT_MODE.
Mon Feb 14 11:27:35 1994 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
* config.sub: Add case for Bull dpx20.
Sun Feb 13 23:50:15 1994 Ian Lance Taylor (ian@cygnus.com)
* rs6000.c (output_epilog): Don't output a traceback table if
flag_inhibit_size_directive is set.
Sun Feb 13 17:47:14 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* rs6000.c (rs6000_adjust_cost): Renamed from ppc_adjust_cost.
* rs6000.h (ADJUST_COST): Call rs6000_adjust_cost.
Sun Feb 13 17:07:02 1994 Ian Lance Taylor (ian@cygnus.com)
* rs6000.h (ASM_OUTPUT_INTERNAL_LABEL_PREFIX): Define.
(ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL instead
of assuming the default format for internal labels.
(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
* rs6000.c (output_prolog, output_epilog): Likewise.
(output_function_profiler): Likewise.
* fixincludes: Fix conflicts with C++ reserved words in
X11/ShellP.h, Xm/Traversal.h, and Xm/BaseClassI.h. Found on
RS/6000.
Sun Feb 13 13:40:17 1994 Michael Meissner (meissner@osf.org)
* halfpic.h (toplevel): Include stdio.h if it hasn't been included
already, so that STDIO_PROTO can be defined. Otherwise,
asm_fprintf gets a prototype mismatch.
Sun Feb 13 02:36:30 1994 Doug Evans (dje@cygnus.com)
* gcc.c (fatal, error): Fix declarations (dependent on HAVE_VPRINTF)..
Sat Feb 12 19:46:29 1994 Michael Meissner (meissner@osf.org)
* configure (386-*-osfrose): Use i386/xm-osf.h as xm file.
* i386/xm-osf.h (new file): Define HAVE_PUTENV and HAVE_VPRINTF.
Sat Feb 12 08:51:02 1994 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* calls.c (expand_call): When preserving subexpressions, don't put
expensive arguments directly into hard registers.
* combine.c (REVERSIBLE_CC_MODE): Add default definition.
(reversible_comparison_p): REVERSIBLE_CC_MODE.
* sparc.h (REVERSIBLE_CC_MODE): Define.
* combine.c (subst): Always simplify true and false arms if
if_then_else_cond succeeds.
(subst, case IF_THEN_ELSE): More canonicalizations; delete some
redundant tests.
(if_then_else_cond): Canonicalize (OP (mult COMP A) (mult REV_COMP B)).
(gen_binary): Simplify (REL_OP (compare X Y) 0) here.
Sat Feb 12 07:41:55 1994 Torbjorn Granlund (tege@adder.cygnus.com)
* cse.c (cse_main): Conditionalize special treatment of
PIC_OFFSET_TABLE_REGNUM on PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
* expmed.c (expand_shift): Truncate immediate count if
SHIFT_COUNT_TRUNCATED.
Fri Feb 11 18:49:42 1994 Per Bothner (bothner@kalessin.cygnus.com)
* dbxout.c (dbxout_type_fields): Emit anonymous fields
just like other fields, but with an empty name. Don't
treat the fields as belonging to the containing object.
Fri Feb 11 20:08:25 1994 Torbjorn Granlund (tege@adder.cygnus.com)
* rs6000.md (definition of "type"): Add "jmpreg" as new type.
Change "mtlr" to "mtjmpr".
(movsi matcher): Pair `c' and `l' in the same constraint
alternative.
(return): Set attribute to "jmpreg".
(indirect_jump): Likewise.
* rs6000.h (ADJUST_COST): Call ppc_adjust_cost.
* rs6000.c (ppc_adjust_cost): New function. Adjust for TYPE_JMPREG.
Fri Feb 11 17:39:42 1994 Michael Collison (collison@osf.org)
* reload1.c (gen_input_reload): If reg-reg add is not valid,
try copying reg-reg and adding reg-int.
Fri Feb 11 17:36:11 1994 Jason Merrill (jason@deneb.cygnus.com)
* expr.c (expand_builtin): If the builtin was called as
__builtin_whatever, pretend we're optimizing.
Fri Feb 11 17:30:28 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* jump.c (mark_jump_label, case LABEL_REF): Update REG_LABEL
note if changing target of jump.
* regclass.c (record_reg_classes): Fix logic in case of matching
operands.
Fri Feb 11 16:03:21 1994 Doug Evans (dje@cygnus.com)
* tree.h (VPROTO, VA_START): Avoid duplicate definition.
* rtl.h (VPROTO, VA_START): Likewise.
* gcc.c (VPROTO, VA_START): Define.
(PROTO): Define.
Add prototypes for static functions.
* g++.c (VPROTO, VA_START): Define.
* gstdarg.h: Don't define _STDARG_H/etc. if not gcc,
it may collide with system's header.
Thu Feb 10 19:26:37 1994 Chip Salzenberg (chip@fin.uucp)
* c-typeck.c (c_expand_return): Do not warn about returning the
address of a locally declared extern variable.
Thu Feb 10 15:57:06 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
* final.c (IS_ASM_LOGICAL_LINE_SEPARATOR): Provide default
definition.
(asm_insn_count): Use IS_ASM_LOGICAL_LINE_SEPARATOR rather
than assuming the logical line separator is ';'.
* pa.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Define.
Thu Feb 10 08:49:39 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* reload.h (reload_secondary_{reload,icode}): Deleted.
(reload_secondary_{in,out}_{reload,icode}): New variables.
* reload.c: Likewise.
(MATCHES, MERGABLE_RELOADS, MERGE_TO_OTHER): Move to front of file.
(push_secondary_reload): New function, from find_secondary_reload.
(find_secondary_reload): Deleted.
(push_reload): Call push_secondary_reload.
(combine_reloads): Use new vars for secondary reloads and icodes.
* reload1.c (emit_reload_insns): Use new vars for secondary
reloads and icodes.
* explow.c (memory_address): Fix error in last change.
Thu Feb 10 08:13:49 1994 Stephen R. van den Berg (berg@pool.informatik.rwth-aachen.de)
* rtl.h, tree.h, mips-tfile.c (VPROTO): New macro.
* combine.c, expr.h, genattrtab.c, output.h, rtl.h, tree.h, toplev.c:
Use PROTO for varargs functions.
* genattrtab.c (attr_printf): Only declare when defined.
* bc-emit.c, calls.c, combine.c, emit-rtl.c, final.c, g++.c:
If __STDC__, include gstdarg and use ANSI form of varargs.
* gcc.c, genattrtab.c, mips-tfile.c, tree.c, toplev.c: Likewise.
Wed Feb 9 09:53:54 1994 Michael Meissner (meissner@osf.org)
* i386/osfrose.h (SUBTARGET_SWITCHES): Add -mmcount-ptr as a
synonym for -mno-mcount.
(CC1_SPEC): If -melf, pass -mmcount-ptr by default.
* i386/osfelf.h (CC1_SPEC): Unless -mrose, pass -mmcount-ptr by
default.
* configure (alpha-dec-osf): Use osf2.h and gdb-osf2.h on OSF/1 2.0 and
beyond.
* alpha/osf2.h, alpha/gdb-osf2.h (new files): Support for OSF/1 2.0
that uses 4 byte wchar_t's instead of 2 byte.
Tue Feb 8 20:18:12 1994 Paul Eggert (eggert@twinsun.com)
* real.c (earith, ereal_negate, eneg, eisneg, enan, emovo, esub):
Propagate the sign of NaNs, so that e.g. -(NaN) evaluates to -NaN.
(eadd, ediv, emul, eremain, e53toe, e64toe, e113toe, e24toe, esqrt):
Likewise.
(make_nan): New arg specifies sign of NaN. All callers changed.
(eiisneg): New function.
(esqrt): Compute sqrt(-0.0) to be -0.0, not 0.0.
Tue Feb 8 19:23:41 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* toplev.c: Include ctype.h.
* tree.c (int_fits_type_p): Properly handle case of variable bounds
for types.
Tue Feb 8 19:20:04 1994 Jason Merrill (jason@deneb.cygnus.com)
* fixproto: Add popen and pclose to required list for stdio.h.
Add putenv to required list for stdlib.h.
Add getopt to required list for unistd.h.
* fixproto: Append "#include <stdlib.h>" to assert.h if it uses
exit or abort.
* libgcc2.c (__builtin_new): If __new_handler returns, keep trying
to allocate the memory.
(__default_new_handler): Add __ to beginning of name to avoid
namespace clashing.
Tue Feb 8 18:50:07 1994 Jim Wilson (wilson@cygnus.com)
* i386/x-aix (FIXINCLUDES): Delete definition.
* configure (i[34]86-ibm-aix): Delete definition of fixincludes.
* fixincludes: When edit size_t typedef, modify sed pattern to
avoid matching typedef uses of size_t. Likewise when adding
#ifndef GCC_SIZE_T.
* fixinc.ps2: Delete file.
* mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Use SIZE not ROUNDED.
* iris5.h (SIZE_TYPE, PTRDIFF_TYPE): Don't redefine.
(MAX_WCHAR_TYPE_SIZE): Define.
* mips-tdump.c (print_file_desc): Correct printf format.
(main): Likewise.
* flow.c (find_basic_blocks): Also look for REG_LABEL notes on first
instruction of each basic block.
* sparc.c (save_regs, restore_regs): Use __inline__ not inline.
Tue Feb 8 10:13:54 1994 Doug Evans (dje@cygnus.com)
* toplev.c (open_dump_file): New function.
(compile_file): Open dump files with it. Remove dump_base_name_length.
Sun Feb 6 15:52:48 1994 Jim Wilson (wilson@cygnus.com)
* collect2.c (sys_siglist): Don't declare if
DONT_DECLARE_SYS_SIGLIST is defined.
* mips/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
* sparc/xm-sol2.h (NO_SYS_SIGLIST): Delete.
(DONT_DECLARE_SYS_SIGLIST): Define.
* mips-tfile.c (sys_siglist): Don't declare if NO_SYS_SIGLIST or
DONT_DECLARE_SYS_SIGLIST are defined.
(catch_signal): Add code for NO_SYS_SIGLIST case.
* sched.c (reg_pending_sets, reg_pending_sets_all): New variables.
(sched_analyze_1): Set reg_pending_sets instead of reg_last_sets.
(sched_analyze_2): Set reg_pending_sets or reg_pending_sets_all
instead of reg_last_sets.
(sched_analyze_insn): Use reg_pending_sets and
reg_pending_sets_all to set reg_last_sets. Set
reg_pending_sets_all instead of reg_last_sets.
(schedule_block): Allocate and clear reg_pending_sets.
* sparc.md (movdi): Handle 'U' and 'T' constraints.
* m68k/hp320.h (FUNCTION_PROFILER): Concatenate strings to avoid
use of ANSI C specific feature.
* mips.c (function_arg): When soft-float, don't add bias for
second SFmode argument.
* iris5.h (CPP_PREDEFINES): Add _MIPSEB.
Sun Feb 6 08:40:46 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* function.c (struct temp_slot): Add new field, ADDRESS.
(assign_stack_temp): Initialize it to zero.
(find_temp_slot_from_address, update_temp_slot_address): New functions.
(preserve_temp_slots): Use find_temp_slot_from_address.
* explow.c (memory_address): Call update_temp_slot_address on
new and old address.
* cse.c (canon_hash, case LABEL_REF, SYMBOL_REF): Avoid warning
on 64-bit machines.
Sat Feb 5 17:55:52 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* configure (i[34]86-sequent-ptx): Alias for i[34]86-sequent-sysv*.
Sat Feb 5 11:46:00 1994 Steve Chamberlain (sac@cygnus.com)
* sh.c (hard_regno_mode_ok): New vector.
(output_stack_adjust): Always adjust stack with an addsi insn.
(calc_live_regs): Support alernative calling conventions.
(print_operand): Delete obsolete cases.
(synth_constant): New function to generate constants by
arithmetic means.
(expand_block_move): Use new block move support routines.
(prepare_move_operands): Use synth_constant when possible, try
and geneate splits for DI moves.
(output_jump_label_table, dump_table, output_far_jump,
prepare_split_double_ops,from_compare, equality_operator,
handle_pragma, expand_acall): New functions.
(prepare_scc_operands): When condition isn't supported swap args
and alter test.
(output_move_double): Generate better code for constant moves.
(output_shift): Cope with negative shifts.
(byte_index_operand, pop_operand, painful_immediate_operand,
ok_shift_value, hard_immediate_operand, adjust_insn_length,
dump_constants, output_movepcrel): Deleted.
(final_prescan_insn): Now only prints pc.
(shiftcosts, andcosts, multcosts): Work out some insn costs.
(gen_ashift, gen_shifty): Emit code for shift operations.
(fixit, hi_const, find_barrier, broken_move,
machine_dependent_reorg): New functions to fix move instructions
with out-of-range literals.
* sh.h (OPTIMIZATION_OPTIONS, CONDITIONAL_REGISTER_USAGE): New.
(TARGET_SWITCHES): Extra -m options for experimental calling
conventions.
(HARD_REGNO_MODE_OK): Use hard_regno_mode_ok vector rather than
inline code.
(FRAME_POINTER_REQUIRED): Always 0.
(reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Change order
of classes.
(FRAME_GROWS_DOWNWARD): Don't define.
(FUNCTION_ARG_PARTIAL_NREGS): Always 0.
(MAX_REGS_PER_ADDRESS): Is 2.
(GO_IF_LEGITIMATE_INDEX): Split up into smaller macros.
(CASE_VECTOR_MODE, CASE_VECTOR_PC_RELATIVE): Jump tables are of
switchable size and always pc relative.
(RTX_COSTS): Use new andcosts, multcosts and shiftcosts functions.
(INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): New.
(ASM_OUTPUT_CASE_LABEL, ASM_OUTPUT_ADDR_DIF_ELT): Now switches are
pc relative.
* sh.md (define_attr length): Calculate lengths more accurately.
(define_attr "rte", "hit_stack"): New.
(cmp*): Allow all conditions by swapping args.
(addc, adddi3, and_ff, casesi, casesi_worker, peepholes): New.
(div*, mul*): Use library routines with special calling
conventions.
(shifts): Generate only legal shift insn sequences.
(extend*): Get clobbers right, extra constraints.
(mov*): Greatly simplified.
(b*): Use from_compare function.
(return, rte): Understand pragma interrupt.
(anddi3, iordi3, xordi3): Deleted.
(consttable_2,consttable_4, consttable_8, align_2, align_4,
consttable_end, movesi_k, movhi_k, movdi_k): Support for inline
literal tables.
(movstrsi, block_move_real, block_lump_real): Use new block move
routines.
* toplev.c (rest_of_compilation): Invoke MACHINE_DEPENDENT_REORG if
defined.
Sat Feb 5 08:05:58 1994 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* cse.c (memory_extend_rtx): New variable.
(cse_main): Initialize it.
(cse_insn): See if we have already loaded a MEM in a wider mode.
Sat Feb 5 07:05:29 1994 Jason Merrill (jason@deneb.cygnus.com)
* fixproto: Add lstat to required_list for sys/stat.h
Fri Feb 4 12:14:49 1994 Stan Cox (coxs@dg-rtp.dg.com)
* m88k.h: (TARGET_SWITCHES) Assume -muse-div-instruction
-mno-check-zero-division for -m88110. (CONSTANT_ADDRESS_P) Fix a
-fpic reload bug. (DONT_REDUCE_ADDR) Don't strength reduce so
m88k scaled loads/stores will be used. (enum processor_type) Use
instead of attr_cpu, which is not always defined.
* m88k.md: (movdf) Split movdf so it can go into a branch delay slot
* m88k.c: (m88k_gp_threshold) Make -mshort-data- unsigned.
(block_move_*) Copy MEM_IN_STRUCT_P for block move cases.
* dgux.h: (TARGET_SVR4) Use -msvr4/-msvr3 instead of
-mversion-03.00 to choose assembler syntax.
Fri Feb 4 08:14:31 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* emit-rtl.c (gen_lowpart_common, gen_highpart): Test *_BIG_ENDIAN
with "if", not #if and fix one erroneous test.
Thu Feb 3 17:15:07 1994 Jim Wilson (wilson@cygnus.com)
* expmed.c (store_bit_field, insv case): Don't use PUT_MODE on
xop0 when it is a SUBREG, generate a new SUBREG.
Thu Feb 3 13:24:14 1994 Alex Zatsman (alex.zatsman@analog.com)
* hard-reg-set.h (GO_IF_HARD_REG_EQUAL): Fix typo.
Thu Feb 3 07:45:45 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* flow.c: Add prototypes for static functions.
(uses_reg_or_mem): New function.
(find_basic_block): Some cleanups; eliminate shadowed variables.
Look for REG_LABEL notes in all insns and allow for multiple such.
Don't delete labels in forced_labels.
Generalize test for computed jumps.
(find_auto_inc): OFFSET should be HOST_WIDE_INT.
(mark_used_regs): Put decls of parms in parm order.
(find_use_as_address): PLUSCONST should be HOST_WIDE_INT.
* reload1.c (eliminate_regs, case INSN_LIST): Properly remake
list when we change something further on.
Wed Feb 2 21:25:03 1994 Jim Wilson (wilson@cygnus.com)
* c-typeck.c (signed_or_unsigned_type): Check for any
INTEGRAL_TYPE_P not just INTEGER_TYPE.
* Makefile.in (enquire.o): Depend on stmp-int-hdrs.
* mips.h (CPP_SPEC): Define __PTRDIFF_TYPE__ not __PTRDIFF_TYPE.
* reorg.c (fill_simple_delay_slots): When fill epilogue delay
slot, set needed to end_of_function_needs instead of clearing it.
Wed Feb 2 15:20:38 1994 Philippe De Muyter (phdm@info.ucl.ac.be)
* tree.c (FILE_FUNCTION_FORMAT): Fix typo if neither dot nor dollar
in label.
Wed Feb 2 14:38:56 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* fold-const.c (const_binop, COMPLEX_TYPE, case RDIV_EXPR):
If complex integer, use TRUNC_DIV_EXPR for inner division.
* c-tree.h: Re-order declarations for functions in c-typeck.c to
agree with order there; add some missing declarations.
* c-typeck.c: Add prototypes for static functions; delete
forward declarations of non-static functions.
(initializer_constant_valid_p): Add missing parameter to
recursive call.
Wed Feb 2 14:22:05 1994 Kaveh R. Ghazi (ghazi@noc.rutgers.edu)
* objc/Makefile (SUBDIR_INCLUDES): Add -I for include directory.
Wed Feb 2 13:24:23 1994 Chip Salzenberg (chip@fin.uucp)
* expmed.c (synth_mult): Delay allocation of algorithm structures
until they are needed. Reorder early-exit tests to avoid comparing
value that is not yet set.
Tue Feb 1 18:56:19 1994 Chip Salzenberg (chip@fin.uucp)
* c-common.c (decl_attributes): Allow format attributes
on old style (non-prototype) function declarations.
Tue Feb 1 11:25:40 1994 Stephen R. van den Berg (berg@pool.informatik.rwth-aachen.de)
* tree.c (build_type_variant): Simplify by using build_type_copy.
* c-decl.c (grokdeclarator): `volatile' function warning
corrected to read `noreturn' function warning.
(finish_function): Likewise.
* cp-decl.c (finish_function): Likewise.
* c-typeck.c, cp-typeck.c (c_expand_return): Likewise.
* toplev.c (rest_of_compilation): Likewise.
Tue Feb 1 06:06:22 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* combine.c (make_extraction): Don't make an extraction that
has the potential of crossing a boundary.
* regclass.c: Add prototypes for static functions.
(auto_inc_dec_reg_p): New function.
(regclass): Call it to allow a register needing a secondary reload
to be used for inc/dec if it is already valid for it.
* gcc.c (default_compilers, @ada): Don't duplicate "-gnat" parameters;
pass -quiet unless -Q is specified.
* alpha.md (minsf3, maxdf3, mindf3): Properly insert constant of
zero into patterns.
Mon Jan 31 20:55:41 1994 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
* i960.c (i960_function_name_declare): Handle names that start
with '*'.
Mon Jan 31 19:13:59 1994 Chip Salzenberg (chip@fin.uucp)
Unify error and message functions:
* toplev.c: Include "gvarargs.h".
(fatal_insn_not_found): Omit superfluous argument to error.
(vmessage, v_message_with_file_and_line): New functions.
(v_message_with_decl, file_and_line_for_asm): Likewise.
(v_error_with_file_and_line, v_error_with_decl): Likewise.
(v_error_for_asm, verror, vfatal): Likewise.
(v_warning_with_file_and_line, v_warning_with_decl): Likewise.
(v_warning_for_asm, vwarning): Likewise.
(error_with_file_and_line, error_with_decl, error, fatal): Now just
wrappers for above functions.
(error_for_asm, warning_with_file_and_line): Likewise.
(warning_with_decl, warning_for_asm, warning): Likewise.
Mon Jan 31 19:03:16 1994 Jim Wilson (wilson@cygnus.com)
* sched.c (sched_analyze_insn): Add use dependencies for registers
mentioned in REG_DEAD notes.
* configure (mips-tandem-sysv4*): Add.
* mips/svr4-t.h, mips/svr4-t-gdb.h: New files.
* sched.c (priority): Call insn_cost() for anti- and output-
dependencies as well as for true dependencies.
* cse.c (find_best_addr): Limit number of cse_gen_binary calls to
20 per iteration.
Mon Jan 31 18:08:27 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* real.c (emovo): Use separate variable for loop index.
* fold-const.c (operand_equal_for_comparison_p): Declare
correct_width as unsigned.
* configure (m68k-wrs-vxworks): Fix typo in name.
* Makefile.in (cross-test, enquire, protoize, unprotoize):
Specify program name in -o to force into build directory.
* i386/sol2.h (CPP_SPEC): Add -Dsun.
* alpha/gdb.h: Renamed from alpha-gdb.h.
* alpha/gdb-osf12.h: New file.
* configure (alpha): Reflect new name for files and support
gdb with OSF V1.2.
Mon Jan 31 15:18:40 1994 Jim Wilson (wilson@cygnus.com)
* bc-emit.c (class_narrowest_mode, byte_mode, word_mode): Add
extern to declaration.
* expr.c (local_vars_size): Likewise.
* genattrtab.c (expand_units): When calculate BLOCKAGE, reverse
terms to POS_MINUS_OP. Clarify comment before BLOCKAGE computation.
(write_complex_function): Use EXECUTING_INSN for first switch, and
CANDIDATE_INSN for second switch.
* sparc/lite.h (TARGET_DEFFAULT): Add -mapp-regs.
* sparc/sparc.h (TARGET_APP_REGS): Define.
(TARGET_SWITCHES): Add new options -mapp-regs and -mno-app-regs.
(TARGET_DEFAULT): Add -mapp-regs.
(CONDITIONAL_REGISTER_USAGE): Make %g2, %g3, and %g4 be fixed when
the -mno-app-regs option is used.
* sparc/sun4os3.h (TARGET_DEFAULT): Delete.
* svr4-5.h (STARTFILE_SPEC): Include values-X[cta].o file in link.
* xcoffout.c (ASM_OUTPUT_LFE): Output absolute line number not
relative line number.
Fri Jan 28 19:20:07 1994 Michael Collison (collison@osf.org)
* flow.c (find_auto_inc): Check for increment using single_set.
Fri Jan 28 19:11:17 1994 David Edelsohn (edelsohn@npac.syr.edu)
* rs6000.md (fsel): Remove insns with record bit set.
Thu Jan 27 18:22:25 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* alpha.c (output_prolog): Fix typo in previous change.
Wed Jan 26 18:19:51 1994 Per Bothner (bothner@sugar-bombs.gnu.ai.mit.edu)
* c-typeck.c (initializer_constant_valid_p): Make non-static.
(It's used by the Chill back-end.)
Wed Jan 26 13:54:40 1994 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
* sched.c (attach_deaths_insn): Add REG_DEAD notes to CLOBBER if
it is for a MEM.
Tue Jan 25 08:30:11 1994 Chip Salzenberg (chip@fin.uucp)
* cse.c (HASHBITS): Removed.
(HASH, struct set, canon_hash, safe_hash, remove_from_table):
Generate and use unsigned hash values, to avoid potential trouble
with signed shift/overflow.
Also name variables consistently: "hash", not "hash_code".
(lookup, lookup_for_remove, insert, merge_equiv_classes): Likewise.
(invalidate, rehash_using_reg, invalidate_for_call): Likewise.
(find_best_addr, record_jump_cond, cse_insn): Likewise.
Mon Jan 24 18:59:59 1994 Jim Wilson (wilson@cygnus.com)
* expmed.c (store_split_bit_field): For BYTES_BIG_ENDIAN, only
pad on left if value not in memory. Reject gen_lowpart_common
output if it returns the input value.
* unroll.c (copy_loop_body): When delete simplified condjump,
protect the label, so that it doesn't get deleted also.
* toplev.c (compile_file): If yyparse returns an error, pop all
pending binding levels.
Mon Jan 24 18:30:53 1994 Doug Evans (dje@cygnus.com)
* objc/Object.h (streamVersion, read, write): #ifndef out for the
alpha since TypedStream not supported there yet.
* objc/Object.m (streamVersion, read, write): Ditto.
Mon Jan 24 17:40:56 1994 Jim Wilson (wilson@cygnus.com)
* sparc.c (sparc_address_cost): Delete.
* sparc.h (ADDRESS_COST): Define to 1.
* bsd-5.h, mips-5.h, svr3-5.h, svr4-5.h (ASM_OUTPUT_NEWLINE):
Define new macro.
* mips.h (ASM_OUTPUT_NEWLINE): New default for new macro.
(ASM_OUTPUT_ASCII): Use ASM_OUTPUT_NEWLINE.
* sparc.h (ASM_OUTPUT_COMMON): Don't output .global. Use SIZE not
ROUNDED.
(ASM_OUTPUT_LOCAL): Delete.
(ASM_OUTPUT_ALIGNED_LOCAL): Define.
Sun Jan 23 18:57:01 1994 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* expr.c (do_jump_for_compare): Initialize JUMP_LABEL for the branch
insn before trying to invert it.
Sun Jan 23 18:40:23 1994 Samuel A. Figueroa (figueroa@cs.nyu.edu)
* i386/os2.h (PATH_SEPARATOR): New macro.
* i386/gas.h (ASM_FILE_START): Delete; identical to one in bsd.h,
which is included.
Sun Jan 23 18:21:23 1994 Randy S. Welch (randy@tss.com)
* m68k/plexus.h: Assume GAS 2.x used and add support for debugging.
Sun Jan 23 06:19:28 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* reload.c (find_reloads): Properly test for output operand
when changing RELOAD_FOR_OUTPUT_ADDRESS to RELOAD_FOR_INPUT_ADDRESS.
* combine.c (subst, case SUBREG): Handle paradoxical SUBREG of
constant.
(IF_THEN_ELSE): Add missing "else" and check for comparison
before calling reversible_comparison_p.
* c-typeck.c (output_init_elements): Use FIELD instead
of constructor_fields when doing alignment and sizing.
(output_pending_init_elements): Don't blow up when writing
other than first field put haven't written anything yet.
Update constructor_bit_index when we emit a skip.
* toplev.c (rest_of_compilation): Defer compilation of function
that were specified as inline, whether or not they actually were
inlined.
* alpha.h (OBJECT_FORMAT_COFF, EXTENDED_COFF, NM_FLAGS): Define.
* x-alpha: New file.
* combine.c (simplify_comparison): Can remove NOT on both operands
if we swap comparison code.
* rs6000.md: Insert some missing blank lines.
* alpha.c (output_{pro,epi}log): Use assemble_name to output
alpha_function_name.
* combine.c (simplify_comparison): Fix typos in last change.
Sun Jan 23 05:59:31 1994 Per Bothner (bothner@cygnus.com)
* c-typeck.c (really_start_incremental_init): Save current elements
instead of clearing them.
Sat Jan 22 15:50:29 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* c-typeck.c (c_expand_return): Issue a warning if returning
address of non-static local object.
* combine.c (if_then_else_cond): Don't do anything with COMPARE.
(simplify_comparison): Strip SIGN_EXTEND, NOT, or NEG when
both operands have it.
* combine.c (num_sign_bit_copies): Ifndef WORD_REGISTER_OPERATIONS,
ensure we don't do the wrong thing if X is narrower than MODE.
Thu Jan 20 01:06:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
* pa.h (ASM_OUTPUT_SOURCE_LINE): Make the first source line stab
for each procedure special to avoid the need for nasty hacks in GAS.
* pa.md (iorscc): Fix typo.
Wed Jan 19 19:35:37 1994 Torbjorn Granlund (tege@adder.cygnus.com)
* pa.h (ASM_GLOBALIZE_LABEL): Don't globalize function labels here.
Mon Jan 17 16:38:16 1994 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
* xcoffout.c (xcoffout_begin_block): Don't emit a .bb for the
function level scope.
(xcoffout_end_block): Don't emit a .eb for the function level
scope.
Sun Jan 16 14:29:31 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config.sub: Alphabetize the list of machine-name aliases.
Add nh3000 and nh[45]000.
Delete duplicate clauses for hp9k2... and hp9k31...
Sat Jan 15 18:06:45 1994 Torbjorn Granlund (tege@blues.cygnus.com)
* config/sparc/sparc.md (smulsi3_highpart): New pattern.
(umulsi3_highpart): New pattern.
* config/mips/mips.md (smulsi3_highpart): New pattern.
(umulsi3_highpart): New pattern.
Thu Jan 13 18:54:27 1994 Jim Wilson (wilson@cygnus.com)
* iris3.h (CPP_SPEC): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, and
__mips.
(SIZE_TYPE, PTRDIFF_TYPE): Delete.
* mips.c (dfhigh, dflow, sfhigh, sflow): New variables.
(mips_sw_reg_names): Consistently use $ as name prefix.
(large_int): Handle 64 bit constants.
(reg_or_0_operand, mips_const_double_ok): Don't examine
CONST_DOUBLE internals.
(mips_const_double_ok): Use REAL_VALUE_* macros.
(simple_memory_operand): Add 64 bit support. Only test
TARGET_GP_OPT to determine if doing gp optimizations. Pass
address not MEM to eliminate_constant_term. Use SMALL_INT.
(mips_fill_delay_slot): Add 64 bit support.
(mips_move_1word): Add 64 bit support. Don't examine CONST_DOUBLE
internals.
(mips_move_2words): Likewise.
(mips_address_cost): Pass address not MEM to
eliminate_constant_term. Use SMALL_INT.
(gen_int_relational): New variable mode. Add 64 bit support.
(gen_conditional_branch): Add 64 bit support.
(block_move_load_store, block_move_loop, block_move_call,
expand_block_move, output_block_move, function_arg_advance,
function_arg, function_arg_partial_nregs): Likewise.
(override_options): Clear MASK_GPOPT if threshold is zero or
negative. Set MASK_GPOPT if optimizing. Set mips_isa from -misa=
option, else from MIPS_ISA_DEFAULT if defined, else to 1. Make
default cpu depend on isa. Add cpus r4400, r4600, orion. Rewrite
TARGET_NAME_REGS support. Initialize dfhigh, dflow, sfhigh,
sflow. Add 64 bit support.
(print_operand): Use REAL_VALUE_* macros.
(mips_output_external): Don't depend on mips_section_threshold.
(make_temp_file): Define P_tmpdir when __MSDOS__. Malloc filename
string. Don't unlink temp file when __MSDOS__.
(mips_asm_file_start): Delete TARGET_NAME_REGS support.
(mips_asm_file_end): Unlike temp file when __MSDOS__.
(mips_declare_object): Don't test mips_sections_threshold.
(compute_frame_size, save_restore_insns, function_prologue,
mips_expand_prologue, function_epilogue, mips_expand_epilogue):
Add 64 bit support.
(function_epilogue): Correctly output `#' before .set volatile.
* mips.h (enum cmp_type): Add 64 bit support.
(enum processor_type): Add PROCESSOR_R4600.
(MASK_64BIT, TARGET_64BIT): New mask bit, to indicate 64 bit mode.
(HAVE_64BIT_P, OPTIMIZATION_OPTIONS): Delete.
(CPP_SPEC): Don't abort if not defined.
(CC1_SPEC): -mips1 and -mips2 imply -mfp32. -mips3 implies -mfp64.
(CPP_SPEC): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, and __mips.
(BITS_PER_WORD, UNITS_PER_WORD, INT_SIZE_TYPE, LONG_TYPE_SIZE,
LONG_LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY,
PARM_BOUNDARY, EMPTY_FIELD_BOUNDARY, HARD_REGNO_NREGS,
CONST_OK_FOR_LETTER_P, STACK_ARGS_ADJUST, FUNCTION_PROFILER,
TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT,
INITIALIZE_TRAMPOLINE, CASE_VECTOR_MODE, MOVE_MAX,
TRULY_NOOP_TRUNCATION, Pmode, FUNCTION_MODE,
ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add 64 bit support.
(MAX_BITS_PER_WORD, MAX_UNITS_PER_WORD, UNITS_PER_FPREG,
MAX_INT_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
MAX_MOVE_MAX): Define.
(INDEX_REG_CLASS): NO_REGS not GR_REGS.
(CONST_DOUBLE_OK_FOR_LETTER_P): Don't examine CONST_DOUBLE
internals.
(PREFERRED_RELOAD_CLASS): Return CLASS if it isn't ALL_REGS.
(TRANSFER_FROM_TRAMPOLINE, ASM_OUTPUT_CASE_LABEL): Delete.
(REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Redefine to 0.
(GO_IF_LEGITIMATE_ADDRESS): Delete redundant code0 == REG test.
(ENCODE_SECTION_INFO): Don't test mips_section_threshold.
(CONST_COSTS): CONST_INT have cost 0 not CONSTS_N_INSNS (0). Pass
address not MEM to eliminate_constant_term. Add 64 bit support.
(MEMORY_MOVE_COST, ASM_OUTPUT_DOUBLE_INT): Define.
(EXTRA_SECTIONS): Delete in_last_p1.
(SELECT_RTX_SECTION): Delete division by BITS_PER_UNIT.
(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
(SIZE_TYPE, PTRDIFF_TYPE): Add 64 bit support.
* mips.md (cpu): Add r4600.
(define_function_unit): Correct numerous errors. Add r4600.
(adddi3*, subdi3*, mulsidi3, umulsidi3, negdi2*, one_cmpdl2*,
nordi2*, anddi2*, iordi3*, xordi3*, movdi*, ashldi3*, ashrdi3*,
lshrdi3*, seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu,
indirect_jump, tablejump, call*, call_value*): Add 64 bit support.
(adddi3_internal_3, addsi3_internal_2, subdi3_internal_3,
subsi3_internal_2, muldi3, muldi3_internal, divmoddi4, udivmoddi4,
divdi3, moddi3, udivdi3, umoddi3, absdi3, ffsdi2,
negdi2_internal_2, anddi3_internal1, xordi3_immed, truncdisi2,
truncdihi2, truncdiqi2, zero_extendsidi2,
zero_extendsidi2_interal, zero_extendhidi2, zero_extendqidi2,
extendsidi2, extendhidi2, extendhidi2_internal, extendqidi2,
extendqidi2_insn, fix_truncdfdi2, fix_truncsfdi2, floatdidf2,
floatdisf2, fixuns_truncdfdi2, fixuns_truncdfsi2,
ashldi3_internal4, ashrdi3_internal_4, lshrdi3_internal4, cmpdi,
tstdi, branch_zero_di, branch_equality_di, seq_di_zero, seq_di,
sne_di_zero, sne_di, sgt_di, sge_di, slt_di, sle_di_const,
sle_di_reg, sgtu_di, sgeu_di, sltu_di, sleu_di_const, sleu_di_reg,
indirect_jump_internal1, indirect_jump_internal2,
tablejump_internal1, tablejump_internal2): New patterns.
(mulsi3): Add missing mips_move_1word parameter.
(mulsi3+1): Don't split on r4000.
(divmodsi4, udivmodsi4, udivsi3, umodsi3): Correct lengths.
(divsi3, modsi3, udivsi3, umodsi3): Allow constant operands.
(sqrtdf2, sqrtsf2): Correct type attribute.
(abssi2): Add mips2 support.
(movsi_unaligned, movsi_ulw, movsi_usw): Comment out.
(movsf, movdf): Use F not E.
(cmpdf, cmpsf, branch_fp*, s{eq,ne,lt,le,gt,ge}_[ds]f): Depend on
TARGET_HARD_FLOAT.
* va-mips.h: Add 64 bit support.
Thu Jan 13 06:14:17 1994 Paul Eggert (eggert@twinsun.com)
* c-parse.in (maybe_attribute): Allow multiple __attribute__
clauses on a declaration.
Thu Jan 13 06:01:09 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* a29k.h (REG_CLASS_CONTENTS): Fix problems with last word of
register set in some classes.
* a29k.h (MEMORY_MOVE_COST): New macro.
Thu Jan 13 05:42:30 1994 Torbjorn Granlund (tege@adder.cygnus.com)
* config.sub: Fix typo in -hiux* case.
Wed Jan 12 13:25:12 1994 Per Bothner (bothner@kalessin.cygnus.com)
* dbxout.c (dbxout_range_type): If the range has a base type
(TREE_TYPE), emit it, even if that is some other integer type.
Wed Jan 12 06:02:23 1994 David Edelsohn (edelsohn@npac.syr.edu)
* rs6000.h (MASK and TARGET): Change POWERPCSQR to PPCFPX to
describe both fsqrt and fsel.
(TARGET_SWITCHES): powerpc64 implies ppcfpx.
* rs6000.c (rs6000_override_options): Change POWERPCSQR to PPCFPX.
* rs6000.md (sqrtsf2, sqrtdf2): Change POWERPCSQR to PPCFPX.
(maxsf3, minsf3, maxdf3, mindf3): New patterns using fsel instruction.
Tue Jan 11 19:14:31 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* a29k.c (output_prolog): Update debug reg map when
we have -mkernel-registers.
* fold-const.c (fold, truth_andor): Don't apply distributive
law when it would change evaluation order.
Clean up code a bit to improve flow.
Mon Jan 10 19:37:27 1994 David Robinson (drtr@mail.ast.cam.ac.uk)
* expr.c (emit_move_insn_1): Call gen_realpart and gen_imagpart
instead of gen_lowpart and gen_highpart.
* function.c (assign_parms): Likewise.
* optabs.c: Remove redundant prototype for gen_highpart.
Mon Jan 10 19:14:07 1994 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* jump.c (comparison_dominates_p): NE is dominated by LT, GT, LTU
and GTU.
Mon Jan 10 19:06:57 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* emit-rtl.c (gen_{real,imag}part): Extract value from
CONCAT directly.
(gen_lowpart_common, gen_highpart): Don't do it here.
* cse.c (simplify_relational_operation): Don't do anything with CC0
in addition to MODE_CC values.
* expr.c (protect_from_queue): If (MEM (QUEUED ...)), modify a
new MEM instead of the one we were passed.
* i386/linux.h: Update banner, reformat comments.
(STARTFILE_SPEC, GPLUSPLUS_INCLUDE_DIR): No longer conditional
on CROSS_COMPILER.
* Makefile.in (gcc.o, cccp.o): No longer define TOOLDIR.
* regclass.c (globalize_reg): New function.
(init_reg_sets_1): Don't handle global regs here.
* varasm.c (make_decl_rtl): Call globalize_reg, not init_reg_sets_1.
* a29k.c (print_operand, case 'F'): If we have to do the last
prolog insn, give that priority for an unfilled delay slot.
* function.c (preserve_rtl_expr_result): New function.
* expr.c (exand_expr, case RTL_EXPR): Call it.
Mon Jan 10 13:43:04 1994 Jim Wilson (wilson@cygnus.com)
* sched.c (new_insn_dead_notes): Compare registers with rtx_equal_p.
* Makefile.in (Makefile, stmp-fixinc, deduced.h, stmp-fixproto):
Execute shell scripts with $(SHELL).
* config/x-lynx (SHELL): Define to /bin/bash.
Sun Jan 9 22:31:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
* pa.md (special indexed fpstores): Fix assorted typos.
Sun Jan 9 04:34:17 1994 James Van Artsdalen (james at bigtex.cactus.org)
* jump.c (follow_jumps): Don't follow tablejumps.
* Makefile.in (install-headers-cpio): Run cpio in include-dir.
Sat Jan 8 14:54:06 1994 Doug Evans (dje@cygnus.com)
* toplev.c (rest_of_compilation): jump_optimize can change max_reg_num
so rerun reg_scan before calling cse_main.
Fri Jan 7 20:34:14 1994 Torbjorn Granlund (tege@adder.cygnus.com)
* config/alpha/alpha.h (RTX_COSTS): Return actual costs for
multiplication.
Tue Jan 4 13:44:09 1994 Jim Wilson (wilson@cygnus.com)
* sdbout.c (sdbout_symbol): Handle variables at zero offset from
frame pointer.
Tue Jan 4 07:35:05 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* tree.c (substitute_expr): Don't abort for RTL_EXPR and
SAVE_EXPR; just do nothing.
Tue Jan 4 00:52:15 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
* pa.md (andsi3): Use "?" instead of "!" to avoid losing
in some cases.
Mon Jan 3 16:59:34 1994 Torbjorn Granlund (tege@adder.cygnus.com)
* jump.c (thread_jumps): Don't thread to loop label;
create new label before loop instead.
(thread_jumps): Rename argument `verbose' -> `flag_before_jump'.
* toplev.c (rest_of_compilation): Pass 1 for flag_before_jump
first time we call thread_jumps.
* c-typeck (build_binary_op, case *_DIV_EXPR): Use same shorten
condition as for *_MOD_EXPR.
Mon Jan 3 08:00:16 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* fold-const.c (truth_value_p): New function.
(fold): Use it to see when we should make a TRUTH_{AND,OR}_EXPR.
(fold, case TRUTH_{AND,OR,ANDIF,ORIF}_EXPR): Use distributive
law on expressions such as (A && B) || (A && C).
Sun Jan 2 08:14:38 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* cse.c (simplify_relational_operation): Correct declaration of
variables holding parts of constants.
Fri Dec 31 06:27:57 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* toplev.c (main): Turn on -fomit-frame-pointer if it is safe.
Add -O3, which turns on -finline-functions.
* a29k.h, alpha.h, clipper.h, h8300.h, m88k.h, pa.h, romp.h, rs6000.h:
Define CAN_DEBUG_WITHOUT_FP; delete OPTIMIZATION_OPTIONS.
* sh.h, sparc.h: Likewise.
* arm.h: Delete OPTIMIZATION_OPTIONS.
* h8300.h: Define NO_FUNCTION_CSE and CAN_DEBUG_WITHOUT_FP;
delete OVERRIDE_OPTIONS.
* i960.h (OPTIMIZATION_OPTIONS): Just turn on machine-specific opts.
(CAN_DEBUG_WITHOUT_FP): Define.
* mips.h (CAN_DEBUG_WITHOUT_FP): Define.
(OPTIMIZATION_LEVELS): Just set MASK_GPOPT.
* cse.c (simplify_relational_operation): Rewrite and simplify.
Add case when we can simplify A-B for compare of A and B.
* combine.c (added_links_insn): New variable.
(distribute_links): Set it.
(if_then_else_cond): New function.
(try_combine): Return added_links_insn if it is earlier than what
we would otherwise return.
(subst): Generalize (OP X Y) to call if_then_else_cond
instead of only checking for an explicit IF_THEN_ELSE.
(subst, case IF_THEN_ELSE): When converting to a MULT, simplify
the MULT before putting it into OP.
(subst, case AND): Don't make IF_THEN_ELSE here; now made in
generic case earlier.
* combine.c (force_to_mode): Add new parm JUST_SELECT; all
callers changed.
Wed Dec 29 18:05:00 1993 Leonid Baraz (lbaraz@iil.intel.com)
* fold-const.c (fold, case PLUS_EXPR): Add a missing test of
flag_fast_math.
Wed Dec 29 06:52:07 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* cse.c (simplify_binary_operation, case MULT): Don't convert
to ASHIFT if still generating RTL.
Mon Dec 27 22:15:55 1993 Ian Lance Taylor (ian@cygnus.com)
* fixincludes: Do not fix <sundev/ipi_error.h>, because SunOS
sed can not handle the very large macro it contains.
Mon Dec 27 06:28:48 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* alpha.md (maxsf3, minsf3): Correct numerous errors.
* combine.c (subst, case MINUS): Allow some FP simplifications
if -ffast-math.
(reversible_comparison_p): FP comparisons reversible with -ffast-math.
* cse.c (simplify_binary_operation, fold_rtx): Allow some FP
simplications with -ffast-math.
(simplify_relational_operation): FP comparisons can be reversed
if -ffast-math is specified.
* fold-const.c (fold): Simplify more FP ops if -ffast-math.
* jump.c (can_reverse_comparison_p): Return 1 if -ffast-math.
* loop.c (get_condition): Can reverse comparison if -ffast-math.
* alpha.c (ior_operand): New function.
* alpha.h (PREDICATE_CODES): Add ior_operand.
* alpha.md (iordi3): Use ornot for some constant cases.
Sun Dec 26 07:55:26 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* expr.c (do_tablejump): Call emit_cmp_insn with likely-constant
as second operand.
* jump.c (jump_optimize): When deleting an insn after a jump,
update reallabelprev since it might point to the deleted insn.
* cse.c (count_reg_usage): Don't count a register used within
a SET that sets it.
(delete_dead_from_cse): Pass new parm to count_reg_usage.
* cse.c (fold_rtx, case PLUS): If we have (plus A B), A is
equivalent to a negative constant, and the negated constant is in
register, convert to (minus A C) where C is the register containing
the negated constant.
Sat Dec 25 23:47:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
* pa.h (DBX_BLOCKS_FUNCTION_RELATIVE): Define.
(ASM_OUTPUT_SOURCE_LINE): Likewise.
(DBX_FUNCTION_FIRST): Likewise.
* pa.h (FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM): Change to %r3
for compatability with HP compilers.
* pa.h (READONLY_DATA_SECTION): Re-enable use of $LIT$.
Sat Dec 25 06:05:28 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* emit-rtl.c (gen_reg_rtx): Only clear part of arrays we aren't
going to copy into.
* expr.c (expand_expr, case CONSTRUCTOR): If have a target,
don't build constructor into memory.
* expr.c (expand_expr, case ARRAY_REF): Remove uses of *_type_node
and simplify folding a reference to a character in a STRING_CST.
* a29k.c, a29k.h: Rename R_ACC to R_ACU to not conflict with access.h.
* m68k/crds.h (HAVE_VPRINTF): Delete from here.
* m68k/xm-crds.h (HAVE_VPRINTF): Define.
* m68k/dpx2.h (USG): Delete from here (already in xm.h file).
* print-tree.c (print_node, print_node_brief): Say something
when TREE_CONSTANT_OVERFLOW is set.
* loop.c (check_dbra_loop): Fix error in previous change.
* combine.c (set_nonzero_bits_and_sign_copies, nonzero_bits):
Fix errors in SHORT_IMMEDIATES_SIGN_EXTEND code.
* alpha.h (FUNCTION_ARG): Pass complex float in float regs.
* fold-const.c (fold, case EQ_EXPR, NE_EXPR): If COMPLEX_TYPE
and at least one arg is a COMPLEX_EXPR, split into a logical
operation on the real and imaginary parts.
* c-typeck.c (common_type): For COMPLEX_TYPE, return one of the
original types if is the desired common type.
(build_binary_op): Use SHORT_COMPARE code even if complex.
* c-decl.c (grokdeclarator): Properly validate __complex__ and
create the various kinds of complex integer types.
* cse.c (simplify_unary_operations): Check that operations really
are double-word before doing them.
Fri Dec 24 15:21:16 1993 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
* cccp.c (read_name_map, read_filename_string, open_include_file):
New functions.
(struct file_name_list): New members: name_map, got_name_map.
(main, path_include, do_include, do_once): Set got_name_map.
(do_include): Use open_include_file instead of open. Add new
parameter to lookup_import calls.
(lookup_import): New parameter searchptr. Call open_include_file
instead of open.
* expr.c (convert_modes): Can't truncate REG with gen_lowpart if
TRULY_NOOP_TRUNCATION doesn't allow it.
Fri Dec 24 14:36:53 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
* cse.c (cse_insn): Set "cse_jumps_altered" when collapsing
a switch statement into an unconditional jump.
* toplev.c (rest_of_compilation): Rerun jump_optimize
before the second CSE pass.
Fri Dec 24 05:34:38 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* cse.c (simplify_binary_operation, case PLUS, MINUS):
Simplify such things as (X >> 1) - X.
* alpha.md (define_attr type): Add new type ISUBR.
(divmod): Set to type ISUBR.
* alpha.c (output_prolog): Need GP if type ISUBR.
* reload.c (push_reload, find_reloads): Reload inside a paradoxical
SUBREG of MEM except don't force a reload unless the inner mode
is narrower than BIGGEST_ALIGNMENT.
* c-typeck.c (check_init_type_bitfields): Check recursively inside
arrays and records.
* c-parse.in (attrib): Allow expressions instead of constants.
* c-common.c (decl_attribute): Verify that alignment and format
argument numbers are all integer constants.
Continue on to next attribute if one is in error.
* cse.c (simplify_binary_operation): Can fold multi-word
operations when first is CONST_INT.
(simplify_binary_operation, case PLUS, MINUS): Don't call
plus_constant when OP0 is VOIDmode.
* c-typeck.c (pop_init_level): Don't abort if have incomplete array
type inside some other type.
Thu Dec 23 22:06:21 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* jump.c (thread_jumps): Delete redundant loop termination test.
* cse.c (simplify_binary_operation, case *SHIFT*): Reduce arg1 as
defined by SHIFT_COUNT_TRUNCATED.
* config/pa/pa.c (Several places): Declare values from INTVAL(x) as
HOST_WIDE_INT.
(uint32_operand): New function.
(output_block_move): Change unroll threshold from 64 to 32.
(compute_movstrsi_length): Corresponding change.
(print_operand): Don't call debug_rtx, just abort.
* config/pa/pa.h (FUNCTION_INCOMING_ARG): Delete definition.
(RTX_COSTS) [PLUS]: Rewrite.
(output_scc_insn): Delete.
(output_floatsisf2): Delete.
(output_floatsidf2): Delete.
(PREDICATE_CODES): Define, but leave within #if 0 for now.
* config/pa/pa.md (iorscc): New recognizer.
2 new recognizers for sub;subb. 1 new recognizer for addi;subb.
(movstrsi): Remove predicates. Set inline threshold to 8.
(umulsidi3): Change predicates to nonimmediate_operand.
New recognizer for multiply-by-immediate.
(andsi3): Add `!' for register alternative.
(vdepi_ior, vdepi_and): New recognizers.
(vextru rx,1,ry, vextrs rx,1,ry): New recognizers.
* config/pa/pa.c (initialize_pic): Delete.
(finalize_pic): Use PIC_OFFSET_TABLE_REGNUM rather than 19.
* config/pa/pa.h (CONDITIONAL_REGISTER_USAGE): Never make
PIC_OFFSET_TABLE_REGNUM fixed.
(INITIALIZE_PIC): Delete.
* config/pa/pa.md (call, call_value): If PIC, emit USE for for
PIC_OFFSET_TABLE_REGNUM. Use PIC_OFFSET_TABLE_REGNUM rather than 19.
Thu Dec 23 18:51:12 1993 Jim Wilson (wilson@cygnus.com)
* local-alloc.c (optimize_reg_copy_1): After decreasing sregno's
reg_live_length, correct it if it is now obviously too small.
* loop.c (check_dbra_loop): Don't reverse loop if there is a
single memory store to an invariant address.
* gcc.c (translate_options): Skip arguments of -B, -b, -V, -x,
and -Xlinker options.
* configure (riscos-*-*): Use fixincludes instead of fixinc.mips.
* fixinc.mips: Delete file.
* fixincludes: Merge in changes from fixinc.mips. Fix identifiers
host_mips, mips, MIPSE[LB], R[34]000, SYSTYPE_*. Fix size_t uses
in stddef.h, memory.h, unistd.h. Fix /**/ in bsd43/bsd43_.h.
Thu Dec 23 18:28:02 1993 Richard Earnshaw (rwe11@sticte.cl.cam.ac.uk)
* expmed.c (expand_mult): Preserve useful sub-expressions when
expanding a synthesized mult.
Thu Dec 23 18:21:34 1993 Russ Noseworthy (jrnosewo@ral.rpi.edu)
* configure (m68k-wrs-vxworks): New, same as m68k-sun-sunos*.
Thu Dec 23 09:03:30 1993 Phil Nelson (phil@cs.wwu.edu)
* ns32k.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use .long, not .double.
Thu Dec 23 07:30:24 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* Makefile.in (libgcc.a): Allow chmod of tmpcopy directory to
fail since it can be empty.
* gcc.c (default_compilers, gnat1): Don't write -gnatb.
* c-common.c (T_ST): Fix typo in last change.
* expr.c (expand_expr, case MINUS_EXPR): When expanding an
initializer, use plus_constant as appropriate.
* collect2.c (main): When searching compiler directories,
look for ld_suffix, not full_ld_suffix.
* a29k/unix.h (TARGET_DEFAULT): Update to use new values.
* Makefile.in (GCC_CFLAGS): Add -I./include.
Thu Dec 23 06:57:39 1993 Chip Salzenberg (chip@fin.uucp)
* Makefile.in (ENQUIRE_CFLAGS): Omit -DNO_STDDEF.
(USE_ALLOCA): Allow ${ALLOCA} to begin with a dash.
(OBJC, OBJECTIVE-C): Depend on objc-runtime.
(objc-headers): Make include directory if missing.
* xm-svr3.h (HAVE_VPRINTF): Define.
* cse.c (delete_reg_equiv): Don't reference elements of
REG_{NEXT,PREV}_EQV that are not defined.
Wed Dec 22 14:21:49 1993 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
* dbxout.c (dbxout_parms): For parameter passed by invisible
reference, use DECL_INCOMING_RTL if DECL_RTL is a pseudo-reg address.
* xcoffout.h (DBX_FINISH_SYMBOL): Get variable name from DECL_RTL
instead of from DECL_ASSEMBLER_NAME.
* sched.c (priority): Handle INSN_DELETED_P insns, in addition to
insns which were deleted by being turned into notes.
* expr.c (expand_expr, NEGATE_EXPR case): Use subtarget in
recursive call, not target.
* fixproto (required_unistd_h): Delete getgroups from list.
* fix-header.c (missing_extern_C_count): Ifdef out.
(write_lbrac, recognized_function, read_scan_file, write_rbrac):
Likewise.
* cccp.c (main): Cast alloca result to char * to avoid warning.
* unroll.c (find_splittable_givs): For rewritting illegal init
insn, use force_operand instead of emit_iv_add_mult.
Wed Dec 22 13:44:17 1993 Ron Guilmette (rfg@netcom.com)
* tree.c (chainon): Detect more circularities.
* enquire.c (main): Move declarations of SIZE and TOTAL to
where they won't cause "unused" warnings when NO_MEM is defined.
(promotions): Explicitly declare return type (to avoid warnings).
Always return a value.
Wed Dec 22 13:39:40 1993 Chip Salzenberg (chip@fin.uucp)
* Makefile.in (gcc.o): Define DEFAULT_TARGET_VERSION.
* gcc.c (compiler_version): New variable.
(spec_version): Initialize from DEFAULT_TARGET_VERSION.
(main): Distinguish COMPILER_VERSION from TARGET_VERSION.
(process_command): Use COMPILER_VERSION for %v.
Guard against a COMPILER_VERSION that lacks a minor.
Wed Dec 22 07:47:17 1993 Greg Gilley (ggilley@adobe.com)
* gcc.c (default_compilers): Treat ".cpp" as C++.
* cccp.c (main): Strip off ".cpp" extension.
* toplev.c (strip_off_ending): Likewise.
Wed Dec 22 07:26:26 1993 Rafal Pietrak (Rafal_Pietrak@camk.edu.pl)
* Makefile.in (install-headers, install-headers-tar): Correctly
handle directories when $(libsubdir) is a relative path.
Wed Dec 22 07:12:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* c-common.c (T_ST): New macro.
(scan_char_table): With s, c and [, allow `a' flag.
(print_char_table): Accept Z and m codes.
(check_format_info): Handle the `a' flag.
Tue Dec 21 21:09:38 1993 Rainer Orther (ro@TechFak.Uni-Bielefeld.de)
* fixincludes (rpc/auth.h, rpc/xdr.h): Declare structures before
using them in prototypes, for Irix 4.0.5.
(rpc/rpc.h): Avoid a nested comment on Ultrix 4.3.
Tue Dec 21 18:41:36 1993 Doug Evans (dje@canuck.cygnus.com)
* configure (cpp_md_flags): Rename to md_cppflags.
(MD_CPP, MD_DEPS): Set appropriately for native or cross build.
(MD_FILE): Edit in place.
* Makefile.in (MD_FILE rule): Depend on $(MD_DEPS). Invoke $(MD_CPP).
Tue Dec 21 17:37:20 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-tree.h (VTABLE_NAME): No def with NO_{DOLLAR,DOT} defined.
(VTABLE_NAME_P): Use it instead of VTABLE_NAME_FORMAT.
Tue Dec 21 13:25:39 1993 Jim Wilson (wilson@cygnus.com)
* sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Also pass Pascal arrays
by reference.
* sched.c (sched_analyze): For CALL_INSN followed by
NOTE_INSN_SETJMP note, make it depend on all registers not just
hard registers, and add a REG_DEAD -1 note.
(unlink_notes): Don't save away NOTE_INSN_SETJMP notes.
(schedule_block): After scheduling CALL_INSN, check for REG_DEAD
-1 note. If find it, delete it, and output a NOTE_INSN_SETJMP note.
* rtlanal.c (replace_regs, case REG): Return copies of SUBREGs, to
avoid invalid sharing.
Tue Dec 21 13:07:14 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
* pa.c (output_function_prologue): Use ASM_GENERATE_INTERNAL_LABEL
rather than generating one on its own.
* pa.h (ASM_GENERATE_INTERNAL_LABEL): Always use L$ as the prefix
for internal labels.
(ASM_OUTPUT_INTERNAL_LABEL): Likewise.
Mon Dec 20 19:10:16 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* c-typeck.c (struct initializer_stack): New field ELEMENTS.
(start_init, finish_init): Save and restore constructor_elements.
* emit-rtl.c (gen_lowpart_common): Return a new hard reg even
if not valid in MODE if the input REG is not valid in its mode.
* rs6000.md (divsi3): Correct logic for when we call force_reg.
(modsi3): Ensure operands[2] is a CONST_INT; include REG in
predicate.
Thu Dec 16 16:14:53 1993 Jeffrey A. Law (law@mole.gnu.ai.mit.edu)
* pa.c (compute_frame_size): Remove implicit assumption that %r4
is the frame pointer.
* pa.c (output_function_prologue): Reverse last change. Output
both the function label and the .PROC here.
* pa.h (ASM_DECLARE_FUNCTION_NAME): Do not output the function
label or the .PROC here.
Thu Dec 16 11:34:48 1993 Ian Lance Taylor (ian@cygnus.com)
* fixincludes: Do not preserve _HIDDEN_VA_LIST in stdio.h.
Wed Dec 15 13:48:25 1993 Mike Stump (mrs@cygnus.com)
* cp-decl.c (flag_conserve_space): New language specific flag to
tell the compiler to use .common when possible. Reduces the size of
.o files.
* cp-decl.c (duplicate_decls): Copy DECL_COMMON from the olddecl.
* cp-decl.c (start_decl): Set DECL_COMMON appropriately.
* cp-decl.c (finish_decl): Use flag_conserve_space, instead of
flag_no_common.
* cp-decl2.c (flag_conserve_space, lang_f_options): New flag.
* toplev.c (lang_options): New -fconserve-space flag.
* tree.h (DECL_COMMON): New flag.
* tree.h (tree_decl): New common_flag.
* varasm.c (assemble_variable): Use DECL_COMMON to help determine if
an object can be put in .common.
* c-decl.c (start_decl): Set DECL_COMMON to 1.
Wed Dec 15 19:04:55 1993 Conrad Kimball (cek@sdc.boeing.com)
* Makefile.in (cccp.o, stmt-proto): Use $(includedir).
Wed Dec 15 18:44:03 1993 Leonid Baraz (lbaraz@iil.intel.com)
* tree.c (copy_node): Handle length of INTEGER_CST like make_node.
Wed Dec 15 18:37:29 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* final.c (profile_function): Set ALIGN properly.
* protoize.c: Remove declarations of setjmp and longjmp.
Wed Dec 15 18:31:01 1993 Paul Eggert (eggert@twinsun.com)
* c-typeck.c (missing_braces_mentioned): Renamed from
`partial_bracket_mentioned'.
(start_init): Clear `missing_braces_mentioned'.
(warning_init): New function.
(push_init_level): Optionally warn about missing braces.
When warning about braces around scalars, identify which scalars.
Wed Dec 15 18:21:29 1993 Richard Henderson (richard@viz.tamu.edu)
* mips/iris3.h (LIB_SPEC): Use shared libc when not profiling,
not debugging, and no "-static".
Wed Dec 15 18:14:31 1993 Doug Evans (dje@canuck.cygnus.com)
* expr.c (expand_builtin): Allow __builtin_next_arg to be used
in varargs functions.
Wed Dec 15 18:09:57 1993 Kaveh R. Ghazi (ghazi@noc.rutgers.edu)
* Makefile.in (gnucompare, gnucompare3): New targets.
Tue Dec 14 00:19:44 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
* pa.c (output_call): Put temporary label after the
RP adjustment. "- 8" adjustment is no longer necessary.
* x-pa (CC): Do not use absolute path to gcc.
* pa.c (output_function_prologue): Do not output the .PROC directive
here.
* pa.h (ASM_DECLARE_FUNCTION_NAME): Emit the .PROC immediately
after the function's label.
* pa.h (ASM_FILE_START): Emit a .file directive at the beginning
of the output file if debug symbols are being generated.
* pa.h (MAX_OFILE_ALIGNMENT): Define appropriately for the PA.
* pa-ghiux.h (TARGET_DEFAULT): Enable TARGET_JUMP_IN_DELAY and
TARGET_GAS.
* pa1-ghiux.h (TARGET_DEFAULT): Likewise.
* pa-ghpux.h (TARGET_DEFAULT): Enable TARGET_JUMP_IN_DELAY.
* pa-gux7.h (TARGET_DEFAULT): Likewise.
* pa-utahmach.h (TARGET_DEFAULT): Likewise.
* pa.h (TARGET_DEFAULT): Likewise.
* pa1-ghpux.h (TARGET_DEFAULT): Likewise.
* pa1-utahmach.h (TARGET_DEFAULT): Likewise.
* pa1.h (TARGET_DEFAULT): Likewise.
* pa.h (LEGITIMATE_CONSTANT_P): Remove hack for function addresses.
* pa.c (secondary_reload_class): Function addresses no longer
need secondary reloads.
(emit_move_sequence): Special handling of function addresses is
no longer needed.
* pa.md (lo_sum of a function address): Use short form as we have
no intention of supporting MPE external calls.
Mon Dec 13 20:58:58 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* combine.c (subst, case MINUS): Canonicalize (minus A (plus A B)).
Mon Dec 13 19:09:42 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* mips/iris4.h (ASM_OUTPUT_ASCII): Wrap in `do { ... } while (0)'.
* clipper/clix.h, fx80/fx80.h, i860/bsd.h, m68k/3b1.h: Likewise.
* m68k/amix.h, m68k/crds.h, m68k/hp320.h, m68k/m68kv4.h: Likewise.
* m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h: Likewise.
* ns32k/encore.h, tahoe/harris.h, tahoe/tahoe.h: Likewise.
* vax/vaxv.h,we32k/we32k.h: Likewise.
Mon Dec 13 03:28:02 1993 Doug Evans (dje@canuck.cygnus.com)
* configure (sparc-*-solaris2): Fix typo in extra_parts.
Sun Dec 12 08:19:38 1993 Chip Salzenberg (chip@fin.uucp)
* cccp.c (main): Combine tests of single-character suffixes.
(deps_output): Different second parameter: SPACER determines
meaning of first argument (target, dependency, literal text).
Wrap output correctly.
Sun Dec 12 07:54:07 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* tree.c (type_hash_canon): Clean up obstack usage a bit.
* recog.c (indirect_operand): Verify mode of OP is correct.
* calls.c (expand_call, store_one_arg): Properly push and pop
temporary level around expression evaluations.
* configure: Handle EXTRA_PARTS and EXTRA_OBJS like the others.
(i[34]86-*-osfrose*): Replace t-osfrose with extra_objs assignment.
(i[34]86-*-sco*): Likewise for t-sco.
(i[34]86-*-isc*): Likewise for t-isc.
(i[34]86-ibm-ai*): Likewise for t-aix.
(i[34]86-*-solaris2, i860-alliant-*): Add extra_parts.
(sparc-*-solaris2*, m88k-*): Likewise.
(mips-dec-osfrose*): Add extra_objs.
(clipper-intergraph-clix*): Replace t-clix with extra_headers and
extra_parts.
* Makefile.in (halfpic.o): New rule; copied from t-osfrose.
* h8300/t-h8300: Delete null LIB2FUNCS_EXTRA.
* i386/t-sol2, i860/t-fx2800, m88k/t-dgux-gas: Delete EXTRA_PARTS.
* m88k/t-dgux, m88k/t-m88k, m88k/t-sysv4, sparc/t-sol2: Likewise.
* m88k/t-luna: Don't require bash.
* mips/t-osfrose: Delete EXTRA_OBJS and halfpic.o rule.
* clipper/t-clix, i386/t-aix, i386/t-isc, i386/t-osfrose, i386/t-sco:
Deleted; no longer needed.
Sun Dec 12 06:47:14 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* Version 2.5.7 released.
Sun Dec 12 06:18:33 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* function.c (thread_prologue_and_epilogue_insns): When constructing
USE chain, set both NEXT_INSN and PREV_INSN links. Also, preserve
order of USE insns in chain.
Sun Dec 12 06:13:51 1993 DJ Delorie (dj@ctron.com)
* configure.bat: Update to relect recent changes elsewhere.
* objc/makefile.dos: Likewise.
Sat Dec 11 18:09:50 1993 Per Bothner (bothner@cygnus.com)
* dbxout.c (dbxout_type): The "base type" of a SET_TYPE is its
DOMAIN_TYPE, not its TREE_TYPE.
* dwarfout.c (output_type): Likewise.
Sat Dec 11 07:36:57 1993 David Rifkind (dave@yarc.com)
* rs6000.md: Add a few missing new nmemonics.
Sat Dec 11 06:57:55 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* cccp.c (INPUT_STACK_MAX): Double size.
* integrate.c (initialize_for_inline): Handle CONCAT when setting up
parmdecl_map.
* rs6000.md (modsi3): Reject REG in predicate to avoid undefined
reference and extra pseudo creation if will fail.
Fri Dec 10 10:03:36 1993 Mike Stump (mrs@cygnus.com)
* toplev.c (lang_options): Change -fnodollars-in-identifiers to
-fno-dollars-in-identifiers to match docs.
Fri Dec 10 15:42:02 1993 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
* c-lex.c (yylex): When reading malformed floating point constant,
avoid printing error more than once, and avoid passing malformed
number to subsequent atof call.
Fri Dec 10 06:03:35 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* rs6000.c (easy_fp_constant): Use input_operand to see if
each word can be loaded in one insn.
* rs6000.md: Change numerous occurrences of TARGET_POWERPC
to ! TARGET_POWER and make related changes.
* rs6000.md (modsi3): Rework to operate correctly for both POWER
and PowerPC.
Thu Dec 9 16:19:05 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-tree.h (OPERATOR_TYPENAME_P): Define outside of
NO_{DOLLAR,DOT} macro checks, so it always gets defined.
(VTABLE_NAME_P): Define for NO_DOT && NO_DOLLAR_IN_LABEL.
Wed Dec 8 05:46:26 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* flow.c (mark_used_regs, case CLOBBER): Refine previous change
to just look at the address of a MEM inside a CLOBBER.
* fold-const.c (fold, case *_{DIV,MOD}_EXPR): When using
distributive law, take care when C2 is negative.
Tue Dec 7 08:45:59 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* flow.c (mark_used_regs): Look inside a CLOBBER; it may be the only
place regs are used if it has a stack slot that is from an inlined
function.
Mon Dec 6 20:56:11 1993 David Rifkind (dave@yarc.com)
* expr.c (move_block_{to,from}_reg): Check HAVE_{load,store}_multiple
value; don't just #idef the symbol.
Mon Dec 6 08:01:59 1993 Torbjorn Granlund (tege@cygnus.com)
* pa.c (hppa_legitimize_address): If we can't legitimize,
do nothing; don't call abort.
Mon Dec 6 07:38:30 1993 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* arm.c (output_ascii_pseudo_op): 8-bit chars should be zero-extended.
* arm.h (ASM_OUTPUT_ASCII): Likewise.
Mon Dec 6 07:32:59 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* objc/encoding.h: Include ctype.h.
* expr.c (expand_expr, case PLACEHOLDER_EXPR): Remove top entry
from PLACEHOLDER_LIST when expanding the value in it.
Mon Dec 6 05:40:38 1993 Doug Evans (dje@cygnus.com)
* emit-rtl.c (start_sequence): Save current sequence_rtl_expr.
Fri Dec 3 07:07:01 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* Version 2.5.6 released.
* c-typeck.c (c_expand_return): Return if convert_for_assignment
returns error_mark_node.
Fri Dec 3 06:42:05 1993 Arne Henrik Juul (arnej@fm.unit.no)
* fixincludes (stdio.h): Fix typos (missing quote) in previous change.
Fri Dec 3 06:35:57 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* gstddef.h: Define and protect against __STDDEF_H__ for Irix 5.1.
* sparc.c (shift_operand): Delete function.
* sparc.md (ashlsi3, ashrsi3, lshrsi3): Use arith_operand instead
of shift_operand. Truncate shift counts to 5 bits.
Thu Dec 2 08:11:00 1993 Stefan Rapp (sr@irb.informatik.uni-dortmund.de)
* loop.c (scan_loop): Correct arguments for register check.
Thu Dec 2 07:07:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* fixincludes: Preserve _HIDDEN_VA_LIST when changing VA_LIST to
DUMMY_VA_LIST. Change __va_list to __gnuc_va_list. For AIX
3.2.5.
Thu Dec 2 07:00:24 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* emit-rtl.c (push_topmost_sequence, end_sequence): Update
sequence_rtl_expr from sequence_stack entry.
* calls.c (emit_library_call): Use Pmode, not OUTMODE, when passing
in structure address.
* a29k.c (secondary_reload_class): Kernel regs are in same class
as user regs.
* a29k.md (movti split): Set CR to 3, not 1 like DImode.
Thu Dec 2 06:46:07 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* reload.c (find_reloads_toplev): Replace obsolete reference to
BYTE_LOADS_*_EXTEND with LOAD_EXTEND_OP.
Thu Dec 2 06:39:16 1993 Jeffrey A Law (law@snake.cs.utah.edu)
* pa.h (ASM_STABS_OP, ASM_STABN_OP): Define.
(ASM_FILE_END): Put a TAB before the .stabs directive.
Thu Dec 2 06:30:17 1993 David Edelsohn (edelsohn@npac.syr.edu)
* rs6000.md (define_function_unit): Restore ppc601 load and fpload
timings.
Wed Dec 1 17:24:17 1993 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
Wed Nov 24 06:36:10 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-tree.c (get_decl_list): Use the DECL_NESTED_TYPENAME for the
value we're going to paste onto CLASSTYPE_ID_AS_LIST. This will get
the right name for nested classes, and for templates.
Mon Nov 29 13:09:31 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-decl.c (grokdeclarator): Properly evaluate TREE_PUBLIC for
friends. (Fixes spurious warnings about friends being declared
static but not used.)
* cp-type2.c (build_functional_cast): If we got an error_mark_node
from build_method_call, make sure EXPR_AS_METHOD is cleared out
again, so the later checks will work properly.
* cp-decl.c (build_enumerator): Fix logic so an enum inside a class
that's local to a function has its enumerators end up in that
class's list of members, not in the list for the function.
Tue Nov 30 19:26:05 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* sparc.h (STATIC_CHAIN_REGNUM): Use %g2; %g1 is reserved
for prologue.
(TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Swap useage of %g1
and %g2.
* m68k.md (movdf): Don't need earlyclobber when a register
is copied to itself.
Sat Nov 27 06:19:22 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* Version 2.5.5 released.
* c-typeck.c (pop_init_level): Ensure never on momentary_obstack
when calling complete_array_type.
Sat Nov 27 03:52:26 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* fixproto (scanning files_to_check): Create subdirs files are in.
* config/m68k/m68k.md (cmpsi, cmphi, cmpqi): Handle SGS_CMP_ORDER
when outputting cmpm insn.
Fri Nov 26 15:57:24 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* gcc.c (default_compilers): Do define __GNUC_MINOR__ if input is `-'.
Thu Nov 25 18:16:25 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* function.h (struct sequence_stack): New field sequence_rtl_expr.
(struct function): Likewise.
* emit-rtl.c: Include tree.h.
(sequence_rtl_expr): New variable.
(save_emit_status, restore_emit_status): Save and restore it.
(init_emit): Initialize it.
(start_sequence_for_rtl_expr): New function.
* function.c: Declare sequence_rtl_expr.
(struct temp_slot): New field rtl_expr.
(assign_stack_temp): Set it from sequence_rtl_expr.
({free,pop}_temp_slots): Don't free any slot with nonzero rtl_expr.
(free_temps_for_rtl_expr): New function.
* expr.c (expand_expr, case RTL_EXPR): Call free_temps_for_rtl_expr.
* stmt.c (expand_start_stmt_expr): Call start_sequence_for_rtl_expr
instead of start_sequence.
* cp-parse.y (except_stmts): Likewise.
* cp-init.c (build_new): Likewise.
* cp-typeck.c (build_modify_expr): Likewise.
* Makefile.in (emit-rtl.o): Includes tree.h.
Thu Nov 25 17:24:02 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Makefile.in (stmp-fixproto): Create include subdir if doesn't exist.
Wed Nov 24 14:32:47 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* c-common.c (shorten_compare): Correct typo from last change.
Wed Nov 24 13:25:09 1993 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* protoize.c (save_def_or_dec): Correct typo in change of Nov 23. Make
sure pointers within def_dec_p are valid before it is freed.
Wed Nov 24 07:02:50 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* expr.c (expand_expr, case ADDR_EXPR): Also pass const0_rtx if
necessary, to avoid multiple cleanup runs.
(expand_expr, case WITH_CLEANUP_EXPR): Pass const0_rtx if
necessary, to keep the recursive call from running the same
cleanups twice.
(expand_expr, case TARGET_EXPR): Don't try to add the cleanup if
ignore's non-zero, since we would have already done it.
Tue Nov 23 21:10:22 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
Cygnus<->FSF C++ front-end merge.
Tue Nov 23 11:05:28 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-errfn.c (STRDUP): Cast return value of alloca to (char *).
Mon Nov 22 00:07:17 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-lex.c (real_yylex): Move declaration of tmp inside the block
that uses it, so compilers don't try to mis-optimize it away.
* cp-search.c (dfs_pushdecls): Make sure there's a lang_specific
node on the decl before trying to print the warning out.
* cp-decl.c (grokdeclarator): Say the member was redeclared as
static, not just that it can't be declared static.
* cp-search.c (get_first_matching_virtual): Don't do
SET_IDENTIFIER_ERROR_LOCUS as an attempt to avoid multiple warnings
with -Woverloaded-virtual. It changes the compiler's behavior
(elicits unwanted errors).
Sat Nov 20 19:31:01 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-tree.h (lang_type): Add field `has_nonpublic_ctor', and delete
dummy since we used the two bits it was holding out for the MIPS
compiler.
(TYPE_HAS_NONPUBLIC_CTOR): Defined.
* cp-class.c (finish_struct_methods): Set TYPE_HAS_NONPUBLIC_CTOR
as appropriate for a copy ctor with non-public visibility.
(finish_struct): Don't generate a copy ctor if the type if one of
its fields has a private copy ctor, or a protected one for which we
aren't allowed access.
(base_info): Add member `saw_nonpublic_ctor'.
(finish_base_struct): Set b->saw_nonpublic_ctor if necessary.
* cp-method.c (hack_identifier): Make sure there's a
DECL_LANG_SPECIFIC before getting ready to grope around a class.
* cp-typeck.c (build_indirect_ref): Complain if we encounter a
pointer to member.
Fri Nov 19 16:37:28 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-decl.c (start_decl): Complain when a function is declared as
part of a template definition, but the class it's supposed to be
part of wasn't a template.
* cp-decl.c (pushdecl): Don't warn about shadowing a member of
`this' if that member is static.
* cp-call.c (convert_harshness_old): Don't die if one of the types
isn't an aggregate with a binfo.
(convert_harshness_ansi): Likewise.
Fri Nov 19 12:18:31 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-typeck.c (convert_for_assignment): Fix typo so initialization
of a pointer from an integer actually work, rather than emit bogus
code.
* cp-pt.c (overload_template_name): Accept unions for templates.
(instantiate_class_template): Likewise.
* cp-parse.y (template_instantiate_once): Likewise.
* cp-lex.c (real_yylex): Instead of using the "shorts" method to
check for overflow, use the C front-end's "parts" method (to handle
any size, and not rely on long long being 32 bits wide).
Thu Nov 18 11:51:34 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-lex.c (cons_up_default_function): Disable earlier change; it
screws up stabs somehow. Very strange.
Thu Nov 18 00:16:29 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-decl.c (grokdeclarator): Say what class is involved when saying
we can't declare a member inside it.
* cp-lex.c (real_yylex): Recognize operator->() as POINTSAT, not
POINTSAT_LEFT_RIGHT. By swallowing the parens, we ended up never
building the call properly for them.
* cp-parse.y (POINTSAT_LEFT_RIGHT): Remove token.
(operator_name): Remove POINTSAT_LEFT_RIGHT rule.
* cp-spew.c (init_spew): Remove POINTSAT_LEFT_RIGHT from
toks_follow_ids.
* cp-parse.y (primary): Only try to print out the operator's name if
it's valid.
* cp-decl.c (grok_op_properties): Fix missing parens to keep the
logic from accidentally giving an error when it shouldn't.
Wed Nov 17 20:04:00 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-search.c (dfs_pushdecls): TREE_PURPOSE doesn't have to be
a _DECL for class_value to be an envelope, it just can't be an
IDENTIFIER_NODE.
Wed Nov 17 15:54:02 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-type2.c (process_init_constructor): Deal with pointers to
members as initializers for initializer lists.
Wed Nov 17 11:48:38 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-decl.c (ambi_op_p): Add ++ and --.
* cp-error.c: Lose the anon_parm_name stuff.
* cp-lex.c (cons_up_default_function): Change input_filename for
synthetic code.
* cp-error.c (dump_aggr_type): Always print const or volatile.
(dump_function_decl): Only print static if verbose.
* cp-errfn.c (cp_sprintf): New function.
* cp-decl.c (grokfndecl): Be more verbose in complaint about applying
method qualifiers to non-methods.
Wed Nov 17 09:51:04 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* cp-parse.y (attrib): Accept "noreturn" attribute.
Tue Nov 16 12:28:49 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-decl2.c (grokoptypename): Fix handling of udc's.
* cp-method.c (build_component_type_expr): Ditto.
* cp-class.c (finish_struct_methods): Be more verbose in complaint
about overloaded operator delete.
* cp-decl.c (grok_op_properties): Do more checking on operators.
(grokdeclarator): Remove check for ops being members, fix handling
of user-defined conversions.
(grokfndecl): Remove checks for ops, move call to grok_op_properties
up.
(finish_decl): Remove check for ops with default arguments.
(ambi_op_p): New fn, name for either unary or binary op
(unary_op_p): New fn, checks name for unary op
Mon Nov 15 12:38:54 1993 Brendan Kehoe (brendan@rtl.cygnus.com)
* g++.c (main): If they gave us -v, also show the invocation of the
gcc driver.
Mon Nov 15 12:04:47 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-decl.c (grokdeclarator): Lose "operator <typename>".
* cp-method.c (build_component_type_expr): Ditto.
* cp-decl2.c (grokoptypename): Ditto.
Make C++ accept template parameters as type names; for example,
doing `template <class T, T t> A {...}'.
* cp-pt.c (end_template_parm_list): Fix a bug in gs4t's patch.
(grok_template_type): Simplify.
* cp-typeck.c (build_modify_expr_1): Give error if trying to
get default operator= for class where you can't.
* cp-decl.c (duplicate_decls): Uniformify, fix redeclaration of
builtins.
Sat Nov 6 19:06:25 EST 1993 Gnanasekaran Swaminathan (gs4t@virginia.edu)
* cp-pt.c (begin_template_parm_list): pushdecl here so that we
can push TEMPLATE PARAMETERS as type names.
(process_template_parm): build_lang_decl for TEMPLATE
PARAMETERS here.
(grok_template_type): New function. get the actual type of a
TEMPLATE PARAMETER.
(coerce_template_parms): delete pushdecl as it is moved (see
above). Don't build type decls for TEMPLATE PARAMETERS as it is
built above.
Mon Nov 15 12:04:47 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-decl.c (duplicate_decls): If a function has been declared with
explicit language linkage, redeclaring (or defining) it without
is OK.
Fri Nov 12 15:30:27 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-lex.c (operator_name_string): Fix handling of __ad__foo.
* cp-error.c (dump_decl): Handle demangling of vtable names.
* cp-tree.c (lang_printable_name): Pass everything to decl_as_string,
not just functions.
* cp-decl2.c (check_classfn): Use cp_error.
* cp-error.c (dump_decl): Fix IDENTIFIER_TYPENAME_P case.
* cp-method.c (build_decl_overload): Propagate IDENTIFIER_OPNAME_P
to mangled identifier.
* cp-type2.c (my_friendly_abort): Add "confusion" message for
abort after earlier errors.
Wed Nov 10 18:39:17 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-decl2.c (lang_decode_option): Include warn_enum_clash among
-Wall.
Wed Nov 10 16:18:19 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* Makefile.in (stamp-cp-parse): Update counts.
Wed Nov 10 15:27:12 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-errfn.c (cp_thing): Allow cp_*_at to use an arbitrary argument,
not just the first, by using, for instance, `%+D'.
Mon Nov 8 13:50:49 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-error.c (language_as_string): New function for printing language
context. Corresponds to %L.
Mon Nov 8 10:39:28 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-pt.c (reinit_parse_for_template): Use inline_text_obstack
instead of permanent_obstack so that yylex() doesn't clobber the
growing object.
* cp-lex.c (reinit_parse_for_block): Overhaul to reduce code size by
half and make #line directives in template definitions work.
Sun Nov 7 15:19:28 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-pt.c (instantiate_class_template): if (!setup_parse), don't
mess with lineno and input_filename.
Mon Nov 1 18:15:59 1993 Kung Hsu (kung@cirdan.cygnus.com)
* cp-cvt.c(convert_to_reference): Fix when pass ref to array as
initializer, the argument type is convert to pointer and the type
in the field of the class should also convert to pointer.
Fri Nov 5 11:57:41 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-pt.c (instantiate_template): Work properly with
-fexternal-templates.
* cp-lex.c (extract_interface_info): #if 0 out earlier
tinst_level work pending further work.
Fri Nov 5 07:39:00 1993 Michael Tiemann (tiemann@blues.cygnus.com)
* cp-search.c (compute_visibility): Don't lose access to public
members from base classes of base classes.
* cp-typeck.c (convert_for_assignment): Allocate enough space in
LHSBUF for the null terminiator.
Tue Nov 2 07:20:03 1993 Michael Tiemann (tiemann@blues.cygnus.com)
* cp-decl2.c (build_push_scope): Don't push the scope for
ptr-to-method declarations. Also, clarify some comments.
* cp-parse.y (abs_member_declarator): Add `see_typename' epsilon
rule so that parser can recognize ptr-to-member functions.
Mon Nov 1 18:15:59 1993 Kung Hsu (kung@cirdan.cygnus.com)
* cp-cvt.c(convert_to_reference): Fix when pass ref to array as
initializer, the argument type is convert to pointer and the type
in the field of the class should also convert to pointer.
Mon Nov 1 11:06:39 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-errfn.c: Don't include <string.h>.
Don't use the return value of strcpy.
Sun Oct 31 22:32:05 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-call.c (build_scoped_method_call): Return (void)0 if trying to
call a nonexistent destructor.
* cp-parse.y (object): Support p.~int().
* cp-error.c (dump_expr): Handle error_mark_node better.
Sat Oct 30 21:49:00 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-parse.y (primary): Support p->~int().
Fri Oct 29 18:09:12 1993 Mike Stump (mrs@cygnus.com)
* cp-type2.c (build_functional_cast): Don't delete things twice.
Thu Oct 28 15:35:55 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-tree.h (struct tinst_level): The template instantiation level
structure. Used by the code described below.
* cp-pt.c (push_tinst_level): New function for remembering file
context when instantiating templates. Stores the identifier as well,
for error reporting.
(pop_tinst_level): Da opposite.
(tinst_for_decl): Returns a pointer to the tinst_level structure to
use for determining which file to associate the current DECL with, or
NULL to use the current file and line. To restore the old behavior,
just change this function to "return 0;".
(instantiate_class_template): push_tinst_level.
* cp-parse.y (tmplate_instantiate_once): pop_tinst_level() after
instantiating member templates.
* cp-lex.c (extract_interface_info): If instantiating a template,
set up interface/implementation according to the spot in the user's
code that triggered the instantiation.
* cp-pt.c (tsubst): Associate the FUNCTION_DECL with the spot in the
user's code that triggered the instantiation. *Currently disabled*
* cp-class.c (finish_struct): If we're instantiating a template,
associate the TYPE_DECL with the spot in the user's code that
triggered the instantiation. *Currently disabled*
* cp-pt.c (coerce_template_parms): Do extra checking on the template
parms, since templates are more picky than initializers.
Wed Oct 27 17:06:54 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-parse.y (datadef): Don't override a template with a forward
declaration of a template class.
Tue Oct 26 17:54:12 1993 Kung Hsu (kung@cirdan.cygnus.com)
* cp-parse.y (component-declarator0): fix bit field name same as type
name syntax error.
Tue Oct 26 16:07:29 1993 Mike Stump (mrs@cygnus.com)
* cp-cvt.c (build_up_reference): Fix typo, fixes core dump on bad
code.
Tue Oct 26 11:52:09 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-error.c (dump_function_decl): Only print default arguments
if verbose.
(dump_type): Ditto.
Mon Oct 25 22:18:05 1993 Per Bothner (bothner@kalessin.cygnus.com)
* cp-typeck.c (c_sizeof, build_c_cast): Re-enable Salzenberg's
July 10 change (set TREE_OVERFLOW as well as TREE_CONSTANT_OVERFLOW).
Mon Oct 25 18:53:08 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-pt.c (instantiate_class_template): Don't do the
push_template_decls thang if !setup_parse; the binding level
never gets popped.
Mon Oct 25 11:54:34 1993 Kung Hsu (kung@cirdan.cygnus.com)
* cp-method.c (hack_identifier): fix seg fault when an
external variable does not have class context.
Sun Oct 24 19:01:15 1993 Michael Tiemann (tiemann@blues.cygnus.com)
* cp-spew.c (scan_tokens): Test for ';' in first pre-scan of the
tokens.
Fri Oct 22 23:46:17 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-tree.c (get_decl_list): When consing up CLASSTYPE_ID_AS_LIST,
don't assume that `value' is a reasonable identifier to use.
(list_hash_lookup_or_cons): Ditto.
* cp-error.c (dump_decl, CONST_DECL): Pass off non-enum cases to
dump_expr.
(dump_expr): Pass off DECLs to dump_decl.
Fri Oct 22 20:57:46 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
* cp-errfn.c (STRDUP): Change to comma expr for bdmaged cc's.
(cp_thing): Add decl for ap, initialize fmt later.
Fri Oct 22 17:15:01 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-error.c (dump_decl): Handle CONST_DECLs for enum tags.
* cp-type2.c (my_friendly_abort): Move abortcount to global level.
* cp-search.c (dfs_pushdecls): Be more helpful in shadowing warning.
* cp-pt.c (mangle_class_name_for_template): If the last template
parameter was also a template class, insert a space so that
the mangled name can be used as input for the compiler (i.e.
with default_copy_constructor_body).
Fri Oct 22 16:40:27 1993 Mike Stump (mrs@cygnus.com)
Handle constructors in templates better.
* cp-call.c (build_method_call): Use constructor_name_full instead
of constructor_name.
* cp-cvt.c (convert_to_reference, convert, build_type_conversion_1,
build_type_conversion): Ditto.
* cp-decl.c (make_temporary_for_reference, grok_reference_init):
Ditto.
* cp-init.c (expand_default_init, expand_aggr_init_1, build_new):
Ditto.
* cp-typeck.c (build_modify_expr_1, convert_for_initialization):
Ditto.
* cp-search.c (lookup_field, lookup_fnfields): Check for short
constructor name, as that is how we store it.
* cp-decl2.c (constructor_name_full): New routine.
* cp-tree.h (constructor_name_full): Declare it.
* cp-call.c (build_method_call): Check for either short or the full
constructor name.
Wed Oct 20 17:17:37 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-tree.h: Declare code_as_string.
* cp-error.c (code_as_string): New function, translates
enum tree_code into a string. Very incomplete at the moment.
* cp-decl.c (lookup_tag): Use cp_error more.
Tue Oct 19 16:39:20 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-error.c (dump_type_prefix): Do the prefix/suffix thang for
ARRAY_TYPE nodes.
Thu Oct 14 23:56:34 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-gc.c (build_dynamic_cast): Avoid doing runtime work if possible.
(build_typeid): Add logic.
Thu Oct 14 10:56:43 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-gc.c (build_typeid): New function, allegedly returns the
Type_info object for the type of an expression, currently does
nothing.
(get_typeid): New function, allegedly returns the Type_info object
for a _TYPE node, currently does nothing.
(build_dynamic_cast): New function, supposedly implements
run-time checked casting, currently only does what can be done
at compile time.
* cp-parse.y (.kindof_pushlevel): Only push first decl (the variable).
(primary): Add dynamic_cast and typeid expressions.
(simple_if): Use partially_scoped_stmt again.
Makes 'if' condition work.
* cp-error.c (expr_as_string): Suppress parens on initial call
to dump_expr.
* cp-tree.h: Add decls for Type_info_type_node, build_typeid,
get_typeid and build_dynamic_cast.
* gplus.gperf: Add typeid and dynamic_cast.
* cp-spew.c (init_spew): Ditto.
Wed Oct 13 19:15:21 1993 Jason Merrill (jason@deneb.cygnus.com)
Partial implementation of Stroustrup's proposal for declarations in
conditions from X3J16/92-0121.
* cp-parse.y (paren_cond_or_null): New rule, use condition instead
of expr.
(xcond): Ditto.
(condition): New rule, used in the condition parts of if, while, for
and switch statements. Allows a restricted set of declarations of
the form "type_specifier declarator = expression".
(.kindof_pushlevel): Like pushlevel, but pushes all of the decls
from the previous binding level into the new one too.
(partially_scoped_stmt): Like implicitly_scoped_stmt, but uses
.kindof_pushlevel instead of .pushlevel.
(simple_if): .pushlevel before condition.
(simple_stmt, simple_if ELSE): Ditto, pop binding level.
(simple_stmt, simple_if): Ditto.
(simple_stmt, WHILE): Ditto.
(simple_stmt, forhead.1): .pushlevel before condition, use xcond
instead of xexpr, pop binding level.
(simple_stmt, forhead.2): Use xcond instead of xexpr, always pop
binding level.
(simple_stmt, SWITCH): .pushlevel before condition, etc, etc.
(forhead.2): always .pushlevel.
(datadef): Use cp_error more.
(simple_stmt, CASE): Ditto.
* cp-decl2.c (pushdecls): New function, push all decls in the chain
into the current scope.
Wed Oct 13 12:31:58 1993 Mike Stump (mrs@cygnus.com)
* cp-decl.c: Remove redefinition of NULL, as some machines don't
like it. Clean up all NULL uses.
Mon Oct 11 17:21:08 1993 Kung Hsu (kung@cirdan.cygnus.com)
* cp-decl2.c (finish_file): Fix libg++ build problem of mismatch
blocks.
Mon Oct 11 13:51:05 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
Mon Oct 4 11:49:48 1993 Chip Salzenberg (chip@fin.uucp)
* cp-typeck.c (build_modify_expr): Check whether recursive calls
return error_mark_node.
Mon Oct 4 12:41:16 1993 Chip Salzenberg (chip@fin.uucp)
* cp-class.c (finish_struct): Too-long bitfield is an error.
* cp-decl.c (grokdeclarator): "inline main()" is an error.
(grok_op_properties): Overloaded ?: is an error.
(start_enum): Duplicate enum definition is an error.
Mon Oct 4 12:45:11 1993 Chip Salzenberg (chip@fin.uucp)
* cp-typeck.c (common_type): Use TYPE_MAIN_VARIANT when preferring
long int to int (when width is the same).
Mon Oct 4 12:46:54 1993 Chip Salzenberg (chip@fin.uucp)
* cp-typeck.c (convert_for_assignment): Mismatch in signedness
of pointer targets should not inhibit warnings for const mismatch.
Mon Oct 4 12:53:04 1993 Chip Salzenberg (chip@fin.uucp)
* cp-typeck.c (default_conversion): Convert to unsigned int
if original type is unsigned and of greater or equal size.
Mon Oct 11 13:19:42 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-decl.c (build_enumerator): Call default_conversion on the VALUE
before calling constant_expression_warning.
Mon Oct 11 10:21:37 1993 Kung Hsu (kung@cirdan.cygnus.com)
* cp-decl.c (finish_function): fix the mismatch LBB LBE block
problem, specifically when compiler generated
destructor/constructor (pr2972)
* cp-decl2.c (finish_file): same as above
* cp-parse.y (compstmt): same as above
Mon Oct 11 01:08:09 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-error.c (dump_type_suffix): Cope with arrays with unspecified
bounds.
Thu Oct 7 19:35:26 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-error.c: Deal with printing out array DECLs properly.
Use dump_char for printing out string literals, too.
Tue Nov 23 18:08:27 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* dwarfout.c (function_start_label): New function.
(output_entry_point_die): Use it.
(output_global_subroutine_die, output_local_subroutine_die): Use it.
* c-common.c (check_format_info): Always use TYPE_MAIN_VARIANT
when comparing cur_type against wanted_type.
* protoize.c (save_def_or_dec): If function's aux info doesn't end
with a closeparen, ignore it.
(xmalloc, xrealloc): Cast result of malloc.
* c-typeck.c (build_binary_op): Don't accept complex types
for max, min, lt, etc.
Tue Nov 23 18:05:14 1993 Lisa Repka (lisa@MicroUnity.com)
* reorg.c (rare_destination): Ensure we always correctly handle
a null JUMP_LABEL.
Tue Nov 23 17:48:39 1993 Doug Evans (dje@canuck.cygnus.com)
* i960/i960.h (ASM_SPEC): Pass -linkrelax, not -link-relax.
Tue Nov 23 17:35:25 1993 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* arm.c (arm_backwards_branch): Branching to the current insn is a
backwards branch.
Tue Nov 23 13:59:24 1993 Hallvard B Furuseth (hbf@durin.uio.no)
* libgcc2.a (__bb_exit_func): Fix format %*d -> %*ld.
* c-parse.in, cp-parse.y (maybe_type_qual): Don't fail to set $$.
Tue Nov 23 15:26:28 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* combine.c (try_combine, simplify_shift_const): Add initializations
for some uninitialized variables.
* c-common.c (check_format_info): When we have INTEGER_TYPEs,
save result of signed_type or unsigned_type for later
comparison with the various forms of char types.
* expr.c (expand_expr, case SAVE_EXPR): Properly recompute the
value of UNSIGNEDP when SAVE_EXPR_RTL is nonzero and we have promoted.
Tue Nov 23 04:14:04 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* dwarfout.c (output_local_subroutine_die): Use the function name
from its symbol_ref, not DECL_ASSEMBLER_NAME.
Mon Nov 22 13:59:41 1993 Steve Chamberlain (sac@mole.gnu.ai.mit.edu)
* final.c (get_attr_length): asm_insn_count takes a body, not an
insn.
Sun Nov 21 22:37:12 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/m68k/mot3300.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
Use SIZE, not ROUNDED.
(FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Definitions turned off.
(REGISTER_PREFIX, IMMEDIATE_PREFIX): New definitions.
(PARM_BOUNDARY): New definition.
Sun Nov 21 15:39:04 1993 Tor Egge (tegge@pvv.unit.no)
* m88k/dolph.h (SDB_ALLOW_FORWARD_REFERENCES): Define.
(SDB_ALLOW_UNKNOWN_REFERENCES): Define.
(CPP_PREDEFINES): Redefine.
(CPP_DEFAULT): Redefine.
(INITIALIZE_TRAMPOLINE): Redefine.
* m88k/dolphin.ld: New file.
* m88k/t-m88k (realclean): Remove some generated .asm files.
* m88k/x-dolph (EXTRA_PARTS): Redefined to also contain gcc.ld.
(gcc.ld): Copied from dolphin.ld.
(X_CFLAGS): Define __m88k__.
* libgcc2.c (__enable_execute_stack): Add DolphinOS version.
Sun Nov 21 01:00:40 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/m68k/isi.h (LIB_SPEC): Use -lm in addition to -lc--
not instead of -lc.
* fix-header.c (write_rbrac): Make added declarations conditional
on __cplusplus and nothing else.
* fixproto (stdio.h): Reenable adding protos for v*printf.
* sys-protos.h (authdes_create): Delete arg info.
We can't count on having struct sockaddr defined.
* fixincludes (math.h): When deleting inline sqrt and abs,
be flexible about arg name and function body.
* Makefile.in (stmp-fixproto): Never run fixproto twice.
Sat Nov 20 16:52:15 1993 Jim Wilson (wilson@cygnus.com)
* stmt.c (warn_if_unused_value): Handle arbitrary number of casts
before a modify.
Sat Nov 20 16:38:25 1993 Eric Baur (eric@synnet.com)
* i386/perform.h (perform_divsi3, perform_modsi3): Add '&' in
constraint for DX; explicitly copy arg arg1 to cx.
Sat Nov 20 02:26:28 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* expr.c (expand_builtin): For sin, cos, fsqrt, alloca, ffs, strlen,
strcpy, memcpy, strcmp, memcmp, if args are bad, use expand_call.
* fix-header.c (write_rbrac): Treat rewinddir like memmove.
Fri Nov 19 18:24:43 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* protoize.c: Remove declarations for malloc and realloc.
* expr.c (store_field): Convert EXP to MODE before calling
store_bit_field.
* optabs.c (expand_complex_abs): Replace some erroneous
uses of MODE with SUBMODE.
* combine.c (force_to_mode): Don't allow sign-extension of
constants when we are narrowing things in an IOR or XOR.
Fri Nov 19 16:42:43 1993 Jim Wilson (wilson@cygnus.com)
* rs6000.c (output_function_profiler): When TARGET_MINIMAL_TOC,
emit .long instead of .tc.
Fri Nov 19 13:22:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* configure: Let a host set truncate_target to specify that the
installation directory names must be truncated to 14 characters.
If set, truncate the target argument.
Fri Nov 19 17:27:58 1993 Holger Teutsch (holger@hotbso.rhein-main.de)
* clipper.h (HARD_REGNO_MODE_OK): Allow any mode in general regs.
Float regs may only hold SFmode and DFmode.
(FUNCTION_ARG): Only MODE_INT and MODE_FLOAT with size <= 8 are
passed in registers.
(FUNCTION_ARG_ADVANCE): Update accordingly.
(FUNCTION_ARG_PARTIAL_NREG): Undefine.
* clipper.md (movsf+1,2,movdf+1,2): Make 'f' preferred register class.
Thu Nov 18 20:09:56 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* fixincludes: When compute DOTS, convert /./ to / to avoid
accidentally converting it to /../.
* fixinc.dgux, fixinc.svr4: Likewise.
Thu Nov 18 06:14:55 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* function.c (expand_function_end): New arg END_BINDINGS.
* c-decl.c (finish_function): Pass new arg to expand_function_end.
* cp-decl.c (finish_function): Pass new arg to expand_function_end.
Don't call expand_end_bindings here.
* integrate.c (output_inline_function):
Pass new arg to expand_function_end.
Wed Nov 17 18:54:21 1993 Chip Salzenberg (chip@fin.uucp)
* objc/objects.c: Include "tconfig.h" before "runtime.h".
Wed Nov 17 19:15:31 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* fixincludes (math.h): Add missing quoting of `*' when fixing
prototype of `sqr'.
Tue Nov 16 07:15:52 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* alpha.h (EXTRA_CONSTRAINT): New macro.
(SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Disallow unaligned into float
regs.
* alpha.md (movdi): Use 'Q' instead of 'm' for FP.
Tue Nov 16 02:06:01 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Version 2.5.4 released.
* c-typeck.c (push_init_level): When aligning next struct field,
make sure there's another field left.
* cp-errfn.c: Don't include string.h.
(STRDUP): Macro deleted.
(cp_thing): Copy strings "by hand".
* combine.c (force_to_mode): Don't do right-shift in a narrower mode.
Mon Nov 15 01:54:48 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* sdbout.c (sdbout_symbol): If non-static var has static-style RTL,
don't output anything for it.
* Makefile.in (stmp-fixproto): Don't depend on xsys-protos.h.
(diff): Don't compare bi-parser.c
* news.h (NO_DOT_IN_LABEL, NO_DOLLAR_IN_LABEL): Defined.
* c-typeck.c (push_init_level, really_start_incremental_init):
Skip any nameless bitfields at start of record.
(process_init_element): Skip any nameless bitfields after the field
just processed.
Mon Nov 15 02:09:54 1993 Torbjorn Granlund (tege@blues.cygnus.com)
* pa.h (RETURN_IN_MEMORY): Define.
Sun Nov 14 17:25:29 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* expr.c (expand_expr): For TRUTH_AND_EXPR, TRUTH_OR_EXPR
and TRUTH_XOR_EXPR, if result mode doesn't match operands,
don't use subtarget.
* c-typeck.c (convert_for_assignment): Fix typo (codel => coder).
Sun Nov 14 12:45:37 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* function.c (assign_parms): Clear STACK_PARM when we have a
pass-by-pointer parm that we load into a pseudo.
* flow.c (flow_analysis): Fix bug in previous change.
* fold-const.c (twoval_comparison_p): Do nothing for SAVE_EXPR, at
least for now.
* reload.c (push_reload): Allow RELOAD_FOR_INPUT with a secondary
reload the same class as the input if the modes differ.
* expr.c (store_expr): Convert constants to proper mode in two places.
* sh.h (HAVE_VPRINTF): Delete from here.
* xm-sh.h (HAVE_VPRINTF): New macro.
Sun Nov 14 04:28:56 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/i860/i860.h (SECONDARY_INPUT_RELOAD_CLASS):
Moving any kind of integer cst to float reg needs intermediate.
* sys-protos.h (getmntent): Delete the arg decls
because BSD 4.4 and Sunos disagree on them.
Sat Nov 13 23:06:42 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/mips/mips.c (function_arg, function_arg_advance):
In default case, handle complex modes much like BLKmode.
(function_arg_partial_nregs): Likewise.
Sat Nov 13 22:31:48 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* alpha.h (CPP_SPEC): Always define __LANGUAGE_C__ unless assembler.
Define __cplusplus for C++.
* alpha.md (movsf, movdf): Add 'G' to constraint for operand 1
when operand 0 is a register and support it in alternative 0.
* stmt.c (expand_end_bindings): Use emit_move_insn instead of
gen_move_insn in case nonlocal_goto_handler_slot is not a valid memref.
* flow.c (find_basic_blocks): When starting new basic block
for a CALL_INSN in the presence of nonlocal labels, don't
get confused with following CLOBBER.
(flow_analysis): Use same logic as find_basic_block to see when
the insn after a CALL_INSN starts a new basic block.
* expmed.c (store_split_bit_field): Properly load a constant VALUE
into a WORD_MODE pseudo.
Sat Nov 13 18:27:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/ns32k/ns32k.md (movsi): Handle moves to fp reg.
Handle const_double as operand 1.
* Makefile.in (diff): Fix typo in name gcc.??s.
Fri Nov 12 08:34:58 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* dbxout.c (dbxout_type_field): Skip fields with variable
position and/or size instead of crashing on them.
Fri Nov 12 22:49:50 1993 Pat Rankin (rankin@eql.caltech.edu)
* bi-arity.c, bi-opcode.c, bi-opname.c (main): Flush stdout and
and check for errors prior to termination; end with call to exit
rather than return from main, as with gen*.c.
* bi-arity.c, bi-lexer.c, bi-opcode.c, bi-opname.c, bi-parser.y:
Use FATAL_EXIT_CODE rather than hardcoded 1 for fatal exit code.
Fri Nov 12 18:41:51 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* gstdarg.h, gvarargs.h: Test __bsdi__ like __BSD_NET2__.
* pa.h (FUNCTION_ARG_BOUNDARY): Fix return value for 64bit
pass by value structures.
* fix-header.c (write_rbrac): Handle v*printf like memmove.
Fri Nov 12 08:53:47 1993 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* arm.md (comparison): Don't emit invalid optimization
for (set (reg) (comparison)) and (set (reg) (neg (comparison)))
when comparison is LT.
* arm.c (pattern_really_clobbers_lr): Setting a subreg of a mem is
valid and safe.
Fri Nov 12 08:38:22 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* m68k/hpux7.h: Add directory name to #include of hp320.h.
Thu Nov 11 00:00:55 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Version 2.5.3 released.
* fix-header.c, gen-protos.c (fancy_abort): New function.
* c-typeck.c (mark_addressable): Handle REALPART_EXPR and
IMAGPART_EXPR.
* integrate.h (global_const_equiv_map_size): Declared.
* dbxout.c (dbxout_symbol): If it's C++, don't check the
DECL_SOURCE_LINE of a typedef.
(dbxout_parms): Fix previous change.
Wed Nov 10 10:33:28 1993 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* fixproto (rel_source_subdir): Prune out redundant /subdir/../ to
prevent recursion.
Wed Nov 10 22:30:16 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/ns32k/encore.h (ASM_OUTPUT_ASCII): Declare i.
Wed Nov 10 16:18:19 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-decl.c (grokvardecl): Undo change of Jan 15 1993 which
tried to implement the "one definition rule". The duplicate_decls
call in pushdecl does implement this; grokvardecl got some bad hits.
Wed Nov 10 08:44:17 1993 Niklas Hallqvist (niklas@appli.se)
* cp-search.c (compute_visibility): Revert Tiemann's patch of
Nov 5. Instead check that privately inherited entities don't
get restricted visibility if the private derivation is a
shallow derivation (i.e. one leading to the most derived
class) and we're actually in the most derived class' scope.
* cp-search.c (dfs_pushdecls): Don't be confused by the fact that
overloaded methods from an outer scope almost looks like an
envelope.
Wed Nov 10 18:55:22 1993 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* fixincludes: Copy files needed for other files at the very end.
* arm.md (reload patterns for mla instruction): New.
Wed Nov 10 18:17:40 1993 Jim Wilson (wilson@cygnus.com)
* dbxout.c (dbxout_parms): For parms passed via invisible
reference, accept any reg except FP, SP, and AP.
* unroll.c (unroll_loop): Set global_const_equiv_map_size.
Wed Nov 10 17:52:33 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* combine.c (subst_prev_insn): New variable.
(try_combine): Set it.
(get_last_value): Use subst_prev_insn if set instead of
looking for the first insn before SUBST_LOW_CUID.
* integrate.c (global_const_equiv_map_size): New variable.
(expand_inline_function): Set it.
(expand_inline_function, copy_rtx_and_substitute, try_constants):
Never access const_equiv_map without checking for out-of-range.
(mark_stores): Likewise.
* alpha.md (smaxdi3): Was incorrectly called maxdi3.
* rs6000.h (LINK_SPEC): Don't pass -btextro if -r.
* alpha/osf12.h: New file.
* configure (alpha-dec-osf1.2): New case, to use new file.
* rs6000.md (sqrtdf2): Fix typo in extra condition.
(plus/eq pattern): Fix typo: "addze" was "adddze".
Wed Nov 10 12:32:56 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* expmed.c (expand_divmod): If rem_flag, always force op0 to a
register.
* expr.c (expand_expr): Use a smaller alignment when reading from
a field with a variable offset.
Wed Nov 10 01:28:27 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* expr.c (expand_assignment): Use a smaller alignment when storing
into a field with a variable offset.
* fixincludes (math.h): Delete inline definitions for sqr.
Tue Nov 9 15:33:45 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-method.c (hack_identifier): Undo rfg's earlier patch.
Tue Nov 9 19:30:02 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* reload1.c (reload) [SMALL_REGISTER_CLASSES]: Try, at least,
to avoid 2-groups whose second register is explicitly used.
Tue Nov 9 19:08:47 1993 Jim Wilson (wilson@cygnus.com)
* mips.md (adddi3): Use DImode not SImode in force_reg call.
* mips.c (PIC_OFFSET_TABLE_MASK): New macro.
(function_epilogue): When -mabicalls, ignore
PIC_OFFSET_TABLE_REGNUM when calculating load_only_r31.
* loop.c (strength_reduce): Accept VOIDmode initial values.
Tue Nov 9 09:23:31 1993 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu)
* pa.md (negscc): Add mode for NEG.
Tue Nov 9 12:51:54 1993 John Hassey (hassey@dg-rtp.dg.com)
* m88k.md ("cmpsf" & "cmpdf"): Undo inadvertent change included
with CCEVENmode change.
Tue Nov 9 01:31:58 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* fixincludes (loop on $required): When a file is copied
because another file needs it, scan it for what files it needs.
* fix-header.c (write_rbrac): When adding proto for memmove,
put it inside #ifndef memmove.
Mon Nov 8 16:50:49 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* sdbout.c (sdbout_init) [RMS_QUICK_HACK_1]: Call sdbout_symbol
for __vtbl_ptr_type.
* cp-decl.c (init_decl_processing): Undo previous change.
* c-typeck.c (build_binary_op): Warn for ordered compare of ptr with 0
only if pedantic in both cases.
Mon Nov 8 18:25:06 1993 David Edelsohn (edelsohn@npac.syr.edu)
* rs6000.h (ASM_FILE_START): Emit filename directive.
Sun Nov 7 00:24:04 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Makefile.in (mostlyclean): Delete fixhdr.ready here.
(clean): Not here.
* scan-decls.c (scan_decls): After seeing an extern variable
declaration, goto new_statement to read a new token, rather
than going to handle_statement (which uses the current token).
Sat Nov 6 19:40:22 1993 Pat Rankin (rankin@eql.caltech.edu)
* config/vax/vms.h (__MAIN_NAME): Define as " main(" rather
rather than " main (" to reflect current cc1plus.
* config/vax/vms.h: Add __GNUC_MINOR__=5 to CPP_PREDEFINES.
Sat Nov 6 22:54:25 1993 Tor Egge (tegge@pvv.unit.no)
* m88k.c (partial_ccmode_register_operand, even_relop)
(odd_relop): New functions, for support of CCEVENmode.
(print_operand, new case '!'): Revert following condition.
* m88k.h (EXTRA_CC_MODES, EXTRA_CC_NAMES, SELECT_CC_MODE):
New macros to define CCEVENmode.
* m88k.md: Handle CCEVENmode as a new mode. Logical operations
on CCmode registers now results in CCEVENmode.
Add patterns for jumps and ext's for CCEVENmode.
(cmpsf, cmpdf): Use reg 65 and clobber reg 64.
Sat Nov 6 17:07:54 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* cp-decl.c (init_decl_processing) [RMS_QUICK_HACK_1]:
If sdb output, call sdbout_symbol for vtable_entry_type.
* config/m88k/dgux.h (RMS_QUICK_HACK_1): Defined.
Sat Nov 6 12:32:31 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* unroll.c (unroll_loop): Don't unroll loop if jump has combined
the original loop start label with another label.
Sat Nov 6 05:01:31 1993 Chris Smith (csmith@convex.com)
* convex.md (untyped_call, blockage): Add new patterns.
Sat Nov 6 03:11:46 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
* just-fixinc: Rename fixed native limits.h to syslimits.h (or
install gsyslimits.h) before renaming gcc's limits.h from tmpfoo
directory.
Sat Nov 6 00:07:41 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* expr.c (emit_move_insn_1): Push the components of a complex
in proper order: imag part has higher address.
Fri Nov 5 16:23:51 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* mips.c (mips_abicalls): Change type to enum mips_abicalls_type.
(override_options): Use MIPS_ABICALLS_{NO,YES} instead of
ABICALLS_{NO,YES}.
* mips.h (enum mips_abicalls_type): New type.
(mips_abicalls_attr): New define.
(mips_abicalls): Change type to enum mips_abicalls_type.
* mips.md (abicalls): Use mips_abicalls_attr not mips_abicalls.
Fri Nov 5 20:34:19 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* fixproto (stdio.h): Don't add protos for vprintf, vfprintf, vsprintf.
Fri Nov 5 20:32:53 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* config/pa/pa.md (decrement_and_branch_until_zero):
Add missing `return'.
Fri Nov 5 16:08:34 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* listing: Handle i386-linux like m68020.
Pass compilation options thru an awk variable, not as ordinary args.
* cccp.c (safe_read, safe_write): Handle EINTR.
(output_line_command): Handle NO_IMPLICIT_EXTERN_C here.
(main): Not here.
* protoize.c (safe_read, safe_write): Handle EINTR.
(safe_write): Return right away after safe_write.
Fri Nov 5 11:40:59 1993 Jeff Law (law@snake.cs.utah.edu)
* pa-ghpux.h (NO_IMPLICIT_EXTERN_C): Define.
* pa-hpux.h (NO_IMPLICIT_EXTERN_C): Define.
Fri Nov 5 09:45:20 1993 Kresten Krab Thorup (krab@viking)
* objc/archive.c (objc_read_string): Allocate string properly.
* objc/hash.h (compare_strings): Check for null pointers.
Fri Nov 5 11:29:26 1993 David Edelsohn (edelsohn@npac.syr.edu)
* rs6000.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Use
REAL_ARITHMETIC macros including hex for special values.
Fri Nov 5 10:26:34 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* cp-call.c (build_method_call): For unions, don't use get_binfo and
convert_pointer_to_real, since unions can't be involved in complex MI
situations. (Fixes union ctor crash, and completes Sep 27 fix.)
Fri Nov 5 07:39:00 1993 Michael Tiemann (tiemann@blues.cygnus.com)
* cp-search.c (compute_visibility): Don't lose access to public
members from base classes of base classes.
* cp-search.c (get_base_distance): Initialize BASETYPE_PATH before
using. Also, initialize RVAL from get_base_distance_recursive.
Fri Nov 5 05:48:04 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/i860/paragon.h (SIZE_TYPE): #undef it.
* config/m88k/dgux.h (LIB_SPEC): Handle -msvr4.
(GPLUSPLUS_INCLUDE_DIR): Definition and #undef deleted.
* cccp.c (main): Handle NO_IMPLICIT_EXTERN_C.
Fri Nov 5 03:11:05 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* config/m68k/m68k.h (RTX_COST): Return actual costs for
multiplication, not costs for theoretical special cases that are
not handled in the md.
Fri Nov 5 00:42:09 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* emit-rtl.c (gen_highpart): If arg is function value hard reg,
return a subreg of it (as in gen_lowpart_common).
* integrate.c (expand_inline_function): Handle CONCAT as rtl for parm.
(copy_rtx_and_substitute): For subreg, handle case where the reg
inside turns into a CONCAT.
* configure: Treat hppa1.[01]-hpux8.0[01] like hppa1.[01]-hpux8.02.
* fixproto: Don't scan sub-directories whose names end in CC
or contain ++ - these are probably C++ directories.
Thu Nov 4 12:02:04 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* integrate.c (expand_inline_function): Don't call
push_temp_slots, free_temp_slots, and pop_temp_slots when handling
parameters, because they might end up in a temp slot.
Thu Nov 4 15:00:38 1993 Samuel Figueroa (figueroa@cs.nyu.edu)
* i386/os2.h, i386/xm-os2.h: New files.
Thu Nov 4 14:36:54 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* c-decl.c (finish_enum): Undo previous change.
Thu Nov 4 13:30:16 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* loop.c (strength_reduce): Ignore initial value if it is the
wrong mode.
(record_initial): Don't ignore any set of the register.
* rs6000.md (movdf): Don't have reload choose alternative of
loading a constant into a GPR.
* reload.c (find_reloads, case 'o'): A pseudo is not always
an offsettable memref.
(find_reloads): If we reload a constant into a register via
memory, count it as two reloads.
* function.c (expand_function_start): If not optimizing, ensure
we mark context display regs as live for the entire function.
Thu Nov 4 02:24:22 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* tree.h (DECL_IN_TEXT_SECTION): New macro.
* varasm.c (assemble_variable): Set DECL_IN_TEXT_SECTION.
* dbxout.c (dbxout_symbol_location): Test DECL_IN_TEXT_SECTION.
Wed Nov 3 23:59:48 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* c-typeck.c (build_function_call): Initialize fundecl to 0.
Wed Nov 3 16:34:01 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* pa.h (REGISTER_MOVE_COST): Decrease cost for move from
SHIFT_REGS to avoid regclass overflow.
Wed Nov 3 15:35:44 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/m68k/m68k.c (output_move_double): Fix up the test for overlap
of source address with operands[0].
* regclass.c (regclass): Consider commutativity even when
one arg is a constant.
Wed Nov 3 12:06:23 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* expmed.c (expand_divmod): Use target as copy_to_suggested_reg
argument only if it has the same mode as op0.
Wed Nov 3 04:58:26 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* protoize.c (safe_write, safe_read): Really use arg DESC.
* libgcc2.c (exit): Fix declaration of _exit.
* c-common.c (check_format_info): Make warning nicer for mismatch
of int vs long, etc.
Don't warn if field width is an unsigned int.
* c-decl.c (finish_enum): Always make an enum signed if it will fit.
Wed Nov 3 14:23:52 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* cse.c (cse_insn): Call `invalidate' also for STRICT_LOW_PART and
ZERO_EXTRACT (three places).
(invalidate_from_clobbers): Likewise (two places).
(cse_around_loop): Likewise.
(invalidate_skipped_set): Likewise.
(cse_set_around_loop): Likewise.
Wed Nov 3 03:56:55 1993 Paul Eggert (eggert@twinsun.com)
* dbxout.c (dbxout_type): Print `-2' instead of `0037777777776'
for an enumeration constant whose value is -2;
otherwise, GDB 4.11 rejects the type.
Wed Nov 3 04:35:13 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Makefile.in (fix-header, gen-protos): Link with HOST_LIBS.
Depend on HOST_LIBDEPS.
Wed Nov 3 00:07:18 1993 Per Bothner (bothner@wombat.gnu.ai.mit.edu)
* fixproto: When checking for uses of _flsbuf, make sure to
not match (say) __flsbuf or other non-word _flsbuf strings.
* fixproto: Be more robust when checking for files indirectly
needed (via #include directives). E.g. handle "../foo/bar.h"
properly, and silently ignore missing include files.
Tue Nov 2 17:37:39 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* gcc.c (do_spec_1): Use spec_version for %v, not version_string.
Distinguish %v1 and %v2.
(default_compilers): For __GNUC_MINOR__, use %v2.
For __GNUC__ and __GNUG__, use %v1.
* protoize.c (safe_read): New function.
(process_aux_info_file, edit_file): Use safe_read.
* cccp.c (safe_read): New function.
(main, finclude, check_precompiled): Use safe_read.
Tue Nov 2 14:31:42 1993 Ian Lance Taylor (ian@cygnus.com)
* fixincludes: Don't remove /**/ from X11/Xlibint.h or
X11/extensions/multibufst.h; unnecessary.
Tue Nov 2 07:20:12 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* optabs.c (init_optabs): Function `ffs' takes `int', not mode that
is BITS_PER_WORD wide.
Tue Nov 2 02:53:26 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* cp-typeck.c (comptypes): Fix typo in changing STRICT from 2 to 1.
* protoize.c (edit_file): Use safe_write.
(safe_write): New subroutine.
* calls.c (expand_call): Discard __ prefix like _ or __x.
* objc/objects.c: Include tconfig.h.
Mon Nov 1 23:34:46 1993 Rainer Orth (ro@anemone.techfak.uni-bielefeld.de)
* fixincludes (sys/stat.h) fix fchmod prototype, first arg is
int, not char * [AIX 3.2.4]
(rpc/svc.h): avoid nested comments [Ultrix 4.3]
(stdio.h, stdlib.h): fixed getopt prototypes to match POSIX.2
[DEC Alpha OSF/1 1.3]
Mon Nov 1 11:42:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* fixincludes: Fix <sys/limits.h> like <limits.h>.
* fixincludes: Unquote 'f' in #define _IO. Fix elf.h like
elf_abi.h. For Irix 5.
Mon Nov 1 15:15:38 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* configure (mips-sgi-irix5*): Add fixincludes=Makefile.in.
* fixproto (setjmp.h): Don't require siglongjmp and sigsetjmp.
They need sigjmp_buf, and are missing on many systems.
* Makefile.in (stmp-fixproto): Print a notice that warnings and errors
from fixproto are normal.
(distdir): Avoid spurious output from gcc.texi version number check.
(diff): New target.
Mon Nov 1 15:19:09 1993 Ian Lance Taylor (ian@cygnus.com)
* fixincludes: Don't remove /**/ from X11/xmd.h; breaks gcc
-traditional on some systems.
Mon Nov 1 07:38:58 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu
* rs6000.md: Add set_attr for "length" when we are going to split
an insn at output time.
* rs6000.md (bdn/bdz): Fix typo in checking for when we
need to split.
* rs6000.md (mulsi3): Make alternatives be "mq" and "no_mq"
instead of "power" and "powerpc". Only allow one pattern (either
with or without the clobber of MQ) to match.
* stmt.c (expand_decl_init): If CONST_DECL, don't generate any
code, but call expand_expr if DECL_INITIAL is a constant.
Mon Nov 1 06:17:16 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* m68k.md (divhisi3, udivhisi3, modhisi3, umodhi3): Comment out.
(divhisi3, udivhisi3, modhisi3, umodhi3 recognizers): Comment out.
* expmed.c (synth_mult): When factoring T, break from loop after
first factor.
(expand_mult): Increase max cost to 12 again.
Mon Nov 1 01:06:27 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* cccp.c (safe_write): New function.
(write_output): Use safe_write.
Mon Nov 1 01:06:27 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Version 2.5.2 released.
* cccp.c (do_ident): Fix previous change.
Sun Oct 31 14:41:40 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Version 2.5.1 released.
* cccp.c (do_ident): Substitute macros and output here.
(directive_table): Turn off the pass_thru field for #ident.
* c-common.c (shorten_compare): Undo previous change.
Instead, just suppress warnings if both args are constant.
* config/m68k/m68k.md (extzv, and its recognizer):
If width is 32, don't set CC_NOT_NEGATIVE.
If width is variable, clear the CC status.
* config/m68k/m68k.c (output_move_double): Extend the special case
for *--sp = sp[N] to handle 12 bytes as well as 8 bytes.
Sun Oct 31 17:02:13 1993 Jason Merrill (jason@deneb.cygnus.com)
* cp-init.c (expand_aggr_init_1): When unswitching a COND_EXPR
initializer (i.e. int a = b ? 1 : 0 => int a; b ? a=1 : a=0),
set TREE_SIDE_EFFECTS on the result.
Sun Oct 31 13:33:46 1993 Jim Wilson (wilson@cygnus.com)
* expr.c (do_store_flag): For equality test of a single bit, use
subtarget instead of target in calls.
Sat Oct 30 17:58:37 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/m68k/hpux7.h: New file.
* configure (m68k-hp-hpux7*): New alternative.
* c-common.c (shorten_compare): Do nothing if both args constant.
* config.sub: Re-add hitachi to list of companies not to treat
as OS names.
* expr.c (convert_move): When extending to multi-word register
via its low word, clobber the whole thing.
* config/i386/i386.c (output_move_double): Extend the special case
for *--sp = sp[N] to handle 12 bytes as well as 8 bytes.
Sat Oct 30 17:21:33 1993 Atsushi Furuta (furuta@sra.co.jp)
* pa-ghiux.h, pa-hiux.h, pa1-ghiux.h: New files, for Hitachi H3050/RX.
* pa1-hiux.h, x-pa-hiux, xm-pahiux.h: Likewise.
* config.sub, configure: Add H3050/RX support.
Sat Oct 30 03:40:08 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/pa/pa.c (output_dbra): Fix argument number in addi at end.
* tree.h (enum built_in_function): Added END_BUILTINS to delimit
standard from language-specific builtins.
* toplev.c (rest_of_compilation): When an `extern inline' is not
really inline, clear DECL_INITIAL so we don't complain about
a subsequent non-extern definition.
* c-decl.c (finish_function): If rest_of_compilation set DECL_INITIAL
to null, leave it null.
* c-common.c (convert_and_check): Don't warn converting 0xff
to a signed char, etc., unless pedantic.
* Makefile.in (mainversion): New variable.
(distdir): Use mainversion when verifying gcc.texi has been updated.
Sat Oct 30 03:12:54 1993 Torbjorn Granlund (tege@cygnus.com)
* m68k.md (mulsidi3 patterns): Fix typo, LSHIFTRT was ASHIFT.
Fri Oct 29 12:06:09 1993 Ian Lance Taylor (ian@cygnus.com)
* fixinc.svr4 (sys/stat.h): Don't change definitions into
prototypes if they may already be in prototype form.
Fri Oct 29 16:50:33 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/i386/linux.h (LIB_SPEC): Use -lieee if -mieee-fp.
Fri Oct 29 13:04:16 1993 Arne H. Juul (arnej@fm.unit.no)
* mips/iris5.h (LINK_SPEC): Pass -no_unresolved if -call_shared.
Fri Oct 29 12:52:54 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* rs6000.md (addsf3, subsf3, mulsf3, divsf3): Put POWERPC first,
then POWER.
* mips/iris5.h ({DBX,SDB,MIPS}_DEBUGGING_INFO): Turn off until working.
Fri Oct 29 12:15:12 1993 Minh Tran-Le (tranle@intellicorp.com)
* i386/xm-aix.h: Define HAVE_PUTENV for AIX PS/2.
Fri Oct 29 11:49:46 1993 DJ Delorie (dj@ctron.com)
* i386/go32.h: Add support for coff-based ctor/dtor handling.
Thu Oct 28 21:33:22 1993 Kresten Krab Thorup (krab@next.com)
* objc-act.c (check_methods_accessible): Fix bug in
-Wno-protocol. Reset chain to bottom class for each search.
Thu Oct 28 21:30:38 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* c-parse.in (init): Remove extraneous pop_momentary in error case.
Thu Oct 28 19:01:33 1993 Ron Guilmette (rfg@netcom.com)
* cp-method.c (hack_identifier): If an overloaded identifier
can only mean one thing, it can only mean one thing.
Thu Oct 28 18:52:15 1993 John F Carr (jfc@mit.edu)
* cp-typeck.c (get_member_function_from_ptrfunc): Convert delta
to size_t before adding to pointer.
Thu Oct 28 18:43:41 1993 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* arm.h (ENCODE_SECTION_INFO): Use DECL_RTL for DECLs.
Wed Oct 27 20:58:31 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* pa.c (emit_move_sequence): Fix typo, `Pmode' was `mode'.
Wed Oct 27 00:01:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* cse.c (cse_insn): When using src_related, copy the rtx.
Likewise for src_eqv_here.
* c-typeck.c (output_pending_init_elements): Don't crash if
constructor_unfilled_fields is 0.
* fixincludes (bsd/sys/wait.h): Undo previous change.
* config/m68k/xm-amix.h (abort): Don't use fancy_abort.
(alloca): In GCC 1, define as __builtin_alloca.
* config/m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL)
(ASM_OUTPUT_INTERNAL_LABEL): #if 0 deleted, to reenable these.
(NO_DOT_IN_LABEL): Defined.
(NO_DOLLAR_IN_LABEL): Undefined.
* function.c (assign_parms): If parmreg is a CONCAT, handle the
case where stack_parm is 0.
* expr.c (do_jump): Use do_jump_by_parts_equality for complex compares.
* c-typeck.c (build_c_cast): When making union constructor,
copy TREE_CONSTANT from the given value.
(initializer_constant_valid_p): Special handling for "constant"
union constructor.
* bytecode.def: Rename dup to duplicate.
* expr.c (expand_assignment): Use duplicate.
(bc_expand_expr): Likewise.
(bc_expand_constructor): Likewise.
* print-tree.c (print_node_brief): Use unsigned char to print
the bytes of a real constant.
* expmed.c (store_bit_field): When calling operand_subword_force,
if VALUE has a non-void mode, pass that mode.
* config/m68k/amix.h (NO_DOLLAR_IN_LABEL): Defined.
Tue Oct 26 19:05:36 1993 John F Carr (jfc@mit.edu)
* rs6000.c (rs6000_override_options): Support -mcpu=rsc1.
Tue Oct 26 19:01:08 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Makefile.in (deduced.h): Add -I. and -I$(srcdir).
* scan-types.sh (CC): Move a " to avoid shell error.
* config.sub (paragon): New alias.
* configure (i860-*-osf*): New alternative.
* gstdarg.h, gvarargs.h [__i860__]: Add to little-endian list.
* libgcc2.c (___builtin_saveregs): New alternative for __PARAGON__.
* va-i860.h: Treat __PARAGON__ like __SVR4__.
(va_dcl) [__PARAGON__]: Declare va_alist.
* paragon.h, xm-paragon.h: New files.
Tue Oct 26 18:58:49 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* fix-header.c: Delete duplicate definition of "buf".
* fix-header.c, gen-protos.c, scan-decls.c, scan.c: Include hconfig.h.
* scan-decls.c: Remove unused #ifdef OLD.
* Makefile.in (gen-protos.o, scan.o, fix-header.o, scan-decls.o):
Add rule to compile using $(HOST_CC).
Show using hconfig.h.
* rs6000.md (movsi): Can copy a TOC address into a register.
Tue Oct 26 15:03:07 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* gcc.c (default_compilers): Define __GNUC_MINOR__, using %v.
(do_spec_1): Implement %v.
Tue Oct 26 11:06:59 1993 Mike Stump (mrs@cygnus.com)
* cp-lex.c (consume_string): Handle "\"" and '\''.
Tue Oct 26 13:44:17 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* Makefile.in (fix-header.o): Depend on fix-header.c.
(scan-decls.o): New target.
(gen-protos.o, scan.o): New targets.
* Makefile.in (gen-protos, fix_header): Add $(HOST_CFLAGS) and
$(HOST_LDFLAGS).
* x-sysv (OLDCC): Add -XNh1500.
* x-mips: Likewise.
Tue Oct 26 12:21:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* fixincludes: Fix NeXT <sys/wait.h> problem in <bsd/sys/wait.h>
as well, since that is where the file is in NeXTStep 3.0.
Tue Oct 26 07:23:08 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* expmed.c (init_expmed): Use register 10000, not FIRST_PSEUDO_REGISTER
that gets special treatment in rtx_cost.
(expand_mult): Decrease max cost to 8.
* c-typeck.c (build_binary_op): For TRUNC_MOD_EXPR and FLOOR_MOD_EXPR,
set common.
Tue Oct 26 01:59:17 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* protoize.c [__NeXT__]: Don't declare setjmp or longjmp.
* configure: Ignore --verbose option if specified.
* expr.c (emit_move_insn_1): Don't call group_insns
when X is a CONCAT.
(emit_move_insn_1, case CONJ_EXPR and COMPLEX_EXPR): Likewise.
* fixproto (signal.h): Add prototypes only for kill and raise.
Not for the POSIX signal functions.
(sys/resource.h): Delete special handling for this file.
* c-typeck.c (push_init_level): Align here for element of record.
(process_init_element): Not here (was before call to push_init_level).
* scan-types.sh: Expect GCC source dir as argument.
In dummy.c, use gstddef.h and gstdarg.h, not stddef.h and stdarg.h.
* Makefile.in (deduced.h): Pass GCC source dir to scan-types.sh.
Mon Oct 25 23:23:26 1993 Torbjorn Granlund (tege@blues.cygnus.com)
* c-typeck.c (build_binary_op): For TRUNC_MOD_EXPR and FLOOR_MOD_EXPR,
don't shorten when divisor might be -1.
Mon Oct 25 23:45:20 1993 Minh Tran-Le (tranle@intellicorp.com)
* seq-sysv3.h (CPP_SPEC): Define _SEQUENT_ to be compatible with cc.
(INVOKE__main): Defined.
(HAVE_ATEXIT): Defined.
* configure (i[34]86-sequent-sysv): Use fixinc.srv4 and define
broken_install.
Mon Oct 25 18:53:51 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* expr.c (expand_expr, case PLACEHOLDER_EXPR): Fix typos.
Mon Oct 25 16:25:58 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* scan.c (scan_string, skip_spaces): Add newline before fn name.
* scan-decls.c (scan_decls): When reading parameter list,
handle whitespace differently, and keep track of line number.
* config/i386/x-linux (STMP_FIXPROTO): Define as empty.
Mon Oct 25 13:22:37 1993 Kaveh R. Ghazi (ghazi@caip.rutgers.edu)
* fixincludes: Fix bad S_IS* macros in <sys/stat.h> on m88k-sysv3.
Mon Oct 25 22:34:12 BST 1993 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* fixincludes: Remove nested brackets in change of Oct 21.
Fix token pasting operator in ARM/RISCiX include files.
Mon Oct 25 13:01:52 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* sparc.h (LONG_DOUBLE_TYPE_SIZE): Don't define here.
* sol2.h (LONG_DOUBLE_TYPE_SIZE): Do define here.
* configure (mips-sgi-irix5): Don't use collect.
Sun Oct 24 14:15:12 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* libgcc2.c (L_bb): Undef NULL before including <stdio.h>.
Sun Oct 24 03:04:53 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Makefile.in (g++.o): New target.
* varasm.c (assemble_variable): Set last_assemble_variable_decl.
(last_assemble_variable_decl): New variable.
* toplev.c (rest_of_decl_compilation): Test that var.
Sat Oct 23 20:28:13 1993 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
* configure (mips-sgi-irix5): Uncomment.
* iris5.h: Replace with working version.
* xm-iris5.h: New file.
* mips.c (mips_abicalls): New variable.
(override_options): Set mips_abicalls. Allow '^' as print operand
punctuation character.
(print_operand): Add support for '^'.
(mips_asm_file_start): Use ABICALLS_ASM_OP instead of ".abicalls".
(compute_frame_size): Handle TARGET_ABICALLS case.
(mips_expand_prologue): Likewise.
* mips.h (mips_abicalls): Declare new variable.
(PIC_FUNCTION_ADDR_REGNUM): New macro.
(STARTING_FRAME_OFFSET): Handle TARGET_ABICALLS case.
* mips.md (abicalls): New attribute.
(define_delay): Don't fill call delay slots when TARGET_ABICALLS.
(call_internal3, call_value_internal3): Renamed from
call_internal2 and call_value_internal2.
(call_internal2, call_value_internal2): New call patterns for
TARGET_ABICALL case.
(call_internal4, call_value_internal4): Likewise.
Sat Oct 23 00:06:14 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Makefile.in (deduced.h): Depend on GCC_PASSES and stmp-int-hdrs.
(xsys-protos.h): Depend on GCC_PASSES.
(fixhdr.ready): New target.
(stmp-fixproto): Depend on fixhdr.ready, not fix-header itself.
(clean): Delete fixhdr.ready.
Fri Oct 22 01:20:29 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* fix-header.c: Renamed from patch-header.c.
(progname): Change name.
* fixproto: Use fix-header.
* Makefile.in (fix-header, fix-header.o): Renamed from patch-header*.
(stmp-fixproto, mostlyclean): Rename references to them.
* expr.c (store_field): In BLKmode case, return blk_object.
* config/m88k/m88k.h (ASM_FINISH_DECLARE_OBJECT): Undef, then define.
* Version 2.5.0 released.
Thu Oct 21 13:02:48 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* mips.h (CUMULATIVE_ARGS): Double size of adjust array.
* mips.c (function_arg): Add comment about too many adjust entries.
Thu Oct 21 13:48:14 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* rs6000.h (HARD_REGNO_MODE_OK): Multi-word objects cannot
go into MQ, LR, or CTR.
* configure (mips-sgi-iris5*): Disable; not working yet.
* mips/iris5.h (ASM_SPEC, LINK_SPEC, CPP_PREDEFINES): Extend a bit.
* expmed.c (expand_divmod): Create RESULT in proper mode when trying
quotient-and-remainder insn.
Thu Oct 21 13:14:40 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Makefile.in (STMP_FIXPROTO): Uncomment the definition.
* varasm.c (output_constructor): Fix previous change:
if no TYPE_DOMAIN, don't set min_index.
Thu Oct 21 11:13:21 1993 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* fixincludes: Avoid conflicting uses of __wchar_t in cc1plus and
stdlib.h for ARM/RISCiX.
Thu Oct 21 08:16:13 1993 Doug Evans (dje@canuck.cygnus.com)
* Makefile.in (install-common): Remove g++ dependency.
Not built for cross compilers.
Thu Oct 21 00:04:40 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* fixincludes (required): Accept a space instead of a tab
between #define and CTRL (or _CTRL).
* config/m68k/m68k.c (output_move_double): Use reg_overlap_mentioned_p
when checking for overlap between source and dest.
Fix syntax for the lea insn for double overlap case.
* m68k.md (movdi, movdf, movxf): Delete the & from load case.
* config/m88k/m88k.h (ASM_FINISH_DECLARE_OBJECT): Emit .size
only if DECLARE_ASM_NAME.
Wed Oct 20 21:32:11 1993 Jeff Law (law@snake.cs.utah.edu)
* pa.c (output_arg_descriptor): Do not stop searching if a USE
for the static link or struct value register is found.
Wed Oct 20 22:43:22 1993 Michael Meissner (meissner@osf.org)
* i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Don't emit .size
directive if using the OSF/rose object format.
* i386/osfrose.h, i386/osfelf.h (SWITCH_TAKES_ARG): Allow use of
System V.4 -h * and -z * switches.
(LINK_SPEC): Pass -G, -h*, -z* switches through to the ELF linker.
Map -static, -symbolic, and -shared into the appropriate -B, -d,
and -G options when invoking the ELF linker.
Wed Oct 20 20:32:54 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* cse.c (fold_rtx): Alter previous change: don't fold the shift
if the count exceeds the width of the value inside the subreg.
* varasm.c (copy_constant): New function.
(output_constant_def): Use it.
* Makefile.in ($(srcdir)/INSTALL): Add --no-split.
Wed Oct 20 19:35:35 1993 John F Carr (jfc@mit.edu)
* alpha.h (LIB_SPEC): Link -lprof1 when profiling.
Wed Oct 20 19:21:18 1993 Jim Wilson (wilson@cygnus.com)
* cccp.c (sys_errlist): Conditionalize declaration for BSD 4.4.
* collect2.c, g++.c, gcc.c, protoize.c: Likewise.
* collect2.c (my_strerror): Move block local extern declarations
for sys_errlist and sys_nerr to file level.
Wed Oct 20 18:27:28 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* c-typeck.c (output_init_element): When initializing a union,
do it right away: never put the field on the pending list.
* patch-header.c (main): Delete output file before opening it.
Discard directory names from progname.
* patch-header.c: Simplify and fix handling of errno.h.
(It no longer thinks errno.h always needs fixing.)
* patch-header.c (write_lbrac, write_rbrac): Only write
extern "C" if that specifically is needed.
Wed Oct 20 18:12:21 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* pa.md (cacheflush): Split into dcacheflush and icacheflush.
Rewrite to use space regs correctly.
* pa.h (TRAMPOLINE_TEMPLATE): Rewrite.
(TRAMPOLINE_SIZE): Update with new size.
(INITIALIZE_TRAMPOLINE): Rewrite.
Wed Oct 20 17:58:32 1993 Per Bothner (bothner@kalessin.cygnus.com)
* varasm.c (output_constructor): Add support for non-zero
lower array bound.
* expr.c (store_constructor): Likewise.
Wed Oct 20 15:16:34 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* toplev.c (rest_of_decl_compilation): Use ASM_FINISH_DECLARE_OBJECT
unconditionally, but define it as no-op by default.
* config/convex/convex.h (MAX_LONG_TYPE_SIZE): Defined.
* varasm.c (size_directive_output): New variable.
* toplev.c (rest_of_decl_compilation): Use ASM_FINISH_DECLARE_OBJECT.
* config/svr4.h (ASM_DECLARE_OBJECT_NAME): Set size_directive_output.
(ASM_FINISH_DECLARE_OBJECT): Defined.
* config/i386/osfrose.h, config/m88k/m88k.h: Likewise.
* patch-header.c (inf_size): Move decl inside main.
(strdup): Use xmalloc rathern than malloc.
Don't use the return value of strcpy.
(INF_UNGET): Take parameter; do nothing if EOF.
(strcpy): Declaration deleted.
Wed Oct 20 11:39:56 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* xm-mips.h (HAVE_VPRINTF): Define for BSD 4.4.
* mips.c (mips_output_filename): When emitting stabs, don't
disable them if using gas.
(mips_output_lineno): Likewise.
* sparc.h (INITIALIZE_TRAMPOLINE): Emit 3 flush instrutions.
* sparc.md (flush): Add pattern.
Wed Oct 20 10:47:54 1993 Michael Meissner (meissner@osf.org)
* configure (mips-dec-bsd, mips-dec-osf): Fix a typo in the last
change.
Wed Oct 20 07:57:06 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* rs6000.h, aix31.h (RS6000_CROR_BIT_NUMBER): Deleted.
(RS6000_CALL_GLUE): New macro.
* rs6000.c (print_operand, case '.'): Use RS6000_CALL_GLUE
instead of RS6000_CROR_BIT_NUMBER.
(print_operand, case 'E', case 0): Use "return", not "break".
* rs6000.md (call): Don't use CROR or NOP; just use "%.".
* c-common.c (check_format_info): Consider "char", "signed char",
and "unsigned char" types as equivalent.
* loop.c (find_and_verify_loops): Properly continue loop after
moving a block of code near a loop exit.
Wed Oct 20 02:01:50 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Makefile.in (extraclean): Delete file djefoo.
(stmp-fixproto): Depend on stmp-headers, not LIBGCC2_DEPS.
Tue Oct 19 23:11:16 1993 James Van Artsdalen (james@bigtex.cactus.org)
* config/i386/isc.h (LONG_DOUBLE_TYPE_SIZE): Define as 64 bits
due to FP emulator bugs in the target kernel.
* config/i386/sco.h: Likewise (kernel bugs are only suspected).
Tue Oct 19 21:21:34 PDT 1993 Ralph Campbell (ralphc@pyramid.com)
* configure (mips-dec-bsd): New alternative.
* config/mips/dec-bsd.h: New file.
Tue Oct 19 18:49:40 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* c-typeck.c (digest_init): For arrays, use comptypes to compare
types instead of comparing pointers.
Tue Oct 19 11:24:16 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
* reload1.c (reload): Cope when inherited register is larger than
one word.
(choose_reload_regs): Ditto.
Tue Oct 19 18:09:18 1993 David Edelsohn (edelsohn@npac.syr.edu)
* rs6000.md (define_function_unit): Add support for RIOS2
asymmetric integer units.
Tue Oct 19 17:48:37 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* function.c (assign_parms): Properly set parm_reg_stack_loc for
args that are a CONCAT.
* clipper.md (movdi): Force use of "o" alternative if
operand 1 is a MEM.
* alpha.h (HAVE_ATEXIT): New macro.
* reload.c (push_reload, find_reloads): If an operand is
a SUBREG of a PLUS, force a reload and reload what is inside.
* dbxout.c (print_int_cst_octal): Fix bug in last change.
Tue Oct 19 17:42:23 1993 Richard Earnshaw (rwe11@cl.cam.ac.uk)
* arm.c: Include reload.h
(arm_reload_out_hi): New function.
(output_call): Don't look inside operands[0].
* arm.h: Add function definitions for shift_instr,
output_mov_long_double_fpu_from_arm,
output_mov_long_double_arm_from_fpu,
and output_mov_long_double_arm_from_arm.
(FLOAT_WORDS_BIG_ENDIAN): Define to 1.
(SECONDARY_OUTPUT_RELOAD_CLASS): return GENERAL_REGS for HImode
outputs.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):
output floating point constants as hex, make order correct given
definition of FLOAT_WORDS_BIG_ENDIAN.
(PRINT_OPERAND): Delete redundant code when handling CONST_DOUBLE.
* arm.md: (reload_outhi): New pattern.
(movhi): Handle reloads better.
(restorehi): Delete. Also tidy up commented out code.
(call): Make this a define_expand.
(matcher for above): only accept MEM(reg)
(call_value): Handle as for (call).
* xm-arm.h (HOST_FLOAT_WORDS_BIG_ENDIAN): Define to 1.
Tue Oct 19 13:25:03 1993 Mike Stump (mrs@rtl.cygnus.com)
* cp-type2.c (build_m_component_ref): Fix typo, type must be set,
after changing component. Fixes problem introduced on Thu Sep 9
21:22:40 1993.
Tue Oct 19 01:09:56 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* configure (m68000-convergent-sysv*): Untangle from m68k-*-lynxos.
* Makefile.in (stmp-fixproto): Depend on LIBGCC2_DEPS.
(crtbegin.o, crtend.o): Specify -fno-inline-functions.
* config/mips/iris5.h: New file.
* config/mips/mips.c (mips_asm_file_start): Handle ABICALLS_ASM_OP.
* configure (mips-sgi-iris5*): New configuration.
Mon Oct 18 16:16:26 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* cse.c (note_mem_written): (mem (scratch)) means clobber everything.
* gen-protos.c: Include ctype.h.
* expmed.c (extract_split_bit_field): Change shift count calculation
in little-endian case.
* Makefile.in (stmp-fixproto): Added dependency on fixproto script.
Mon Oct 18 11:26:08 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
* c-typeck.c (process_init_element): Align structure elements
that are subaggregates.
* c-decl.c (finish_decl): After preserve_initializer call, set
TREE_PERMANENT bit in initializer.
* combine.c (can_combine_p): Don't combine instructions across a
volatile insn.
* rtlanal.c (volatile_insn_p): New function.
Sun Oct 17 03:04:49 1993 Torbjorn Granlund (tege@adder.cygnus.com)
* configure (powerpc-ibm-aix*): Set cpu_type.
* config.sub: Recognize powerpc.
Sun Oct 17 21:37:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
* reload1.c (eliminate_regs_in_insn): Rerecognize some loads and
stores.
* pa.md (indexing loads and stores): Provide variants which avoid
reload problems with shift-add operations.
* pa.h (READONLY_DATA_SECTION): Disable.
Thu Oct 14 12:38:27 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* cse.c (fold_rtx): Special case handling for folding
a subreg of the result of a left shift.
Thu Oct 14 00:05:42 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* alpha.h (DBX_CONTIN_LENGTH): Set to 4000.
* expr.c (do_jump_for_compare): Don't blow up if aren't any insns
in this sequence yet.
* alpha.h (LINK_SPEC): Now OK to pass -O3 to linker.
(ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Work around
bug in DEC assembler.
Wed Oct 13 21:47:58 1993 Ian Lance Taylor (ian@cygnus.com)
* fixincludes: Remove erroneous parens from Alpha OSF/1 <sym.h>.
Wed Oct 13 16:08:54 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* config/m68k/sun3.h (CPP_PREDEFINES): Don't define _CROSS_TARGET_ARCH.
* fold-const.c (invert_truthvalue): Handle SAVE_EXPR.
* Makefile.in (install-collect2): Depend on install-dir.
(install-info, install-float-h-cross): Likewise.
Wed Oct 13 15:51:02 1993 Stephen L. Moshier (moshier@world.std.com)\
* real.h (FLOAT_WORDS_BIG_ENDIAN): New macro.
(HOST_FLOAT_WORDS_BIG_ENDIAN): Likewise, for host.
(REAL_VALUE_TO_TARGET_DOUBLE (default version)): Use them.
(efixi, efixui): Return HOST_WIDE_INT.
(REAL_VALUE_FROM_INT): Cast inputs to HOST_WIDE_INT.
* real.c (FLOAT_WORDS_BIG_ENDIAN, HOST_FLOAT_WORDS_BIG_ENDIAN):
Use everywhere in place of WORDS_BIG_ENDIAN, HOST_WORDS_BIG_ENDIAN,
except in reference to endian-ness of integers.
(etrunci, etruncui, efixi, efixui, ereal_from_int, ereal_to_int,
ltoe, ultoe, eifrac, euifrac): Change `long' to `HOST_WIDE_INT'.
Wed Oct 13 15:47:37 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* c-parse.in (initdcl, notype_initdcl): Call decl_attributes
before init as well as after.
* config/ns32k/pc532.h (FRAME_POINTER_REQUIRED):
Require a frame pointer if fn calls setjmp.
Wed Oct 13 15:27:01 1993 Jim Wilson (wilson@cygnus.com)
* jump.c (jump_optimize): When moving a range of instructions,
include all NOTEs before the range, not just line number notes.
Wed Oct 13 11:01:51 1993 Per Bothner (bothner@wombat.gnu.ai.mit.edu)
* patch-header.c: #include <sys/types.h> before <sys/stat.h>.
Wed Oct 13 11:57:33 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* rs6000.md (seq): Fix typo: had "xubfic" instead of "subfic".
* va-m88k.h (_VA_LIST_): Define.
* alpha.c (ignore_line_number): No longer used.
* mips-tdump.c (print_global_hdr): Fix typo in cast in ctime call.
* cccp.c (main): Don't catch SIGPIPE if no such signal.
* x-alpha: File deleted, all shipped OSF systems have `ranlib'.
* fold-const.c (optimize_bit_field_compare, decode_field_reference):
Don't do anything if get_inner_reference returned its argument.
* bi-reverse.c: Avoid defining NULL; can cause duplicate definition
errors.
Wed Oct 13 07:58:28 1993 Michael Meissner (meissner@osf.org)
* i386/osfrose.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define like in V.4.
(FUNCTION_PROFILER, FUNCTION_PROLOGUE): Don't load up %eax with
the pointer value before calling indirect, just call indirect the
memory address to save some cycles in profiling.
Tue Oct 12 12:41:12 1993 Jim Wilson (wilson@sphagnum.cygnus.com)