summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rwxr-xr-xgcc/ChangeLog10905
-rwxr-xr-xgcc/ChangeLog.013017
-rwxr-xr-xgcc/ChangeLog.Cygnus3393
-rwxr-xr-xgcc/ChangeLog.lib3781
-rwxr-xr-xgcc/FSFChangeLog1503
-rwxr-xr-xgcc/FSFChangeLog.1010110
-rwxr-xr-xgcc/FSFChangeLog.1114493
-rwxr-xr-xgcc/FSFChangeLog.121244
-rwxr-xr-xgcc/c-aux-info.c61
-rwxr-xr-xgcc/c-common.c87
-rwxr-xr-xgcc/c-decl.c6
-rwxr-xr-xgcc/c-lex.c69
-rwxr-xr-xgcc/c-tree.h5
-rwxr-xr-xgcc/cccp.1674
-rwxr-xr-xgcc/cccp.c10833
-rwxr-xr-xgcc/cexp.y1248
-rwxr-xr-xgcc/gcc.c59
-rwxr-xr-xgcc/toplev.c10
18 files changed, 1 insertions, 71497 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
deleted file mode 100755
index 7b8f481..0000000
--- a/gcc/ChangeLog
+++ /dev/null
@@ -1,10905 +0,0 @@
-2000-05-11 Nick Clifton <nickc@redhat.com>
-
- * config/arm/thumb.h (ASM_OUTPUT_ALIGN): Do not emit a 0
- alignment, the assembler treats it as a word alignment.
-
-Thu Oct 14 20:09:17 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
-
- * config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Add %nobits option
- to .section when outputting a .bss section to deal with multiple
- .bss input sections (as happens with -fdata-sections)
- Also output %progbits, not @progbits so the assembler doesn't treat as
- a comment.
- * config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Likewise
-
- * config/arm/t-arm-elf (MULTILIB_OPTIONS): Add -mcpu=arm7 multilib...
- (MULTILIB_DIRNAMES): ...in directory nofmult...
- (MULTILIB_EXCEPTIONS): ...but don't need to build it with thumb-interwork
- (MULTILIB_MATCHES): And make sure it matches all the relevant CPUs
-
- * config/arm/lib1funcs.asm (_call_via_rX): Allow compilation of
- thumb parts even when building with non-thumb CPUs, by forcing
- thumb mode.
-
- * config/arm/elf.h (MULTILIB_DEFAULTS): include -fno-leading-underscore
- to prevent unnecessary multilib
-
-Fri Oct 8 14:44:16 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
-
- * configure.in (arm*-*-*): bracket arm core versions correctly
- * configure: regenerate
-
-Tue Oct 5 17:12:26 MDT 1999 Diego Novillo <dnovillo@cygnus.com>
-
- * config/rs6000/rs6000.c (secondary_reload_class): For
- TARGET_ELF make sure that HIGH instructions are copied
- into BASE_REGS.
-
-Wed Feb 10 11:03:22 1999 Richard Henderson <rth@cygnus.com>
-
- * configure.in (alphaev6*): Fix typo in target_cpu_default2.
-
-Wed Apr 7 14:07:34 1999 Jeffrey A Law (law@cygnus.com)
-
- * unroll.c (copy_loop_body): Always ensure at least two insns
- are in the copied loop.
-
-Thu Aug 26 16:05:39 1999 Jason Merrill <jason@yorick.cygnus.com>
-
- * configure.in (sparc86x-aout): Set use_collect2.
-
-Fri Aug 27 15:19:48 1999 Jason Merrill <jason@yorick.cygnus.com>
-
- * rs6000.md: Add missing arg to rs6000_output_load_toc_table.
-
-Fri Aug 27 09:53:14 1999 Brendan Kehoe <brendan@cygnus.com>
-
- * sparc.md: For DF splits for reg/mem and mem/reg, Do gen_rtx_REGs
- explicitly if we're dealing with a REG to circumvent gen_highpart and
- gen_lowpart doing word swapping. (For sparc86x-elf
- -mlittle-endian-data support.)
-
-1999-08-31 Brendan Kehoe <brendan@cygnus.com>
-
- * real.c (GET_REAL, PUT_REAL): Honor aliasing rules for the byte
- order changes for these, using memcpy instead of trying
- assignment. Fixes problems emitting float values in some
- situations.
-
-Sat Sep 25 14:03:53 1999 Nick Clifton <nickc@cygnus.com>
-
- * varasm.c (asm_emit_uninitialised): If flag_data_sections is
- true, then attempt to use ASM_OUTPUT_UNIQUE_BSS or
- ASM_OUTPUT_UNIQUE_LOCAL to emit the variable.
-
- * tm.texi (ASM_OUTPUT_UNIQUE_BSS): Document new target macro.
- (ASM_OUTPUT_UNIQUE_LOCAL): Document new target macro.
-
-Sat Sep 25 13:42:15 1999 Nick Clifton <nickc@cygnus.com>
-
- * varasm.c (asm_emit_uninitialised): New function: Generate
- the assembler statements necessary to declare an uninitialised
- variable.
- (ASM_EMIT_LOCAL): New macro: Emit a local, uninitialised
- variable.
- (ASM_EMIT_BSS): New macro: Emit an entry in the bss section.
- (ASM_EMIT_COMMON): New macro: Emit an entry in the common
- section.
- (assemble_variable): Use asm_emit_uninitialised to emit an
- uninitialised variable.
-
-Thu Sep 2 22:00:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (shorten_branches): Make value passed to LABEL_ALIGN
- conform to documentation.
- * sh.h (LABEL_ALIGN): If aligning loops, call sh_label_align
- to check for special cases.
- (sh_label_align): Declare.
- * sh.c (sh_label_align): Define.
-
-Wed Sep 8 10:56:38 1999 Nick Clifton <nickc@cygnus.com>
-
- Patch supplied by Bernd Schmidt <bernds@cygnus.com>:
-
- * reload.c (MODE_BASE_REG_CLASS): Provide default definition and
- replace all uses of BASE_REG_CLASS with this macro.
-
-Wed Aug 25 09:38:17 1999 Nick Clifton <nickc@cygnus.com>
-
- * dwarf2out.c (mem_loc_descriptor): Accept LABEL_REFs along
- with SYMBOL_REFs.
-
-Tue Aug 24 20:16:55 1999 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/telf.h (ASM_WEAKEN_LABEL): Define.
- (TYPE_ASM_OP, SIZE_ASM_OP, TYPE_OPERAND_FORMAT,
- ASM_DECLARE_RESULT, ASM_DECLARE_FUNCTION_NAME,
- ASM_DECLARE_OBJECT_NAME, AS_FINISH_DECLARE_OBJECT_NAME,
- ASM_DECLARE_FUNCTION_SIZE): Define.
-
-Mon Aug 23 15:59:32 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
-
- * config/mips/mips.c (mips_move_2words): Only split 64-bit loads for
- floating-point registers
-
-Thu Jun 24 03:00:01 1999 Jorn Rennecke <amylaar@cygnus.co.uk>
-
- * mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
-
-Wed Aug 11 18:28:07 EDT 1999 Diego Novillo <dnovillo@cygnus.com>
-
- * config/mips/mips.c (mips_move_2words): Emit two li insns for
- 32-bit targets.
-
-1999-04-16 Angela Marie Thomas <angela@cygnus.com>
-
- * config/mips/elfb4300.h: Support for dwarf2 debugging.
- * config/mips/elfl4300.h: Likewise.
-
-Thu May 13 13:44:58 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
-
- * config/rs6000/rs6000.md (nonlocal_goto_receiver): Add check for
- constant_pool_size () before restoring the TOC register.
-
-Thu Jul 29 14:47:23 1999 Vladimir Makarov <vmakarov@drake.cygnus.com>
-
- * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
- -Asparclite for sparc86x.
- (CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
- sparc86x.
- (ASM_CPU_SPEC): Use -Asparclite for sparc86x.
-
-Fri Jun 4 03:20:40 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (fixup_addr_diff_vecs): Emit braf reference label.
- (braf_label_ref_operand): Delete.
- * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
- * sh.md (casesi_jump_2): Operand1 is now the inside of a
- label_ref, and has no predicate.
- The patten has a predicate to guard against invalid substitutions.
- (dummy_jump): Delete.
- (casesi): Update use of casesi_jump_2.
-
-Wed Jun 2 21:53:05 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
-
-Fri Jul 23 21:14:57 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * dwarfout.c (ASM_OUTPUT_DWARF_DATA2): Cast VALUe to unsigned short.
-
-Wed Mar 10 18:56:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (choose_reload_regs): When inheriting from the frame
- pointer, don't clobber it.
-
-Mon Jul 19 14:23:42 1999 Vladimir Makarov <vmakarov@toad.to.cygnus.com>
-
- * config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
- instead of V8 for sparclite86x in cpu_table.
-
-Thu Jul 15 14:53:54 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
-
- * config/sparc/lite.h (TARGET_DEFAULT): Enable sparclite.
-
- * config/sparc/liteelf.h (TARGET_DEFAULT): Ditto.
-
- * config/sparc/sp86x-aout.h (TARGET_DEFAULT): Ditto.
-
- * config/sparc/sp86x-elf.h (TARGET_DEFAULT): Ditto.
-
-
-Tue Jun 15 12:57:44 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
-
- * config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- Add the macros.
-
- * config/d10v/d10v.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- Ditto.
-
- * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- Ditto.
-
- * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- Ditto.
-
- * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- Ditto.
-
- * config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- Ditto.
-
-Mon Jul 12 10:13:25 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
-
- * config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
- always unless NO_DEBUG is used. Compile this code
- unconditionally.
- (replace_symbols_in_block): Compile it unconditionally.
-
-Fri Jun 11 21:00:45 1999 Jim Wilson <wilson@cygnus.com>
-
- * config/mips/mips.c (mips_secondary_reload_class): Check for
- (PLUS (SP) (REG)) and return appropriate register class.
- * config/mips/mips.md (reload_insi): Delete predicate for operand 1.
- Handle (PLUS (SP) (REG)).
-
-1999-06-16 Nick Clifton <nickc@cygnus.com>
-
- * config/tc-arm.c (thumb_set): New pseudo op.
- (text, data, section): Override these pseudo ops with ARM
- specific versions.
- (s_thumb_set): New function: Perform the same as a .set pseudo
- op, but also mark the alias'ed symbol as being a Thumb
- function.
- (arm_s_text): New function: Perform the same as the .text
- pseudo op, but dump the literal pool before changing
- sections.
- (arm_s_data): New function: Perform the same as the .data
- pseudo op, but dump the literal pool before changing
- sections.
- (arm_s_section): New function: Perform the same as the
- .section pseudo op, but dump the literal pool before changing
- sections.
- (arm_cleanup): Do not reset the current section before dumping
- the literal pool.
-
-1999-06-16 Nick Clifton <nickc@cygnus.com>
-
- * varasm.c (assemble_alias): Use the macro
- ASM_OUTPUT_DEF_FROM_DECLS, if defined, in preference to
- ASM_OUTPUT_DEF.
-
- * tm.texi: Document new macro ASM_OUTPUT_DEF_FROM_DECLS.
-
- * config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New macro.
-
-
-Thu Jun 10 10:02:30 1999 Nick Clifton <nickc@cygnus.com>
-
- * config/tc-arm.c (ARM_8, ARM_9): Define.
- (md_parse_option): Parse ARM8 and ARM9 cpu types.
-
-Thu Jun 10 10:02:30 1999 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.h (TARGET_CPU_arm9, TARGET_CPU_arm9tdmi):
- Define.
- (TARGET_OPTIONS): Add 'tune=' and 'fp=' options.
- (arm_is_strong): New exported variable.
- (arm_is_6_or_7): New exported variable.
- (USE_RETURN_INS): Add parameter to macro.
-
- * config/arm/arm.md (is_strongarm): New attribute.
- (model_wbuf): New attribute.
- (write_buf, write_blockage, core): Amend models.
-
- * config/arm/arm.c (MAX_INSNS_SKIPPED): Replace with a
- variable called 'max_insns_skipped'.
- (insn_flags, tune_flags): New variables.
- (arm_is_strong, arm_is_6_or_7): New variable.
- (struct all_cores): Add arm8 and arm9 cores.
- (arm_override_options): Rewrite to allow tuning of processor
- selection.
- (bit_count): New function: Count the number of bits set in a
- word.
- (use_return_insn): Add parameter. Disable conditional returns
- if they are inefficient.
- (arm_rtx_costs): Examien tuning parameter to determine
- multiply costs.
- (load_multiple_sequence): Add arm9 tuneing.
- (final_prescan_insn): Add arm9 tuneing.
-Thu Jul 8 16:07:26 1999 Jason Merrill <jason@yorick.cygnus.com>
-
- * sparc/liteelf.h: Handle ctors like sparc86x.
-
-Wed Jun 2 10:03:01 1999 Catherine Moore <clm@cygnus.com>
-
- * config/arm/thumb.c (thumb_print_operand): Process 'c' type
- operands for selective linking support.
- * config/arm/telf.h (MAKE_DECL_ONE_ONLY): Define.
- (UNIQUE_SECTION_P): Define.
- (UNIQUE_SECTION): Define.
-
-1999-05-27 Felix Lee <flee@cygnus.com>
-
- * fixinc.x86-linux-gnu (FD_ZERO): missing patch from drepper:
- remove memory output operands.
- * fixinc/fixinc.x86-linux-gnu (FD_ZERO): sync with above.
-
-Sat May 22 18:18:43 1999 Jason Merrill <jason@yorick.cygnus.com>
-
- * sparc/liteelf.h: Handle ctors like MIPS crosses.
- * sparc/lite.h (STARTFILE_SPEC, LIB_SPEC): Define to "".
- * configure.in: Don't use libgloss.h on sparclite-elf.
- Use collect2 on sparclite-aout.
-
-Mon Mar 1 16:36:18 1999 Jeffrey A Law (law@cygnus.com)
-
- * mips.md (div_trap_normal, div_trap_mips16): Require the dependent
- insn to be an INSN before looking at its pattern.
-
-Thu Feb 4 10:46:30 1999 Gavin Romig-Koch <gavin@cygnus.com>
-
- * config/mips/mips.md ([u]divmodsi4,[u]divmoddi4,[u]divsi3,[u]divdi3,
- [u]modsi3,[u]moddi3) : Don't copy the "zero" argument to a register
- before calling gen_div_trap.
-
-Wed Feb 3 15:51:04 1999 Gavin Romig-Koch <gavin@cygnus.com>
-
- * config/mips/mips.c (true_reg_or_0_operand) : New function.
- * config/mips/mips.h (PREDICATE_CODES): Add true_reg_or_0_operand.
- * config/mips/mips.md (div_trap,div_trap_normal,div_trap_mips16):
- Use true_reg_or_0_operand for div_trap.
-
-Wed Feb 3 15:26:58 1999 Gavin Romig-Koch <gavin@cygnus.com>
-
- * config/mips/mips.md (div_trap_mips16): Remove nop's after branches.
-
-Mon Jan 18 12:03:08 1999 Gavin Romig-Koch <gavin@cygnus.com>
-
- * config/mips/mips.md (div_trap): Split div_trap_mips16
- from div_trap.
- (div_trap_normal,div_trap_mips16): Correct the length attributes.
-
-Sat May 22 18:19:10 1999 Jason Merrill <jason@yorick.cygnus.com>
-
- * configure.in: Don't use libgloss.h on mips64vr4100-elf,
- mips64vr4300-elf, or mips64vr5xxx-elf.
-
-1999-05-21 Ulrich Drepper <drepper@cygnus.com>
-
- * new1.cc: Use __GCC_THROW and __GCC_nothing instead of __THROW
- and __nothing.
- * new2.cc: Likewise.
-
-1999-05-21 Ulrich Drepper <drepper@cygnus.com>
-
- * inc/new: Use __GCC_THROW and __GCC_nothing instead of __THROW
- and __nothing.
-
-Sat May 15 11:59:47 1999 Jim Wilson <wilson@cygnus.com>
-
- * configure: Rebuild.
-
-Sat May 15 13:05:41 1999 Jim Wilson <wilson@cygnus.com>
-
- * arm.md (zeroextractqi_compare0_scratch): Disable.
-
-Fri May 14 21:18:48 1999 Jim Wilson <wilson@cygnus.com>
-
- * reload1.c (choose_reload_regs): New locals check_regnum, nr,
- cant_inherit. When calling reload_reg_free_for_value_p, loop over
- each reg in check_reg in case it is a multi-word hard register.
-
-Fri May 14 13:57:03 1999 Stan Cox <scox@cygnus.com>
-
- * range.c (range_inner): Pick up devo change to set all_label_ref
- from LABEL_NUSES instead of using LABEL_REFS.
-
-1999-05-14 Ulrich Drepper <drepper@cygnus.com>
-
- * fixinc/fixinc.x86-linux-gnu (FD_ZERO): Fix operand numbers in
- asm input operands.
-
-Fri May 7 12:31:21 1999 Jim Wilson <wilson@cygnus.com>
-
- * mips/mips.c (mips_select_rtx_section): When TARGET_MIPS16, use
- function_section instead of text_section.
- * mips/mips.h (ENCODE_SECTION_INFO): Add check for UNIQUE_SECTION_P
- in TARGET_MIPS16 STRING_CST handling.
-
-Wed Sep 23 00:16:41 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * cse.c (cse_insn): Don't substitute inside a libcall if we would
- need to update the RETVAL insn's notes, and if the new value is a
- hard reg register changed between the current insn and the RETVAL
- insn.
-
-Fri May 7 12:31:21 1999 Jim Wilson <wilson@cygnus.com>
-
- * mips/elf64.h (MAKE_DECL_ONE_ONLY, UNIQUE_SECTION_P): Define.
-
-Fri May 7 18:12:55 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
-
- * sparc.h (GO_IF_LEGITIMATE_ADDRESS): Prohibit REG+REG addressing
- for TFmode when there are no instructions which accept REG+REG
- instructions.
-
-Thu Apr 15 15:00:47 1999 Vladimir Makarov <vmakarov@makita.cygnus.com>
-
- * expmed.c (extract_bit_field): Extract field smaller than a word
- when unsignedp not assuming that the field is an integer.
-
-Thu Apr 29 07:40:21 1999 Vladimir Makarov <vmakarov@makita.cygnus.com>
-
- * config/d10v/d10v.c (d10v_output_addr_const): Use parentheses
- around SYMBOL_REF.
- (print_operand_memory_reference): Remove output of parentheses
- around symbols. This is Nick Clifton's patch dated Nov 16, 1998.
-
-Sat Apr 10 13:09:18 1999 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.c (di_operand): Allow SUBREGs as well.
- (soft_df_operand): Allow SUBREGs as well.
-
-Sun Apr 25 03:17:33 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (insn_lengths_max_uid): New variable.
- (init_insn_lengths, shorten_branches): Set it.
- (get_attr_lengths): Test insn uid against insn_lengths_max_uid.
-
-Mon Apr 26 13:30:31 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
-
- * optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
- calls within a libcall block to indicate no throws are possible.
- * flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
- libcall blocks. Don't add edges to exception handlers if we see
- a REG_EH_REGION note with a value of 0.
- (make_edges): Override active_eh_region vector if the call has a note
- indicating the call does not throw.
-
-Mon Apr 26 13:56:17 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
-
- * config/alpha/alpha.md (builtin_setjmp_receiver): Use a label_ref.
-
-1999-04-13 Jason Merrill <jason@yorick.cygnus.com>
-
- * decl2.c (setup_initp): Compare DECL_ASSEMBLER_NAME instead
- of the decls themselves.
-
-1999-04-09 Jason Merrill <jason@yorick.cygnus.com>
-
- * decl.c (start_decl): Pass attributes to grokdeclarator.
- (grokdeclarator): Handle attributes on constructor-syntax
- initializers.
-
-Fri Apr 9 11:18:55 1999 Jason Merrill <jason@yorick.cygnus.com>
-
- * c-common.c (decl_attributes, A_INIT_PRIORITY): Allow arrays
- of classes, too.
-
-Mon Apr 5 12:58:03 1999 Catherine Moore <clm@cygnus.com>
-
- * config/mips/elf.h, config/mips/elf64.h
- (CTORS_SECTION_ASM_OP): Define.
- (DTORS_SECTION_ASM_OP): Define.
- (EXTRA_SECTIONS): Define.
- (INVOKE__main): Define.
- (NAME__MAIN): Define.
- (SYMBOL__MAIN): Define.
- (EXTRA_SECTIONS_FUNCTIONS): Define.
- (SECTION_FUNCTION_TEMPLATE): Define.
- (ASM_OUTPUT_CONSTRUCTOR): Define.
- (ASM_OUTPUT_DESTRUCTOR): Define.
- (CTOR_LIST_BEGIN): Define.
- (CTOR_LIST_END): Define.
- (DTOR_LIST_BEGIN): Define.
- (DTOR_LIST_END): Define.
- (LIB_SPEC): Define.
- (STARTFILE_SPEC): Define.
- (ENDFILE_SPEC): Define.
- * config/mips/linux.h: Undefine all of the above.
- * config/mips/rtems64.h: Likewise.
- * config/mips/t-biendian (EXTRA_MULTILIB_PARTS): Define.
- (CRTSTUFF_T_CFLAGS): Define.
- * config/mips/t-lsi: Likewise.
- * config/mips/t-r3900: Likewise.
- * config/mips/t-vr4100: Likewise.
- * config/mips/t-vr4300: Likewise.
- * config/mips/t-vr5000: Likewise.
- * config/mips/t-elf: New file.
- * config/mips/vxworks.h: New file.
- * configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
- (mips*-*-*elf*): Use t-elf instead of t-ecoff.
- * configure: Regenerate.
-
-Tue Apr 6 15:58:28 1999 Catherine Moore <clm@cygnus.com>
-
- * gcc/config/mips/elf.h (MAKE_DECL_ONE_ONLY): Define.
- (UNIQUE_SECTION_P): Define.
-
-1999-03-24 Jim Blandy <jimb@zwingli.cygnus.com>
-
- * libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Initialize on all
- platforms.
-
-Wed Mar 31 16:13:42 1999 Jim Wilson <wilson@cygnus.com>
-
- * loop.c (find_and_verify_loops): Don't move a block between a
- tablejump and its immediately following jump table.
-
-Tue Mar 30 13:19:36 1999 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (throw_helper): Just return the SP offset, rather than
- a whole udata. Include args_size in the offset.
- (__throw, __rethrow): Adjust.
-
-Mon Mar 29 18:10:31 1999 Richard Henderson <rth@cygnus.com>
-
- * flow.c (add_edge): Don't add duplicate edges.
-
-Fri Mar 26 11:38:01 1999 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Define.
-
-Sat Mar 27 16:13:50 1999 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (mark_used_regs): Improve handling of ASMs.
-
-Mon Mar 29 15:48:39 1999 Jason Merrill <jason@yorick.cygnus.com>
-
- * invoke.texi (Invoking G++, C++ Dialect Options): Update.
-
-Fri Feb 12 16:56:10 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (load_mems): Don't guess how to do a load / store, use
- gen_move_insn.
-
-Fri Mar 5 23:08:01 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (find_reloads_subreg_address): Actually create the USE
- for the register, not the new memory location.
-
-Fri Feb 12 21:09:51 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (find_reloads_subreg_address): New function, broken out of
- find_reloads_toplev.
- (find_reloads_toplev, find_reloads_address_1): Use it.
-
-Fri Mar 5 21:41:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (emit_reload_insns): If pseudo that can't be replaced
- with its equivalent constant, fall back to reload_in.
-
-Mon Mar 8 18:47:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (copy_src_to_dest): New argument max_old_uid.
-
-Tue Mar 2 16:45:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * unroll.c (copy_loop_body): Don't make extra copies of
- NOTE_INSN_LOOP_CONT notes.
-
-1999-02-11 Nick Clifton <nickc@cygnus.com>
-
- * lib/remote.exp (proc remote_exec): Display timeout in log
- message.
-
- * lib/target.exp (proc default_target_compile): Add support for
- timeout option.
-
- * baseboards/arm-sim.exp: Set gcc,timeout to 500.
-
-1999-02-11 Nick Clifton <nickc@cygnus.com>
-
- * lib/gcc.exp (proc gcc_target_compile): Add support for timeout
- specified by target.
-
- * lib/consistency.exp (proc gcc_target_compile): Add support for
- timeout specified by target.
-
-Mon Mar 15 12:39:38 1999 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.c (init_idents): New function. Initialise
- static tree nodes for m32r specific attribute identifiers. Remove
- leading and trailing double underscores from the attribute names.
- (m32r_valid_machine_decl_attribute): Call init_idents.
- (m32r_encode_section_info): Call init_idents.
-
-Mon Mar 15 15:27:44 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Don't use
- PIC_OFFSET_TABLE_REGNUM for register allocation when -fPIC.
-
-Thu Mar 11 11:00:34 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * global.c (build_insn_chain): Add code for processing
- explicitly case when n_basic_blocks == 0.
-
-1999-03-11 Jim Wilson <wilson@cygnus.com>
-
- * reload1.c (calculate_needs_all_insns): When ignore equivalence
- setting insn, clear need_elim, need_reload, and need_operand_change.
-
-Wed Mar 10 00:01:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_combine_note_store): Fix calculation of number
- of affected registers.
-
-1999-03-04 Martin Hunt <hunt@cygnus.com>
-
- * gdbtk-hooks.c (gdbtk_load_hash): Change download_hash()
- to Download::download_hash().
-
-1999-03-01 Martin Hunt <hunt@cygnus.com>
-
- * gdbtk.c (TclDebug): Increase buffer size to 10000, in case
- backtraces are very long.
-
-1999-02-26 James Ingham <jingham@cygnus.com>
-
- * gdbtk-cmds.c (gdb_search): Add a -filename switch, which returns
- the file in which the function or type was defined, along with the
- function...
-
- * gdbtk.c (gdbtk_find_main): The external editor stuff was getting
- set twice...
-
-1999-02-18 Martin Hunt <hunt@cygnus.com>
-
- * gdbtk-cmds.c (gdb_disassemble): When debugging native threads,
- set disassemble_from_exec to 0. This fixes bugs where disassembly
- of threaded programs failed.
-
-1999-02-16 James Ingham <jingham@cygnus.com>
-
- * gdbtk.c (gdbtk_init): Remove redundant setting of the external
- editor variables.
-
-1999-02-11 Martin Hunt <hunt@cygnus.com>
-
- * gdbtk-variable.c (variable_format): Enable binary format.
-
-1999-02-11 Martin Hunt <hunt@cygnus.com>
-
- * gdbtk-hooks.c: Change ALL Tcl_Eval calls in hooks to
- call report_error() if there are errors.
-
-1999-02-11 Martin Hunt <hunt@cygnus.com>
-
- * gdbtk.c, gdbtk-cmds.c, gdbtk-hooks.c: Removed old IDE stuff.
-
-1999-02-09 Martin Hunt <hunt@cygnus.com>
-
- * gdbtk-hooks.c: Remove gdbtk_ignorable_warning prototype.
- It is in gdbtk.h.
- (report_error): New function. Displays debugging information
- if a hook function fails. All hook functions should probably
- call this.
- (gdbtk_warning): Call report_error() if there is a problem.
- (gdbtk_register_changed): Call report_error() if there is a problem.
- (gdbtk_memory_changed): Call report_error() if there is a problem.
- (gdbtk_ignorable_warning): Pass along class argument. If there
- is a problem, call report_error().
-
- * gdbtk-cmds.c: Remove TclDebug prototype. It is in gdbtk.h.
- (gdb_loadfile): Add class name to gdbtk_ignorable_warning call.
-
- * gdbtk.c (TclDebug): Add "priority" argument. Calls "dbug"
- instead of "debug". Removed non-ANSI ifdefs.
-
- * gdbtk.h: Fixed protos for gdbtk_ignorable_warning and TclDebug.
-
-1999-03-03 James Ingham <jingham@cygnus.com>
-
- * i386-tdep.c (_initialize_i386_tdep): Set the inital value for
- disassembly flavor at startup, rather than hardcoding it.
-
-
-1999-03-04 Martin Hunt <hunt@cygnus.com>
-
- * download.ith: New file.
- * download.itb: New file. Implements itcl3 class and replaces
- download.tcl.
-
- * srcbar.tcl (create_menu_items): Call create_run_menu
- without arguments.
- (create_run_menu): Add Disconnect and Connect to Run menu
- instead of file menu. Change download_it to Download::download_it.
-
- * srctextwin.itb (do_key): Change binding to call
- Download::download_it.
-
- * debugwin.itb (DebugWinDOpts::build_win): Add ProcessWIn to list
- of classes for filter.
-
- * interface.tcl (set_target): No need to set window title.
- (run_executable): Change download_it to Download::download_it
-
-1999-03-04 James Ingham <jingham@cygnus.com>
-
- * modal.tcl (ModalDialog): Handle WM_DELETE_WINDOW by calling the
- cancel method. Also set unpost_notification to different values
- in unpost & the destructor, so if the object dies irregularly, you
- know not to try to double destruct it.
-
-1999-03-03 James Ingham <jingham@cygnus.com>
-
- * warning.tcl (WarningDlg::constructor):Destroy with unpost.
-
- * util.tcl (get_disassembly_flavor, set_disassembly_flavor,
- init_disassembly_flavor): Added these functions for the Intel P2
- disassembly flavors.
- (list_element_strcmp): New function for lsort -command on lists.
-
- * tracedlg.tcl (TraceDlg): Change combobox callback to reflect new
- after behavior.
-
- * targetselction.itb (TargetSelection::save): If the target
- is not valid, tell the user rather than simple refusing to go
- away.
- Also move stuff around to isolate the instance dependant stuff as
- much as possible
- Also replace delete with unpost.
-
- * targetselection.ith (TargetSelection): Make as much of the
- initialization stuff Class functions as possible. Then only
- initialize it once.
-
- * srcwin.ith (_update_title): initialize need_files.
-
- * srcwin.itb (SrcWin::_build_win): I changed the combobox so it
- ran its code in an idle handler, so we can take out all the after
- idle... cruft here.
-
- * srctextwin.ith (SrcTextWin): Added textheight variable so you
- can adjust the height of the text display.
-
- * srctextwin.itb (SrcTextWin::build_win): Don't hardcode the size
- of the text window, set it with the textheight option instead.
- Also replace childsite with "component text" wherever required.
-
- * srcpref.itb (SrcPref::build_win, set_flavor): Added the Intel
- disassembly flavor combobox. Added set_flavor method to support
- this.
- * srcpref.ith: Added declaration for set_flavor, and
- disassembly_flavor instance variable.
-
- * modal.tcl (ModalDialog::post, unpost): Added unpost method to
- provide a more regular way to dismiss the dialogs. Just
- destroying them was leading to funny destruction order bugs.
- Added cancel method, which is what client code should call to
- "force close" the dialog, so child classes can override, and do
- some cleanup.
-
- * memwin.itb (MemWin::destructor): Call the cancel method of the
- Preferences dialog (if it is posted) rather than just destroying
- it.
-
- * mempref.itb (MemPref::ok): call unpost, since this is a modal
- dialog.
-
- * managedwin.itb (ManagedWin::reveal): Used to be called raise.
- Don't reuse Tcl or Tk commands unless there is a really good
- reason to...
- (ManagedWin::destroy_toplevel): renamed from delete, which
- conflicts both with the Itcl1.5 delete method, and the Itcl3.0
- delete command... Also, don't use this as the way to destroy
- ManagedWins, rather destroy the object and let the object take
- care of removing its toplevel.
- (ManagedWin::_create): Group all the windows with
- . for WindowManagers that properly handle this.
- (ManagedWin::_create): Use dont_remember_size
- rather than the instance variable. Also, windows which don't
- remember size are not necessarily transient.
- (ManagedWin::_create): Only call post if the
- ManagedWin also isa ModalDialog. It is clearer what is going on.
- * managedwin.ith: Carry through the name changes.
-
- * main.tcl: call init_disassembly_flavor for Intel assembly
- flavors.
-
- *main.tcl: Group . with . This is half of the work required to
- play nice with WindowMaker. The other half waits till we can get
- gdb to pass the command-line arguments to Tcl.
-
- * interface.tcl: Add file_changed_hook to the hooks. The browser
- window watches this and refreshes the file box if it changes.
-
- * globalpref.ith (GlobalPref): This should be a modal dialog.
- * globalpref.itb (GlobalPref::build_win): call update idletasks,
- not update. Since we are calling update, there is no reason to
- delay calling resize_font_item_height.
- * globalpref.itb: Replace destroy toplevel with unpost.
-
- * debugwin.itb (DebugWin::build_win): Replace childsite with
- "component text"
-
- * console.itb (Console::_build_win): Replace childsite with
- "component text"
-
- * browserwin.itb: Rewritten pretty completely.
- * prefs.tcl (pref_set_defaults): add the browser preferences.
-
- * prefs.tcl (pref_set_defaults): add the intel disassembly flavor
- preference.
-
- * about.tcl (About): This should be a modal dialog.
-
-1999-03-02 James Ingham <jingham@cygnus.com>
-
- * globalpref.itb (GlobalPref::make_font_item): Don't do the
- resize_font_item_height here, since an update can cause the resize
- before all the windows are built. Delay to the end of build_win
- instead.
-
-1999-02-24 James Ingham <jingham@cygnus.com>
-
- * toolbar.tcl (remove_button): Specify the row in the toolbar from
- which you are removing the item. On Windows, there are two rows
- in the standard toolbar...
-
-1999-02-22 Martin Hunt <hunt@cygnus.com>
-
- * warning.tcl (WarningDlg::constructor): Remove extra quote
- that was causing loading of this module to fail.
-
- * managedwin.itb (ManagedWin::_create): If the pack fails
- (for example because the warning dialog reliazed it should
- ignore the warning) print a warning debug message and return.
- Also, while testing, tell the window manager to position
- the window without asking the user for the position.
-
-1999-02-18 Martin Hunt <hunt@cygnus.com>
-
- * srctextwin.itb (SrcTextWin::FillAssembly): As a last resort,
- if the disassembly fails for some reason, switch to the scratch
- pane and write in a message about not being able to disassemble.
-
-1999-02-18 Martin Hunt <hunt@cygnus.com>
-
- * helpviewer.ith (HtmlViewer): Add thread and function
- browser windows to help index.
-
- * help/index.toc: Removed.
-
-1999-02-18 Martin Hunt <hunt@cygnus.com>
-
- * help/thread.html: New file. Thread window online help.
- * help/index.html: Add thread.html, and alphabetize list.
- * help/source.html: Add index for thread_bp.
-
-1999-02-17 Martin Hunt <hunt@cygnus.com>
-
- * globalpref.itb (GlobalPref::build_win): Add a checkbutton to
- allow use of an internet browser to read help files.
-
- * prefs.tcl (pref_set_defaults): Add preference gdb/help/browser.
- Default is to use builtin html help.
-
- * helpviewer.itb (HtmlViewer::open_help): New public proc.
- Depending on preferences, opens help in external browser or
- internal htmlviewer.
-
- * toolbar.tcl (create_help_menu): Use HtmlViewer::open_help.
-
-1999-02-17 Martin Hunt <hunt@cygnus.com>
-
- * managedwin.itb (ManagedWin::_create): Restore some lines that
- were accidently checked in commented out.
-
-1999-02-17 Keith Seitz <keiths@cygnus.com>
-
- * help/index.html: Add function browser.
- * help/browser.html: New help file.
-
-1999-02-12 Martin Hunt <hunt@cygnus.com>
-
- * managedwin.itb (ManagedWin::_create): If a window class defines a
- public variable "nosize" the size will not be set, only the position.
- * browserwin.ith (toggle_all_bp): Add public variable "nosize".
-
-1999-02-12 Martin Hunt <hunt@cygnus.com>
-
- * process.ith: New file.
- * process.itb: New file. Converted process.tcl to new itcl class.
- * process.tcl: Deleted.
-
- * warning.tcl (WarningDlg::constructor): Set the window name.
-
-1999-02-11 Martin Hunt <hunt@cygnus.com>
-
- * variables.tcl (editEntry): Check that $variable is not empty.
-
- * warning.tcl (WarningDlg::constructor): Put focus on the
- "OK" button and bind it to <Return>.
-
- * watch.tcl (add): If the user attempts to add a non-existent
- variable to the watch-window, display an ignorable warning.
-
- * interface.tcl (gdbtk_tcl_ignorable_warning): -transient
- should not take an argument.
- (set_target_name): Ditto.
- * srcbar.tcl (create_menu_items): Ditto.
- * memwin.itb (MemWin::create_prefs): Ditto.
- * managedwin.itb (ManagedWin::_create): Ditto.
-
-1999-02-11 James Ingham <jingham@cygnus.com>
-
- Move the Intel disassembly mode changes into devo.
-
- * main.tcl: Init the disassembly flavor bits.
- * prefs.tcl: Define disassembly-flavor
- * srcpref.ith: Add current_disassembly_flavor instance variable
- and set_flavor method.
- * srcpref.itb (build_win): Add the disassembly_flavor combobox.
- (apply): set the flavor, if applicable.
- (set_flavor): New method.
- * util.tcl: Add 3 new functions - get_disassembly_flavor,
- list_disassembly_flavor and init_disassembly_flavor.
-
-1999-02-10 Martin Hunt <hunt@cygnus.com>
-
- * srcwin.itb, download.tcl, main.tcl, srcbar.tcl: Removed old
- IDE stuff.
-
- * toolbar.tcl (create_help_menu): Updated Cygnus URL and
- removed old IDE stuff.
- (create_ide_buttons): Removed.
-
-1999-02-10 Martin Hunt <hunt@cygnus.com>
-
- * managedwin.itb (ManagedWin::_create): Bind Alt-F4 to
- always close the window.
-
-1999-02-10 Martin Hunt <hunt@cygnus.com>
-
- * main.tcl: Removed old debugging preferences.
- * prefs.tcl (pref_set_defaults): Ditto.
-
-1999-02-09 Martin Hunt <hunt@cygnus.com>
-
- * managedwin.itb (ManagedWin::_create): Simplify raise
- and post now that all windows use new manager.
-
- * warning.tcl (WarningDlg): Rewrite of entire class to use
- new itcl 3.0 class. Also now uses a "class name" to keep
- track of which messages should be ignored. Uses tk_messageBox
- of the message doesn't have -ignorable set.
-
- * interface.tcl: Removed IDE stuff.
- (gdbtk_tcl_ignorable_warning): Accept "class" argument and
- use it when creating a WarningDlg. Use new ManagedWin::open.
-
- * srctextwin.itb (SrcTextWin::set_tp_at_line): Fix TraceDlg
- open command to use ManagedWin::open.
-
- * srcpref.itb (SrcPref::build_win): Comment out line number
- option. It wasn't very useful and did not become effective
- until GDBtk was restarted.
-
-1999-02-09 James Ingham <jingham@cygnus.com>
-
- * srctextwin.itb (build_win): Set the paned window background to
- white so it looks better when you switch windows.
-
- * mempref.itb (build_win): Use the libgui combobox for the bytes per
- line field.
-
- * mempref.itb: remove some global declarations that I missed when
- I converted all the variables to instance data.
-
- * variables.tcl (change_value): Catch one more place where $this
- was being passed as a window name.
-
- * TODO: Added some more items, and removed some that had been fixed.
-
-Mon Feb 8 12:27:16 1999 Keith Seitz <keiths@cygnus.com>
-
- * interface.tcl (set_target_name): Fix switch syntax
- error and getd the options preference in case it's not set.
-
-
-1999-03-03 James Ingham <jingham@cygnus.com>
-
- * browser.test: Fixed up to match the new function browser.
- This is not done yet...
-
- * srcwin.test: Check for errors when the bbox is called for a text
- item that is not on screen (so bbox is ""). Return something more
- useful.
-
-1999-03-01 James Ingham <jingham@cygnus.com>
-
- * Changelog entries merged over from gdb development branch.
-
- 1999-01-12 Martin Hunt <hunt@cygnus.com>
-
- * gdb.gdbtk/srcwin.test: Add a bunch of tests for the source
- window filename and function comboboxes. Add in stack tests.
-
- 1999-01-11 Martin Hunt <hunt@cygnus.com>
-
- * gdb.gdbtk/srcwin.test: New file. Source Window tests.
- * gdb.gdbtk/srcwin.exp: New file. Source Window tests.
-
- Wed Jan 6 09:22:52 1999 Keith Seitz <keiths@cygnus.com>
-
- * gdb.gdbtk/c_variable.test (c_variable-1.9): Add new
- test to check for creation of a variable that is really a type.
- (c_variable-7.81): Use "output" instead of "print" to get PC.
- Include missing bits of test.
-
- * gdb.gdbtk/cpp_variable.test (cpp_variable-1.6): Default format
- is now "natural", not "hexadecimal"
- (cpp_variable-2.22): Ditto.
- (cpp_variable-2.24): Force format to hex before getting value.
-
- * gdb.gdbtk/cpp_variable.exp: Supply missing arg to gdbtk_analyze_results.
-
- Tue Jan 5 12:40:52 1999 Keith Seitz <keiths@cygnus.com>
-
- * gdb.gdbtk/c_variable.c, c_variable.test, c_variable.exp: New C
- language tests for variable object interface.
-
- * gdb.gdbtk/cpp_variable.h, cpp_variable.cc, cpp_variable.test,
- cpp_variable.exp: New C++ language tests for variable object
- interface.
-
- * gdb.gdbtk/Makefile.in (EXECUTABLES): Add c_variable and cpp_variable.
-
- Tue Jan 5 12:33:47 1999 Keith Seitz <keiths@cygnus.com>
-
- * lib/gdb.exp (gdbtk_analyze_results): Generic function
- for outputting results of test run.
-
- * gdb.gdbtk/defs (gdbtk_test): Handle xpass and xfail.
- (gdbtk_test_error): New proc which handles error aborts.
-
- * gdb.gdbtk/console.exp: Use gdbtk_analyze_results.
- Check if we have a valid DISPLAY before running.
- * gdb.gdbtk/browser.exp: Ditto.
-
- 1998-12-07 Martin M. Hunt <hunt@cygnus.com>
-
- * lib/gdb.exp (gdbtk_start): Fix path for itcl library.
- * gdb.gdbtk/browser.test: Change "manage open" to ManagedWin::open.
- * gdb.gdbtk/console.test: Same.
- * gdb.gdbtk/*: Update from devo.
-
- Fri Jul 24 14:57:19 1998 Keith Seitz <keiths@cygnus.com>
-
- * gdb.gdbtk/Makefile.in: Add new example program "stack".
- * gdb.gdbtk/browser.test,browser.exp: Add browser window
- tests.
- * gdb.gdbtk/stack1.c,stack2.c: Test case for browser window.
-
-end-sanitize-gdbtk
-Thu Feb 25 13:21:58 1999 Michael Meissner <meissner@cygnus.com>
-
- * flags.h (flag_optimize_comparisons): Add new flag.
-
- * toplev.c (flag_optimize_comparisons): Add new global.
- (f_options): Add -foptimize-comparisons.
-
- * fold-const.c (fold_truthop): Add optimizing sequence of comparsions
- opreations.
- (simple2_operand_p): New function like simple_operand_p, but
- allows some simple arithmetic as well.
-
- * jump.c (jump_optimize): Don't do branch elimination on single
- insns setting ints larger than the word size.
-
- * invoke.texi: Update documentation.
-
-Wed Mar 3 19:09:11 1999 Jim Wilson <wilson@cygnus.com>
-
- * sparc/elf.h (MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL,
- MODDI3_LIBCALL, UMODDI3_LIBCALL, STDC_0_IN_SYSTEM_HEADERS): Undef.
- (INIT_SUBTARGET_OPTABS): Define to empty.
- * sparc/liteelf.h (LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE,
- STDC_0_IN_SYSTEM_HEADERS, MULDI3_LIBCALL, DIVDI3_LIBCALL,
- UDIV3_LIBCALL, MODDI3_LIBCALL, UMODDI3_LIBCALL): Delete.
- * sparc/sp86x-elf.h: Likewise.
-
-Mon Mar 1 19:09:32 1999 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (CROSS_FLOAT_H): Delete.
- (FLOAT_H): Use float_h_file.
- (rest.cross, stmp-int-hdrs): Delete gfloat.h dependency.
- (gfloat.h): Delete.
- (stmp-int-hdrs): Use FLOAT_H instead of gfloat.h.
- (mostlyclean): Delete gloat.h reference.
- (install-cross-rest, install-float-h-cross, stmp-headers): Update
- comments.
- * configure.in (sparcv9-*-solaris2*): Set float_format to none.
- (sparc-*-solaris2*): Set float_format to none for 2.5 and higher.
- (float_h_file): Set from float_format. Substitute into Makefile.in.
- (float_format): No longer substitute into Makefile.in.
- * cross-make (FLOAT_H): Delete.
- * config/mips/t-cross64 (FLOAT_H): Delete.
- * configure: Rebuilt.
-
-Wed Mar 3 20:02:21 1999 Jim Wilson <wilson@cygnus.com>
-
- * m68k/m68020-elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Undef.
- (STARTFILE_SPEC, ENDFILE_SPEC): Define to empty string.
-
-Fri Feb 26 12:53:00 1999 Jim Wilson <wilson@cygnus.com>
-
- * config/misp/mips.h (REGISTER_MOVE_COST): Make the cost of moving
- from HI/LO/HILO/MD into general registers the same as for one
- of moving general registers to HI/LO/HILO/MD.
-
-Tue Mar 2 09:24:10 1999 Nick Clifton <nickc@cygnus.com>
-
- * configure.in (gxx_include_dir): Rename to
- gcc_gxx_include_dir in order to prevent it being overridden by
- a top level Makefile.
- (gcc_tooldir): If $exec_prefix != $prefix then use the
- difference between the two as the basis for gcc_tooldir.
- (dollar): Define.
-
- * configure: Rebuild.
-
- * Makefile.in: Rename gxx_include_dir to gcc_gxx_include_dir.
- Add subsitution for dollar.
-
-Mon Mar 1 15:03:51 1999 Jim Wilson <wilson@cygnus.com>
-
- * config/m68k/lb1sf68.asm (udivsi3): Change jmi to jcs. Fix comments.
- * config/m68k/m68k.h (LEGITIMATE_INDEX_REG_P): Reject SIGN_EXTEND of
- HImode reg when TARGET_5200.
-
-Fri Feb 26 14:52:21 1999 Catherine Moore <clm@cygnus.com>
-
- * toplev.c (compile_file): Disable -ffunction-sections and
- debugging warning if the object format is elf.
-
-Sat Feb 20 16:19:55 1999 Andrew Cagney <cagney@b1.cygnus.com>
-
- * config/mips/mips.c (mips_debugger_offset): When TARGET_MIPS16 &&
- frame_pointer_needed adjust frame size.
- (function_prologue): Don't MIPS16 .mask GPOFFSET. Already adjusted
- in .frame pseudo-op.
- Frm Jim Wilson <wilson@cygnus.com>:
- * mips.c (function_prologue): Adjust frame size in .frame pseudo-op
- when TARGET_MIPS16 && frame_pointer_needed.
-
-1999-03-01 Brendan Kehoe <brendan@cygnus.com>
-
- Sat Jan 30 08:27:23 1999 Jeffrey A Law (law@cygnus.com)
-
- * alias.c (fixed_scalar_and_varying_struct_p): Add "static" to
- function definition.
- (aliases_everything_p, write_dependence_p):Likewise.
-
-1999-02-25 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.c: Check ANSI_PROTOTYPES instead of __STDC__.
-
-1999-02-23 Jason Merrill <jason@yorick.cygnus.com>
-
- * errfn.c: Change varargs code to look like toplev.c.
-
-Thu Feb 23 15:20:49 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (is_sfunc): New attribute.
- * sh.h (INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): Use it.
-
-Thu Feb 11 17:51:24 1999 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (movdf_hardfloat32): Add support for non-offsetable
- LO_SUMs in addition to register+register addresses.
-
-1999-02-18 Vladimir Makarov <vmakarov@loony.cygnus.com>
-
- * configure.in (i[34567]86-*-linux-gnu*,
- i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
- i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
- fixincludes.
-
- * configure: Rebuilt.
-
- * fixinc.x86-linux-gnu: New script for fixing asm-statements bug
- on x86 linux.
-
- * fixinc/fixinc.x86-linux-gnu: Copy of the previous one.
-
- * fixinc/mkfixinc.sh (i[34567]86-*-linux-gnu*,
- i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
- i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
- fixincludes.
-
-Wed Feb 17 13:27:24 1999 Jim Wilson <wilson@cygnus.com>
-
- * m68k/crt0.S (start): Use jpbl not jmi in coldfire code.
-
-Thu Feb 18 15:52:49 1999 Jim Wilson <wilson@cygnus.com>
-
- * m68kelf.h (ASM_RETURN_CASE_JUMP): Add 5200 support.
-
-Fri Feb 12 13:06:28 1999 Jim Wilson <wilson@cygnus.com>
-
- * stmt.c (expand_return): Return if optimize_tail_recursion succeeded.
- (optimize_tail_recursion): Change return type from void to int.
- Add return statements.
- * tree.h (optimize_tail_recursion): Change prototype to match.
-
-Sun Feb 14 09:24:27 1999 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (iorsi3_internal3): Emit `#' for case where operand3
- is not CR0 so it is properly split.
-
-Fri Feb 12 13:20:52 1999 Jeffrey A Law (law@cygnus.com)
-
- * reload.c (find_reloads_address_1): Fix handling of an autoincremented
- pseudo which is homed in the stack.
-
-Tue Feb 16 23:57:17 1999 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.igen (retf): Fix return address computation and store
- the new pc value into nia.
-
-Wed Feb 10 10:09:41 1999 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.md (bset, bclr): Operand 0 is a read/write operand.
-
-Fri Feb 12 00:51:26 1999 Jeffrey A Law (law@cygnus.com)
-
- * mips.c (save_restore_insns): Fix loop to save/restore FP registers.
- (compute_frame_size): Change loop over FP regs to be consistent
- with the loop in save_restore_insns.
-
-Fri Feb 12 13:20:52 1999 Jeffrey A Law (law@cygnus.com)
-
- * h8300.md (zero_extendhisi2 H8/300 variant): Correctly handle
- extending a CONST_INT.
-
- * h8300.md (peephole for combining memrefs): Delete incorrect peephole.
-
-Fri Feb 12 13:20:52 1999 Jeffrey A Law (law@cygnus.com)
-
- * m68k.md (ashldi_const): Disable for !TARGET_5200. Fix indention.
- (ashldi3 expander): Similarly. Update comments.
-
-Fri Feb 12 13:20:52 1999 Jeffrey A Law (law@cygnus.com)
-
- * calls.c (store_one_arg): Mark any slots used for the argument
- as in-use immediately after we're done saving any slots which
- will be overwritten by this argument.
-
-
-Wed Feb 10 13:30:18 1999 Dave Brolley <brolley@cygnus.com>
-
- * mbchar.c (local_mb_cur_max): Handle the case where MB_CUR_MAX is 0.
-
-Fri Feb 12 18:29:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (loop_insn_first_p, biv_elimination_giv_has_0_offset):
- New functions.
- (maybe_eliminate_biv_1): Use biv_elimination_giv_has_0_offset.
-
-Fri Feb 12 19:22:41 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * loop.c (strength_reduce): Disable the latest loop optimizations.
-
- * loop.c (find_life_end): Wrap parameters in forward definition by
- missed PROTO.
-
-1999-02-08 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.md: Enforce TARGET_LONG_CALLS option.
- * config/v850/v850.c (construct_restore_jr, construct_save_jarl):
- Enforce TARGET_LONG_CALLS option.
-
-Sat Feb 6 11:04:08 1999 Jim Wilson <wilson@cygnus.com>
-
- * unroll.c (find_splittable_givs): After express_from, call replace_rtx
- to convert dest_reg to new_reg.
-
-Wed Feb 10 10:09:41 1999 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c (reload_combine_note_store): Second argument is no
- longer unused/ignored. Handle multi-register hard regs.
- (move2add_note_store): Simplify.
-
-Sat Feb 6 10:31:35 1999 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c (reload_combine_note_store): Be more careful with
- STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT.
- (move2add_note_store): Likewise.
-
-
-Sat Feb 6 18:14:46 1999 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (reload_insi): Do not earlyclobber the output operand.
-
-1999-02-05 Michael Meissner <meissner@cygnus.com>
-
- * loop.c (check_dbra_loop): A store using an address giv for which
- we have no life information is not reversible.
-
-Fri Feb 5 17:08:01 1999 Dave Brolley <brolley@cygnus.com>
-
- * function.c (fixup_var_refs): Scan catch_clauses too.
-
-Fri Feb 5 11:33:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * c-common.c (decl_attributes): Fix reserved space for init_priority.
- * tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
-
-Fri Feb 5 12:37:05 1999 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (strength_reduce): Clear not_every_iteration when
- passing the NOTE_INSN_LOOP_CONT note.
-
- * haifa-sched.c (add_dependence): Do not add a dependency on a
- note.
-
-Fri Feb 5 10:52:58 1999 Nick Clifton <nickc@cygnus.com>
-
- * recog.c (split_block_insns): Only call update_flow_info if
- instruction scheduling is enabled.
-
-Fri Feb 5 07:09:29 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (first_loop_store_insn): New file-scope variable.
- (prescan_loop): Set it.
- (check_dbra_loop): Check if a store depends on a register
- that is set after the store.
-
-Fri Feb 5 06:55:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * unroll.c (entire file): Remove tabs / spaces at end of lines.
- Replace spaces with tabs where appropriate.
-
-Thu Feb 4 15:12:41 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (scan_loop): New argument loop_cont. Changed caller.
- (strength_reduce): New argument loop_cont. Changed caller.
- Before clearing not_every_iteration after a label, check if
- we are not already past LOOP_CONT.
-
-Wed Feb 3 20:44:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.h (express_from): Declare.
- (struct induction): Replace derived flag with derived_from pointer.
- * loop.c (strength_reduce, record_giv, recombine_givs): Likewise.
- (express_from): No longer static.
- * unroll.c (find_splittable_givs): Replace derived with derived_from.
- When processing an address giv with which another giv has been
- combined that has also been derived from a third giv, handle like
- having combined with the third giv.
- Set splittable_regs_updates appropriately for derived givs.
-
-Wed Feb 3 11:56:23 1999 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (insn_sets_and_refs_are_delayed): New function.
- * pa.h (INSN_SETS_ARE_DELAYED): Use it.
- (INSN_REFERENCES_ARE_DELAYED): Likewise.
-
-Tue Feb 2 22:42:51 1999 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in: Change all uses of AR to AR_FOR_TARGET. Change all uses
- of HOST_AR to AR. Likewise for AR_FLAGS, RANLIB, and RANLIB_TEST.
- (RANLIB_TEST): Test to see if ranlib exists. Only test absolute file
- names if host == target.
- (HOST_AR, HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Delete.
- (AR_FLAGS_FOR_TARGET): Renamed from AR_FOR_TARGET_FLAGS.
- (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Delete rules
- setting them to *_FOR_TARGET.
- * cross-make (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST):
- Delete.
-
-Fri Jan 29 21:00:56 1999 Bob Manson <manson@charmed.cygnus.com>
-
- * resource.c, resource.h: New files.
- * Makefile.in (OBJS): Add it.
-
- * haifa-sched.c (regno_use_in): Moved to rtlanal.c.
- (split_block_insns): Moved to recog.c.
- (update_flow_info): Make public.
- * rtl.h: Declare them.
-
- * reorg.c: Moved the functions dealing with computing resource
- usage to resource.c.
-
- * sched.c (regno_use_in): Moved to rtlanal.c.
- (update_flow_info): Make public.
- (schedule_insns): Use split_block_insns.
-
- * recog.c (split_block_insns): New function.
-
-Tue Feb 2 20:26:23 1999 Stan Cox <scox@cygnus.com>
-
- * sparc.h (TARGET_CPU_sparc86x): Added. TARGET_CPU_sparclite86x synonym.
-
-Tue Feb 2 20:24:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (loop_optimize): Fix value max_uid_for_loop is reset
- to after find_and_verify_loops call.
-
-Tue Feb 2 19:48:29 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * (recombine_givs): Don't use a giv that's likely to be dead to
- derive others.
-
- * loop.c (recombine_givs): Fix test for lifetime overlaps / loop
- wrap around when deriving givs.
-
-Mon Feb 1 11:29:49 1999 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/tpe.h (WCHAR_TYPE): Define to 'unsigend short'.
- (WCHAR_TYPE_SIZE): Define to 16.
-
-1999-01-30 Jim Blandy <jimb@zwingli.cygnus.com>
-
- * configure: For PowerPC configurations, accept "401", "ec603e",
- "740", and "750" as valid arguments to --with-cpu. They're
- supported in config/rs6000/rs6000.c, but were missing from this
- list.
-
-Sat Jan 30 08:27:23 1999 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (parallel shift and shiftadd): Mark output of shift as an
- earlyclobber.
-
-Sat Jan 30 03:24:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (strength_reduce): Size reg_map according to reg_iv_type.
-
-Fri Jan 29 22:34:41 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (recombine_givs): Don't try to derive givs that have combined.
-
-Fri Jan 29 15:52:07 1999 Dave Brolley <brolley@cygnus.com>
-
- * emit-rtl.c (remove_insn): New function.
- * rtl.h (remove_insn): Add prototype.
- * function.c (reposition_prologue_and_epilogue_notes): Call remove_insn.
-
-Fri Jan 29 15:44:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning
- forward from cont dominator.
-
-Fri Jan 29 00:14:55 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (strength_reduce): Grow set_in_loop / n_times_set /
- may_not_optimize to proper size when converting biv increments
- into givs.
- If necessary, reallocate reg_iv_type / reg_iv_info before calling
- recombine_givs.
-
-Thu Jan 28 23:24:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (recombine_givs): New parameter unroll_p. If set, don't
- generate complex adds. Changed caller.
- Don't generate adds that cost more than the original one.
- (strength_reduce): Warning fixes.
-
-Wed Jan 27 23:39:53 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * rtl.h (insn_first_p): Declare.
- * rtlanal.c (insn_first_p): New function.
- * loop.h (varray.h): Include.
- (struct induction): Change combined_with to unsigned.
- New members derived, ix and last_use.
- (reg_iv_type, reg_iv_info): Now varray_type. All references changed.
- (REG_IV_TYPE, REG_IV_INFO): Define.
- (first_increment_giv, last_increment_giv): Declare.
- * loop.c (loop_number_loop_cont): New static variable.
- (loop_number_cont_dominator): Likewise.
- (reg_iv_type, reg_iv_info): Now varray_type.
- (first_increment_giv, last_increment_giv): New variables.
- (compute_luids, verify_dominator, find_life_end): New functions.
- (cmp_recombine_givs_stats, recombine_givs): Likewise.
- (loop_optimize): Allocate loop_number_loop_cont and
- loop_number_cont_dominator. Use compute_luids.
- (find_and_verify_loops): Initialize loop_number_loop_cont and
- loop_number_cont_dominator.
- (strength_reduce): Try to find bivs that can be expressed as givs
- of another biv, and to convert biv increments into givs.
- Call recombine_givs. Handle derived givs.
- (record_biv): New argument location. All callers changed.
- (record_giv): Initialize derived and last_use fields.
- (basic_induction_var): New argument location. All callers changed.
- (combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
- Increment combined_with instead of setting to 1.
- * unroll.c (derived_regs): New static variable.
- (unroll_loop): Initialize it.
- Allocate local_regno according to max_reg_num.
- (copy_loop_body): Cope with derived givs.
- (find_splittable_givs): Check for Givs made from biv increments.
- Set derived_regs for givs.
- * Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
-
-Wed Jan 27 19:31:36 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * function.c (purge_addressof_1): Handle case when a register
- has been used in a wider mode.
-
-Tue Jan 26 12:45:55 1999 Jim Wilson <wilson@cygnus.com>
-
- * function.c (expand_function_end): Pass arg_pointer_save_area to
- validize_mem before using it. Emit code into a sequence.
-
-Sun Jan 24 20:13:45 1999 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (left shift + set cr patterns): Add missing '#' to
- split patterns.
- (move register + set cr pattern): Ditto.
- (movdi, !TARGET_POWERPC64 splitters): Add back in Jan. 15th patch,
- inadvertently deleted.
-
-Sun Jan 24 08:07:59 1999 Jeffrey A Law (law@cygnus.com)
-
- * stmt.c (stmt_loop_nest_empty): New function.
- * tree.h (stmt_loop_nest_empty): Declare it.
- * rtl.def (CALL_PLACEHOLDER): New rtx code.
-
-Sat Jan 23 01:37:36 1999 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (gcc_tooldir): Handle case where exec_prefix has
- not been explicitly set.
- * configure: Rebuilt.
-
- * configure.in (gcc_tooldir): When not making a relative gcc_tooldir,
- use $exec_prefix/$target_alias for gcc_tooldir.
- * configure: Rebuilt.
-
-Fri Jan 22 11:48:56 1999 Richard Henderson <rth@cygnus.com>
-
- * cppp.c (xrealloc): Fix typo last change.
- * cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise.
- * genconfig.c, genemit.c, genextract.c, genflags.c: Likewise.
- * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
-
-1999-01-22 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (CR0_REGNO_P): New macro to test if cr0.
- (CR_REGNO_NOT_CR0_P): New macro to test if cr, but not cr0.
- (PREDICATE_CODES): Add cc_reg_not_cr0_operand.
- (cc_reg_not_cr0_operand): Add declaration.
-
- * rs6000.c (cc_reg_not_cr0_operand): Return true if register is a
- pseudo register, or a control register that is not CR0.
-
- * rs6000.md (all combiner patterns building . instructions): For
- all `.' instructions that do something and set cr0, add an
- alternative that does the operation, and then sets a different
- flag, in order to avoid using the costly mcrf instruction and also
- allow cr0 to be clobbered in asm statements. Also fix a few
- patterns that used the wrong register.
-
-Fri Jan 22 10:42:06 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of
- the macros.
-
-Fri Jan 22 07:43:01 1999 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (gcc_tooldir): Move before first reference.
- Let autoconf substitute in a value.
- * configure.in (gcc_tooldir): Only use a relative path to the
- tool directory if $exec_prefix == $prefix.
- * configure: Rebuilt.
-
- * Makefile.in (tooldir): Replace with gcc_tooldir.
-
-Thu Jan 21 21:53:36 1999 Richard Henderson <rth@cygnus.com>
-
- * emit-rtl.c (try_split): Don't try to split non-instructions.
-
-Thu Jan 21 20:24:02 1999 Richard Henderson <rth@cygnus.com>
-
- * rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept
- transformations that we have performed earlier.
- * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
-
- * alpha.md (prologue_stack_probe_loop): Don't do our own label
- handling, call gen_label_rtx instead.
-
-Thu Jan 21 17:45:18 1999 Richard Henderson <rth@cygnus.com>
-
- * cccp.c (xrealloc): Call malloc given a NULL old pointer.
- * collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise.
- * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
- * genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise.
- * genrecog.c, mips-tfile.c, protoize.c: Likewise.
-
-Thu Jan 21 15:48:03 1999 Dave Brolley <brolley@cygnus.com>
-
- * cppexp.c (cpp_lex): Allocate token_buffer dynamically.
-
-1999-01-21 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Remove labels
- `CYGNUS LOCAL i960-80bit'.
- * emit-rtl.c (operand_subword) : Ditto
- * stor-layout.c (layout_type): Ditto.
- * varasm.c (output_constant_pool): Ditto.
-
-Thu Jan 21 14:18:04 EST 1999 Andrew MacLeod <amacleod@cygnus.com>
-
- * expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
- move_by_pieces.
- (MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
- (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
- (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
- (move_by_pieces): Use new macros.
- (emit_block_move): Use new macros.
- (clear_by_pieces): Use new macros.
- (clear_storage): Use new macros.
- (emit_push_insn): Use new macros.
- (expand_expr): Use new macros.
- * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
- Define.
- (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
- (MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
- (MOVE_MAX_PIECES): move 8 bytes on SH4.
- * tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
- USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
- USE_STORE_PRE_DECREMENT): Describe new macros.
-
-Thu Jan 21 09:38:04 1999 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.c (arm_gen_store_multiple): Fix typo in recent
- update.
-
-Wed Jan 20 18:15:08 1999 Dave Brolley <brolley@cygnus.com>
-
- * function.c (assign_parms): Save and restore setting of
- TREE_USED (parm).
-
-Wed Jan 20 12:51:42 1999 Mark Mitchell <mark@markmitchell.com>
-
- * arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout.
- Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate.
-
-Tue Jan 19 21:20:52 1999 Richard Henderson <rth@cygnus.com>
-
- * recog.c (pop_operand): New function.
- * recog.h (pop_operand): Declare it.
- * genrecog.c (preds): Define it.
-
- * expr.c (do_jump_for_compare): Handle conditional branch expanders
- emitting multiple jump instructions.
- * jump.c (condjump_label): New function.
- * rtl.h (condjump_label): Declare it.
-
-Tue Jan 19 21:08:20 1999 Richard Henderson <rth@cygnus.com>
-
- * expr.c (emit_move_insn_1): Revert 17 Dec change. Don't emit
- clobber during or after reload.
-
-Tue Jan 19 16:56:03 1999 Richard Henderson <rth@cygnus.com>
-
- * genoutput.c (name_for_index): New function.
- (scan_operands, validate_insn_alternatives): Use it.
- * genrecog.c (insn_name_ptr_size): New variable.
- (make_insn_sequence): Fill in insn_name_ptr.
- (merge_trees): Use it.
-
-Tue Jan 19 16:37:36 1999 Richard Henderson <rth@cygnus.com>
-
- * i386/isc.h (TARGET_DEFAULT): Define symbolicly.
- * i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise.
- * i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise.
-
-Tue Jan 19 15:00:10 1999 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (NUM_STORES): Delete.
- (loop_store_mems): Turn into an EXPR_LIST of MEMs.
- (prescan_loop): Properly initialize loop_mems_idx.
- (note_addr_stored): Simplify using list structure instead of
- fixed sized array.
- (invariant_p, check_dbra_loop, load_mems): Similarly.
-
- * flow.c (invalidate_from_autoinc): New function.
- (mark_set_1, mark_used_regs): Use it.
-
- * Makefile.in (protoize.o, unprotoize.o): Depend on Makefile.
-
-Tue Jan 19 11:54:04 1999 Jason Merrill <jason@yorick.cygnus.com>
-
- * calls.c (expand_call): Strip a TARGET_EXPR if we're passing by
- invisible reference.
-
-1999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * invoke.texi (-mlong-double-64): New option description.
-
-1999-01-19 Jim Wilson <wilson@cygnus.com>
-
- * libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to
- LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
- (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New. Set to LONG_DOUBLE_TYPE_SIZE
- if not defined.
- * i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics.
- (CPP_SPECS): Add -mlong-double-64 support.
- (TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New.
- (TARGET_SWITCHES): Add -mlong-double-64 support.
- (LONG_DOUBLE_TYPE_SIZE): Likewise.
- (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
- * i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float.
- (CPP_SPECS): Add -mlong-double-64 support.
- * i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64.
- (MULTILIB_DIRNAMES): Add ld64.
- * i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise.
-
-Tue Jan 19 10:24:53 1999 Mark Mitchell <mark@markmitchell.com>
-
- * rtl.h (rtx_def): Update documentation.
- (MEM_IN_STRUCT_P): Likewise.
- (MEM_SCALAR_P): New macro.
- (MEM_COPY_ATTRIBUTES): Likewise.
- (MEM_SET_IN_STRUCT_P): Likewise.
- * rtl.texi (MEM_SCALAR_P): Document.
- * alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
- (fixed_scalar_and_varying_struct_p): New function. Use
- MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
- (aliases_everything_p): Likewise.
- (true_dependence): Use them.
- (write_dependence_p): New function, containing code common to
- anti_dependence and output_dependence.
- (anti_dependence): Use it.
- (output_dependence): Likewise.
- * calls.c (save_fixed_argument_area): Don't clear
- MEM_IN_STRUCT_P.
- (expand_call): Use MEM_SET_IN_STRUCT_P.
- (emit_library_call): Don't clear MEM_IN_STRUCT_P.
- (emit_library_call_value): Likewise.
- (store_one_arg): Use MEM_SET_IN_STRUCT_P.
- * combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
- (make_extraction): Likewise.
- (simplify_shift_const): Likewise.
- (gen_lowpart_for_combine): Likewise.
- * cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
- * emit-rtl.c (operand_subword): Likewise.
- (change_address): Likewise.
- * explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
- * expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
- (emit_group_store): Use MEM_SET_IN_STRUCT_P.
- (copy_blkmode_from_reg): Likewise.
- (store_field): Likewise.
- (expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
- heuristically. Use MEM_SET_IN_STRUCT_P.
- (get_memory_rtx): Likewise.
- * final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
- * function.c (assign_stack_temp): Clear MEM_SCALAR_P and
- MEM_ALIAS_SET on newly returned MEMs.
- (assign_temp): Use MEM_SET_IN_STRUCT_P.
- (put_reg_into_stack): Likewise.
- (fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
- (gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
- (assign_parms): Likewise.
- (expand_function): Likewise.
- * integrate.c (expand_inline_function): Likewise.
- (copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
- * loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
- * optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
- * print-rtl.c (print_rtx): Print /f for frame_related.
- * recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
- * reload1.c (reload): Copy MEM_SCALAR_P as well.
- * stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
- (expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
- * varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
- (output_constant_def): Likewise.
- * a29k.c (a29k_set_memflags_1): Take scalar_p.
- Set MEM_SCALAR_P.
- (a29k_set_memflags): Use it.
- * alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
- * c4x.c (c4x_scan_for_ld): Likewise.
- * h8300.c (fix_bit_operand): Likewise.
- * m88k.c (legitimize_address): Likewise.
- (block_move_loop): Likewise.
- (block_move_no_loop): Likewise.
- (block_move_sequence): Likewise.
- (m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
- * mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
- * rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
- * sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
- * arm.h (arm_gen_load_multiple): Take scalar_p.
- (arm_store_load_multiple): Likewise.
- * arm.c (arm_gen_load_multiple): Likewise.
- (arm_gen_store_multiple): Likewise.
- (arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
-Tue Jan 19 06:26:30 1999 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (cccp.o, cpplib.o): Depend on Makefile.
-
-Mon Jan 18 03:52:56 1999 Christian Bruel <Christian.Bruel@st.com>
- Jeffrey A Law (law@cygnus.com)
-
- * flow.c (last_mem_set): Delete variable. References removed.
- (mem_set_list): New variable.
- (life_analysis): Initialize and finalize alias analysis.
- (propagate_block); Initialize mem_set_list. Clear for CALL_INSNs.
- (insn_dead_p): For a store to memory, search the entire mem_set_list
- for a match.
- (mark_set_1): Kill entries on the mem_set_list for aliased writes or
- changes to their addresses. Add new entries to the mem_set_list for
- memory writes writes.
- (mark_used_regs): Kill entries on the mem_set_list which may be
- referenced by a load operation.
-
-Mon Jan 18 01:01:02 1999 Jeffrey A Law (law@cygnus.com)
-
- * alias.c (base_alias_check): Add missing return for differing
- symbols case.
-
-Sun Jan 17 19:23:20 1999 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (cppulp.o): Add dependencies.
-
- * i386.md (integer conditional moves): Add missing earlyclobbers.
-
- * regmove.c (optimize_reg_copy_1): Undo Aug 18 change. Update
- REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
- where a register is live.
-
-Sat Jan 16 15:13:46 1999 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (shadd): Create shadd insns, even if the result of the shift is
- needed without the addition.
-
-Sat Jan 16 10:48:16 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
-
-Fri Jan 15 17:43:59 1999 Jeffrey A. Law <law@rtl.cygnus.com>
-
- * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create
- (mem (lo_sum (...)) for TFmode unless TARGET_V9.
-
-Thu Jan 14 22:38:41 1999 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf.
-
- * stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid
- generating non-canonical rtl.
-
-1999-01-14 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * config/i960/i960.c (i960_output_move_double_zero,
- i960_output_move_quad_zero): New functions for moving zeros.
- (i960_output_move_double, i960_output_move_quad): Additional code
- for situation when moving unaligned register group.
-
- * config/i960/i960.h (i960_output_move_double_zero,
- i960_output_move_quad_zero): The function definitions.
-
- * config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
-
-1999-01-13 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * config/i960/i960.c (i960_function_prologue): New code (optimal
- solution) for saving global registers in local registers.
- (form_reg_groups, reg_group_compare, split_reg_group): New
- functions used by the code.
- (reg_group): New structure definition for the new code.
-
-Wed Jan 13 13:28:22 1999 Catherine Moore <clm@cygnus.com>
-
- * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
- before generating a call to abort for volatile functions.
- * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
- (TARGET_ABORT_NORETURN): Define.
- (abort-on-noreturn): New option.
-
-Wed Jan 13 00:59:04 1999 Jeffrey A Law (law@cygnus.com)
-
- * mips.h (LOAD_EXTEND_OP): Correct for SImode and CCmode moves when
- generating code for TARGET_64BIT.
-
-Tue Jan 12 10:23:24 1999 Stan Cox <scox@cygnus.com>
-
- * mips.md (call_value_internal3c): New pattern for -mips16 -mlong-calls.
-
-Tue Jan 12 02:36:10 PST 1999 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Tue Jan 12 01:30:19 1999 Richard Henderson <rth@cygnus.com>
-
- * rtl.c (rtx_alloc): Use memset instead of inline loop.
-
- * recog.h (recog_op_alt): Declare extern.
-
-Tue Jan 12 00:23:31 1999 Richard Henderson <rth@cygnus.com>
-
- * function.c (purge_addressof_1): If the note accesses a mem+addressof
- in a wider mode than any replacement, adjust the cached replacement.
- Cache trivial substitutions as well.
-
-Tue Jan 12 00:06:00 1999 Richard Henderson <rth@cygnus.com>
-
- * Makefile.in (OBJECTS): Add sbitmap.o.
- (BASIC_BLOCK_H): Add sbitmap.h.
- * basic-block.h: Move simple bitmap code to sbitmap.h.
- * flow.c: Move simple bitmap code to sbitmap.c
- * sbitmap.h, sbitmap.c: New files.
-
-Mon Jan 11 23:51:50 1999 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (TARGET_SWITCHES): Document switches.
- (TARGET_OPTIONS): Likewise.
-
- * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
-
-Mon Jan 11 22:54:14 1999 Richard Henderson <rth@cygnus.com>
-
- * tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
-
-Mon Jan 11 22:36:01 1999 Richard Henderson <rth@cygnus.com>
-
- * basic-block.h (basic_block_head): Rename to x_basic_block_head.
- (basic_block_end): Rename to x_basic_block_end.
- (BLOCK_HEAD, BLOCK_END): Update.
-
- * caller-save.c: Change basic_block_head/end references to
- BLOCK_HEAD/END.
- * combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
- * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
- * regmove.c, reload1.c, reorg.c, sched.c: Likewise.
-
-Thu Jan 11 18:37:50 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * invoke.texi (-mcpu=740, -mcpu=750): New options.
- (-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
- PPC750.
-
-1999-01-11 Michael Meissner <meissner@cygnus.com>
-
- * config/rs6000/rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all
- machines supported with -mcpu=xxx.
- (processor_type): Add PROCESSOR_PPC750.
- (ADJUST_PRIORITY): Call rs6000_adjust_priority.
- (RTX_COSTS): Supply costs for 750 multiply/divide operations.
- (rs6000_adjust_priority): Add declaration.
-
- * config/rs6000/rs6000.c (rs6000_override_options):
- -mcpu={750,740} now sets the processor type as 750, not 603.
- Allow -mmultiple and -mstring on little endian 750 systems.
- (rs6000_adjust_priority): Stub for now.
- (get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
-
- * config/rs6000/rs6000.md (function/cpu attributes): Add initial
- ppc750 support.
-
- * config/rs6000/sysv4.h (STRICT_ALIGNMENT): Don't force strict
- alignment if little endian.
- (CC1_SPEC): Pass -mstrict-align if little endian, and not
- overridden.
- (CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
- (SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
-
- * config/rs6000/{sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC):
- Override, default is little endian.
-
- * config/rs6000/t-ppcgas (MULTILIB_*): Delete obsolete Solaris
- multilibs.
-
-Sat Jan 9 23:54:09 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gcc.c (xstrerror): Renamed from my_strerror. All callers
- changed. Remove prototype since we get that from libiberty.h.
-
- * protoize.c (xstrerror): Likewise.
-
-Sat Jan 9 23:22:04 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gcc.c (read_specs): Ensure format specifiers match their arguments.
-
-Sat Jan 9 20:04:24 1999 Richard Henderson <rth@cygnus.com>
-
- * tree.c (copy_node): Oops. That would be copy not zero
- in that last change.
-
-Sun Jan 10 15:35:41 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.c: Include system.h.
- (c4x_caller_save_map): Disable caller save for RC.
- (c4x_optimization_options): Disable scheduling before reload.
- (valid_parallel_load_store) : Define return type as int.
- Remove unused variable regs.
- * config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
- class.
- * config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
- handle rotations.
- (*db, decrement_and_branch_until_zero): Fix up constraints
- to keep reload happy.
-
-Sat Jan 9 18:35:29 1999 Richard Henderson <rth@cygnus.com>
-
- * tree.c (make_node): Call bzero instead of inline clear.
- (copy_node, make_tree_vec, build1): Likewise.
- (get_identifier): Call strlen instead of inline count.
- (maybe_get_identifier): Likewise.
-
-Sun Jan 10 14:04:51 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.md: (in_annul_slot_3): Allow unarycc and binarycc
- operations in 3rd annulled delay slot.
- (*lshrqi3_const_set): Disallow c constraint for operand0.
- (modhi3+1, modhi3+2): Set attribute type to multi.
- * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
- != operator.
-
-Sat Jan 9 11:44:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gansidecl.h: Allow attribute unused on labels only when we are
- version 2.93 or higher. Not all versions of 2.92 have this feature.
-
- * version.c: Bump minor number to 93.
-
-Fri Jan 8 10:51:13 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * config/m68k/m68k.h: Declare output_function_epilogue.
- * recog.h: Declare next_insn_tests_no_inequality.
-
-Fri Jan 8 01:43:53 1999 Jeffrey A Law (law@cygnus.com)
-
- * stmt.c (optimize_tail_recursion): New function, extracted from ...
- (expand_return): Use optimize_tail_recursion.
- * tree.h (optimize_tail_recursion): Declare.
-
- * toplev.c (compile_file): Move call to output_func_start_profiler
- to after the loop to emit deferred functions.
-
-Thu Jan 7 19:52:53 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * system.h (abort): Supply more detailed information on how to
- report an Internal Compiler Error.
-
-Thu Jan 7 11:26:17 1999 Mark Mitchell <mark@markmitchell.com>
-
- * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
- allocate memory that will live beyond this function.
- (expand_call): Free it here.
-
-Thu Jan 7 03:08:17 1999 Richard Henderson <rth@cygnus.com>
-
- * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
- integer data not destined for fp regs.
- (LEGITIMIZE_RELOAD_ADDRESS): New.
-
-Thu Jan 7 03:03:42 1999 Stan Cox <scox@cygnus.com>
- Richard Henderson <rth@cygnus.com>
-
- Support for Hypersparc and Sparclite86x:
- * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
- (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
- (ASM_CPU32_DEFAULT_SPEC): Likewise.
- (TARGET_CPU_DEFAULT): Likewise.
- (enum processor_type): Likewise.
- (CPP_ENDIAN_SPEC): Handle little endian data.
- (LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
- (ADJUST_COST): Call sparc_adjust_cost.
- * sparc.c (sparc_override_options): Fix up for the new targets.
- (supersparc_adjust_cost): Make static.
- (hypersparc_adjust_cost): New.
- (ultrasparc_adjust_cost): Make static.
- (sparc_adjust_cost): New.
- * sparc.md (attr cpu): Add hypersparc and sparclite86x.
- (function_unit): Add hypersparc scheduling rules.
-
- * configure.in (with_cpu handler): Recognize hypersparc.
-
-Thu Jan 7 23:54:05 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.c: Added space after negation operator.
- * config/c4x/c4x.h: Likewise.
- * config/c4x/c4x.md: Likewise.
-
-Thu Jan 7 23:39:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
-
-Thu Jan 7 00:29:25 199 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
- when a test can't be performed due to limited width of
- HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
- Fix UDIV case for cases where the first operand has the highest bit
- set.
-
-Thu Jan 7 00:01:38 1999 Lutz Vieweg <lkv@mania.robin.de>
-
- * pa.h (reg_class): Add FPUPPER_REGS.
- (REG_CLASS_NAMES): Similarly.
- (REG_CLASS_CONTENTS): Similarly
- (REGNO_REG_CLASS): Handle FPUPPER_REGS.
- (FP_REG_CLASS_P): Likewise.
- (REG_CLASS_FROM_LETTER): Similarly.
- (CLASS_MAX_NREGS): Similarly.
-
-1999-01-06 Brendan Kehoe <brendan@cygnus.com>
-
- * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
- for a typedef of bool. Make sure to have a copy of the file is
- in place before we look to fix it. Fix typo in variable name to
- FILE.
-
-Wed Jan 6 07:51:05 1999 Richard Henderson <rth@cygnus.com>
-
- * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
- value_mode for the return mode.
-
-Wed Jan 6 17:55:19 1999 Robert Lipe <robertlipe@usa.net>
-
- * configure.in: New flag --with-dwarf2. If set, enables DWARF-2
- debugging as default.
-
- * config/tm-dwarf2.h: New file.
-
-Wed Jan 6 16:08:54 1999 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (ASM_OUTPUT_LABELREF): Define.
-
- * pa.h (DONT_RECORD_EQUIVALENCE): Kill.
- * local-alloc.c (update_equiv_regs): Corresponding changes.
- * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
-
- * calls.c (special_function_p): Push alloca test inside the large
- conditional which excludes functions not at file scope or not
- extern.
-
- * calls.c (special_function_p): New function broken out of
- expand_call.
- (precompute_register_parameters): Likewise.
- (store_one_arg): Likewise.
- (store_unaligned_argumetns_into_pseudos): Likewise.
- (save_fixed_argument_area): Likewise.
- (restore_fixed_argument_area): Likewise.
- (expand_call): Corresponding changes.
-
-Wed Jan 6 10:43:29 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
- handling.
- (const_sint32_operand): Likewise.
-
-Wed Jan 6 09:44:51 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * toplev.h: In addition to checking _JBLEN, also check if `setjmp'
- is a macro when deciding if we can use `jmp_buf' in prototypes.
-
-Thu Jan 7 00:12:24 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.md (addqi3): If the destination operand is
- a hard register other than an extended precision register,
- emit addqi3_noclobber.
- (*addqi3_noclobber_reload): New pattern added so that reload
- will recognise a store of a pseudo, equivalent to the sum
- of the frame pointer and a constant, as an add insn.
-
-Wed Jan 6 03:18:53 1999 Mark Elbrecht <snowball3@usa.net.
-
- * configure.in (pc-msdosdjgpp): Set x_make to x-go32.
- * configure: Rebuilt.
- * i386/xm-go32.h: Define LIBSTDCXX.
- * i386/x-go32: New.
- * i386/go32.h (MD_EXEC_PREFIX): Define.
- (FILE_NAME_ABSOLUTE_P): Define.
- (LINK_COMMAND_SPEC): Define.
-
-Wed Jan 6 02:23:36 1999 "Charles M. Hannum" <root@ihack.net>
-
- * expr.c (store_expr): If the lhs is a memory location pointed
- to be a postincremented (or postdecremented) pointer, always
- force the rhs to be evaluated into a pseudo.
-
-Wed Jan 6 00:54:21 1999 Geoff Keating <geoffk@ozemail.com.au>
-
- * real.c (mtherr): Print more reasonable warning messages.
-
-Tue Jan 5 21:57:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
-
- * cccp.c: Include prefix.h, don't prototype prefix.c functions.
- (new_include_prefix): Constify char* parameters.
-
- * cppfiles.c (read_name_map): Likewise.
- (append_include_chain): Likewise. Also, use a writable char* copy
- of parameter `dir' which we then modify, rather than using the
- parameter itself to store the new writable string.
- (remap_filename): Constify some variables. Also, use a writable
- char* to store an allocated string which we will be modifying.
-
- * cpplib.c: Include prefix.h, don't prototype prefix.c functions.
- (cpp_start_read): Constify variable `str'.
-
- * cpplib.h (append_include_chain): Constify a char* parameter.
-
- * gcc.c Include prefix.h, don't prototype prefix.c functions.
- (add_prefix, save_string): Constify char* parameters.
- (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
-
- * prefix.c: Include prefix.h.
- (get_key_value, translate_name, save_string, update_path,
- set_std_prefix): Constify various char* parameters and variables.
- (save_string): Use xmalloc, not malloc.
- (translate_name): Use a writable temporary variable to create and
- modify a string before setting it to a const char*.
-
- * prefix.h: New file to prototype functions exported from prefix.c.
-
-Mon Jan 4 15:37:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpplib.c (skip_if_group): Split out the logic that handles
- directive recognition to its own function. Don't use
- parse markers; use a bare pointer into the buffer. Use
- copy/skip_rest_of_line instead of doing it by hand. Remove
- `return on any directive' mode which was never used, and take
- only one argument.
- (consider_directive_while_skipping): New function, subroutine
- of skip_if_group. Logic streamlined a bit.
- (conditional_skip, do_elif, do_else): Call skip_if_group with
- only one argument.
-
-Mon Jan 4 15:27:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
- error.
-
-Mon Jan 4 11:55:51 1999 Jason Merrill <jason@yorick.cygnus.com>
-
- * extend.texi (Bound member functions): Document.
-
-Mon Jan 4 11:01:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
- lang_to_string, type_to_string): Make return type const char*.
- (print_symbol): Apply `const' keyword to a char*.
- (print_file_desc): Cast structure member `crfd' to ulong when
- comparing against one.
-
- * mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
- (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
- (progname, input_name): Apply `const' keyword to a char*.
- Don't redundantly include sys/stat.h.
- (alloc_info): Apply `const' keyword to a char*.
- (st_to_string, sc_to_string): Likewise.
- (hash_string): Cast variable `hash_string' to a symint_t when
- comparing against one.
- (add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
- Likewise cast it to long when comparing against one.
- (add_local_symbol): Apply `const' keyword to a char*.
- (add_ext_symbol): Likewise.
- (add_unknown_tag): Likewise.
- (add_procedure): Cast a printf-style field width to an int.
- (add_file): Cast PAGE_USIZE to long when comparing against one
- (parse_begin): Cast a printf-style field width to an int.
- (parse_bend): Likewise.
- (parse_def): Likewise.
- (parse_end): Likewise.
- (mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
- (parse_stabs_common): Fix format specifier.
- (parse_input): Change type of variable `i' to Size_t.
- (write_object): Fix arguments to match format specifiers.
- Cast variable `num_write' to long when comparing against one.
- (read_seek): Cast variable `sys_read' to symint_t when comparing
- against one. Fix arguments to match format specifiers. Cast
- variable `size' to long when comparing against one.
- (copy_object): Cast result of `sizeof' to int when comparing
- against one. Fix arguments to match format specifiers. Cast
- variable `ifd' to long when comparing against a signed value.
- Likewise, likewise.
-
-Mon Jan 4 10:30:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * c-common.c (decl_attributes): Allow applying attribute `unused'
- on a LABEL_DECL.
-
- * c-parse.in (label): Parse attributes after a label, and call
- `decl_attributes' to handle them.
-
- * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
-
- * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
- generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
-
- * invoke.texi: Note that labels can be marked `unused'.
-
-Sun Jan 3 23:32:18 PST 1999 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Jan 3 23:00:42 1999 Jeffrey A Law (law@cygnus.com)
-
- * optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
- RTL for a compare/jump sequence.
-
-Sun Jan 3 22:58:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
- for a target with HAVE_cc0 defined.
- (emit_cmp_and_jump_insns): New function.
- * expr.h (emit_cmp_and_jump_insns): Prototype it.
- * loop.c (check_dbra_loop): Use it to replace calls
- to emit_cmp_insn and emit_jump_insn and to canonicalise
- the comparison if necessary.
- * unroll.c (unroll_loop): Likewise.
-
-Sun Jan 3 21:01:04 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * fixincludes (sys/utsname.h): Provide forward declaration of
- struct utsname on Ultrix V4.[35].
-
- * mips.md (div_trap): Use local labels instead of dot-relative
- branches.
-
-Sun Jan 3 20:40:34 1999 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (branch, negated branch): Handle (const_int 0) as first
- source operand.
- * pa.c (output_cbranch): Likewise.
-
-Sun Jan 3 03:20:38 1999 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (rs6000_stack_info): Undo spurious part of last
- change.
-
-1999-01-01 Manfred Hollstein <manfred@s-direktnet.de>
-
- * extend.texi (__builtin_constant_p): Add missing @smallexample.
-
-Fri Jan 1 11:48:20 1999 Jeffrey A Law (law@cygnus.com)
-
- * i386.md (doubleword shifts): Fix dumb mistakes in previous change.
-
-Wed Dec 30 23:38:55 1998 Jeffrey A Law (law@cygnus.com)
-
- * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
- (adddi_dishl32): Similarly.
-
- * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
- for each insn in the skipped block.
-
- * reload1.c (reload_as_needed): Verify that the insn satisfies its
- constraints after replacing a register address with an autoincrement
- address for reload inheritance purposes.
-
- * i386.md (doubleword shifts): Avoid namespace pollution.
-
-Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com>
-
- * configure.in (FreeBSD ELF): Needs special crt files.
-
-Wed Dec 30 22:50:13 1998 Geoffrey Noer <noer@cygnus.com>
-
- * i386/xm-cygwin.h: change DIR_SEPARATOR to forward slash.
-
-1998-12-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * loop.c (check_dbra_loop): While reversing the loop, if the
- comparison value has a VOID mode use the mode of the other operand
- to compute the mask.
-
-Wed Dec 30 22:24:00 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md ({save,restore}_stack_function): Take 2 operands to
- avoid warnings in compiling explow.c.
-
- (patch from Ken Raeburn, raeburn@cygnus.com)
- * rs6000.c (rs6000_stack_info): Force 8-byte alignment of
- fpmem_offset. Compute total size after that, and then
- rs6000_fpmem_offset using both values.
-
-Mon Dec 28 19:26:32 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
- the future; indeed that already happens in some cases.
-
-Tue Dec 29 11:58:53 1998 Richard Henderson <rth@cygnus.com>
-
- * sparc.c (input_operand): Recognize (const (constant_p_rtx)).
- (arith_operand): Remove constant_p_rtx handling.
- (const64_operand, const64_high_operand): Likewise.
- (arith11_operand, arith10_operand, arith_double_operand): Likewise.
- (arith11_double_operand, arith10_double_operand, small_int): Likewise.
- (small_int_or_double, uns_small_int, zero_operand): Likewise.
- * sparc.h (PREDICATE_CODES): Likewise.
-
- * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
-
-Tue Dec 29 11:32:54 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>:
-
- * rtl.def (CONSTANT_P_RTX): Clarify commentary.
- * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
- consider constant CONSTRUCTOR constant and to defer some cases
- to cse.
- * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
- * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
-
-Tue Dec 29 11:30:10 1998 Richard Henderson <rth@cygnus.com>
-
- * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
- * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
-
- * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
- (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
- (sext_add_operand, and_operand, or_operand): Likewise.
- (reg_or_cint_operand, some_operand, input_operand): Likewise.
- * alpha.h (PREDICATE_CODES): Likewise.
-
-Sat Dec 26 23:26:26 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Dec 26 09:17:04 1998 Jeffrey A Law (law@cygnus.com)
-
- * gengenrtl.c (gencode): Always use bzero to clear memory instead
- of dangerous casts and stores.
-
- * Makefile.in (compare, gnucompare): Add missing else true clauses.
-
-Fri Dec 25 23:00:56 1998 Jeffrey A Law (law@cygnus.com)
-
- * alpha.md (builtin_longjmp): Add missing "DONE".
-
-Thu Dec 24 10:39:57 1998 Stan Cox <scox@cygnus.com>
-
- * gcc.c (execute): Enable -pipe with win32.
-
-Wed Dec 23 10:27:44 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/t-arm-elf: Add multiplib option for leading
- underscores.
-
- * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
- 'user_label_prefix' rather than macro USER_LABEL_PREFIX.
-
- (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
- than variable 'reload_address_base_reg_class'. [Note this
- change is unrelated to the others in this patch].
-
- * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
- leading underscore.
-
-Wed Dec 23 09:51:32 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * alias.c (record_alias_subset): Remove ignored `&'.
- (init_alias_once): Likewise.
-
- * c-lex.c (UNGETC): Cast first argument of comma expression to void.
-
- * config/mips/mips.c (mips_asm_file_end): Cast the result of
- fwrite to `int' when comparing against one.
-
- * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
- (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
-
- * cse.c (rehash_using_reg): Change type of variable `i' to
- unsigned int.
-
- * dwarf2out.c (initial_return_save): Cast -1 to unsigned before
- assigning it to one.
-
- * except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
-
- * final.c (final_scan_insn): Likewise for variable `i'.
- (output_asm_insn): Cast a char to unsigned char when used as an
- array index.
-
- * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
- assigning it to one.
-
- * loop.c (strength_reduce): Remove unused variables `count' and `temp'.
-
- * recog.c (preprocess_constraints): Cast a char to unsigned char
- when used as an array index.
-
- * regmove.c (find_matches): Likewise.
-
- * reload1.c (calculate_needs): Add default case in switch.
- (eliminate_regs_in_insn): Initialize variable `offset'.
- (set_offsets_for_label): Change type of variable `i' to unsigned.
- (reload_as_needed): Wrap variable `i' in macro check on
- AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
-
- * scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
- with ATTRIBUTE_UNUSED. Cast variable `start_written' to size_t
- when comparing against one.
-
- * stor-layout.c (layout_decl): Cast maximum_field_alignment to
- unsigned when comparing against one. Likewise for
- GET_MODE_ALIGNMENT().
- (layout_record): Cast record_align to int when comparing against a
- signed value.
- (layout_type): Cast TYPE_ALIGN() to int when comparing against a
- signed value.
-
- * tree.c (get_identifier): Cast variable `len' to unsigned when
- comparing against one.
- (maybe_get_identifier): Likewise
-
-Wed Dec 23 00:10:01 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (rest_of_compilation): Do not set reload_completed.
- * reload1.c (reload): Set reload_completed before calling
- cleanup_subreg_operands.
-
-Tue Dec 22 23:58:31 1998 Richard Henderson <rth@cygnus.com>
-
- * reload1.c (emit_reload_insns): Check `set' not null before use.
-
-Tue Dec 22 15:15:45 1998 Nick Clifton <nickc@cygnus.com>
-
- * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
- 'int'.
-
-Tue Dec 22 13:55:44 1998 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
- * halfpic.c (half_pic_encode): Delete redundant code.
-
-Tue Dec 22 13:02:22 1998 Michael Meissner <meissner@cygnus.com>
-
- * toplev.c (main): Delete handling of -dM as a preprocessor
- option.
-
-Mon Dec 21 17:39:38 1998 Michael Meissner <meissner@cygnus.com>
-
- * toplev.c (main): Don't emit any warnings when using -dD, -dM, or
- -dI, which are handled by the preprocessor.
-
-Sun Dec 20 16:13:44 1998 John F. Carr <jfc@mit.edu>
-
- * configure.in: Handle Digital UNIX 5.x the same as 4.x.
- * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
-
-Sun Dec 20 07:39:52 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Dec 19 22:24:22 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Dec 19 21:41:32 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Dec 19 09:52:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * genattr.c (fatal): Qualify a char* with the `const' keyword.
-
- * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
- write_unit_name, write_eligible_delay, expand_units,
- make_length_attrs, write_attr_case, find_attr,
- make_internal_attr): Likewise.
- * gencheck.c (tree_codes): Likewise.
- * gencodes.c (fatal): Likewise.
- * genconfig.c (fatal): Likewise.
- * genemit.c (fatal): Likewise.
- * genextract.c (fatal, walk_rtx, copystr): Likewise.
- * genflags.c (fatal): Likewise.
- * genopinit.c (fatal, optabs, gen_insn): Likewise.
- * genoutput.c (fatal, error, predicates): Likewise.
- * genpeep.c (fatal): Likewise.
- * genrecog.c (fatal, decision, pred_table, add_to_sequence,
- write_tree_1, write_tree, change_state, copystr, indents): Likewise.
-
-Thu Dec 17 18:21:49 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in (with-fast-fixincludes): Fix whitespace.
- * configure: Rebuilt.
-
- * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
- asm() etc. function declarations in __DECC.
-
-Thu Dec 17 13:57:23 1998 Nick Clifton <nickc@cygnus.com>
-
- * expr.c (emit_move_insn_1): Only emit a clobber if the target
- is a pseudo register.
-
-Thu Dec 17 13:50:29 1998 Nick Clifton <nickc@cygnus.com>
-
- * gcse.c: Include expr.h in order to get the prototype for
- get_condition() which is used in delete_null_pointer_checks().
-
-Thu Dec 17 15:58:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
-
-Thu Dec 17 12:31:12 1998 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
- (ALL_CFLAGS): Delete SCHED_CFLAGS.
-
-1998-12-17 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
- ';').
-
-1998-12-17 Michael Tiemann <tiemann@axon.cygnus.com>
-
- * i960.md (extend*, zero_extend*): Don't generate rtl that looks
- like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
- optimizations from the combiner.
-
-Thu Dec 17 08:27:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
-
-Wed Dec 16 17:30:35 1998 Nick Clifton <nickc@cygnus.com>
-
- * toplev.c (main): Disable optimize_size if a specific
- optimization level is requested. Always set optimization
- level to 2 if -Os is specified.
-
-Wed Dec 16 16:33:04 1998 Dave Brolley <brolley@cygnus.com>
-
- * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
- cpplib.
- * cpplib.c (cpp_start_read): If in_fname is not initialized, try to
- initialize it using fname.
-
-1998-12-16 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpplib.c (do_include): Treat #include_next in the
- primary source file as #include plus warning. Treat
- #include_next in a file included by absolute path as an
- error. fp == CPP_NULL_BUFFER is a fatal inconsistency.
-
-Wed Dec 16 12:28:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * cccp.c: Don't define MIN/MAX anymore.
- * cpplib.c: Likewise.
- * machmode.h: Likewise.
- * system.h: Provide definitions for MIN/MAX.
-
-Tue Dec 15 23:47:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * fix-header.c: Don't define xstrdup here.
-
-Wed Dec 16 05:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (consec_sets_giv): New argument last_consec_insn.
- (strength_reduce): Provide / use it.
-
-Wed Dec 16 17:24:07 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * loop.h (loop_info): New field 'vtop'.
- * loop.c (check_dbra_loop): Use loop_info->vtop rather than
- scanning loop for vtop.
- * unroll.c (subtract_reg_term, find_common_reg_term): New functions.
- (loop_iterations): Use them to determine if loop has a constant
- number of iterations. Set loop_info->vtop. Don't subtract
- common reg term from initial_value and final_value if have a
- do-while loop.
-
-Tue Dec 15 13:49:55 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
-
- * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
-
- * mn10200.md (abssf2, negsf2): New expanders.
-
- * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
-
-Tue Dec 15 11:55:30 1998 Nick Clifton <nickc@cygnus.com>
-
- * integrate.c (copy_rtx_and_substitute): If a SUBREG is
- replaced by a CONCAT whoes components do not have the same
- mode as the original SUBREG, use a new SUBREG to restore the
- mode.
-
- * emit-rtl.c (subreg_realpart_p): Cope with subregs containing
- multiword complex values.
-
-1998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cppalloc.c: Add xstrdup here.
- * cpplib.h: Remove savestring prototype.
- * cpplib.c: Remove savestring function. s/savestring/xstrdup/
- throughout.
- * cppfiles.c: s/savestring/xstrdup/ throughout.
-
-1998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpplib.c: Make all directive handlers read their own
- arguments.
- (struct directive): Remove last two arguments from FUNC
- member prototype. Remove `command_reads_line' member
- entirely.
- (directive_table): Remove initializations of
- command_reads_line flag. Pretty-print.
- (eval_if_expression, do_define, do_line, do_include,
- do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
- do_else, do_elif, do_sccs, do_assert, do_unassert,
- do_warning): Take only two args.
-
- (cpp_define): Call do_define with two args and the text to
- define stuffed into a buffer.
- (make_assertion): Call do_assert with two args.
- (handle_directive): Call do_line with two args. Call
- kt->func with two args. Remove command_reads_line
- processing.
- (do_define, do_undef, do_error, do_warning, do_pragma,
- do_sccs): Read the rest of the line here.
- (do_ident): Gobble rest of line, as cccp does.
- (cpp_undef): New function.
- (cpp_start_read): Call cpp_undef instead of do_undef.
-
-1998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpphash.h (union hash_value): Remove `keydef' member, add a
- `struct hashnode *aschain' member for #assert.
-
- * cpplib.c (struct tokenlist_list, struct
- assertion_hashnode): Delete structure definitions.
- (assertion_install, assertion_lookup, delete_assertion,
- check_assertion, compare_token_lists, reverse_token_list,
- read_token_list, free_token_list): Delete functions.
- (parse_assertion): New function.
- (cpp_cleanup): Don't destroy the assertion_hashtable.
-
- (do_assert): Gut and rewrite. #assert foo (bar) places
- entries for `#foo' and `#foo(bar)' in the macro hash table,
- type T_ASSERT. The value union's `aschain' member is used
- to chain all answers for a given predicate together.
- (do_unassert): Also rewritten. Take an un-asserted
- answer off the chain from its predicate and call
- delete_macro on the hashnode, or walk a predicate chain
- calling delete_macro on all the entries.
- (cpp_read_check_assertion): Simply call parse_assertion to
- get the canonical assertion name, and look that up in the
- hash table.
-
- * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
- Removed.
-
- * cpphash.c (install): Use bcopy instead of an explicit loop
- to copy the macro name.
-
- * cppexp.c (cpp_lex): Convert the result of
- cpp_read_check_assertion to a `struct operation' directly;
- don't go through parse_number.
-
-Tue Dec 15 18:27:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.h (struct induction): Delete times_used member.
- * loop.c (n_times_set): Rename to set_in_loop. Changed all users.
- (n_times_used): Rename to n_times_set. Changed all users.
- (scan_loop): Free reg_single_usage before strength reduction.
- (record_giv, combine_givs): Remove handling of times_used member.
- (combine_givs_used_once): Rename to:
- (combine_givs_used_by_other) . Changed all callers.
-
-Tue Dec 15 01:45:26 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
- instead of TREE_CODE_CLASS == 't'.
- (gen_type_die): Likewise.
- (scope_die_for): Ignore FUNCTION_TYPE "scopes".
-
-Mon Dec 14 16:23:27 1998 Jim Wilson <wilson@cygnus.com>
-
- * real.c (endian): Disable last change unless
- HOST_BITS_PER_WIDE_INT is greater than 32.
-
-Mon Dec 14 17:13:36 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * output.h (force_data_section): New prototype.
- * varasm.c (force_data_section): New function to force the
- data section, regardless of what in_section thinks.
- * dwarf2out.c (output_call_frame_info): Call force_data_section
- since varasm may not realize we've changes sections.
-
-Mon Dec 14 14:09:34 1998 Nick Clifton <nickc@cygnus.com>
-
- * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
- after completeing reload.
-
- * rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
- deleted after reload.
-
-Mon Dec 14 01:39:28 1998 Jeffrey A Law (law@cygnus.com)
-
- * rtl.h (multiple_sets): Fix prototype.
- * rtlanal.c (multiple_sets): Fix return type.
-
-Sun Dec 13 12:43:58 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Dec 13 01:05:22 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-1998-12-13 Manfred Hollstein <manfred@s-direktnet.de>
-
- * protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
-
-Sun Dec 13 00:24:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * rtl.h (recompute_reg_usage): Add second argument.
- * flow.c (recompute_reg_usage): Likewise.
- * toplev.c (rest_of_compilation): Supply second argument to
- recompute_reg_usage.
-
- * reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
- after reload.
-
-Sat Dec 12 23:39:10 1998 Jeffrey A Law (law@cygnus.com)
-
- * m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
- (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
- (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
- mcpu32 or m5200.
-
- * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
-
- * rtlanal.c (multiple_sets): New function.
- * rtl.h (multiple_sets): Declare it.
- * local-alloc.c (wipe_dead_reg): Use it.
- * global.c (global_conflicts): Likewise.
-
-Sat Dec 12 22:13:02 1998 Mark Mitchell <mark@markmitchell.com>
-
- * global.c (record_conflicts): Don't use an array of shorts to
- store an array of ints.
- (global_conflicts): Likewise.
-
-Sat Dec 12 16:49:24 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_expand_block_move): mode_for_size expects
- bits, not bytes. Infer extra alignment from addressof.
-
-1998-12-11 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
- .sbss section, not .sdata.
-
-1998-12-11 Manfred Hollstein <manfred@s-direktnet.de>
-
- * cccp.c: Do not #include <sys/stat.h> here; this is already done
- by "system.h".
- * collect2.c: Likewise.
- * cpplib.h: Likewise.
- * gcc.c: Likewise.
- * gcov.c: Likewise.
- * getpwd.c: Likewise.
- * protoize.c: Likewise.
- * toplev.c: Likewise.
-
- * cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
- and don't try to define it here.
- * Makefile.in (cppmain.o): Depend on machmode.h.
- (cpplib.o): Likewise.
- (cpperror.o): Likewise.
- (cppexp.o): Likewise.
- (cppfiles.o): Likewise.
- (cpphash.o): Likewise.
- (cppalloc.o): Likewise.
- (fix-header.o): Likewise.
- (scan-decls.o): Likewise.
-
-Fri Dec 11 11:02:49 1998 Stan Cox <scox@cygnus.com>
-
- * sh.c (print_operand): lookup interrupt_handler attribute instead
- of relying on static variable.
- * (calc_live_regs): Likewise.
- * (sh_pragma_insert_attributes): Create interrupt_handler
- attribute if a pragma was specified
- * (sh_valid_machine_decl_attribute): Don't set static flag.
- * sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
-
-Fri Dec 11 12:56:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
- to determine if a register is live at a jump destination.
- Everything is dead at a BARRIER.
-
-Thu Dec 10 16:02:06 1998 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (simplify_unary_operation): Sign-extend constants when
- they have the most significant bit set for the target.
- * real.c (endian): Sign-extend 32 bit output values on a 64 bit
- host.
- * m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
- HOST_WIDE_INT temporary before negating it.
- * m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
-
-Thu Dec 10 15:05:59 1998 Dave Brolley <brolley@cygnus.com>
-
- * objc/objc-act.c (lang_init_options): Enclose cpplib related code in
- #if USE_CPPLIB.
-
-Thu Dec 10 13:39:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * collect2.h: New header file for prototypes.
-
- * Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
-
-Wed Dec 9 17:40:26 1998 Dave Brolley <brolley@cygnus.com>
-
- * collect2.c: Include collect2.h.
- * tlink.c: Likewise.
-
-Wed Dec 9 23:55:11 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c: Update some comments.
-
-Wed Dec 9 15:29:26 1998 Dave Brolley <brolley@cygnus.com>
-
- * objc/objc-act.c (cpp_initialized): Removed.
- (lang_init_options): Initialize cpplib.
- (lang_decode_option): Move initialization of cpplib to
- lang_init_options.
- * c-lang.c: (parse_options,parse_in): Added.
- (lang_init_options): Initialized cpplib here.
- * c-decl.c (parse_options,cpp_initialized): Removed.
- (c_decode_option): Move initialization of cpplib to
- lang_init_options.
-
-Wed Dec 9 19:36:57 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_combine, reload_combine_note_store):
- Make STORE_RUID always valid.
- (reload_combine): Check if BASE is clobbered too early.
-
-Wed Dec 9 09:53:58 1998 Nick Clifton <nickc@cygnus.com>
-
- * reload.c (find_reloads): Display the insn that cannot be
- reloaded.
-
-Wed Dec 9 12:15:26 1998 Dave Brolley <brolley@cygnus.com>
-
- * cccp.c (create_definition): Fix end of bufer logic.
-
-Wed Dec 9 10:15:45 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
- pointer parameters changed to use the PARAMS() macro.
-
-Wed Dec 9 09:12:40 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * except.h (struct handler_info): Add handler_number field.
- * except.c (gen_exception_label): EH labels no longer need to be
- on the permanent obstack.
- (get_new_handler): Set the label number field.
- (output_exception_table_entry): Regenerate handler label reference
- from the label number field.
- (init_eh): Remove a blank line.
- * integrate.c (get_label_from_map): Labels no longer need to be
- on the permanent obstack.
-
-Tue Dec 8 22:04:33 1998 Jim Wilson <wilson@cygnus.com>
-
- * i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
- only when OUTER_CODE is SET.
-
-Tue Dec 8 22:47:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (strength_reduce): If scan_start points to the loop exit
- test, be wary of subversive use of gotos inside expression statements.
- Don't set maybe_multiple for a backward jump that does not
- include the label under consideration into its range.
- * unroll.c (biv_total_increment): Make use of maybe_multiple field.
-
-Tue Dec 8 22:33:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * explow.c (plus_constant_wide): Don't immediately return with
- result of recursive call.
-
-Tue Dec 8 15:32:56 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * eh-common.h (struct eh_context): Add table_index for rethrows.
-
- * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
- (SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
- processed when inlined or unrolled (ie duplicated in some way).
-
- * rtl.c (reg_note_name): Add strings for new reg_note enums.
-
- * expr.h (rethrow_libfunc): New library decl.
-
- * optabs.c (rethrow_libfunc): Initialize.
-
- * except.h (struct eh_entry): Add new field 'rethrow_label'.
- (new_eh_region_entry): No longer exported from except.c.
- (duplicate_handlers): Renamed to duplicate_eh_handlers and
- different prototype.
- (rethrow_symbol_map, rethrow_used): New exported functions.
- (eh_region_from_symbol): New exported function.
-
- * except.c (create_rethrow_ref): New function to create a single
- SYMBOL_REF for a rethrow region.
- (push_eh_entry): Initialize a rethrow ref.
- (func_eh_entry): Add a rethrow_label field.
- (new_eh_region_entry): Make static, and initialize the rethrow entry.
- (duplicate_eh_handlers): Create a new region, and remap labels/symbols.
- (eh_region_from_symbol): Find an EH region based on its rethrow symbol.
- (rethrow_symbol_map): Given a label map, maps a rethrow symbol for
- a region into an appropriate new symbol.
- (rethrow_used): Indicate whether a rethrow symbol has been referenced.
- (expand_eh_region_end): Don't issue jump around code for new-exceptions.
- (end_catch_handler): Emit a barrier for new-exceptions since
- control can never drop through the end of a catch block.
- (expand_end_all_catch): new-exceptions never fall through a catch
- block.
- (expand_rethrow): use __rethrow routine for new exceptions.
- (output_exception_table_entry): Generate rethrow labels, if needed.
- (output_exception_table): Generate start and end rethrow labels.
- (init_eh): Create rethrow symbols for beginning and end of table.
- (scan_region): Don't eliminate EH regions which are the targets of
- rethrows.
-
- * flow.c (make_edges): Add different edges for rethrow calls,
- identified by having the REG_EH_RETHROW reg label.
- (delete_unreachable_blocks): Don't delete regions markers which are
- the target of a rethrow.
-
- * integrate.c (save_for_inline_eh_labelmap): New callback routine to
- allow save_for_inline_copying to call duplicate_eh_handlers.
- (save_for_inline_copying): Call duplicate_eh_handlers instead of
- exposing internal details of exception regions.
- (copy_for_inline): Check if SYMBOL_REFs need adjustment.
- (expand_inline_function_eh_labelmap): New callback routine to
- allow expand_inline_function to call duplicate_eh_handlers.
- (expand_inline_function): Call duplicate_eh_handlers instead of
- exposing internal details of exception regions.
- (copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
- flag is set.
-
- * libgcc2.c (find_exception_handler): Generalize to enable it to
- pick up processing where it left off last time for a rethrow.
- (__unwinding_cleanup): New function. debug hook which is called before
- unwinding when __throw finds there is nothing but cleanups left.
- (throw_helper): Common parts of __throw extracted out for reuse.
- (__throw): Common parts moved to throw_helper.
- (__rethrow): New function for performing rethrows.
-
-Tue Dec 8 13:11:04 1998 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c (current_function_decl): Tweak declaration.
-
-Tue Dec 8 10:23:52 1998 Richard Henderson <rth@cygnus.com>
-
- * c-decl.c (flag_isoc9x): Default off.
- (c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
- * cccp.c (print_help, main): Likewise.
- * gcc.c (default_compilers): Update for -std=gnu*.
-
-Tue Dec 8 01:14:46 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
- * demangle.h: Deleted.
-
- * reload1.c (current_function_decl): Declare.
-
-Tue Dec 8 11:58:51 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
-
-Tue Dec 8 09:28:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
-
-1998-12-08 Ulrich Drepper <drepper@cygnus.com>
-
- * configure.in: Test for availability of putc_unlocked, fputc_unlocked,
- and fputs_unlocked.
- * configure: Rebuilt.
- * system.h: If the *_unlocked functions are available use them
- instead of the locked counterparts by defining macros.
- * config.in: Regenerated.
-
-Tue Dec 8 00:34:05 1998 Mike Stump <mrs@wrs.com>
-
- * i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
- wrong and should only be used for dump related things, not
- debugging information, instead main_input_filename should be used.
- Also, reuse output_file_directive if possible.
- * i386/aix386ng.h (ASM_FILE_START): Likewise.
- * i386/isc.h (ASM_FILE_START): Likewise.
- * i386/win-nt.h (ASM_FILE_START): Likewise.
- * i386/sun386.h (ASM_FILE_START): Likewise.
-
-Mon Dec 7 23:56:28 1998 Robert Lipe <robertl@dgii.com>
-
- * configure.in (mips*-*-linux*): Handle big and little endian
- systems.
- * configure: Rebuilt.
-
-Mon Dec 7 23:14:51 1998 Mike Stump <mrs@wrs.com>
-
- * emit-rtl.c: Fix typo.
-
-Mon Dec 7 23:07:38 1998 Nathan Sidwell <nathan@acm.org>
-
- * reload1.c (eliminate_regs): Don't do anything, if we're not
- generating code.
-
-Mon Dec 7 15:27:09 1998 DJ Delorie <dj@cygnus.com>
-
- * mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
- Add comment.
- * mips/mips.c (mips_select_section): Add comment.
-
-Mon Dec 7 17:55:06 1998 Mike Stump <mrs@wrs.com>
-
- * cccp.c (ignore_escape_flag): Add support for \ as `natural'
- characters in file names in #line to be consistent with #include
- handling. We support escape prcessing in the # 1 "..." version of
- the command. See also support in cp/lex.c.
- (handle_directive): Likewise.
- (do_line): Likewise.
-
-1998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
- so it'll work on non-ASCII platforms. Always consider $ an
- identifier character. Take no arguments.
- (cpp_reader_init): Call initialize_char_syntax with no
- arguments.
- (cpp_start_read): Don't call initialize_char_syntax again.
- Clear is_idchar['$'] and is_idstart['$'] if not
- opts->dollars_in_ident.
-
- * cpplib.h (struct cpp_reader): Replace void *data element by
- cpp_options *opts. Rearrange elements to make gdb printout
- less annoying (put buffer stack at end).
- (CPP_OPTIONS): Get rid of now-unnecessary cast.
-
- * cppmain.c: s/data/opts/ when initializing cpp_reader
- structure.
- * c-decl.c: Likewise.
- * objc/objc-act.c: Likewise.
- * fix-header.c: Likewise.
-
-1998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpplib.h (struct cpp_buffer): Replace dir and dlen members
- with a struct file_name_list pointer.
- (struct cpp_reader): Add pointer to chain of `actual
- directory' include searchpath entries.
- (struct file_name_list): Add *alloc pointer for the sake of
- the actual-directory chain.
-
- Move definition of HOST_WIDE_INT here.
- (cpp_parse_escape): Change prototype to match changes in
- cppexp.c.
-
- * cppfiles.c (actual_directory): New function.
- (finclude): Use it to initialize the buffer's actual_dir
- entry.
- (find_include_file): We don't need to fix up max_include_len
- here.
-
- * cpplib.c (do_include): Don't allocate a file_name_list on
- the fly for current directory "" includes, use the one that's
- been preallocated in pfile->buffer->actual_dir. Hoist out
- duplicate code from the search_start selection logic.
- (cpp_reader_init): Initialize pfile->actual_dirs.
-
- Remove definition of HOST_WIDE_INT. Change calls
- to cpp_parse_escape to match changes in cppexp.c (note
- hardcoded MASK, which is safe since this is the source
- character set).
-
- * cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
- to handle wide character constants in #if directives. The
- function now returns a HOST_WIDE_INT, and takes a third
- argument which is a binary mask for all legal values (0x00ff
- for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.) Define
- MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK. Change callers of
- cpp_parse_escape to match. [Fixes c-torture/execute/widechar-1.c]
-
-Mon Dec 7 15:38:25 1998 Dave Brolley <brolley@cygnus.com>
-
- * gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
-
-Mon Dec 7 15:38:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
- * cppalloc.c: Move function `xcalloc' from cpplib.c to here.
- * cpplib.c: Move function `xcalloc' from here to cppalloc.c.
-
-Mon Dec 7 11:30:49 1998 Nick Clifton <nickc@cygnus.com>
-
- * final.c (output_asm_name): Use tabs to seperate comments from
- assembly text.
-
- Include instruction lengths (if defined) in output.
-
-Mon Dec 7 10:53:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
- in the loop_info structure.
-
-Mon Dec 7 11:04:40 1998 Catherine Moore <clm@cygnus.com>
-
- * configure.in: (arm*-*-ecos-elf): New target.
- * configure: Regenerated.
- * config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
- * config/arm/ecos-elf.h: New file.
- * config/arm/unknown-elf.h (TARGET_VERSION): Check
- for redefinition.
-
-Mon Dec 7 16:15:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (output_far_jump): Emit braf only for TARGET_SH2.
-
-Sun Dec 6 04:19:45 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Dec 6 05:16:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * loop.c (check_dbra_loop): New argument loop_info. Update fields
- as needed.
-
-Sun Dec 6 03:40:13 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Dec 6 07:49:29 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
- compressed reports are ok and preferred over URLs
-
-Sun Dec 6 07:45:33 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * invoke.texi (Warning Options): Soften the tone of -pedantic
-
-Sun Dec 6 00:20:44 1998 H.J. Lu (hjl@gnu.org)
-
- * print-rtl.c (print_rtx): Add prototype.
-
- * unroll.c (iteration_info): Make it static.
-
-Sun Dec 6 01:19:46 1998 Richard Henderson <rth@cygnus.com>
-
- * alias.c (memrefs_conflict_p): A second ANDed address
- disables the aligned address optimization.
-
-Sat Dec 5 18:48:25 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_emit_set_const_1): Fix parenthesis error
- in -c << n case.
-
-Sat Dec 5 15:14:52 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * i960.h (BOOL_TYPE_SIZE): Define.
-
-Sun Dec 6 00:28:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
- from old valid_parallel_operands_4.
- (valid_parallel_operands_4): Check that operands for 4 operand
- parallel insns are valid, excluding load/store insns.
- * config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
- * config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
- valid_parallel_load_store instead of valid_parallel_operands_4.
- (*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
- *negqf2_movqf_clobber, *absqi2_movqi_clobber,
- *fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
- *notqi_movqi_clobber): Use valid_parallel_operands_4.
- (*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
- *ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
- *subqi3_movqi_clobber): Use valid_parallel_operands_5.
-
-Sat Dec 5 23:52:01 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.c (iteration_info): Delete extern.
-
-Fri Dec 4 20:15:57 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
-
- * final.c (cleanup_subreg_operands): Delete some unused code.
-
- * recog.h (MAX_RECOG_ALTERNATIVES): New macro.
- (struct insn_alternative): New structure definition.
- (recog_op_alt): Declare variable.
- (preprocess_constraints): Declare function.
- * recog.c (recog_op_alt): New variable.
- (extract_insn): Verify number of alternatives is in range.
- (preprocess_constraints): New function.
- * reg-stack.c: Include recog.h.
- (constrain_asm_operands): Delete.
- (get_asm_operand_lengths): Delete.
- (get_asm_operand_n_inputs): New function.
- (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
- N_OUTPUTS args. All callers changed.
- Compute number of inputs and outputs here by calling
- get_asm_operand_n_inputs.
- Instead of constrain_asm_operands, call extract_insn,
- constrain_operands and preprocess_constaints. Use information
- computed by these functions throughout.
- (record_reg_life): Delete code that is unused due to changes in
- record_asm_reg_life.
- (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
- N_INPUTS and N_OUTPUTS args. All callers changed.
- Similar changes as in record_asm_reg_life.
- (subst_stack_regs): Move n_operands declaration into the if statement
- where it's used.
- Delete code that is unused due to changes in subst_asm_stack_regs.
- * stmt.c (expand_asm_operands): Verify number of alternatives is in
- range.
- * Makefile.in (reg-stack.o): Depend on recog.h.
-
-Fri Dec 4 02:23:24 1998 Jeffrey A Law (law@cygnus.com)
-
- * except.c (set_exception_version_code): Argument is an "int".
-
-Fri Dec 4 01:29:28 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
- * configure: Rebuilt.
-
-Fri Dec 4 01:29:28 1998 Robert Lipe <robertl@dgii.com>
-
- * configure.in (mipsel-*-linux*): New target.
- * mips/linux.h: New file, based on other Linux targets.
-
-Thu Dec 3 11:19:50 1998 Mike Stump <mrs@wrs.com>
-
- * gthr-vxworks.h (__ehdtor): Fix memory leak. The delete hook
- runs in the context of the deleter, not the deletee, so we must
- use taskVarGet to find the correct memory to free.
- (__gthread_key_create): Initialize the task
- variable subsystem so that the task variable is still active when
- the delete hook is run.
-
-1998-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * pdp11.h: Use optimize_size for space optimizations.
- * pdp11.c: Likewise.
- * pdp11.md: Likewise.
-
- * pdp11.h (TARGET_40_PLUS): Fix typo.
-
-Thu Dec 3 11:48:32 1998 Jeffrey A Law (law@cygnus.com)
-
- * local-alloc.c (block_alloc): Slightly retune heuristic to widen
- qty lifetimes.
-
-Thu Dec 3 22:30:18 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * alias.c (addr_side_effect_eval): New function.
- (memrefs_conflict_p): Use it.
- * rtl.h (addr_side_effect_eval): Prototype it.
-
-1998-12-02 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * pdp11.md (extendsfdf2): Fix mode mismatch in SET.
-
-Wed Dec 2 11:23:07 1998 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (find_reloads): When force const to memory, put result
- in substed_operand not *recog_operand_loc.
-
-1998-12-02 Ulrich Drepper <drepper@cygnus.com>
-
- * c-lex.c: Fix indentation from last patch.
- Remove trailing whitespace.
- * real.c: Likewise.
-
-Wed Dec 2 10:11:12 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (delete_block): Call set_last_insn after we have reset
- NEXT_INSN (kept_tail).
-
-Wed Dec 2 00:47:31 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.md (trap_if): Use "$0" for the value zero.
-
-Tue Dec 1 20:49:49 1998 Ulrich Drepper <drepper@cygnus.com>
- Stephen L Moshier <moshier@world.std.com>
- Richard Henderson <rth@cygnus.com>
-
- * c-common.c (declare_function_name): Declare predefinied variable
- `__func__'.
-
- * c-decl.c (flag_isoc9x): Set to 1 by default.
- (c_decode_option): Handle -std= option. Remove -flang-isoc9x.
- (grokdeclarator): Always emit warning about implicit int for ISO C 9x.
-
- * c-parse.in: Allow constructors in ISO C 9x.
- Rewrite designator list handling.
- Allow [*] parameters.
- Don't warn about comma at end of enum definition for ISO C 9x.
-
- * cccp.c (c9x): New variable.
- (rest_extension): New variable.
- (print_help): Document new -std= option.
- (main): Recognize -std= option. Set c9x appropriately.
- (create_definition): Recognize ISO C 9x vararg macros.
-
- * gcc.c (default_compilers): Adjust specs for -std options.
- (option_map): Add --std.
- (display_help): Document -std.
-
- * toplev.c (documented_lang_options): Add -std and remove
- -flang-isoc9x.
-
- * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
- or REAL_VALUE_HTOF based on base of the constants.
- * fold-const.c (real_hex_to_f): New function. Replacement function
- for hex FP conversion if REAL_ARITHMETIC is not defined.
- * real.c (asctoeg): Add handling of hex FP constants.
- * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
- real_hex_to_f.
-
-Tue Dec 1 16:45:49 1998 Stan Cox <scox@cygnus.com>
-
- * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
- -mcheck-range-division/-mcheck-zero-division checking. Avoid as macro
- expansion. Use hi/lo as destination register.
- (div_trap): New.
- (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
- umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
- Avoid as macro expansion. Use hi/lo as destination register.
-
- * mips.h (MASK_CHECK_RANGE_DIV): New.
- (MASK_NO_CHECK_ZERO_DIV): New.
- (ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
- (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
- return address for leaf functions out of r31 to support
- builtin_return_address.
-
-Tue Dec 1 15:03:30 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
- NEXT_INSN(x) to check insn x.
-
-Tue Dec 1 15:20:44 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (delete_block): Call set_last_insn if we end up deleting the
- last insn in the rtl chain.
-
- * reload1.c (reload): Do not set reload_completed or split insns
- here. Instead...
- * toplev.c (rest_of_compilation): Set reload_completed after
- reload returns. Split insns after reload_cse has run.
-
-Tue Dec 1 11:55:04 1998 Richard Henderson <rth@cygnus.com>
-
- * final.c (final_scan_insn): Abort if block_depth falls below 0.
-
-Tue Dec 1 10:23:16 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
-
-Tue Dec 1 10:22:18 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
- use of user-label_prefix.
-
-Tue Dec 1 17:58:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (emit_reload_insns): Clear spill_reg_store
- when doing a new non-inherited reload from the same pseudo.
-
- * local-alloc.c (function_invariant_p): New function.
- (update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
- to decide if an equivalence should be recorded.
- * reload1.c (num_eliminable_invariants): New static variable.
- (reload): Set it. Use function_invariant_p instead of CONSTANT_P
- to decide if an equivalence should be recorded.
- Unshare PLUS.
- (calculate_needs_all_insns): Skip insns that only set an equivalence.
- Take num_eliminable_invariants into account when deciding
- if register elimination should be done.
- (reload_as_needed): Take num_eliminable_invariants into account
- when deciding if register elimination should be done.
- (eliminate_regs): Handle non-constant reg_equiv_constant.
- * rtl.h (function_invariant_p): Declare.
-
-Mon Nov 30 02:00:08 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Nov 30 00:42:59 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Nov 29 22:59:40 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c (add_new_handler): Complain about additional handlers
- after one that catches everything.
-
-Sat Nov 28 10:56:32 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (alpha*-*-netbsd): Fix typo.
- * configure: Rebuilt.
-
-Fri Nov 27 12:28:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * system.h: Include libiberty.h.
-
- * c-aux-info.c: Remove prototypes for concat/concat3. Change
- function `concat' from fixed parameters to variable parameters,
- as is done in libiberty. All callers of concat/concat3
- changed to use the new `concat' with variable args.
-
- * cccp.c: Remove things made redundant by libiberty.h and/or
- conform to libiberty standards.
- * cexp.y: Likewise.
- * collect2.c: Likewise.
- * config/1750a/1750a.h: Likewise.
- * cppalloc.c: Likewise.
- * cppexp.c: Likewise.
- * cppfiles.c: Likewise.
- * cpphash.c: Likewise.
- * cpplib.c: Likewise.
- * dyn-string.c: Likewise.
- * fix-header.c: Likewise.
- * gcc.c: Likewise.
- * gcov.c: Likewise.
- * genattr.c: Likewise.
- * genattrtab.c: Likewise.
- * gencheck.c: Likewise.
- * gencodes.c: Likewise.
- * genconfig.c: Likewise.
- * genemit.c: Likewise.
- * genextract.c: Likewise.
- * genflags.c: Likewise.
- * gengenrtl.c: Likewise.
- * genopinit.c: Likewise.
- * genoutput.c: Likewise.
- * genpeep.c: Likewise.
- * genrecog.c: Likewise.
- * getpwd.c: Likewise.
- * halfpic.c: Likewise.
- * hash.c: Likewise.
- * mips-tdump.c: Likewise. Wrap malloc/realloc/calloc prototypes
- in NEED_DECLARATION_* macros.
-
- * mips-tfile.c: Remove things made redundant by libiberty.h and/or
- conform to libiberty standards.
- (fatal): Fix const-ification of variable `format' in
- !ANSI_PROTOTYPES case.
-
- * prefix.c: Remove things made redundant by libiberty.h and/or
- conform to libiberty standards.
-
- * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
- conflicting with function `spaces' from libiberty.
-
- * profile.c: Remove things made redundant by libiberty.h and/or
- conform to libiberty standards.
- * protoize.c: Likewise.
- * rtl.h: Likewise.
- * scan.h: Likewise.
- * tlink.c: Likewise.
- * toplev.c: Likewise.
- * toplev.h: Likewise.
- * tree.h: Likewise.
-
-Thu Nov 26 08:38:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
-
-Thu Nov 26 23:45:37 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * README.C4X: Updated URLs.
- * config/c4x/c4x.c (c4x_address_conflict): Fix typo.
- (valid_parallel_operands_5): Remove unused variable.
-
-Thu Nov 26 23:40:03 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
-
-1998-11-26 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
- which can be configured.
- (LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
- (Makefile): Pass actual LANGUAGES through the environment when
- re-configuring.
- (cstamp-h): Likewise.
- (config.status): Likewise.
-
- * configure.in (enable_languages): Add new configuration parameter
- "--enable-languages=lang1,lang2,...".
- (${srcdir}/*/config-lang.in): Change handling to configure only
- those directories, that the user might have enabled; default to
- "all" existing languages.
- * configure: Regenerate.
-
-Thu Nov 26 00:19:19 1998 Richard Henderson <rth@cygnus.com>
-
- * rtlanal.c (regs_set_between_p): New function.
- * rtl.h (regs_set_between_p): Prototype it.
- * jump.c (jump_optimize): Use it instead of modified_between_p
- in the Sep 2 change.
-
-Wed Nov 25 23:32:02 1998 Ian Dall <Ian.Dall@dsto.defence.gov.au>
- Matthias Pfaller <leo@dachau.marco.de>
-
- * invoke.texi (Option Summary, NS32K Options): add description
- of NS32K specific options.
-
- * ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
- fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
- fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
- negdf2, absdf2): Use l instead of f since the double class and
- float class are no longer the same.
- (cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
- divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
- ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
- use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
- fixed.
- (cmpsi, cmphi, cmpqi): use general_operand instead of
- non_immediate_operand. Removes erroneous assumption that can't
- compare constants.
- (movsf, movsi, movhi, movqi,...): New register numbering scheme.
- (movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
- constants.
- (movstrsi, movstrsi1, movstrsi2): completely new block move
- scheme.
- (...): Patterns to exploit multiply-add instructions.
- (udivmodsi4, udivmodsi_internal4, udivmodhi4,
- udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): new
- patterns to exploit extended divide insns.
- (udivsi3, udivhi3, udivqi3): remove since superceded by udivmodsi
- etc patterns.
-
- * ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
- float return values as well as simple scalar floats.
- (TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
- support new flag to denote 32381 fpu.
- (OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
- (CONDITIONAL_REGISTER_USAGE): disable extra 32381 registers if not
- compling for 32381.
- (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
- REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
- REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
- L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
- LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
- REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
- REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
- REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
- REG_OK_FOR_BASE_P, MEM_REG): new register scheme to include 32381
- fpu registers and special register classes for new 32381
- instructions dotf and polyf.
- (MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
- be tieable.
- (INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
- INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
- required.
- (SMALL_REGISTER_CLASSES): Make dependant on -mmult-add option.
- (MOVE_RATIO): Set to zero because of smart movstrsi implimentation.
- (REGISTER_MOVE_COST): move code to register_move_cost function for
- ease of coding and debugging.
- (CLASS_LIKELY_SPILLED_P): Under new register scheme class
- LONG_FLOAT_REGO is likely spilled but not caught by default
- definition.
- (CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): use macro
- instead of hard coded numbers in range check.
- (ASM_OUTPUT_LABELREF_AS_INT): delete since unused.
- (...): Add prototypes for functions in ns32k.c but disable because
- of problems when ns32k.h is included in machine independant files.
-
- * ns32k.c: include "system.h", "tree.h", "expr.h", "flags.h".
- (ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
- hard_regno_mode_ok, secondary_reload_class,
- print_operand, print_operand_address): new register scheme to
- include 32381 fpu registers and special register classes for new
- 32381 instructions dotf and polyf.
- (gen_indexed_expr): Make static to keep namespace clean.
- (check_reg): remove since never called.
- (move_tail, expand_block_move): helper functions for "movstrsi"
- block move insn.
- (register_move_cost): Helper function for REGISTER_MOVE_COST macro.
- Increase cost of moves which go via memory.
- * netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
- (CPP_PREDEFINES): nolonger predefine "unix".
-
- * ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
- Remove erroneous %$. print_operand() can work out from the rtx is
- an immediate prefix is required.
-
- * ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
- VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
- SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
- convention.
- (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
- pic operands.
-
- * ns32k.c (symbolic_reference_mentioned_p, print_operand):
- Correct handling of pic operands.
- (ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
- ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
- -mrtd calling convention.
-
-Wed Nov 25 23:42:20 1998 Tom Tromey <tromey@cygnus.com>
-
- * gcc.c (option_map): Recognize --output-class-directory.
-
-Thu Nov 26 18:26:21 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * loop.h (precondition_loop_p): Added new mode argument.
- * unroll.c (precondition_loop_p): Likewise.
- (approx_final_value): Function deleted and subsumed
- into loop_iterations.
- (loop_find_equiv_value): New function.
- (loop_iterations): Use loop_find_equiv_value to find increments
- too large to be immediate constants. Also use it to find terms
- common to initial and final iteration values that can be removed.
-
-Thu Nov 26 18:05:04 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * loop.h (struct loop_info): Define new structure.
- (precondition_loop_p): Added prototype.
- (unroll_loop): Added new argument loop_info to prototype.
- (final_biv_value, final_giv_value): Added new argument n_iterations
- to prototype.
- * loop.c (strength_reduce): Declare new structure loop_iteration_info
- and new pointer loop_info.
- (loop_n_iterations): Replace global variable by element in
- loop_info structure.
- (check_final_value): New argument n_iterations.
- (insert_bct): New argument loop_info.
- (loop_unroll_factor): Replace global array by element in
- loop_info structure.
- (loop_optimize): Remove code to allocate and initialise
- loop_unroll_factor_array.
- * unroll.c (precondition_loop_p): No longer static since
- used by branch on count optimization.
- (precondition_loop_p, unroll_loop): New argument loop_info.
- (final_biv_value, final_giv_value, find_splittable_regs): New
- argument n_iterations.
- (loop_iteration_var, loop_initial_value, loop_increment,
- loop_final_value, loop_comparison_code, loop_unroll_factor):
- Replaced global variables by loop_info structure.
- (loop_unroll_factor): Replace global array by element in
- loop_info structure.
-
-Thu Nov 26 17:49:29 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
- when loop reversed.
-
- * unroll.c (precondition_loop_p): Return loop_initial_value
- for initial_value instead of loop_iteration_var.
-
-Thu Nov 26 17:15:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.md: Fix minor formatting problems. Update docs.
- (*b, *b_rev, *b_noov, *b_noov_rev, *db,
- decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
- to output the instruction sequences.
- (rpts): Delete.
- (rptb_top): Provide alternatives to use any register or memory
- for loop counter.
- (rptb_end): Emit use of operands rather than assigning them
- explicitly to the RS and RE registers.
-
-Thu Nov 26 16:37:59 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
- c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
- c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
- c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
- c4x_merge_notes, c4x_parallel_process,
- c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
- c4x_combine_parallel): Delete.
-
-Thu Nov 26 15:16:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.c: (c4x_override_options): For compatibility
- with old target options clear flag_branch_on_count_reg if
- -mno-rptb specified and set flag_argument_alias is -mno-aliases
- specified.
- (c4x_output_cbranch): Handle a sequence of insns rather than a
- single insn.
- (c4x_rptb_insert): Do not emit a RPTB insn if the RC register
- has not been allocated as the loop counter.
- (c4x_address_conflict): Do not allow two volatile memory references.
- (valid_parallel_operands_4, valid_parallel_operands_5,
- valid_parallel_operands_6): Reject pattern if the register destination
- of the first set is used as part of an address in the second set.
-
-Thu Nov 26 14:56:32 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
- (TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
- is no longer enabled if PARALLEL_MPY_FLAG set.
- (HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
- (REG_CLASS_CONTENTS): Add braces around initializers.
- (HAVE_MULTIPLE_PACK): Define.
- (ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
- REAL_VALUE_TO_DECIMAL.
- (ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
- REAL_VALUE_TO_DECIMAL.
- (ar0_reg_operand): Add prototype.
- (ar0_mem_operand): Likewise.
- (ar1_reg_operand): Likewise.
- (ar1_mem_operand): Likewise.
- (ar2_reg_operand): Likewise.
- (ar2_mem_operand): Likewise.
- (ar3_reg_operand): Likewise.
- (ar3_mem_operand): Likewise.
- (ar4_reg_operand): Likewise.
- (ar4_mem_operand): Likewise.
- (ar5_reg_operand): Likewise.
- (ar5_mem_operand): Likewise.
- (ar6_reg_operand): Likewise.
- (ar6_mem_operand): Likewise.
- (ar7_reg_operand): Likewise.
- (ar7_mem_operand): Likewise.
- (ir0_reg_operand): Likewise.
- (ir0_mem_operand): Likewise.
- (ir1_reg_operand): Likewise.
- (ir1_mem_operand): Likewise.
- (group1_reg_operand): Likewise.
- (group1_mem_operand): Likewise.
- (ir1_reg_operand): Likewise.
- (arx_reg_operand): Likewise.
- (not_rc_reg): Likewise.
- (not_modify_reg): Likewise.
- (c4x_group1_reg_operand): Remove prototype.
- (c4x_group1_mem_operand): Likewise.
- (c4x_arx_reg_operand): Likewise.
-
-Wed Nov 25 19:02:55 1998 (Stephen L Moshier) <moshier@world.std.com>
-
- * emit-rtl.c (gen_lowpart_common): Remove earlier change.
- * real.c (make_nan): Make SIGN arg actually specify the sign bit.
-
-Thu Nov 26 14:12:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
- during reload.
-
-Wed Nov 25 22:05:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
- unless FMOVD_WORKS is defined.
-
-Wed Nov 25 20:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regclass.c (init_reg_sets): Move code that calculates tables
- dependent on reg_class_contents from here...
- (init_reg_sets_1): To here.
-
-Wed Nov 25 14:54:46 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpplib.h: Delete struct import_file. Add ihash element to
- struct cpp_buffer. Delete dont_repeat_files and
- import_hash_table elements from cpp_reader; change
- all_include_files to a hash table. Delete all foobar_include
- / last_foobar_include elements from struct cpp_options; put
- back four such: quote_include, bracket_include,
- system_include, after_include. Redo struct file_name_list
- completely. Add new structure type include_hash. Add
- prototypes for merge_include_chains and include_hash. Change
- prototypes for finclude, find_include_file, and
- append_include_chain to match changes below.
-
- * cppfiles.c (simplify_pathname, include_hash,
- remap_filename, merge_include_chains): New functions.
- (add_import, lookup_import, open_include_file): Removed.
- (INO_T_EQ): Define this (copied from cccp.c).
- (hack_vms_include_specification): Remove all calls and #if 0
- out the definition. It was being called incorrectly and at
- the wrong times. Until a VMSie can look at this, it's better
- to not pretend to support it.
- (append_include_chain): Change calling convention; now takes
- only one directory at a time, and sets up the data structure
- itself.
- (redundant_include_p): Rewritten - this is now used for all
- include redundancy, whether by #ifndef, #import, or #pragma
- once. Looks up things in the include hash table.
- (file_cleanup): Decrement pfile->system_include_depth here if
- it's >0.
- (find_include_file): Calling convention changed; now passes
- around a struct include_hash instead of 3 separate parameters.
- Guts ripped out and replaced with new include_hash mechanism.
- (finclude): Calling convention changed as for
- find_include_file. Error exits pulled out-of-line. Reformat.
- (safe_read): Return a long, not an int.
- (deps_output): Don't recurse.
-
- * cpplib.c (is_system_include): Deleted.
- (path_include): Fix up call to append_include_chain.
- (do_include): Fix up calls to find_include_file and finclude.
- Clean up dependency output a bit. Shorten obnoxiously lengthy
- #import warning message. Don't decrement
- pfile->system_include_depth here.
- (do_pragma): Understand the include_hash structure. Reformat.
- (do_endif): Correct handling of control macros. Understand
- the include_hash.
- (cpp_start_read): Fix up calls to finclude. Call
- merge_include_chains.
- (cpp_handle_option): Fix up calls to append_include_chain.
- Understand the four partial include chains.
- (cpp_finish): Add debugging code (#if 0-ed out) for the
- include_hash.
- (cpp_cleanup): Free the include_hash, not the import hash and
- the all_include and dont_repeat lists which no longer exist.
-
-Wed Nov 25 11:26:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (no_new_pseudos): Define.
- (rest_of_compilation): Set no_new_pseudos as needed.
- * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
- if no_new_pseudos is set.
- * rtl.h (no_new_pseudos): Declare it.
- * reload1.c (reload): Update comments.
- * md.texi: Corresponding changes.
-
-Wed Nov 25 11:26:17 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
- (choose_reload_regs): Rename it here as well. When computing it,
- also merge in used hardregs.
-
-1998-11-25 07:51 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * gcc.c: Split out Objective-C specs to...
- * objc/lang-specs.h: here. (New file.) Make the specs cpplib
- aware.
-
- * c-lex.c (init_parse): Always initialize the filename global.
- * objc/objc-act.c (lang_init): Always call check_newline at
- beginning of file.
-
-Wed Nov 25 00:48:29 1998 Graham <grahams@rcp.co.uk>
-
- * reload1.c (reload): Remove unused variable.
- (reload_reg_free_for_value_p): Add missing parameter definition.
-
- * jump.c (jump_optimize): Remove unused variable.
-
-Wed Nov 25 00:07:11 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
-
- * cse.c (fold_rtx): Make autoincrement addressing mode tests be
- runtime selectable.
- * expr.c (move_by_pieces): Similarly.
- (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
- * flow.c (find_auto_inc): Similarly.
- (try_pre_increment): Similarly.
- * loop.c (strength_reduce): Similarly.
- * regclass.c (auto_inc_dec_reg_p): Similarly.
- * regmove.c (try_auto_increment): Similarly.
- (fixup_match_1): Similarly.
- * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
- (HAVE_PRE_DECREMENT): Similarly.
- (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
- * Corresponding changes to all target header files.
- * tm.texi: Update docs for autoinc addressing modes.
-
-Tue Nov 24 20:24:59 1998 Jim Wilson <wilson@cygnus.com>
-
- * configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
- * configure: Rebuild.
- * config/elfos.h: New file.
- * config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
- config/m68k/t-m68kelf: New file.
-
-Tue Nov 24 13:40:06 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (HOST_AR): Define.
- (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
- (libcpp.a): Use the host tools explicitly.
- (STAGESTUFF): Add libcpp.a.
-
-Tue Nov 24 09:33:49 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.md (movstrsi_internal): Describe changes made
- to source and destination registers.
-
-Mon Nov 23 20:28:02 1998 Mike Stump <mrs@wrs.com>
-
- * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
- The strategy we now use is to pre allocate the top_elt along
- with the EH context so that each thread has its own top_elt.
- This is necessary as the dynmanic cleanup chain is used on the
- top element of the stack and each thread MUST have its own.
- (eh_context_static): Likewise.
- (new_eh_context): Likewise.
- (__sjthrow): Likewise.
-
-Mon Nov 23 20:25:03 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
- * i386.md (prologue_get_pc): Remove unused variable.
-
-Mon Nov 23 17:05:40 1998 Geoffrey Noer <noer@cygnus.com>
-
- * i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
-
-Mon Nov 23 16:40:00 1998 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in (OBJS): Add graph.o
- (graph.o): New dependency list.
- * flags.h: Declare dump_for_graph and define graph_dump_types type.
- * print-rtl.c (dump_for_graph): Define new variable.
- (print_rtx): Rewrite to allow use in graph dumping functions.
- * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
- finish_graph_dump_file.
- Define graph_dump_format.
- (compile_file): If graph dumping is enabled also clear these files.
- Finish graph dump files.
- (rest_of_compilation): Also dump graph information if enabled.
- (main): Recognize -dv to enabled VCG based graph dumping.
- * graph.c: New file. Graph dumping functions.
-
-Mon Nov 23 16:39:04 1998 Richard Henderson <rth@cygnus.com>
-
- * configure.in: Look for <sys/stat.h>.
- * system.h: Include it before substitute S_ISREG definitions.
-
-Mon Nov 23 17:40:37 1998 Gavin Romig-Koch <gavin@cygnus.com>
-
- * config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
- * config/mips/iris6.h: Same.
- * config/mips/mips.md: Same.
- * config/mips/mips.c: Same; also add "-mabi=o64" option.
- * config/mips/mips.h: Same; also define ABI_O64.
-
-Mon Nov 23 17:02:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * configure.in: Use AC_PREREQ(2.12.1).
-
-Mon Nov 23 10:16:38 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>
-
- * cccp.c (S_ISREG, S_ISDIR): Delete defines.
- * cpplib.c, gcc.c: Likewise.
- * system.h (S_ISREG, S_ISDIR): Define if not already defined.
-
-Mon Nov 23 09:53:44 1998 Richard Henderson <rth@cygnus.com>
-
- * local-alloc.c (local_alloc): Use malloc not alloca for
- reg_qty, reg_offset, ref_next_in_qty.
-
-Mon Nov 23 16:46:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * caller-save.c (insert_one_insn): Initialize the live_before and
- live_after register sets.
-
- Add SH4 support:
-
- * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
- (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
- * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
- (fp_reg_names, assembler_dialect): New variables.
- (print_operand_address): Handle SUBREGs.
- (print_operand): Added 'o' case.
- Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
- Name of FP registers depends on mode.
- (expand_block_move): Emit different code for SH4 hardware.
- (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
- (from_compare): Likewise.
- (add_constant): New argument last_value. Changed all callers.
- (find_barrier): Don't try HImode load for FPUL_REG.
- (machine_dependent_reorg): Likewise.
- (sfunc_uses_reg): A CLOBBER cannot be the address register use.
- (gen_far_branch): Emit a barrier after the new jump.
- (barrier_align): Don't trust instruction lengths before
- fixing up pcloads.
- (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
- Use auto-inc addressing for fp registers if doubles need to
- be loaded in two steps.
- Set sh_flag_remove_dead_before_cse.
- (push): Support for TARGET_FMOVD. Use gen_push_fpul for fpul.
- (pop): Support for TARGET_FMOVD. Use gen_pop_fpul for fpul.
- (calc_live_regs): Support for TARGET_FMOVD. Don't save FPSCR.
- Support for FIRST_XD_REG .. LAST_XD_REG.
- (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
- (sh_expand_epilogue): Likewise.
- (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
- (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
- (arith_reg_operand): FPUL_REG is OK for SH4.
- (fp_arith_reg_operand, fp_extended_operand) New functions.
- (tertiary_reload_operand, fpscr_operand): Likewise.
- (commutative_float_operator, noncommutative_float_operator): Likewise.
- (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
- (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
- (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
- (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
- * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
- (CONDITIONAL_REGISTER_USAGE): Likewise.
- (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
- (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
- (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
- (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
- (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
- to -1 and sh_flag_remove_dead_before_cse to 1.
- (ASSEMBLER_DIALECT): Define to assembler_dialect.
- (assembler_dialect, fp_reg_names): Declare.
- (OVERRIDE_OPTIONS): Add code for TARGET_SH4.
- Hide names of registers that are not accessible.
- (CACHE_LOG): Take TARGET_CACHE32 into account.
- (LOOP_ALIGN): Take TARGET_HARWARD into account.
- (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
- (FIRST_PSEUDO_REGISTER: Now 49.
- (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
- (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
- (HARD_REGNO_MODE_OK): Update.
- (enum reg_class): Add DF_REGS and FPSCR_REGS.
- (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
- (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
- (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
- (NPARM_REGS): Eight floating point parameter registers on SH4.
- (BASE_RETURN_VALUE_REG): SH4 also passes double values
- in floating point registers.
- (GET_SH_ARG_CLASS) Likewise.
- Complex float types are also returned in float registers.
- (BASE_ARG_REG): Complex float types are also passes in float registers.
- (FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
- (LIBCALL_VALUE): Remove trailing semicolon.
- (ROUND_REG): Round when double precision value is passed in floating
- point register(s).
- (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
- passed on the stack.
- (FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
- (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
- (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
- (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
- (MODE_DISP_OK_8): Not for SH4 DFmode.
- (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
- Allow indexed addressing for PSImode after reload.
- (LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
- (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
- Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
- (DOUBLE_TYPE_SIZE): 64 for SH4.
- (RTX_COSTS): Add PLUS case.
- Increae cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
- (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
- MAC_REGS, PR_REGS, DF_REGS.
- (REGISTER_NAMES): Use fp_reg_names.
- (enum processor_type): Add PROCESSOR_SH4.
- (sh_flag_remove_dead_before_cse): Declare.
- (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
- (PREDICATE_CODES): Add binary_float_operator,
- commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
- fpscr_operand, noncommutative_float_operator.
- (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
- (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
- * sh.md (attribute cpu): Add value sh4.
- (attrbutes fmovd, issues): Define.
- (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
- (function units memory, int, mpy, fp): Make dependent on issue rate.
- (function units issue, single_issue, load_si, load): Define.
- (function units load_store, fdiv, gp_fpul): Define.
- (attribute hit_stack): Provide proper default.
- (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
- (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
- (udivsi3, divsi3): Emit special patterns for SH4 hardware,
- (mulsi3_call): Now uses match_operand for function address.
- (mulsi3): Also emit code for SH1 case. Wrap result in REG_LIBCALL /
- REG_RETVAL notes.
- (push, pop, push_e, pop_e): Now define_expands.
- (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
- (movsi_ie): Added y/i alternative.
- (ic_invalidate_line_i, movdf_i4): New insns.
- (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
- (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
- (movdf): Add special code for SH4.
- (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
- (call_valuei, calli, call_value): Likewise.
- (movsf): Emit no-op move.
- (mov_nop, movsi_y): New insns.
- (blt, sge): generalize to handle DFmode.
- (return predicate): Call emit_fpscr_use and remove_dead_before_cse.
- (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
- (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
- (fpu_switch0, fpu_switch1, movpsi): New expanders.
- (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
- (toggle_sz): New insn.
- (addsf3, subsf3, mulsf3, divsf3): Now define_expands.
- (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
- (macsf3): Make use of fpscr visible. Disable for SH4.
- (floatsisf2): Make use of fpscr visible.
- (floatsisf2_i4): New insn.
- (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
- (ieee_ccmpeqsf_t): Likewise.
- (fix_truncsfsi2): Emit different code for SH4.
- (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
- (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
- (negsf2, sqrtsf2, abssf2): Now expanders.
- (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
- (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
- (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
- (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
- (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
- (fix_truncdfsi2_i4_2+1): New splitters.
- (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
- (extendsfdf2, truncdfsf2): New expanders.
- (truncdfsf2_i4): New insn.
- * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
- (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
- * float-sh.h: When testing for __SH3E__, also test for
- __SH4_SINGLE_ONLY__ .
- * va-sh.h (__va_freg): Define to float.
- (__va_greg, __fa_freg, __gnuc_va_list, va_start):
- Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
- (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
- (__PASS_AS_FLOAT): Use different definition for __SH4__ and
- __SH4_SINGLE__.
- (TARGET_SH4_P): Define.
- (va_arg): Use it.
-
- * sh.md (movdf_k, movsf_i): Tweak the condition so that
- init_expr_once is satisfied about the existence of load / store insns.
-
- * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
- change m constraint in source operand to mr / mf .
-
- * va-sh.h (__va_arg_sh1): Use __asm instead of asm.
-
- * (__VA_REEF): Define.
- (__va_arg_sh1): Use it.
-
- * va-sh.h (va_start, va_arg, va_copy): Add parenteses.
-
-Sun Nov 22 21:34:02 1998 Jeffrey A Law (law@cygnus.com)
-
- * i386/dgux.c (struct option): Add new "description field".
- * m88k/m88k.c (struct option): Likewise.
-
-Sun Nov 22 16:07:57 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Nov 22 13:40:02 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * regmove.c (regmove_profitable_p): Use return value of find_matches
- properly.
-
-Sun Nov 22 02:47:37 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Nov 21 22:12:09 1998 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
- without reload having been called earlier.
-
- * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
- addressing modes.
- (v850_reorg): Similarly.
-
- * loop.c (check_dbra_loop): Avoid using gen_add2_insn.
-
-Sat Nov 21 02:18:38 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (move_movables): Start of libcall might be new loop start.
-
-Fri Nov 20 12:14:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
-
-Fri Nov 20 08:34:00 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * function.c (nonlocal_goto_handler_slots): Renamed from
- nonlocal_goto_handler_slot; now an EXPR_LIST chain.
- (push_function_context_to): Adjust for this change.
- (pop_function_context_from): Likewise.
- (init_function_start): Likewise.
- (expand_function_end): Likewise.
- * function.h (struct function): Likewise.
- * calls.c (expand_call): Likewise.
- * explow.c (allocate_dynamic_stack_space): Likewise.
- * expr.h (nonlocal_goto_handler_slots): Rename its declaration.
- * stmt.c (declare_nonlocal_label): Make a new handler slot for each
- label.
- (expand_goto): When doing a nonlocal goto, find corresponding handler
- slot for it. Don't put the label address in the static chain register.
- (expand_end_bindings): Break out nonlocal goto handling code into
- three new functions.
- (expand_nl_handler_label, expand_nl_goto_receiver,
- expand_nl_goto_receivers): New static functions, broken out of
- expand_end_bindings and adapted to create one handler per nonlocal
- label.
- * function.c (delete_handlers): Delete insn if it references any of
- the nonlocal goto handler slots.
- * i960.md (nonlocal_goto): Comment out code that modifies
- static_chain_rtx.
- * sparc.md (nonlocal_goto): Likewise.
- (goto_handler_and_restore_v9): Comment out.
- (goto_handler_and_restore_v9_sp64): Comment out.
-
-Thu Nov 19 23:44:38 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * expr.c (STACK_BYTES): Delete unused macro.
- * calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
- (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
- (expand_call): Likewise.
- (emit_library_call): Likewise.
- (emit_library_call_value): Likewise.
- * function.c: Provide default for PREFERRED_STACK_BOUNDARY.
- (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
- * explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
- (round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
- (allocate_dynamic_stack_space): Likewise.
- * tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
- (STACK_BOUNDARY): Update description to reflect the new situation.
-
-Thu Nov 19 22:20:51 1998 Jeffrey A Law (law@cygnus.com)
-
- * reorg.c (relax_delay_slots): When optimizing for code size, if a
- return with a filled delay slot is followed by a return with an
- unfilled delay slot, delete the first return and reemit the insn
- that was previously in its delay slot.
-
- * i860.c (single_insn_src_p): Add missing parens.
- * ginclude/math-3300.h: Likewise.
-
-Thu Nov 19 20:55:59 1998 H.J. Lu (hjl@gnu.org)
-
- * regclass.c (init_reg_sets_1): Add prototype.
- (init_reg_modes): Likewise.
-
-1998-11-19 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * c-common.c: Change warning messages to say `comparison is
- always true' or `comparison is always false' instead of the
- confusing `is always 0', `is always 1'.
-
-Thu Nov 19 19:05:49 1998 Per Bothner <bothner@cygnus.com>
-
- * print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
- break instead of return (which loses closing '>').
-
-Thu Nov 19 19:34:13 1998 Jeffrey A Law (law@cygnus.com)
-
- * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
- standard 387 constants.
-
- * i386.md (jump): Explicitly set "memory" attribute.
- (indirect_jump, prologue_set_stack_ptr): Likewise.
- (prologue_get_pc_and_set_got, pop): Likewise.
- (allocate_stack_worder, blockage, return_internal): Likewise.
- (return_pop_internal, nop): Likewise.
- (epilogue_set_stack_ptr, leave): Likewise.
-
-Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
-
-Thu Nov 19 23:20:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_reg_free_for_value_p):
- Early auto_inc reloads don't conflict with outputs.
-
-Thu Nov 19 12:58:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
- Instead call AC_HEADER_SYS_WAIT.
-
- * collect2.c: Don't provide defaults for sys/wait.h macros.
- * gcc.c: Likewise.
- * protoize.c: Likewise. Also, don't include sys/wait.h.
-
- * system.h: Include sys/wait.h and provide macro defaults.
-
-1998-11-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * Makefile.in (mandir): Set to @mandir@.
- (man1dir): New variable to hold the former value of $(mandir).
- Replace all uses of $(mandir) by $(man1dir).
-
-Wed Nov 18 16:31:28 1998 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (find_reloads_address_part): If have a CONST_INT, create
- a new one before passing it to force_const_mem.
-
- * reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
- find_reloads_address call.
-
-Wed Nov 18 22:13:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * expr.c (store_expr): Don't generate load-store pair
- if TEMP is identical (according to ==) with TARGET.
-
-Tue Nov 17 22:25:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_reg_free_for_value_p): When considered reload
- has an output, matching inputs are not sufficient to avoid conflict.
-
-Tue Nov 17 11:51:16 1998 Mark Mitchell <mark@markmitchell.com>
-
- * hash.h (hash_table_key): New type.
- (hash_entry): Change `string' field to generic `key'.
- (hash_table): Add `comp' and `hash' functions.
- (hash_table_init): Take them as input.
- (hash_table_init_n): Likewise.
- (hash_lookup): Modify for generic keys.
- (hash_newfunc): Likewise.
- (hash_traverse): Likewise.
- (string_hash): New function.
- (string_compare): Likewise.
- (string_copy): Likewise.
- * hash.c (hash_table_init_n): Modify for generic keys.
- (hash_table_init): Likewise.
- (hash_lookup): Likewise.
- (hash_newfunc): Likewise.
- (hash_traverse): Likewise.
- (string_hash): Split out from hash_lookup.
- (string_compare): New function.
- (string_copy): Split out from hash_lookup.
- * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
- tables.
- (symbol_hash_lookup): Likewise.
- (file_hash_newfunc): Likewise.
- (file_hash_lookup): Likewise.
- (demangled_hash_newfunc): Likewise.
- (demangled_hash_lookup): Likewise.
- (tlink_int): Likewise.
- (read_repo_file): Likewise.
- (recompile_files): Likewise.
- (demangle_new_symbols): Likewise.
- (scan_linker_output): Likewise.
-
-Tue Nov 17 17:13:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * flow.c (insn_dead_p): New argument NOTES. Changed all callers.
-
-Mon Nov 16 17:56:07 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (output_mi_thunk): Improve test for local branch.
-
-Mon Nov 16 17:56:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * rs6000.c (output_mi_thunk): Correct test for aggregate values.
-
-Mon Nov 16 21:02:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_reg_free_before_p): Delete.
- Changed all callers to use reload_reg_free_for_value_p instead.
- (reload_reg_free_for_value_p): Handle more reload types.
- A RELOAD_FOR_INPUT doesn't conflict with its
- RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
- Add special case for OUT == const0_rtx.
- Added ignore_address_reloads argument. Changed all callers.
-
-Mon Nov 16 02:22:29 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (compile_file): Don't pedwarn about undefined static
- functions just because we passed -Wunused.
-
-Mon Nov 16 04:41:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * function.c (purge_addressof_1): Unshare rtl created by
- store_bit_field.
-
-Mon Nov 16 04:23:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (regmove_optimize): Don't do anything but
- optimize_reg_copy[123] when flag_regmove is not set.
-
-Sat Nov 14 15:05:07 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
- value in paradoxical SImode result, rather than truncating midpoint.
-
-Fri Nov 13 22:19:23 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (reg_not_elim_operand): New.
- * alpha.h (PREDICATE_CODES): Add it.
- * alpha.md (s48addq, s48subq patterns): Use it as the predicate
- for the multiplicand.
-
-Fri Nov 13 22:50:37 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (movsf): Remove explicit secondary-reload-like
- functionality. Only truncate SFmode store if in FPR.
- (movsf splitters): Combine const_double splitters.
- (movsf_hardfloat): Add GPR support.
-
-Fri Nov 13 11:02:11 1998 Stan Cox <scox@cygnus.com>
-
- * splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
- deprecate -mlive-g0 and -mbroken-saverestore.
- * t-splet (MULTILIB_OPTIONS): Likewise.
-
- * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
- in a leaf function. Clarify total_size/extra_size relationship.
-
-Thu Nov 12 19:20:57 1998 Geoffrey Noer <noer@cygnus.com>
-
- * i386/cygwin32.asm: Delete.
- * i386/cygwin.asm: New file, renamed from cygwin32.asm.
- * i386/cygwin32.h: Delete.
- * i386/cygwin.h: New file, renamed from cygwin32.h.
- * i386/t-cygwin32: Delete.
- * i386/t-cygwin: New file, renamed from t-cygwin32. Include
- cygwin.asm instead of cygwin32.asm. Remove "32" from comment.
- * i386/x-cygwin32: Delete.
- * i386/x-cygwin: New file, renamed from x-cygwin32.
- * i386/xm-cygwin32: Delete.
- * i386/xm-cygwin: New file, renamed from xm-cygwin32. Use newly
- renamed cygwin_ funcs for path translations.
- * i386/win32.h: Define __CYGWIN__ when -mcygwin given.
- * i386/winnt.c: Remove "32" from comment about cygwin.
- * i386/mingw32.h: Fix references to cygwin32.h in light of above.
- * rs6000/cygwin32.h: Delete.
- * rs6000/cygwin.h: New file, renamed from cygwin32.h. Add
- -D__CYGWIN__ to CPP_PREDEFINES.
- * rs6000/x-cygwin32: Delete.
- * rs6000/x-cygwin: New file, renamed from x-cygwin32.
- * rs6000/xm-cygwin32: Delete.
- * rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
-
- * configure.in: Check for cygwin* instead of cygwin32. Account
- for the rename of cygwin-related config files to lose the "32"s.
- * configure: Regenerate.
-
- * cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
- toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
-
-Wed Nov 11 12:25:19 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in (JAVAGC): New macro.
- * configure: Rebuilt.
- * configure.in: Recognize --enable-java-gc argument. Subst
- `JAVAGC' variable.
-
-Thu Nov 12 03:32:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- Handle equivalences that have been obscured by gcse:
-
- * reload1.c (reload): Handle equivalences set up in multiple places.
- * local-alloc.c (reg_equiv_init_insns): New variable.
- (no_equiv): New function.
- (update_equiv_regs): Handle equivalences set up in multiple places.
- Don't ignore an insn just because its destination is likely to be
- spilled.
-
-Wed Nov 11 13:46:13 1998 Jim Wilson <wilson@cygnus.com>
-
- * except.c (expand_eh_return): Readd force_operand call lost in
- Sept 15 change.
-
-Tue Nov 10 17:04:11 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
-
-1998-11-09 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
-
-Mon Nov 9 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * regmove.c (regmove_optimize): Fix error in last change.
-
-Mon Nov 9 16:37:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
-
- * mips.c (function_prologue): When TARGET_MIPS16, adjust the register
- offset in the .mask pseudo to compensate for frame pointer adjustments.
- (mips16_fp_args, build_mips16_call_stub): For little endian, do not
- word swap arguments moved to/from FP registers.
- * mips16.S (DFREVCMP): Reverse arguments to OPCODE.
-
-Mon Nov 9 09:47:06 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Nov 9 02:14:14 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Nov 9 03:06:24 1998 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c (delete_output_reload_insn): If a pseudo is set multiple
- times, then it can not be completely replaced.
-
-Mon Nov 9 00:39:02 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
-
-Sun Nov 8 17:50:30 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gansidecl.h: Prepend a "G" to the macro wrapping this file
- (to distinguish it from the macro wrapping ansidecl.h.)
- Include libiberty's ansidecl.h. Remove all redundant definitions.
- Define the PROTO() style macros in terms of the PARAMS() ones.
-
-
- * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
- __STDC__, when deciding whether to use ANSI variable args.
- (emit_library_call_value): Likewise.
-
- * cccp.c (error): Likewise.
- (warning): Likewise.
- (error_with_line): Likewise.
- (warning_with_line): Likewise.
- (pedwarn): Likewise.
- (pedwarn_with_line): Likewise.
- (pedwarn_with_file_and_line): Likewise.
- (fatal): Likewise.
-
- * cexp.y (error): Likewise.
- (pedwarn): Likewise.
- (warning): Likewise.
-
- * collect2.c (fatal_perror): Likewise.
- (fatal): Likewise.
- (error): Likewise.
-
- * combine.c (gen_rtx_combine): Likewise.
-
- * cpperror.c (cpp_message): Likewise.
- (cpp_fatal): Likewise.
-
- * cpplib.c (cpp_error): Likewise.
- (cpp_warning): Likewise.
- (cpp_pedwarn): Likewise.
- (cpp_error_with_line): Likewise.
- (cpp_warning_with_line): Likewise.
- (cpp_pedwarn_with_line): Likewise.
- (cpp_pedwarn_with_file_and_line): Likewise.
-
- * cpplib.h: Don't define PARAMS() macro.
-
- * demangle.h: Likewise.
-
- * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
- when deciding whether to use ANSI variable args.
-
- * emit-rtl.c (gen_rtx): Likewise.
- (gen_rtvec): Likewise.
-
- * final.c (asm_fprintf): Likewise.
-
- * fix-header.c (cpp_message): Likewise.
- (fatal): Likewise.
- (cpp_fatal): Likewise.
-
- * gcc.c (concat): Likewise.
- (fatal): Likewise.
- (error): Likewise.
-
- * genattr.c (fatal): Likewise.
-
- * genattrtab.c (attr_rtx): Likewise.
- (attr_printf): Likewise.
- (fatal): Likewise.
-
- * gencodes.c (fatal): Likewise.
-
- * genconfig.c (fatal): Likewise.
-
- * genemit.c (fatal): Likewise.
-
- * genextract.c (fatal): Likewise.
-
- * genflags.c (fatal): Likewise.
-
- * genopinit.c (fatal): Likewise.
-
- * genoutput.c (fatal): Likewise.
- (error): Likewise.
-
- * genpeep.c (fatal): Likewise.
-
- * genrecog.c (fatal): Likewise.
-
- * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
- deciding whether to declare `tree_node' and `rtx_def'.
-
- * hash.h: Don't define stuff we get from gansidecl.h.
-
- * mips-tfile.c: Likewise. Define __proto() in terms of PARAMS().
- (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
- whether to use ANSI variable args.
- (error): Likewise.
-
- * prefix.c (concat): Likewise.
-
- * scan.h: Likewise.
-
- * system.h: Likewise.
-
- * toplev.c (error_with_file_and_line): Likewise.
- (error_with_decl): Likewise.
- (error_for_asm): Likewise.
- (error): Likewise.
- (fatal): Likewise.
- (warning_with_file_and_line): Likewise.
- (warning_with_decl): Likewise.
- (warning_for_asm): Likewise.
- (warning): Likewise.
- (pedwarn): Likewise.
- (pedwarn_with_decl): Likewise.
- (pedwarn_with_file_and_line): Likewise.
- (sorry): Likewise.
- (really_sorry): Likewise.
-
- * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
- whether to declare `tree_node' and `rtx_def'.
-
- * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
- deciding whether to use ANSI variable args.
- (build_nt): Likewise.
- (build_parse_node): Likewise.
-
-Sun Nov 8 13:10:55 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Nov 7 23:34:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
-
-Sat Nov 7 22:26:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * collect2.c (main, case 'b'): Use else if.
-
-Sat Nov 7 15:35:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
- Arrange to include gansidecl.h in {ht}config.h & tm.h just
- before the config/ directory headers.
- (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
- gansidecl.h in the list of dependencies.
-
- * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
- (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
- mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
- gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
- dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
- cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
- Likewise.
-
- * cccp.c: Don't include gansidecl.h.
- * cexp.y: Likewise.
- * collect2.c: Likewise.
- * config/c4x/c4x.c: Likewise.
- * config/v850/v850.h: Likewise.
- * cppalloc.c: Likewise.
- * cpperror.c: Likewise.
- * cppexp.c: Likewise.
- * cppfiles.c: Likewise.
- * cpphash.c: Likewise.
- * cpplib.c: Likewise.
- * cppmain.c: Likewise.
- * cppulp.c: Likewise.
- * demangle.h: Likewise.
- * doprint.c: Likewise.
- * dyn-string.c: Likewise.
- * eh-common.h: Likewise.
- * fix-header.c: Likewise.
- * frame.c: Likewise.
- * gcc.c: Likewise.
- * gcov.c: Likewise.
- * gen-protos.c: Likewise.
- * gencheck.c: Likewise.
- * halfpic.h: Likewise.
- * hash.c: Likewise.
- * machmode.h: Likewise.
- * mbchar.c: Likewise.
- * prefix.c: Likewise.
- * protoize.c: Likewise.
- * recog.h: Likewise.
- * rtl.h: Likewise.
- * scan-decls.c: Likewise.
- * tree.h: Likewise.
- * varray.h: Likewise.
-
-Sat Nov 7 11:37:53 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.md (call_value_pop): If we're not popping anything,
- defer to call_value.
- (call_pop): Likewise defer to call.
-
-Sat Nov 7 02:49:56 1998 Richard Henderson <rth@cygnus.com>
-
- * function.c (purge_addressof): Clear purge_addressof_replacements
- only after processing the whole function.
-
-Sat Nov 7 00:54:55 1998 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c (reload): If we can not perform a particular elimination
- when we thought we could earlier, then we must always iterate through
- the loop at least one more time.
-
-Fri Nov 6 19:37:33 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (add_operand): Simplify the CONST_INT match.
- (sext_add_operand): Correct typo in comparison by using
- CONST_OK_FOR_LETTER_P.
- * alpha.md (s?addq): Use sext_add_operand to allow the negative
- constant alternatives to be generated.
- (mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
- small constants, since the hw instructions do.
-
-Fri Nov 6 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
- previous insn to store directly into our reload register, make sure
- that if the source of the previous insn is a reload register, its
- spill_reg_store and spill_reg_stored_to values are cleared.
-
-Fri Nov 6 16:35:10 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (floatunssidf2_internal splitter): Use base register
- operand, not hard-coded SP.
-
-Fri Nov 6 04:07:53 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * jump.c (calculate_can_reach_end): Fix thinko.
-
-Fri Nov 6 00:16:04 1998 Jeffrey A Law (law@cygnus.com)
-
- * reorg.c (fill_simple_delay_slots): Fix typo.
-
- * romp.h (LEGITIMIZE_ADDRESS): Fix typo.
-
-Fri Nov 6 00:10:00 1998 Jan Hubicka (hubicka@freesoft.cz)
-
- * i386.md (extendsidi2): Use # in the output template.
- (extendsidi splitters): New splitters.
-
-Thu Nov 5 11:13:27 1998 Nick Clifton <nickc@cygnus.com>
-
- * configure.in: Use unknown-elf.h as tm_file for arm-elf
- configuarions.
- * configure: Regenerate.
-
-Thu Nov 5 07:59:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * jump.c (init_label_info, delete_barrier_successors,
- mark_all_labels, delete_unreferenced_labels,
- delete_noop_moves, calculate_can_reach_end): New functions broken
- out of jump_optimize.
- (jump_optimize): Use them.
-
-Thu Nov 5 07:57:45 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * except.c (expand_fixup_region_end): Make sure outer context labels
- are not issued in an inner context during cleanups.
-
-Thu Nov 5 04:03:06 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (addsi3, subsi3): No new temporaries once cse is
- no longer expected.
-
-Thu Nov 5 03:29:19 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
- to expose this midpoint to CSE.
-
-Thu Nov 5 03:42:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
-
-Thu Nov 5 10:53:01 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * configure.in: Bring over gcc2 change of Nov 19 1997.
-
-Wed Nov 4 23:43:08 1998 Graham <grahams@rcp.co.uk>
-
- * toplev.c (output_lang_identify): Make definition dependent on
- ASM_IDENTIFY_LANGUAGE.
-
- * print-rtl.c (spaces): Make static.
-
-Wed Nov 4 22:16:36 1998 Hans-Peter Nilsson <hp@axis.se>
-
- * extend.texi: Clarify proper uses for register clobbers in asms.
-
-Wed Nov 4 22:16:36 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * recog.h (enum op_type): Define.
- (constrain_operands): Adjust prototype.
- (recog_op_type): Declare new variable.
- * recog.c (recog_op_type): New variable.
- (insn_invalid_p): Allow modifying an asm statement after reload.
- (extract_insn): Set up recog_op_type.
- (constrain_operands): Lose INSN_CODE_NUM arg. All callers changed.
- Don't compute operand types, use recog_op_type.
- Use the information computed by extract_insn instead of the previous
- method of finding it by insn code number.
- * caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
- * reorg.c (fill_slots_from_thread): Likewise.
- * reload1.c (reload_as_needed): Likewise.
- (gen_reload): Likewise.
- (inc_for_reload): Likewise.
- (reload_cse_simplify_operands): Likewise.
- Use the information computed by extract_insn instead of the previous
- method of finding it by insn code number.
- * genattrtab.c (write_attr_case): Generate call to extract_insn, not
- insn_extract.
- * final.c (final_scan_insn): Use extract_insn, not insn_extract.
- (cleanup_operand_subregs): Use extract_insn, not insn_extract.
- Use the information computed by extract_insn instead of the previous
- method of finding it by insn code number.
- * regmove.c (find_matches): Likewise. Change meaning of the return
- value to be nonzero if the optimization can be performed, zero if
- not. All callers changed.
- Shorten some variable names to fix formatting problems.
- (regmove_optimize): Shorten some variable names to fix formatting
- problems.
- Use the information computed by extract_insn instead of the previous
- method of finding it by insn code number.
- * regclass.c (scan_one_insn): Likewise.
- (record_reg_classes): Don't compute operand types, use recog_op_type.
- * reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
- recog_constraints instead.
-
-Wed Nov 4 21:37:46 1998 Jeffrey A Law (law@cygnus.com)
-
- * rtl.h (flow2_completed): Declare.
- * flow.c (flow2_completed): Definition.
- * toplev.c (rest_of_compilation): Set and clear flow2_completed
- as necessary.
-
-Wed Nov 4 19:15:37 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>
-
- * Makefile.in (libcpp.a): Ranlib libcpp.a
-
- * cppulp.c (user_label_prefix): Initialize.
-
-Wed Nov 4 19:07:08 1998 John Wehle (john@feith.com)
-
- * flow.c (mark_regs_live_at_end): Mark the stack pointer as live
- at a RETURN if current_function_sp_is_unchanging is set.
-
-Wed Nov 4 18:16:29 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * emit-rtl.c (try_split): Fixed error in Oct 10 patch.
-
-Wed Nov 4 15:11:15 1998 Geoffrey Noer <noer@cygnus.com>
-
- * i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
- TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
- (SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
- (CPP_PREDEFINES): Don't define __CYGWIN32__ here.
- (STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
- (CPP_SPEC): Handle -mno-cygwin option. Define __CYWIN__ in addition
- to __CYGWIN32__.
- (LIB_SPEC): Handle -mno-cyginw option.
- (LINK_SPEC): Handle -mdll.
-
-Wed Nov 4 22:56:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (find_reloads): Fix test for usage by other reload
- to handle secondary reloads properly.
-
-Wed Nov 4 17:25:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
- intermediate structure which has exactly the members provided by
- ELIMINABLE_REGS. Define NUM_ELIMINABLE_REGS in terms of the
- static intermediate structure.
-
- (init_elim_table): Xmalloc() `reg_eliminate', and initialize it
- from the intermediate structure. Do the same analogous fix in
- the case where ELIMINABLE_REGS is not defined.
-
-Tue Nov 3 20:50:03 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (SELECT_SECTION): Fix thinko.
-
-Tue Nov 3 17:51:36 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (output_call_frame_info): Comments on last change.
-
-Tue Nov 3 07:51:43 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.c (add_constant): When taking the address of an item in the
- pool, get the mode of the item addressed.
-
- * arm.c (final_prescan_insn case INSN): If an insn doesn't
- contain a SET or a PARALLEL, don't consider it for conditional
- execution.
-
- Restore ABI compatibility for NetBSD.
- * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
- arm.h
- (RETURN_IN_MEMORY): Likewise.
-
-Mon Nov 2 11:46:17 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
- (m32r_output_block_move): Rewrite bytes < 4 handling.
-
-Mon Nov 2 10:10:35 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * configure.in: Call AC_FUNC_VFORK.
-
- * collect2.c: Define VFORK_STRING as a printable string for
- error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
- defined, include vfork.h. If VMS is defined, define vfork()
- appropriately. Remove vfork check on USG, we're using autoconf.
- (collect_execute): Pass VFORK_STRING to fatal_perror instead of
- checking locally what string to pass.
- (scan_prog_file): Likewise.
- (scan_libraries): Likewise.
-
- * gcc.c: Remove vfork check on USG, we're using autoconf.
- Besides, no calls to vfork/fork occur in this file.
-
- * protoize.c: Likewise.
-
-Mon Nov 2 07:52:28 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * configure.in (DEFAULT_LINKER): renamed from LD
- (DEFAULT_ASSEMBLER): renamed from AS; reverted Schwab's patch
- (gcc_cv_as): try $DEFAULT_ASSEMBLER before $AS
- * configure: rebuilt
-
-Mon Nov 2 01:48:10 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * BUGS: fix the regexp for `more' to find the appropriate node.
- Reported by Joerg Pietschmann <joerg_pietschmann@zkb.ch>
-
- * BUGS: added link to the WWW FAQ
-
-Sun Nov 1 18:27:15 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Nov 1 11:04:32 1998 Jeffrey A Law (law@cygnus.com)
-
- * From Christian Gafton:
- * i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
- * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
- * sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
-
-Sat Oct 31 21:42:39 1998 Mark Mitchell <mark@markmitchell.com>
-
- * c-common.c (c_get_alias_set): Allow all type-punning through
- unions. Don't get confused about the type of a bit-field, despite
- the antics of build_modify_expr.
-
-Sat Oct 31 22:35:29 1998 Jean-Pierre Radley <jpr@jpr.com>
-
- * fixinc.sco: Paramaterize #include_next values.
- * fixinc/fixinc.sco: Likewise.
-
-Sat Oct 31 20:39:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (rest_of_compilation): No longer set reload_completed.
- * reload1.c (reload): Set it here. Perform instruction splitting
- after reload has completed if we will be running the scheduler
- again.
-
-Sat Oct 31 12:30:02 1998 Jeffrey A Law (law@cygnus.com)
-
- * jump.c (jump_optimize): Initialize mappings from INSN_UID to
- EH region if exceptions are enabled and we're performing cross
- jump optimizations.
- (find_cross_jump): Exit loop if the insns are in different EH regions.
-
-Sat Oct 31 10:02:48 1998 Mark Mitchell <mark@markmitchell.com>
-
- * dwarf2out.c (output_call_frame_info): Use
- ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
-
-Sat Oct 31 10:23:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
- * c-common.c (check_format_info): Don't check for the 'x'
- format character twice, instead check for 'x' and 'X'
-
-Fri Oct 30 14:50:25 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (assembler features): Also make gas is configured if
- we find it in the souce tree.
-
-Fri Oct 30 13:23:20 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.c (i386_comp_type_attributes): Compare whether the
- attributes are defined, not their tree nodes.
-
-Fri Oct 30 11:39:47 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * configure.in (gxx_include_dir): bitten by autoconf quoting
- characters :-(
- * configure: rebuilt
-
-Fri Oct 30 10:43:29 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * configure.in: Ignore non-absolute value in $AS.
-
-Fri Oct 30 00:54:25 1998 Peter Jakubek <pjak@snafu.de>
-
- * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
-
-Fri Oct 30 00:42:34 1998 Mark Elbrecht <snowball3@usa.net>
-
- * configure.in (msdosdjgpp): Set exeext and target_alias.
-
-Thu Oct 29 23:55:43 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * flow.c (XNMALLOC): New macro.
- (flow_int_list_blocks, basic_block_succ, basic_block_pred): New
- static variables.
- (add_edge, add_edge_to_label): New static functions.
- (free_bb_memory): New function.
- (flow_delete_insn): Delete function.
- (basic_block_drops_in): Delete variable.
- (find_basic_blocks): Allocate and initialize basic_block_head,
- basic_block_succ. Don't allocate basic_block_drops_in.
- Call free_bb_memory at the beginning.
- (find_basic_blocks_1): Don't do multiple passes.
- Delete code to compute basic_block_drops_in.
- After calling make_edges, mark blocks reached by current block live.
- Update test for unreachable live blocks.
- (mark_label_ref): Delete args X, CHECKDUP. Add PRED arg. All callers
- changed.
- Simplify to call add_edge_to_label when a LABEL_REF is found.
- (make_edges): Simplify to call add_edge_to_label instead of
- mark_label_ref most of the time.
- Compute here whether control drops into the next block.
- (delete_unreachable_blocks): Return void. All callers changed.
- Delete unreachable blocks in reverse order.
- After deleting all unreachable blocks, renumber the remaining ones
- and update n_basic_blocks.
- (delete_block): Speed up deletion a bit.
- Don't set basic_block_drops_in for deleted blocks.
- (free_basic_block_vars): Don't free basic_block_drops_in.
- (life_analysis_1): Update to use new edge representation.
- (dump_flow_info): Delete code to print basic block info; call
- dump_bb_data instead.
- (compute_preds_succs): Delete code to recompute basic_block_drops_in
- and uid_block_number.
- Simply copy the previously computed cfg.
- (dump_bb_data): New arg LIVE_INFO. All callers changed.
- Print register lifetime information if LIVE_INFO is nonzero.
- * basic-block.h (dump_bb_data): Adjust prototype.
- * gcse.c (gcse_main): Update call to dump_bb_data.
- * rtl.h (free_bb_memory): Declare.
- * toplev.c (rest_of_compilation): Call free_bb_memory.
-
- * reload1.c (struct elim_table): Delete MAX_OFFSET member.
- (update_eliminable_offsets): Don't compute it.
- (set_initial_elim_offsets): Don't initialize it.
- Break out some code into set_initial_label_offsets so the rest of
- this function can be called from reload_as_needed.
- Assume that INITIAL_FRAME_POINTER_OFFSET is defeined when
- ELIMINABLE_REGS isn't.
- (set_initial_label_offsets): New function, broken out of
- set_initial_elim_offsets.
- (set_offsets_for_label): New function, broken out of set_label_offsets
- and reload_as_needed.
- (reload): Call the two new functions.
- (reload_as_needed): Call set_initial_elim_offsets instead of
- duplicating the code. Likewise for set_offsets_for_label.
-
- * reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
- (emit_reload_insns): Ensure that when we set reg_reloaded_valid for
- any hard reg, reg_reloaded_dead contains valid data.
-
-Thu Oct 29 22:30:54 1998 Marcus Meissner <Marcus.Meissner@informatik.uni-erlangen.de>
-
- * i386.c (i386_comp_type_attributes): Return nonzero for mismatched
- "stdcall" and "cdecl" attributes.
-
-Thu Oct 29 23:55:43 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
-
-Thu Oct 29 19:05:17 1998 Jim Wilson <wilson@cygnus.com>
-
- * sched.c (update_flow_info): Add code to ! found_orig_dest case to
- handle deleted no-op moves of hard registers.
- * haifa-sched.c (update_flow_info): Likewise.
-
-Thu Oct 29 18:07:47 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
- of the sequences to reload the HILO register which do not actually
- reference HILO.
-
-Thu Oct 29 12:39:35 1998 Jim Wilson <wilson@cygnus.com>
-
- * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
-
-Thu Oct 29 14:10:22 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * except.c (emit_eh_context): Make the EH context register stay alive
- at -O0 so stupid.c doesn't get confused.
-
-1998-10-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * emit-rtl.c (try_split): Do not try to split a BARRIER.
-
-Thu Oct 29 01:33:54 1998 Jan Hubicka <hubicka@freesoft.cz>
- Jeffrey A Law (law@cygnus.com)
-
- * i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM
- (zero_extendsidi2): Use # in output template and handle completely by
- splits.
- (zero_extend splitters): New define_splits.
- (ashiftrt_32): New pattern.
-
-Wed Oct 28 22:58:35 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.c (append_random_chars): New fn.
- (get_file_function_name_long): Use it.
-
-Wed Oct 28 22:27:05 1998 Richard Henderson <rth@cygnus.com>
-
- * Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
- (LIBCPP_OBJS): New. Add cppulp.o.
- (cppmain, fix-header): Depend on and use libcpp.a.
- * configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
- of the individual object files.
- * objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
- last.
-
- * cccp.c (user_label_prefix): New.
- (main): Set it off -f*leading-underscore.
- (special_symbol): Use it.
- * cpplib.c (special_symbol): Likewise.
- (cpp_handle_option): Handle -f*leading-underscore.
- * cppulp.c: New file.
-
- * output.h (user_label_prefix): Declare it.
- * dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
- * toplev.c (f_options, main): Handle -f*leading-underscore.
-
- * defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
- referencing USER_LABEL_PREFIX directly.
- * config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
- * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
- * final.c (asm_fprintf): Use user_label_prefix instead.
- * arm/thumb.c (thumb_print_operand): Likewise.
-
- * gcc.c (default_compilers): Pass -f*leading-underscore on to
- cpp wherever appropriate.
-
-Wed Oct 28 23:09:25 1998 Robert Lipe <robertl@dgii.com>
-
- * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
- specific compiler switches.
-
-Wed Oct 28 21:05:53 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (c-common.o): Depend on c-pragma.h. Use $(RTL_H) instead
- of rtl.h.
-
-Wed Oct 28 20:52:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
- structure which has exactly the members provided by EXTRA_SPECS.
- Xmalloc() the real `extra_specs', and initialize it from this
- intermediate structure.
-
- * alpha.h (EXTRA_SPECS): Revert change for missing initializers.
-
- * mips.h (EXTRA_SPECS): Likewise.
-
- * sparc.h (EXTRA_SPECS): Likewise.
-
-Wed Oct 28 16:46:07 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * function.c (purge_addressof_1): Instead of aborting when a
- bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
- work just put the ADDRESSOF on stack. Otherwise remember all such
- successfull replacements, so that exactly the same replacements
- can be made on the REG_NOTEs. Remove the special case for CALL
- insns again.
- (purge_addressof_replacements): New variable.
- (purge_addressof): Clear it at end.
-
-1998-10-28 16:10 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
- (lang_init): Call check_newline always.
- * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
- cpp_start_read, set yy_cur and yy_lim to read from
- parse_in.token_buffer, so that we'll see the first #line
- directive.
- * cpplib.c (cpp_start_read): finclude the main input file
- before processing -include/-imacros. Process -imacros and
- -include separately, and handle -include by stacking a
- buffer for the file in question as if it'd been #included.
- * toplev.c (documented_lang_options) Recognize -H when
- USE_CPPLIB is on.
-
-1998-10-28 16:09 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpplib.c: Merge do_once into do_pragma. Break file handling
- code out of do_include.
- Move append_include_chain, deps_output,
- file_cleanup, redundant_include_p, import_hash,
- lookup_import, add_import, read_filename_string, read_name_map,
- open_include_file, finclude, safe_read to cppfiles.c.
- Move prototypes for deps_output, append_include_chain,
- finclude to cpplib.h. Move definition of struct
- file_name_list there also.
-
- * cppfiles.c: New file. Contains all the above functions
- broken out of cpplib.c; also hack_vms_include_specification
- from cccp.c and find_include_file, a new function broken out of
- do_include.
-
- * Makefile.in (cppmain): Depend on cppfiles.o.
- (fix-header): Likewise.
- (cppfiles.o): New target.
- * configure.in (--enable-c-cpplib): Add cppfiles.o to
- extra_c_objs. Add ../cppfiles.o to extra_cxx_objs.
-
-Wed Oct 28 14:06:49 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
- if pending_types is non-zero.
- (dwarfout_finish): Verify pending_types is zero before finishing.
-
-Wed Oct 28 10:29:09 1998 Nick Clifton <nickc@cygnus.com>
-
- * expr.c (convert_move): Use shifts to perform the move if a
- suitable extend pattern cannot be found. Code written by
- Richard Henderson <rth@cygnus.com>.
-
-Wed Oct 28 03:59:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * regclass.c (renumber, regno_allocated): New static variables, moved
- out of allocate_reg_info.
- (allocate_reg_info): Move these two variables outside the function.
- Move code to free memory into new function free_reg_info.
- (free_reg_info): New function, broken out of allocate_reg_info.
- * toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
- * rtl.h (allocate_reg_info): Don't declare.
- (free_reg_info): Declare.
-
- * final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
-
-Wed Oct 28 02:38:12 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (compile_file): Temporarily revert last change.
-
-Wed Oct 28 00:00:35 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * c-typeck.c (convert_for_assignment): Parenthesize.
-
-1998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * reload1.c (delete_output_reload): Avoid ambigous else.
-
-Wed Oct 28 00:10:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (compile_file): Call allocate_reg_info to free register
- table memory.
- * rtl.h (allocate_reg_info): Declare.
-
- * PROJECTS: Remove entry for local spilling.
-
- * final.c (cleanup_subreg_operands): New function.
- (final_scan_insn): Use it.
- (alter_subreg): Clear the "used" field when we turn a SUBREG into
- a REG.
- * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
- operands when reload has finished.
- * reload.h (cleanup_subreg_operands): Declare..
- * flow.c (life_analysis_1): No longer delete CLOBBER insns after
- reload. Handled in reload itself.
-
-Tue Oct 27 23:32:34 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * reload1.c (verify_initial_offsets): New function.
- (reload): Call it after reload_as_needed. Also verify that the frame
- size stays constant during reload_as_needed.
- * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
-
- * reload.h (struct insn_chain): Add need_operand_change element.
- * reload1.c (new_insn_chain): Clear it.
- (calculate_needs_all_insns): Set it; don't overload need_reload.
- (reload_as_needed): Use it.
-
- * reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
- reload_address_base_reg_class throughout. Similar for INDEX_REG_CLASS
- and reload_address_index_reg_class.
- (find_reloads_address_1): Likewise.
- * reload.h (reload_address_base_reg_class,
- reload_address_index_reg_class): Don't declare.
- * reload1.c (reg_old_renumber, pseudo_previous_regs,
- pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
- (used_spill_regs): Now static.
- (reload_address_base_reg_class, reload_address_index_reg_class,
- regs_explicitly_used, counted_for_groups, counted_for_nongroups,
- basic_block_needs, max_needs, group_size, group_mode, max_groups,
- max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
- forbidden_regs):
- Deleted variables.
- (init_reload): Delete code to compute base/index reg classes.
- (reload): Delete variable J.
- Delete code to manage basic_block_needs.
- Don't compute regs_explicitly_used.
- Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
- pseudo_previous_regs.
- Initialize bad_spill_regs_global.
- Don't call order_regs_for_reload here.
- Don't initialize spill_reg_order and n_spills.
- Don't forbid explicitly used regs to be used for spill regs.
- Change main loop to infinite loop, with explicit break statements.
- Make SOMETHING_CHANGED variable local to that loop.
- Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
- max_groups_insn, max_nongroups_insn, group_size, group_mode.
- Make sure spilled_speudos is cleared before calling spill_hard_reg or
- new_spill_reg.
- Don't call dump_needs.
- Delete code to reset potential_reload_regs.
- Delete code to terminate loop conditional on the global needs variables
- showing no further needs.
- (calculate_needs_all_insns): Return void. All callers changed.
- Initialize somehing_needs_elimination here, not in reload.
- Delete avoid_return_reg kludge.
- (calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
- All callers changed.
- Initialize the group_mode and group_size elements of the arg CHAIN.
- Delete code to manage basic_block_needs.
- Operate on elements of CHAIN instead of global variables.
- Delete avoid_return_reg kludge.
- (find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
- All callers changed.
- Operate on elements of CHAIN instead of global variables.
- Delete special SMALL_REGISTER_CLASSES code.
- Delete spill_failure code; now in new_spill_reg.
- (find_group): Lose GLOBAL arg, take CHAIN arg, return void.
- All callers changed.
- Operate on elements of CHAIN instead of global variables.
- (maybe_mark_pseudo_spilled): New static function.
- (find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
- All callers changed.
- Operate on elements of CHAIN instead of global variables.
- Call order_regs_for_reload here, not in reload.
- Initialize spill_reg_order and n_spills.
- Simplify test whether an asm insn is involved.
- Delete spill_failure code; now in new_spill_reg.
- Call maybe_mark_pseudo_spilled for everything marked as live in
- CHAIN. Merge CHAIN's used_spill_regs into the global variable
- used_spill_regs.
- (dump_needs): Take CHAIN arg. No longer static, to prevent the
- compiler from optimizing this function (now unused) away.
- Operate on elements of CHAIN instead of global variables.
- (possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg. All callers
- changed.
- Operate on elements of CHAIN instead of global variables.
- (count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
- take CHAIN arg. All callers changed.
- Operate on elements of CHAIN instead of global variables.
- (new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
- CHAIN, NONGROUP args. Return void. All callers changed.
- Verify caller isn't trying to spill a pseudo.
- Simplify test for illegal reg, just use bad_spill_regs.
- Generate better error messages.
- Operate on elements of CHAIN instead of global variables.
- Mark spilled register in CHAIN's used_spill_regs element.
- Don't call spill_hard_reg.
- (spill_hard_reg): Lose GLOBAL arg, return void. All callers changed.
- Mark spilled hard regs in bad_spill_regs_global.
- Mark affected pseudos in spilled_pseudos, but don't spill them.
- (ior_hard_reg_set): New static function.
- (finish_spills): Return int. All callers changed.
- Compute spill_reg_order, n_spills and spill_regs here. Also update
- regs_ever_live for regs used as spills.
- For every pseudo in spilled_pseudos, spill it and mark the previous
- hard reg it had in pseudo_previous_regs. Compute which hard regs
- arseudo): New static function.
- (order_regs_for_reload): Take CHAIN arg. All callers changed.
- Initialize bad_spill_regs from bad_spill_regs_global, then merge any
- hard registers explicitly used across the current insn into the set.
- Compute hard_reg_n_uses taking only pseudos live across this insn
- into account.
- Tweak sorting of potential_reload_regs.
- (compare_spill_regs): Delete function.
- (reload_as_needed): Don't sort the spill_regs array, it's computed
- in proper order in finish_spills.
- Delete avoid_return_reg kludge.
- Delete code to manage basic_block_needs.
- (allocate_reload_reg): Minor speed/readability tweaks.
- Operate on elements of CHAIN instead of global variables.
- (choose_reload_regs): Lose AVOID_RETURN_REG arg. All callers changed.
- Delete avoid_return_reg kludge.
- Initialize reload_reg_used from CHAIN's used_spill_regs element.
- Delete unused label FAIL.
- (reload_combine): Replce reload_address_index_reg_class with
- INDEX_REGS.
- Don't use used_spill_regs to determine information about lifetime of
- hard regs.
-
-Tue Oct 27 13:15:02 1998 Nick Clifton <nickc@cygnus.com>
-
- * toplev.c (display_help): Ignore empty target specific
- options, and if -W is also specified on the command line then
- display undocumented options.
-
- * config/arm/arm.c: Updated with changes in devo sources.
- * config/arm/arm.h: Updated with changes in devo sources.
- * config/arm/lib1funcs.asm: Updated with changes in devo sources.
- * config/arm/lib1thumb.asm: Add ELF support.
-
-Tue Oct 27 16:11:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * collect2.c (aix64_flag): New variable.
- (main, case 'b'): Parse it.
- (GCC_CHECK_HDR): object magic number must match mode.
- (scan_prog_file): Only check for shared object if valid header.
- Print debugging if header/mode mismatch.
-
-Tue Oct 27 10:15:02 1998 Nick Clifton <nickc@cygnus.com>
-
- Added support for arm-elf-linux configuration, submitted by Philip
- Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
- code developed by Catherine Moore <clm@cygnus.com>. The following
- files are affected:
-
- * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
- targets.
-
- * configure: Regenerated.
-
- * config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
- USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX. Make other macro
- definitions conditional on their not having been already defined.
-
- * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
- and .type directives, and add "(PLT)" qualification to function
- calls.
-
- * config/arm/linux.h: Deleted. This file is now superceeded by
- either linux-elf.h or linux-aout.h.
-
- * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
- (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
- support).
- Move definitions from old linux.h file here.
-
- * config/arm/elf.h: New file. Generic ARM/ELF support.
-
- * config/arm/linux-aout.h: New file. Support for Linux with a.out.
-
- * config/arm/linux-elf.h: New file. Support for Linux with ELF.
-
- * config/arm/linux-elf26.h: New file. Support for Linux with ELF
- using the 26bit APCS.
-
- * config/arm/unknown-elf.h: New file. Support for OS'es other
- than Linux with ELF.
-
- * config/arm/t-arm-elf: New file. makefile fragment for arm-elf
- builds.
-
- * config/arm/coff.h: Include aout.h for basic assembler macros.
- Add support for -mstructure_size_boundary=<n> command line option.
-
- * config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
- command line option. Make macro definitions conditional on their
- not having been already defined.
-
- * config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
- command line option.
-
-
-Tue Oct 27 08:56:46 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
- has been changed to not include a newline. Use this macro instead.
- (output_enumeral_list, const_value_attribute, name_attribute,
- comp_dir_attribute, prototyped_attribute, producer_attribute,
- inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
- dwarfout_file_scope_decl, generate_new_sfname_entry,
- generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
- ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
-
-Mon Oct 26 13:35:02 1998 Richard Henderson <rth@cygnus.com>
-
- * combine.c (subst): Process the inputs to a parallel asm_operands
- only once.
-
-Mon Oct 26 13:32:31 1998 Richard Henderson <rth@cygnus.com>
-
- * stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
-
-Mon Oct 26 12:53:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
-
-Mon Oct 26 00:36:58 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Oct 25 23:36:52 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * stmt.c (expand_fixup): Set fixup->before_jump to a
- NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
-
-Sun Oct 25 15:49:57 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (recog.o): Depend on toplev.h.
- (insn-emit.o): Depend on recog.h.
- (insn-peep.o): Depend on recog.h and insn-config.h.
-
- * combine.c (simplify_set): Remove unused variable `scratches'.
-
- * final.c (final_scan_insn): Wrap declaration of variables `vlen'
- and `idx' in macro conditional controlling their use.
-
- * genemit.c (main): Make the generated output file include
- recog.h. Don't have it declare `insn_operand_constraint', since
- we get it from recog.h.
-
- * genpeep.c (main): Make the generated output file include
- insn-config.h and recog.h.
-
- * recog.c: Include toplev.h.
- (extract_insn): Remove unused variable `p'.
-
- * regclass.c (fix_register): Add missing braces around initializer
- for `what_option'.
- (allocate_reg_info): Move variable `i' into the scope where it is
- used. Change its type to `size_t'.
-
-Sun Oct 25 13:10:15 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * reload.c (push_reload): When merging reloads, make sure
- that reload_in_reg and reload_in are from the same reload in
- all cases.
-
-Sun Oct 25 12:07:00 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
- * i386/mingw32.h (CPP_PREDEFINES): Likewise.
-
-Fri Oct 23 23:42:03 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * loop.c (loop_has_tablejump): New variable.
- (prescan_loop): Scan for it.
- (insert_bct): Replace explicit scan with use of it.
- * regclass.c (regclass): Restore loop variable j.
- (record_reg_classes): Deterine op_types modifiers and initialize
- classes[i] before matching constraints. Handle matching
- constraints 5-9.
-
-Fri Oct 23 13:55:48 1998 Jim Wilson <wilson@cygnus.com>
-
- * m32r/m32r.c (gen_split_move_double): Call alter_subreg. Delete
- subreg support.
-
-Fri Oct 23 16:19:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * mips.h (EXTRA_SPECS): Add missing initializers.
-
-Fri Oct 23 16:08:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * sparc.h (EXTRA_SPECS): Add missing initializers.
- (sparc_defer_case_vector): Provide a prototype.
-
- * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
- comparing it to the result of a pointer subtraction.
-
-Fri Oct 23 15:34:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * alpha.c (override_options): Use ISDIGIT(), not isdigit(). Cast
- the argument to (unsigned char).
-
- * alpha.h (EXTRA_SPECS): Add missing initializers.
- (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
- format specifier.
-
-Fri Oct 23 13:12:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (life_analysis_1): Enable "rescan" code after reload.
- (propagate_block): Delete dead code after reload.
-
- * sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings
- back Oct 15, 1998 change.
- * haifa-sched.c (update_flow_info): Likewise.
- * flow.c (life_analysis_1): Delete CLOBBER insns after reload.
-
- * mn10200.md (truncated shift): Accept constant inputs too.
-
-Fri Oct 23 04:06:57 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * machmode.h (mode_mask_array): No longer const.
- * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
-
-Fri Oct 23 11:19:06 1998 Martin v. Löwis <loewis@informatik.hu-berlin.de>
-
- * frame.c: Somewhat explain `FDE'.
- Suggested by Brendan Kehoe
-
-Fri Oct 23 00:56:11 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * expr.c (pending_chain): Move up.
- (save_expr_status): Do save pending_chain.
- (restore_expr_status): And restore it.
- * function.h (struct function): Add pending_chain.
-
-1998-10-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The
- did not match the code.
-
-Fri Oct 23 00:07:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * regclass.c (regclass): Break out some code into new function
- scan_one_insn, and into regclass_init.
- (init_cost): New static variable, moved out of regclass.
- (regclass_init): Initialize it here, not in .
- (scan_one_insn): New static function, broken out of regclass.
- * recog.c (apply_change_group): Break out some code into new
- function insn_invalid_p.
- (insn_invalid_p): New static fn, broken out of apply_change_group.
-
-Thu Oct 22 22:34:42 1998 Jim Wilson <wilson@cygnus.com>
-
- * reload1.c (reload_as_needed): When rewrite POST_INC, verify
- reg_reloaded_contents matches incremented pseudo.
-
- * v850/v850.c (v850_reorg): Call alter_subreg. Delete subreg support.
-
-Fri Oct 23 11:11:56 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
- addressing modes with side effects. These are currently
- placeholders for the C4x target.
-
-Thu Oct 22 16:46:35 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * loop.c (express_from): Make sure that when generating a PLUS of
- a PLUS, any constant expression appears on the outermost PLUS.
-
-Thu Oct 22 15:46:23 1998 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in (distdir-cvs, distdir-start): Clean up so it
- works if "$(srcdir)" != ".".
-
-Wed Oct 21 19:23:59 1998 Jim Wilson <wilson@cygnus.com>
-
- * expmed.c (store_bit_field): If need to add a SUBREG, then remove
- existing SUBREG if we can, otherwise abort.
-
-Wed Oct 21 09:58:51 1998 Mark Mitchell <mark@markmitchell.com>
-
- * c-common.c (c_apply_type_quals_to_decl): Don't crash when
- `restrict' is applied to a non-pointer variable.
-
-Wed Oct 21 09:18:58 1998 Mark Mitchell <mark@markmitchell.com>
-
- * invoke.texi: Document -flang-isoc9x.
-
- * tree.h (TYPE_RESTRICT): New macro.
- (TYPE_UNQUALIFIED): New manifest constant.
- (TYPE_QUAL_CONST): Likewise
- (TYPE_QUAL_VOLATILE): Likewise.
- (TYPE_QUAL_RESTRICT): Likewise.
- (tree_type): Add restrict_flag. Reduce count of free bits.
- (tree_decl): Add pointer_alias_set.
- (build_qualified_type): New function.
- (build_type_variant): Define in terms of build_qualified_type.
- * tree.c (set_type_quals): New function.
- (make_node): Initializae DECL_POINTER_ALIAS_SET.
- (build_type_attribute_variant): Use build_qualified_type and
- set_type_quals.
- (build_type_variant): Rename, and modify, to become...
- (build_qualified_type): New function.
- (build_complex_type): Use set_type_quals.
-
- * c-tree.h (C_TYPE_OBJECT_P): New macro.
- (C_TYPE_FUNCTION_P): Likewise.
- (C_TYPE_INCOMPLETE_P): Likewise.
- (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
- (c_apply_type_quals_to_decl): New function.
- (c_build_qualified_type): New function.
- (c_build_type_variant): Define in terms of c_build_qualified_type.
- (flag_isoc9x): Declare.
- * c-typeck.c (qualify_type): Use c_build_qualified_type.
- (common_type): Change to use TYPE_QUALS.
- (comptypes): Likewise.
- (convert_for_assignment): Likewise.
- * c-aux-info.c (gen_type): Likewise. Deal with `restrict'.
- * c-decl.c (flag_isoc9x): Define.
- (c_decode_option): Handle -flang-isoc9x.
- (grokdeclarator): Update to handle restrict. Use TYPE_QUALS,
- c_build_qualified_type, etc. Use c_apply_type_quals_to_decl.
- * c-lex.c (init_lex): Deal with restrict.
- (init_lex): Don't treat restrict as a reserved word in
- -traditional mode, or without -flang-isoc9x.
- * c-lex.h (rid): Add RID_RESTRICT.
- * c-parse.gperf (restrict, __restrict, __restrict__): Make
- equivalent to RID_RESTRICT.
- * c-parse.in (TYPE_QUAL): Update comment.
- * c-common.c: Include rtl.h.
- (c_find_base_decl): New function.
- (c_build_type_variant): Rename, and modify, to become ...
- (c_build_qualified_type): New function.
- (c_apply_type_quals_to_decl): Likewise.
- * toplev.c (documented_lang_options): Add -flang-isoc9x.
-
-Wed Oct 21 09:15:06 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.h (TARGET_SWITCHES): Document arm specific
- command line switches.
-
-Tue Oct 20 10:04:51 1998 Graham <grahams@rcp.co.uk>
-
- * reload.c (loc_mentioned_in_p): Add missing braces to bind
- else to correct if.
-
-Mon Oct 19 16:34:05 1998 Tom Tromey <tromey@cygnus.com>
-
- * gcc.c (option_map): Added --classpath and --CLASSPATH.
-
-Tue Oct 20 10:59:02 1998 Gavin Romig-Koch <gavin@cygnus.com>
-
- * regclass.c (fix_register): Add error message.
- * invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
- new error message.
-
-Tue Oct 20 10:12:17 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * c-decl.c (warn_missing_noreturn): New global variable.
- (c_decode_option): Check for new flags -W{no-}missing-noreturn.
- (finish_function): Implement missing noreturn warning.
-
- * c-tree.h (warn_missing_noreturn): Declare extern.
-
- * invoke.texi: Document new flags.
-
- * toplev.c (documented_lang_options): Add description.
-
-Tue Oct 20 22:16:11 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.c (c4x_parallel_process): Disable until BCT
- loop optimization stable for the C4x.
- (c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop,
- c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get,
- c4x_rptb_emit_init, c4x_rptb_process): Deleted (superceded by BCT
- loop optimization).
- (c4x_address_conflict): Be more paranoid when packing a volatile
- memref in a parallel load/store.
-
-Tue Oct 20 21:56:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.md (repeat_block_top, repeat_block_end,
- repeat_block_filler): Deleted.
- (*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber):
- Condition code not set if destination register from 'c' class.
- (*subbqi3_carry_clobber): Fix typo.
-
-1998-10-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * reorg.c (steal_delay_list_from_target) Check for insns that
- modify the condition codes and effect the direction of the jump
- in the sequence.
-
-Sat Oct 17 13:09:09 1998 Graham <grahams@rcp.co.uk>
-
- * function.c (purge_addressof_1): Replace call to
- emit_insns_before() with emit_insn_before().
-
-Mon Oct 19 19:34:03 1998 Mike Stump <mrs@wrs.com>
-
- * libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
-
-Mon Oct 19 13:26:24 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * jump.c (sets_cc0_p): Compile only if HAVE_cc0.
-
-Mon Oct 19 11:40:56 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (compute_hash_table): Correctly identify hard regs which are
- clobbered across calls.
-
- * loop.c (scan_loop): Be more selective about what invariants are
- moved out of a loop.
-
-Mon Oct 19 10:46:58 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Oct 19 11:40:56 1998 Jeffrey A Law (law@cygnus.com)
-
- * libgcc2.c (eh_context_static): Do not call malloc to allocate the
- static eh_context structure.
-
-Mon Oct 19 10:45:40 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg. All
- callers changed.
- (try_combine): Don't update max_scratch.
- * flow.c (max_scratch, num_scratch): Delete variables.
- (life_analysis_1): Don't initialize max_scratch.
- (propagate_block): Don't update max_scratch.
- (mark_set_1): Don't increment num_scratch.
- * regs.h (max_scratch): Delete declaration.
-
-Mon Oct 19 10:28:15 1998 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c (reload_reg_free_before_p): Hack. Return 0 if EQUIV
- is nonzero. This is temporary!
-
- * sched.c (update_flow_info): Handle death notes made invalid by
- instruction splitting. Partially reverts Oct 15, 1998 patch.
- * haifa-sched.c (update_flow_info): Likewise.
-
-Sun Oct 18 17:31:26 1998 Jeffrey A Law (law@cygnus.com)
-
- * function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL
- if it has a nonzero DECL_INITIAL.
-
-Sat Oct 17 23:18:08 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (flow.o): Depend on recog.h.
-
- * cpplib.h (directive_table): Add missing initializiers.
- (finclude): Change type of variable `bsize' to size_t.
-
- * cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
-
- * dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
-
- * fix-header.c (lookup_std_proto): Cast the result of `strlen' to
- `int' when comparing against one.
- (cpp_file_line_for_message): Mark parameter `pfile' with
- ATTRIBUTE_UNUSED.
- (cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
-
- * flow.c: Include recog.h.
- (sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
-
- * function.c (thread_prologue_and_epilogue_insns): Mark parameter
- `f' with ATTRIBUTE_UNUSED.
- (reposition_prologue_and_epilogue_notes): Likewise.
-
- * genopinit.c (gen_insn): Cast argument of ctype functions to
- `unsigned char'.
-
- * haifa-sched.c: Include recog.h.
- (blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
- comparing against one.
-
- * libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
-
- * mips-tfile.c (parse_end): Cast the argument of ctype function to
- `unsigned char'.
- (parse_ent): Likewise.
- (parse_input): Likewise.
-
- * optabs.c (init_libfuncs): Likewise.
-
- * protoize.c (find_rightmost_formals_list): Likewise.
-
- * recog.h (const_double_operand): Fix typo in prototype.
-
- * tlink.c (scan_linker_output): Cast the argument of ctype
- function to `unsigned char'.
-
- * toplev.c (check_lang_option): Cast the result of `strlen' to
- `int' when comparing against one.
-
-Sat Oct 17 13:09:09 1998 Graham <grahams@rcp.co.uk>
-
- * gcse.c (dump_cuid_table): Correct typo.
-
-Sat Oct 17 11:02:47 1998 Nick Clifton <nickc@cygnus.com>
-
- * toplev.c (display_help): Prepend '-m' to target specific
- options.
- (check_lang_option): Ignore text after end of first word of a
- language specific option.
- (display_help): Ignore empty target specific options, and if -W is
- also specified on the command line then display undocumented
- options.
-
- * invoke.texi: Document --help option.
-
-Sat Oct 17 02:26:03 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * reload1.c (reg_used_by_pseudo): New static variable.
- (choose_reload_regs): Initialize it.
- Use it instead of testing spill_reg_order to determine whether a
- pseudo is live in a hard register across the current insn.
- Fix a typo in a reference to reload_reg_rtx.
-
- * flow.c (propagate_block): Replace code that computes and uses
- regs_sometimes_live with simpler code that just walks the set of
- currently live registers.
-
- * Makefile.in (insn-extract.o): Fix dependencies.
- * genextract.c (main): Generate includes for insn-config.h and
- recog.h.
- Delete generation of declarations which are now in recog.h.
- * genrecog.c (main): Delete generation of definitions which are
- now in recog.c.
- * local-alloc.c (block_alloc): Use extract_insn and the variables
- it sets up instead of looking up values by insn_code.
- * recog.c (recog_operand, recog_operand_loc, recog_dup_loc,
- recog_dup_num): Define here instead of generating the definition in
- genrecog.c.
- (recog_n_operands, recog_n_dups, recog_n_alternatives,
- recog_operand_mode, recog_constraints, recog_operand_address_p):
- New variables.
- (extract_insn): New function.
- * recog.h (extract_insn): Declare function.
- (which_alternative, recog_n_operands, recog_n_dups,
- recog_n_alternatives, recog_operand_mode, recog_constraints,
- recog_operand_address_p): Declare variables.
- * regclass.c (n_occurrences): New static function.
- * reload.c (n_occurrences): Delete function.
- (find_reloads): Use extract_insn.
- * reload.h (n_occurrences): Delete declaration.
-
-Sat Oct 17 01:17:51 1998 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c (reload_as_needed): Fix test for when to call
- update_eliminable_offsets.
-
-Fri Oct 16 20:40:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- Fix consistency problems with reg_equiv_{mem,address};
- Improve reload inheritance;
-
- * reload.c (reload_out_reg): New variable.
- (loc_mentioned_in_p, remove_address_replacements): New functions.
- (remove_replacements): Deleted.
- (push_reload): Set reload_out_reg[i].
- When merging, also set reload_{in,out}_reg[i], and remove
- duplicate address reloads.
- (combine_reloads): Copy reload_out_reg[i].
- (find_reloads): Do make_memloc substitution also when
- reg_equiv_memory_loc[regno] and num_not_at_initial_offset
- are both nonzero.
- Include *recog_operand_loc in commutativity operand changes.
- Generate optional output reloads.
- Delete reference to n_memlocs. Don't set *recog_operand_loc before
- processing operands. Call make_memloc in reg_equiv_address code.
- Set *recog_operand_loc only after processing operands, and only
- if replace is true. Return a value.
- When changing address reload types for operands that didn't get
- reloaded, use RELOAD_FOR_OPADDR_ADDRESS for
- RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads.
- Don't emit USEs for pseudo SUBREGs when not replacing.
- (find_reloads_address): Do make_memloc substitution also when
- reg_equiv_memory_loc[regno] and num_not_at_initial_offset
- are both nonzero.
- (find_reloads_toplev): Likewise.
- Call make_memloc in reg_equiv_address code.
- (debug_reload_to_stream): Add code to output reload_out_reg.
- (make_memloc): Delete local variable i, ifdefed out code, and
- references to memlocs and n_memlocs.
- (memlocs, n_memlocs): Delete.
- (push_secondary_reload): Clear reload_out_reg.
- (find_reloads_address_1): Provide memrefloc argument to all calls
- to find_reloads_address.
- In AUTO_INC code, handle non-directly addressable equivalences properly.
- * reload.h (reload_out_reg, num_not_at_initial_offset): Declare.
- (find_reloads): Add return type.
- (remove_address_replacements, deallocate_reload_reg): Declare.
- * reload1.c (num_not_at_initial_offset): No longer static.
- (delete_address_reloads, delete_address_reloads_1): Likewise.
- (deallocate_reload_reg): New function.
- (spill_reg_stored_to): New array.
- (eliminate_regs): Don't substitute from reg_equiv_memory_loc.
- (eliminate_regs_in_insn): Move assignments of previous_offset and
- max_offset fields, and recalculation of num_not_at_initial_offset
- into new static function:
- (update_eliminable_offsets) .
- (reload_as_needed): Call update_eliminable_offsetss after calling
- find_reloads.
- Call forget_old_reloads_1 with contents of reloaded auto_inc
- expressions if the actual addressing can't be changed to match the
- auto_inc.
- (choose_reload_regs): For inheritance, replace
- reload_reg_free_before_p test with reload_reg_used_at_all test, and
- remove stand-alone reload_reg_used_at_all test.
- Use reload_out_reg to determine which reload regs have output reloads.
- Treat reload_override_in more similar to inherited reloads.
- Handle (subreg (reg... for inheritance.
- For flag_expensive_optimizations, add an extra pass to remove
- unnecessary reloads from known working inheritance.
- Delete obsolete code for pseudos replaced with MEMs.
- Handle inheritance from auto_inc expressions.
- (emit_reload_insns): If reload_in is a MEM, set OLD to
- reload_in_reg[j].
- Don't reload directly from oldequiv; if it's a pseudo with a
- stack slot, use reload_in[j].
- Check that reload_in_reg[j] is a MEM before replacing reload_in
- from reg_reloaded_contents.
- Include non-spill registers in reload inheritance processing.
- Also try to use reload_out_reg to set spill_reg_store /
- reg_last_reload_reg.
- In code to set new_spill_reg_store, use single_set to find out if
- there is a single set.
- Add code that allows to delete optional output reloads.
- Add code to allow deletion of output reloads that use no spill reg.
- At the end, set reload_override_in to oldequiv.
- Also call delete_output_reload if reload_out_reg is equal to old
- in oldequiv code.
- Add code to call delete_output_reload for stores with no matching load.
- Set / use spill_reg_stored_to.
- Handle case where secondary output reload uses a temporary, but
- actual store isn't found.
- When looking for a store of a value not loaded in order to call
- delete_output_reload, count_occurences should return 0 for no
- loads; but discount inherited input reloadill_reg_stored_to.
- Do checks for extra uses of REG. Changed all
- callers.
- Use delete_address_reloads.
- (reload): Take return value of find_reloads into account.
- If a no-op set needs more than one reload, delete it.
- (reload_reg_free_before_p): RELOAD_FOR_INPUT
- can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
- for the same operand.
- (clear_reload_reg_in_use): Check for other reloads that keep a
- register in use.
- (reload_reg_free_for_value_p): handle RELOAD_FOR_OPERAND_ADDRESS /
- RELOAD_FOR_OPADDR_ADDR.
- Take into account when an address address reload is only needed
- for the address reload we are considering.
- (count_occurrences): Use rtx_equal_p for MEMs.
- (inc_for_reload): Return instruction that stores into RELOADREG.
- New argument two, IN, and rtx. Changed all callers.
- (calculate_needs_all_insns, reload_as_needed):
- Don't clear after_call for a CLOBBER.
- Keep track of how many hard registers need to be copied from
- after_call, and don't clear after_call before we have seen
- that much copies, or we see a different instruction.
-
-Fri Oct 16 10:58:23 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (find_basic_blocks_1): Do not delete unreachable blocks
- after reload has completed.
-
-Fri Oct 16 17:26:10 1998 Dave Brolley <brolley@cygnus.com>
-
- * cpplib.c (cpp_get_token): Replace whitespace that occurs between
- a macro name and the next token with a single blank if that whitespace
- is in a macro buffer and the next token is not '('.
-
-Fri Oct 16 15:44:02 1998 Dave Brolley <brolley@cygnus.com>
-
- * cccp.c (rescan): Handle multibyte chartacters ending in backslash.
- (rescan): Ditto.
- (skip_if_group): Ditto.
- (skip_to_end_of_comment): Ditto.
- (macarg1): Ditto.
- (discard_comments): Ditto.
- (change_newlines): Ditto.
-
-Fri Oct 16 15:26:24 1998 Dave Brolley <brolley@cygnus.com>
-
- * c-lex.c (yylex): Fix unaligned access of wchar_t.
-
-Fri Oct 16 10:47:53 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
- (TARGET_OPTIONS): Add --help documentation.
-
-Fri Oct 16 11:49:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.
-
-Fri Oct 16 07:08:46 1998 Bruce Korb <korb@datadesign.com>
-
- * fixinc/* Moved in from ../contrib directory in preparation
- for integrating it into the normal build process. In particular,
- fixinc/Makefile.in must be config-ed into the build directory
- as fixinc/Makefile. Proposed patches to ./Makefile.in and
- ./configure.in will be "in the mail" momentarily.
-
-Fri Oct 16 08:13:46 1998 David S. Miller <davem@pierdol.cobaltnet.com>
-
- * cse.c (cse_basic_block): Fixup hash flushing loop so we do not
- accidently walk into the free list. Comment how that can happen.
- (invalidate): Fix indentation.
-
-Thu Oct 15 23:53:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
- Jeffrey A Law (law@cygnus.com)
-
- * flow.c (life_analysis_1): Do not clobber regs_ever_live after
- reload. Never perform rescans of the insn chain after reload.
- (propagate_block): Do not delete insn or create new autoinc addressing
- modes after reload.
-
- * jump.c (jump_optimize): Unconditionally use the code that was
- previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
- * reload1.c (reload): When reloading is finished, delete all
- REG_DEAD and REG_UNUSED notes.
- (emit_reload_insns): Delete all code that was conditional on
- PRESERVE_DEATH_INFO_REGNO_P.
- (no_longer_dead_regs): Delete variable.
- (reload_cse_delete_death_notes): Delete function.
- (reload_cse_no_longer_dead): Delete function.
- (reload_cse_regs_1): Delete all code to handle deletion of death
- notes.
- (reload_cse_noop_set_p): Likewise.
- (reload_cse_simplify_set): Likewise.
- (reload_cse_simplify_operands): Likewise.
- (reload_cse_move2add): Likewise.
- * reorg.c (used_spill_regs): Delete declaration.
- (max_label_num_after_reload): Delete declaration.
- (find_dead_or_set_registers): Don't assume that spill regs are
- dead at a CODE_LABEL.
- * rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
- even after reload.
- * sched.c (sched_analyze_insn): Likewise.
- (update_flow_info): Likewise.
- * haifa-sched.c (sched_analyze_insn): Likewise.
- (update_flow_info): Likewise.
- * tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
- * toplev.c (max_label_num_after_reload): Delete variable.
- (rest_of_compilation): Don't set max_label_num_after_reload.
- Call life_analysis after reload_cse_regs if optimizing.
- * config/gmicro/gmicro.h: Delete comment referring to
- PRESERVE_DEATH_INFO_REGNO_P.
- * config/i386/i386.h: Likewise.
- * config/m88k/m88k.h: Likewise.
- * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
- * config/sh/sh.h: Likewise.
-
-Thu Oct 15 19:48:41 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * loop.c (strength_reduce): Restore marking bct_p as
- ATTRIBUTE_UNUSED.
- * rs6000.c (optimization_options): Change #ifdef HAIFA to
- HAVE_decrement_and_branch_on_count.
- (small_data_operand): Remove TARGET_ELF condition for marking
- parameters ATTRIBUTE_UNUSED.
-
-Thu Oct 15 11:45:51 1998 Robert Lipe <robertl@dgii.com>
-
- * config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
- (SELECT_SECTION): Resync with svr4.h.
-
-Thu Oct 15 12:42:13 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * loop.c (strength_reduce): Undo Oct 14 change marking bct_p
- ATTRIBUTE_UNUSED.
-
-Thu Oct 15 00:57:55 1998 Robert Lipe <robertl@dgii.com>
-
- * c-pragma.c (handle_pragma_token): Test for null tree before
- dereferencing TREE_CODE.
-
-Thu Oct 15 17:36:48 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.c: Convert to use GEN_INT.
- (c4x_parallel_process): Rework to handle new repeat loop structure.
-
- * config/c4x/c4x.md: Convert to use GEN_INT.
- (rptb_end): Convert to use GE test. Replace uses with clobbers.
- (decrement_and_branch_on_count): Likewise.
-
- * config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
- loop.c has the desired functionality.
- (rc_reg_operand): New prototype.
-
- * config/c4x/t-c4x: Can now build all front ends.
-
-Wed Oct 14 23:27:08 1998 Didier FORT (didier.fort@fedex.com)
-
- * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
-
-Wed Oct 14 22:13:28 1998 Joel Sherrill (joel@OARcorp.com)
-
- * Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
- * config/t-rtems: Do not install assert.h -- use newlib's.
-
-Wed Oct 14 21:57:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * combine.c (combine_instructions): When finished, call init_recog.
- * regmove.c (optimize_reg_copy_3): Reject volatile MEMs.
-
-Wed Oct 14 16:10:22 1998 Per Bothner <bothner@cygnus.com>
-
- * toplev.c: If flag_syntax_only, don't open or write assembler file.
-
-Wed Oct 14 13:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * cppalloc.c (memory_full): Mark function prototype with
- ATTRIBUTE_NORETURN.
-
- * demangle.h (collect_exit): Likewise.
-
- * fix-header.c (v_fatal, fatal): Likewise.
-
- * gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
- Likewise.
-
- * gcov.c (print_usage): Likewise.
-
- * genattr.c (fatal, fancy_abort): Likewise.
-
- * genattrtab.c (fatal, fancy_abort): Likewise.
-
- * gencodes.c (fatal, fancy_abort): Likewise.
-
- * genconfig.c (fatal, fancy_abort): Likewise.
-
- * genemit.c (fatal, fancy_abort): Likewise.
-
- * genextract.c (fatal, fancy_abort): Likewise.
-
- * genflags.c (fatal, fancy_abort): Likewise.
-
- * genopinit.c (fatal, fancy_abort): Likewise.
-
- * genoutput.c (fatal, fancy_abort): Likewise.
-
- * genpeep.c (fatal, fancy_abort): Likewise.
-
- * genrecog.c (fatal, fancy_abort): Likewise.
-
- * libgcc2.c (__eprintf, __default_terminate, __sjthrow,
- __sjpopnthrow, __throw): Likewise.
-
- * objc/objc-act.c (objc_fatal): Likewise.
-
- * protoize.c (usage, aux_info_corrupted,
- declare_source_confusing): Likewise.
-
- * rtl.c (dump_and_abort): Likewise.
-
- * rtl.h (sets_cc0_p): Likewise.
-
- * toplev.c (float_signal, pipe_closed): Likewise.
-
-1998-10-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
- when generating the decision tree for the general case.
-
- * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
- wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.
-
-Wed Oct 14 11:14:02 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (sched.o): Depend on recog.h.
-
- * alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
- (unsigned) when comparing against one.
- (find_base_value): Likewise.
- (record_base_value): Cast variable `regno' to (unsigned) when
- comparing against one. Cast the result of REGNO() macro to
- (unsigned) when comparing against one.
- (memrefs_conflict_p): Change type of variables `r_x' and `r_y' to
- unsigned.
- (init_alias_analysis): Add unsigned variable `ui'. Use it as loop
- variable where an unsigned index is needed.
-
- * caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
- before comparing against one.
-
- * collect2.c: Add prototypes for functions `error', `fatal' and
- `fatal_perror'. Make these functions take variable arguments
- instead of faking it with a fixed number of args.
- (write_c_file_stat): Cast the argument of ctype macro to (unsigned
- char).
-
- * combine.c (can_combine_p): Mark parameter `pred' with
- ATTRIBUTE_UNUSED.
- (find_split_point): Cast variable `src' to (unsigned
- HOST_WIDE_INT) when comparing against one.
- (simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
- (simplify_logical): Likewise.
- (force_to_mode): Cast result of INTVAL() macro to (unsigned
- HOST_WIDE_INT) when comparing against one. Cast 1 to (unsigned
- HOST_WIDE_INT) in shift.
- (simplify_and_const_int): Cast result of INTVAL() macro to
- `unsigned HOST_WIDE_INT' when comparing against one.
- (merge_outer_ops): Cast variable const0 to `unsigned
- HOST_WIDE_INT' when comparing against the result of
- GET_MODE_MASK() macro.
- (simplify_comparison): Likewise for variable `c0'. Cast variable
- `const_op' to `unsigned HOST_WIDE_INT' when comparing against
- one. Cast `1' to `unsigned HOST_WIDE_INT' in shift. Cast the
- result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
- against one. Cast `1' to `unsigned HOST_WIDE_INT' in shift. Cast
- result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
- comparing against one.
- (distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
-
- config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
- macro to `unsigned HOST_WIDE_INT' when comparing against one.
- (output_block_move): Cast `sizeof' expression to (int) when
- comparing against one.
- (function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
- against one.
- (save_restore_insns): Cast `base_offset' to `long' to match format
- specifier in fprintf.
-
- * config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
- to `enum machine_mode'.
-
- * flow.c (life_analysis_1): Remove unused variable `insn'.
-
- * gcc.c (translate_options): Move variables `j' and `k' into the
- scope in which they are used. Change their types to `size_t'.
- (set_spec): Cast the argument of ctype macro to `unsigned char'.
- (read_specs): Likewise.
- (process_command): Cast `sizeof' to (int) when comparing against one.
- (do_spec_1): Cast the argument of ctype macro to `unsigned char'.
- (handle_braces): Cast both sides of `==' expression to `long' to
- ensure sign matching.
- (main): Cast variable `i' to `int' when comparing against one.
-
- * gcov-io.h (__fetch_long): Change type of parameter `bytes' from
- int to size_t. Cast variable `i' to size_t when comparing against
- one.
-
- * genattrtab.c (convert_set_attr_alternative): Remove unused
- parameter `insn_code'. All callers changed.
- (convert_set_attr): Likewise.
-
- * genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
- size_t when comparing against one. Likewise for variable `len'.
-
- * global.c (global_alloc): Cast variable `max_regno' to size_t
- when comparing against one. Likewise for variable `max_allocno'.
-
- * jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
-
- * local-alloc.c (validate_equiv_mem_from_store): Mark parameter
- `set' with ATTRIBUTE_UNUSED.
- (find_free_reg): Cast `sizeof' expression to (int) when comparing
- against one.
-
- * loop.c (count_loop_regs_set): Remove unused variable `dest'.
- (strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
- (get_condition): Cast variable `const_val' to `unsigned
- HOST_WIDE_INT' when comparing against one. Cast unsigned
- expression to HOST_WIDE_INT when comparing against one.
- (insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
- (load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
- `unsigned' when comparing against one.
-
- * protoize.c (is_id_char): Change type of parameter `ch' to
- unsigned char.
- (munge_compile_params): Cast argument of ctype macro to (const
- unsigned char).
- (process_aux_info_file): Cast variable `aux_info_size' to int when
- comparing against one.
- (forward_to_next_token_char): Cast argument of ctype macro to
- `const unsigned char'.
- (edit_formals_lists): Likewise.
- (find_rightmost_formals_list): Likewise.
- (add_local_decl): Likewise.
- (add_global_decls): Likewise.
- (edit_fn_definition): Likewise.
- (do_cleaning): Likewise.
- (scan_for_missed_items): Likewise.
- (edit_file): Cast variable `orig_size' to (int) when comparing
- against one.
- (main): Cast argument of ctype macro to `const unsigned char'.
-
- * recog.c (const_int_operand): Mark parameter `mode' with
- ATTRIBUTE_UNUSED.
-
- * regclass.c (record_reg_classes): Change type of variable `c' to
- `unsigned char'. Cast `char' array index to `unsigned char'.
-
- * reload.c (push_secondary_reload): Cast argument to
- REG_CLASS_FROM_LETTER() macro to `unsigned char'.
-
- * reload1.c (calculate_needs): Cast `char' array index to
- `unsigned char'.
- (set_label_offsets): Change type of variable `i' to unsigned int.
- Cast result of XVECLEN() macro to unsigned when comparing against
- one.
- (mark_not_eliminable): Change type of variable `i' to unsigned.
- (order_regs_for_reload): Likewise. Cast `max_regno' to unsigned
- when comparing against one.
- (reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
- comparing against one.
- (choose_reload_regs): Hide unused label `fail'.
- (reload_cse_simplify_operands): Cast `char' array index to
- `unsigned char'.
- (reload_combine_note_store): Mark parameter `set' with
- ATTRIBUTE_UNUSED. Cast UNITS_PER_WORD to unsigned when comparing
- against one.
- (reload_cse_move2add): Remove unused variable `src2'.
-
- * sched.c: Include recog.h.
- (sched_note_set): Remove unused parameter `b'. All callers
- changed.
- (split_hard_reg_notes): Likewise for parameter `orig_insn'.
- (blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
- when comparing against one.
-
- * stupid.c (stupid_find_reg): Mark parameter `changes_size' with
- ATTRIBUTE_UNUSED. Cast `sizeof' expression to (int) when
- comparing against one.
-
- * unroll.c (precondition_loop_p): Remove unused parameter
- `loop_end'. All callers changed.
-
-Tue Oct 13 22:12:11 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * reload1.c (maybe_fix_stack_asms): New static function.
- (reload): Call it.
-
- * reload.h (compute_use_by_pseudos): Declare.
-
- * reload1.c (spilled_pseudos, insns_need_reload): New variables.
- (something_needs_reloads): Delete variable.
- (finish_spills): New function.
- (compute_use_by_pseudos): New function.
-
- (delete_caller_save_insns): Lose argument FIRST. All callers changed.
- Use the reload_insn_chain instead of walking the rtl directly.
-
- (reload): Allocate and free spilled_pseudos.
- Ensure that all calls of spill_hard_reg are followed by a call to
- finish_spills.
- Use the insns_need_reload list instead of something_needs_reloads
- to find out if reload_as_needed must be called.
- Clear unused_insn_chains at the end.
-
- (calculate_needs_all_insns): Lose FIRST parameter. All callers
- changed.
- Delete code to keep track of current basic block.
- Walk reload_insn_chain instead of the rtl structure. Build the
- insns_need_reload chain.
- Remember which insns need reloading/elimination by setting the
- appropriate fields in struct insn_chain, not by putting modes on the
- insn.
-
- (calculate_needs): Lose THIS_BLOCK arg. Accept arg CHAIN instead of
- arg INSN. All callers changed.
- Delete declaration of struct needs.
- Don't set something_needs_reloads.
- Record insn needs in the CHAIN argument.
-
- (spill_hard_reg): Record the affected pseudos in spilled_pseudos.
-
- (reload_as_needed): Lose FIRST arg. All callers changed.
- Walk the reload_insn_chain instead of the rtx structure.
- Delete code to keep track of current basic block.
- Rename one of the NEXT variables to OLD_NEXT.
-
- (allocate_reload_reg): Accept arg CHAIN instead of arg INSN. All
- callers changed.
- (choose_reload_regs): Likewise.
-
- (emit_reload_insns): Replace INSN and BB args with arg CHAIN. All
- callers changed.
-
- * caller-save.c (MOVE_MAX_WORDS): New macro. Use it throughout
- instead of (MOVE_MAX / UNITS_PER_WORD) computation.
- (hard_regs_live, hard_regs_need_restore): Delete variables.
- (n_regs_saved): Now static.
- (referenced_regs, this_insn_sets): New variables.
-
- (setup_save_areas): Restructure the code a bit.
-
- (restore_referenced_regs): Delete function.
- (mark_referenced_regs): New function, similar to the old
- restore_referenced_regs, but mark registers in referenced_regs.
-
- (clear_reg_live): Delete function.
- (mark_set_regs): Renamed from set_reg_live. All callers changed.
- Only mark registers in this_insn_sets.
-
- (save_call_clobbered_regs): Rework this function to walk the
- reload_insn_chain instead of using the list of instructions directly.
- Delete code to keep track of register lives, compute live regs on the
- fly from information in the chain.
- Instead of calling restore_referenced_regs, use mark_referenced_regs,
- then walk the set it computes and call insert_restore as appropriate.
-
- (insert_restore): Lose INSN and BLOCK args. Add CHAIN arg. All
- callers changed.
- Restructure the code a bit. Test hard_regs_saved instead of
- hard_regs_need_restore.
- (insert_save): Lose INSN and BLOCK args. Add CHAIN and TO_SAVE
- args. All callers changed.
- Restructure the code a bit. Use TO_SAVE to determine which regs to
- save instead of more complicated test.
- (insert_one_arg): Lose INSN and BLOCK args. Add CHAIN arg. All
- callers changed.
- Create a new insn_chain structure for the new insn and place it
- into the chain.
-
- * rtl.texi: Update documentation to reflect that reload no longer
- puts modes on the insns.
-
-1998-10-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * function.c (purge_addressof_1): Force the first argument of a
- CALL insn to memory.
-
-Wed Oct 14 00:38:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * rtl.h: Delete duplicate prototypes. Add some missing
- prototypes.
- * rtlanal.c: (for_each_rtx): Formatting tweak.
-
-1998-10-13 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * real.c (emdnorm and etoasc): Disable round to even for c4x target
- to be compatible with TI compiler.
-
- * Makefile.in (USER_H): Add va-c4x.h to definition.
-
-Tue Oct 13 23:03:37 1998 Richard Henderson <rth@cygnus.com>
-
- * function.c (purge_addressof_1): Fix typo in inequality: do
- bitfield optimization for equal mode sizes.
- * expmed.c (store_bit_field): Don't take subregs of subregs in
- the movstrict case. Tidy a potential problem in the multi-word case.
- (extract_bit_field): Likewise.
-
-Tue Oct 13 22:12:11 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * flow.c (find_basic_blocks): Emit NOPs after normal calls in this
- function.
- Compute max_uid_for_flow by calling get_max_uid after the scan.
- (find_basic_blocks_1): Don't emit NOPs here.
-
-Tue Oct 13 22:05:49 1998 Richard Henderson <rth@cygnus.com>
-
- * alias.c (base_alias_check): Accept new args for the modes of the
- two references. Use them to determine if an AND can overlap. Update
- all callers.
- (memrefs_conflict_p): Assume sizes are aligned, and uses them
- to determine if an AND can overlap.
-
-Tue Oct 13 17:51:04 1998 Jim Wilson <wilson@cygnus.com>
-
- * config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16
- check. Add comment to document problems with TARGET_SUN_FPA version
- of this macro.
- * config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves.
-
-Tue Oct 13 17:46:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (gencheck.o): Depend on gansidecl.h.
-
- * c-common.c (print_char_table): Add missing initializers.
- (scan_char_table): Likewise.
- (time_char_table): Likewise.
-
- * c-decl.c (c_decode_option): Mark parameter `argc' with
- ATTRIBUTE_UNUSED.
- (declare_parm_level): Mark parameter `definition_flag' with
- ATTRIBUTE_UNUSED.
-
- * c-lex.c (readescape): Use `(unsigned)1' in shift.
- (yylex): Likewise. Cast `sizeof' to an (int) when comparing
- against one.
-
- * calls.c (store_one_arg): Remove unused parameter `fndecl'. All
- callers changed.
- (emit_call_1): Mark parameters `fndecl' and `funtype' with
- ATTRIBUTE_UNUSED.
- (expand_call): Cast result of MIN() to (unsigned int) when
- comparing against an unsigned value.
-
- * cccp.c (pcfinclude): Remove unused parameter `limit'. All
- callers changed.
- (make_definition): Remove unused parameter `op'. All callers
- changed.
- (create_definition): Cast REST_EXTENSION_LENGTH to (long) when
- comparing against the result of pointer arithmetic.
-
- * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
- when comparing against one.
-
- * dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
- HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
- one.
- (output_die): Move variable `i' into the scope in which it is
- used. Change its type to `unsigned'.
- (output_die): Cast the result of `strlen' to (int) when passing it
- to ASM_OUTPUT_ASCII().
- (output_pubnames): Likewise.
- (output_line_info): Likewise.
-
- * emit-rtl.c (global_rtl): Add missing initializers.
-
- * explow.c (promote_mode): Mark parameter `for_call' with
- ATTRIBUTE_UNUSED.
-
- * expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
- `unsigned HOST_WIDE_INT' when comparing against one.
- (synth_mult): Change type of variable `cost' to int.
- (emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
-
- * expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
- when comparing against one.
- (get_inner_reference): Change variable `alignment' to unsigned.
- (expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
- int) when comparing against one.
- (expand_builtin_setjmp): Change type of variable `i' to size_t.
-
- * fold-const.c (div_and_round_double): Cast BASE to
- (HOST_WIDE_INT) when comparing against one.
-
- * gencheck.c: Include gansidecl.h.
- (main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
-
- * optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
- `tcode' with ATTRIBUTE_UNUSED.
-
- * real.c (edivm): Cast constant value to (unsigned long) in
- expression compared against an unsigned value.
-
- * stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
- comparing against one.
- (expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
- when comparing against one.
-
- * stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
- (unsigned int) when comparing against one. Likewise for
- GET_MODE_BITSIZE.
- (smallest_mode_for_size): Likewise.
- (save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
- (restore_storage_status): Likewise.
-
- * toplev.c (debug_args): Add missing initializer.
- (f_options): Spelling correction. Add missing initializers.
- (documented_lang_options): Likewise.
- (debug_end_source_file): Mark parameter `lineno' with
- ATTRIBUTE_UNUSED.
-
- * tree.c (valid_machine_attribute): Mark parameters `attr_args',
- `decl' and `type' with ATTRIBUTE_UNUSED.
-
- * varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
- when comparing against one.
- (assemble_variable): Mark parameter `top_level' with
- ATTRIBUTE_UNUSED.
- (assemble_external_libcall): Mark parameter `fun' with
- ATTRIBUTE_UNUSED.
- (output_constant_pool): Mark parameters `fnname' and `fndecl' with
- ATTRIBUTE_UNUSED.
-
-Tue Oct 13 12:51:04 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/lib1funcs.asm (_udivsi3): Add .type declaration.
- Replace use of r5 with use of r19.
-
- * config/v850/v850.h (LINK_POINTER_REGNUM): Define.
-
- * config/v850/v850.c (compute_register_save_size): Allow for the
- fact that helper functions save all registers, not just those used
- by the function.
-
- Replace constant 31 with macro LINK_POINTER_REGNUM.
-
- * config/v850/v850.md: Use 'indirect_operand' rather than
- 'memory_operand' for bit test/set/clear patterns.
-
-Tue Oct 13 11:49:14 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL.
- * varasm.c (assemble_start_function et al): Don't call
- ASM_GLOBALIZE_LABEL for weak symbols.
-
-Tue Oct 13 11:37:45 1998 Nick Clifton <nickc@cygnus.com>
-
- * cse.c (equiv_constant): Check for NULL return from
- gen_lowpart_if_possible().
-
-Tue Oct 13 11:24:51 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
-
- * collect2.c (main): Pass -EL/-EB through to the compiler.
-
-1998-10-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * expr.c (push_block): Handle targets where the stack grows
- to higher addresses, but args grow to lower addresses and
- ACCUMULATE_OUTGOING_ARGS is not defined.
-
-Tue Oct 13 08:00:52 1998 Catherine Moore <clm@cygnus.com>
-
- * config/v850/v850.c (print_operand): Extend meaning
- of 'c' operands to support .vtinherit.
-
-Tue Oct 13 21:38:35 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * config/c4x/c4x.c: Convert to gen_rtx_FOO.
- Added ATTRIBUTE_UNUSED to unused function arguments.
- (rc_reg_operand): New predicate.
- (c4x_rptb_insert): New function.
- (c4x_rptb_nop_p): Recognize modified rptb_top pattern.
- (c4x_optimization_options): New function.
-
- * config/c4x/c4x.md: Convert to gen_rtx_FOO.
- (decrement_and_branch_on_count): New pattern.
- (rptb_top): Modified pattern to work with BCT optimization.
-
- * config/c4x/c4x.h (RC_REG): New register class.
- (rc_reg_operand): Define prototype.
- (IS_RC_REG): New macro.
- (IS_RC_OR_PSEUDO_REG): New macro.
- (IS_RC_OR_PSEUDO_REGNO): New macro.
- (OPTIMIZATION_OPTIONS): Define.
-
-Mon Oct 12 19:57:34 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * collect2.c (extract_init_priority): No priority is 65535.
-
-Mon Oct 12 12:10:37 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * Makefile.in (build_tooldir): new variable, same as old
- $(tooldir), but without depending on $(libdir)/$(unlibsubdir)
- (GCC_FOR_TARGET): add -B$(build_tooldir)/bin/
- (bootstrap, bootstrap2, bootstrap3, bootstrap4): ditto
-
- * configure.in (gxx_include_dir): set default based on unlibsubdir
- * Makefile.in (tooldir): ditto
- (cccp.o, cpplib.o): use unlibsubdir implicitly through
- gxx_include_dir, includedir and tooldir
- (protoize.o, unprotoize.o): ditto
-
-Mon Oct 12 10:50:44 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.md: Replace (reg 24) with (reg:CC 24).
-
- * config/arm/thumb.c (thumb_override_options): Add warning about
- PIC code not being supported just yet.
-
-Sun Oct 11 16:49:15 EDT 1998 John Wehle (john@feith.com)
-
- * flow.c: Update comment.
- (notice_stack_pointer_modification): New static function.
- (record_volatile_insns): Use it.
- (mark_regs_live_at_end): Mark the stack pointer as alive
- at the end of the function if current_function_sp_is_unchanging
- is set.
- (life_analysis_1): Set current_function_sp_is_unchanging.
- * function.c: Define it.
- (init_function_start): Initialize it.
- * output.h: Declare it.
- * reorg.c (fill_simple_delay_slots, dbr_schedule): Mark
- the stack pointer as alive at the end of the function if
- current_function_sp_is_unchanging is set.
- * i386.c (ix86_epilogue): Optimize the restoring
- of the stack pointer.
-
-Mon Oct 12 01:22:53 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Oct 11 23:04:30 1998 Robert Lipe <robertl@dgii.com>
-
- * c-pragma.c (handle_pragma_token): If passed a token instead
- of a tree, use that as the pack value.
-
-Sun Oct 11 14:21:14 1998 Mark Mitchell <mark@markmitchell.com>
-
- * flow.c (find_basic_blocks_1): Fix prototype.
-
-Sun Oct 11 05:03:41 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros.
- (struct tree_decl): New fields no_check_memory_usage.
- * c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
- (init_attributes): Register it as a new attribute.
- (decl_attributes): Set flags on functions given that attribute.
- * c-decl.c (duplicate_decls): Merge new attribute.
- * expr.h (current_function_check_memory_usage): Declare new var.
- * calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c,
- pa.c, sparc.c: Replace uses of flag_check_memory_usage with
- current_function_check_memory_usage.
- * function.h: Add field to struct function.
- * function.c (current_function_check_memory_usage): Define it.
- (push_function_context_to, pop_function_context_from): Save and
- restore it.
- (expand_function_start): Set it, based on global flag and function
- attribute.
-
- * expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
- check non-automatic variables, to permit detection of writes to
- read-only locations in embedded systems without memory management.
- * calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
- when emitting chkr_set_right_libfunc call, even if the argument is
- BLKmode or variable-sized; don't abort.
-
- * optabs.c (init_optabs): Create Checker and __cyg_profile_*
- symbols in Pmode, not VOIDmode.
-
-Sun Oct 11 01:03:05 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cppexp.c: When forcing unsigned comparisons, cast both sides
- of the operation.
-
- * cpphash.h: Move static declaration of hashtab[]...
- * cpphash.c: ...here.
-
- * cpplib.c: Cast difference of two pointers to size_t before
- comparing it to size_t. Cast signed to unsigned
- before comparing to size_t. (FIXME: struct argdata should use
- unsigned buffer sizes.)
- * cpplib.h (struct cpp_reader): Declare token_buffer_size as
- unsigned int. (CPP_WRITTEN): Cast return value to size_t.
- (CPP_RESERVE): Parenthesize N for evaluation order, cast to
- size_t before comparison.
-
-Sun Oct 11 00:15:29 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (find_basic_blocks): Delete "live_reachable_p" argument.
- (find_basic_blocks_1): Similarly.
- * output.h (find_basic_blocks): Fix prototype.
- * gcse.c, toplev.c: Don't pass "live_reachable_p" argument to
- find_basic_blocks anymore.
-
-Sat Oct 10 22:00:34 1998 Richard Henderson <rth@cygnus.com>
-
- * basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
- (sbitmap_free, sbitmap_vector_free): New macros.
- * output.h (rtl_dump_file): Declare.
-
-Sat Oct 10 17:01:42 1998 Jeffrey A Law (law@cygnus.com)
-
- * regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
-
-Fri Oct 9 22:08:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * fp-bit.c (SFtype): Don't implicitly use int in declaration.
- (DFtype): Likewise.
- (_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
- (divide): Remove unused variable `tmp'.
- (si_to_float): Cast numeric constant to (SItype) before comparing
- it against one.
-
-Fri Oct 9 16:03:19 1998 Graham <grahams@rcp.co.uk>
-
- * flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
- * gcc.c (add_preprocessor_option): Correct typo when allocating
- memory, sizeof() argument had one too many `*'.
- (add_assembler_option): Likewise.
- (add_linker_option): Likewise.
- * gcov.c (output_data): Likewise.
- * local-alloc.c (memref_used_between_p): Likewise.
- (update_equiv_regs): Likewise.
- * loop.c (strength_reduce): Likewise.
- * reg-stack.c (record_asm_reg_life): Likewise.
- (subst_asm_stack_reg): Likewise.
- * reorg.c (dbr_schedule): Likewise.
-
-Fri Oct 9 15:57:51 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * flow.c (life_analysis_1): Break out some functions.
- (find_basic_blocks_1): Likewise. Also move some variables out and
- make them static.
- Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
- new static var nonlocal_label_list with it.
- (active_eh_region, nested_eh_region, label_value_list,
- nonlocal_label_list): New static variables.
- (make_edges, delete_unreachable_blocks, delete_block): New static
- functions, broken out of find_basic_blocks_1.
- (record_volatile_insns, mark_regs_live_at_end, set_noop_p,
- noop_move_p): New static functions, broken out of life_analysis_1.
-
-Fri Oct 9 15:49:29 1998 Richard Henderson <rth@cygnus.com>
-
- * expmed.c (store_bit_field): Pun non-integral str_rtx modes.
- Take extra care for op0 now possibly being a subreg.
- (extract_bit_field): Likewise.
- * function.c (purge_addressof_1): Revert Oct 4 change. Drop
- the reg to memory if there is no equal sized integral mode.
- * stor-layout.c (int_mode_for_mode): New function.
- * machmode.h: Prototype it.
-
-Fri Oct 9 14:26:44 1998 Jeffrey A Law (law@cygnus.com)
-
- * global.c (build_insn_chain): Verify no real insns exist past the
- end of the last basic block, then exit the loop.
-
-Fri Oct 9 11:44:47 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * loop.c (insert_bct): Ensure loop_iteration_var non-zero before use.
-
-Thu Oct 8 21:59:47 1998 Dave Brolley <brolley@cygnus.com>
-
- * emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
-
-Thu Oct 8 22:03:45 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
-
-Thu Oct 8 17:00:18 1998 Richard Henderson <rth@cygnus.com>
-
- * flow.c (find_basic_blocks): Correctly determine when a call
- is within an exception region.
-
-Thu Oct 8 17:15:04 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
-
- * cpplib.h: Protect from multiple inclusions.
- * cpplib.c: Fix minor formatting problems.
-
- * i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
-
- * jump.c (jump_optimize): Revert accidental patch.
-
- * Makefile.in (cpplib.o): Use unlibsubdir.
-
-Thu Oct 8 12:50:47 1998 Jim Wilson <wilson@cygnus.com>
-
- * loop.c (get_condition): Allow combine when either compare is
- VOIDmode.
-
-Thu Oct 8 11:31:01 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Thu Oct 8 12:21:14 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
-
- * c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
- (init_lex): Initialize ridpointers[RID_BYREF].
- * c-lex.h (enum rid): Add RID_BYREF.
- * c-parse.gperf: Add RID_BYREF as a type qualifier.
- * objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
- (encode_type_qualifiers): Similarly
- * c-gperf.h: Rebuilt.
-
-Thu Oct 8 05:56:00 1998 Jeffrey A Law (law@cygnus.com)
-
- * c-common.c (type_for_mode): Only return TItype nodes when
- HOST_BITS_PER_WIDE_INT is >= 64 bits.
- * c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
- when HOST_BITS_PER_WIDE_INT is >= 64 bits.
- (init_decl_processing): Only create TItype nodes when
- HOST_BITS_PER_WIDE_INT is >= 64 bits.
- * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
- when HOST_BITS_PER_WIDE_INT is >= 64 bits.
-
-Thu Oct 8 05:05:34 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * stmt.c (n_occurrences): New static function.
- (expand_asm_operands): Verify that all constrains match in the
- number of alternatives.
- Verify that '+' or '=' are at the beginning of an output constraint.
- Don't allow '&' for input operands.
- Verify that '%' isn't written for the last operand.
- * reload.c (find_reloads): Abort if an asm is found with invalid
- constraints; all possible problems ought to be checked for earlier.
-
-Thu Oct 8 04:26:20 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * flags.h (flag_branch_on_count_reg): Always declare
- * toplev.c (flag_branch_on_count_reg): Likewise.
- * toplev.c: Fix typos.
-
- * real.c (c4xtoe): Remove unused variables. Add some missing parens.
- (toc4x): Similarly.
-
-Thu Oct 8 01:25:22 1998 Richard Henderson <rth@cygnus.com>
-
- * flow.c (find_basic_blocks): Calc upper bound for extra nops in
- max_uids_for_flow.
- (find_basic_blocks_1): Add a nop to the end of a basic block when
- a trailing call insn does not have abnormal control flow.
- * gcse.c (pre_transpout): New variable.
- (alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
- (compute_pre_transpout): Calculate it.
- (compute_pre_ppinout): Use it to eliminate impossible placements
- due to abnormal control flow through calls.
- (compute_pre_data): Call compute_pre_transpout.
-
-Wed Oct 7 21:40:24 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
-
-Wed Oct 7 21:19:46 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * config/mips/mips.md (tablejump_internal3, tablejump_internal4
- and matching define_insns): Tack on a `use' of the table label, so
- flow analysis will recognize a tablejump.
-
-Wed Oct 7 17:33:39 1998 Richard Henderson <rth@cygnus.com>
-
- * gcse.c (pre_insert_insn): Tweek to notice that calls do not
- always end basic blocks for abnormal edge reasons.
-
-Wed Oct 7 14:40:43 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/i386/i386.h: Remove definition of
- HANDLE_PRAGMA_PACK_PUSH_POP.
-
- * config/i386/go32.h: Add definition of
- HANDLE_PRAGMA_PACK_PUSH_POP.
-
- * config/i386/win32.h: Add definition of
- HANDLE_PRAGMA_PACK_PUSH_POP.
-
- * config/i386/cygwin32.h: Add definition of
- HANDLE_PRAGMA_PACK_PUSH_POP.
-
- * c-pragma.c (insert_pack_attributes): Do not insert
- attributes unless #pragma pack(push,<n>) is in effect.
-
-Wed Oct 7 12:10:46 1998 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (emit_group_store): Handle a PARALLEL destination.
-
-Wed Oct 7 10:07:29 1998 Richard Henderson <rth@cygnus.com>
-
- * gcse.c (pre_insert_insn): When a call ends a bb, insert
- the new insns before the argument regs are loaded.
-
-Wed Oct 7 12:55:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
- (c-parse.gperf): Update comments describing invocation flags.
- (c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
-
-1998-10-07 Manfred Hollstein <manfred@s-direktnet.de>
-
- * reload1.c (reload): Call free before clobbering the memory
- locations or constants pointers.
-
-Wed Oct 7 02:05:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
- for efficiency by checking whether we need to modify the current
- stack permission at all.
- (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
- * config/sparc/sparc.c (sparc_initialize_trampoline): Emit
- __enable_execute_stack libcall here too if
- TRANSFER_FROM_TRAMPOLINE is defined.
- * config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
- IN_LIBGCC2.
-
-Wed Oct 7 02:27:52 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (DRIVER_DEFINES): Remove last change.
-
-Wed Oct 7 01:08:43 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
- insns we're going to copy.
- * regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
-
- * loop.c (count_one_set): Add prototype.
-
- * caller-save.c (restore_referenced_regs): Lose mode argument.
- (insert_save): Lose mode argument.
- (insert_restore): Lose mode argument.
- (insert_one_insn): Lose mode argument.
- (save_call_clobbered_regs): Lose mode argument.
- (setup_save_areas): Take no argument and return void. All callers
- changed.
- Don't verify validity of memory addresses.
- * reload.h (setup_save_ares): Adjust prototype.
- (save_call_clobbered_regs): Likewise.
- * reload1.c (delete_caller_save_insns): New function.
- (caller_save_spill_class): Delete variable.
- (caller_save_group_size): Delete variable.
- (reload): Call setup_save_areas and save_call_clobbered_regs
- in the main loop, before calling calculate_needs_all_insns.
- Don't call save_call_clobbered_regs after the loop.
- Call delete_caller_save_insns at the end of an iteration if
- something changed.
- Delete code to manage caller_save_spill_class.
- Emit the final note before setting reload_first_uid.
- Simplify test that determines whether reload_as_needed gets run.
- (calculate_needs): Delete code to manage caller_save_spill_class.
-
-Tue Oct 6 15:42:27 1998 Richard Henderson <rth@cygnus.com>
-
- * collect2.c (main): Initialize ld_file_name.
-
-Tue Oct 6 15:45:15 1998 Catherine Moore <clm@cygnus.com>
-
- * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
- check for flag_function_sections.
-
-Tue Oct 6 20:02:31 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * cse.c (insert_regs): Fix bug in Sep 24 change.
-
-Tue Oct 6 17:00:42 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * flags.h (flag_dump_unnumbered): Declare.
- * toplev.c (flag_dump_unnumbered): Don't declare.
- * print-rtl.c (flags.h): Include.
- (print_rtl_single): Add return value.
- * rtl.h (print_rtl_single): Update declaration.
- * flow.c (flag_dump_unnumbered): Don't declare.
- (print_rtl_with_bb): Use return value of print_rtl_single.
-
-Tue Oct 6 01:36:00 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * loop.c (count_one_set): New static function, broken out of
- count_loop_regs_set
- (count_loop_regs_set): Call it.
- * global.c (mark_reg_store): Handle clobbers here by not calling
- set_preference.
- (mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
- is in fact a clobber.
- * integrate.c (process_reg_param): New function, broken out of
- expand_inline_function.
- (expand_inline_function): Call it.
-
-
- * i386.md (addsidi3_1): Delete unused variable temp.
- (addsidi3_2): Likewise.
- (clstrstrsi): Delete unused variable addr1.
-
- * rtl.h: Don't declare any functions also declared in recog.h.
-
- * Makefile.in (stupid.o): Update dependencies.
- (global.o): Likewise.
-
- * global.c: Include reload.h
- (reg_becomes_live): New function.
- (reg_dies): New function.
- (build_insn_chain): New function.
- (global_alloc): Call build_insn_chain before calling reload.
-
- * reload.h (struct needs): New structure definition.
- (struct insn_chain): Likewise.
- (reload_insn_chain): Declare variable.
- (new_insn_chain): Declare function.
-
-
- * reload1.c (reload_startobj): New variable.
- (reload_insn_chain): New variable.
- (unused_insn_chains): New variable.
- (new_insn_chain): New function.
- (init_reload): Initialize reload_startobj, not reload_firstobj.
- (reload): Initialize reload_firstobj.
- Before returning, free everything on the reload_obstack.
-
- * stupid.c: Include insn-config.h, reload.h and basic-block.h.
- (reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
- current_chain): New variables.
- (reg_where_born): Delete variable.
- (REG_WHERE_BORN): New macro.
- (find_clobbered_regs): New function.
- (stupid_life_analysis): Don't allocate/free reg_where_born.
- Allocate and free reg_where_born_exact, reg_where_born_clobber,
- reg_where_dead_chain.
- Use REG_WHERE_BORN instead of reg_where_born.
- While processing the insns, build the reload_insn_chain with
- information about register lifetimes.
- (stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
- (stupid_mark_refs): Replace arg INSN with arg CHAIN. All callers
- changed.
- Compute and information about birth and death of pseudo registers in
- reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
- Delete code to set elements of reg_where_born.
-
-Mon Oct 5 22:34:30 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * tree.def (GOTO_EXPR): Modified documentation.
- * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
- goto.
-
-Mon Oct 5 22:43:36 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * unroll.c (loop_iteration_var, loop_initial_value, loop_increment
- loop_final_value, loop_comparison_code): No longer static.
- (unroll_loop): Delete loop_start_value update.
- * loop.h (loop_iteration_var, loop_initial_value, loop_increment,
- loop_final_value, loop_comparison_code): Extern.
- (loop_start_value): Delete extern.
- * loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
- loop_comparison_value, loop_comparison_code): Delete.
- (loop_optimize): Remove initialization for deleted variables.
- (strength_reduce): Delete analyze_loop_iterations call. Only call
- insert_bct if flag_branch_count_on_reg set.
- (analyze_loop_iterations): Delete.
- (insert_bct): Remove iteration count calculation. Move checks for
- viable BCT optimization to here. Obtain iteration count from
- loop_iterations and correct for unrolling. Check for enough
- iteration to be beneficial. Comment out runtime iteration count
- case.
- (insert_bct): Print iteration count in dump file. Remove
- loop_var_mode and use word_mode directly.
-
- * rs6000.h (processor_type): Add PROCESSOR_PPC604e.
- * rs6000.c (rs6000_override_options): Use it.
- (optimization_options): Enable use of flag_branch_on_count_reg.
- * rs6000.md (define_function_unit): Describe 604e.
-
-1998-10-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * loop.c (move_movables): Corrected threshold calculation for
- moved_once registers.
-
-Mon Oct 5 21:18:45 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * loop.c (combine_givs_p): Fix test for identical givs.
-
-Mon Oct 5 10:11:28 1998 Nick Clifton <nickc@cygnus.com>
-
- * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
- call abort if the function is already defined.
-
-Mon Oct 5 10:02:36 1998 Jeffrey A Law (law@cygnus.com)
-
- * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
- truncation is not a no-op.
-
-Mon Oct 5 09:02:04 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Oct 5 08:19:55 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Oct 5 01:07:23 1998 Torbjorn Granlund <tege@matematik.su.se>
-
- * expmed.c (expand_divmod): Don't widen for computing remainder
- if we seem to have a divmod pattern for needed mode.
-
-Mon Oct 5 01:01:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpplib.c (macroexpand): Correct off-by-one error in handling
- of escapes.
-
-Sun Oct 4 23:58:30 1998 Richard Henderson <rth@cygnus.com>
-
- * combine.c (expand_field_assignment): Don't do bitwise operations
- on MODE_FLOAT; pun to MODE_INT if possible.
-
-Sun Oct 4 18:33:24 1998 Jason Merrill <jason@yorick.cygnus.com>
- scott snyder <snyder@d0sgif.fnal.gov>
-
- * tlink.c (scan_linker_output): Recognize errors from irix 6.2
- linker. Recognize mangled names in quotes.
-
-Sun Oct 4 02:58:20 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
-
- * config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
- (ashlsi3_const1, ashldi3_const1): New combiner patterns.
- (ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
- (lshrsi3_extend, lshrsi3_extend2): Ditto.
-
-Sun Oct 4 00:23:00 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * function.c (purge_addressof_1): If trying to take a sub-word
- integral piece of a floating point mode, put it on the stack.
-
-Sat Oct 3 19:01:03 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
-
-Sat Oct 3 14:42:19 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * PROJECTS: Remove template friends.
-
- * collect2.c (sort_ids): Remove unused variable.
-
- * tm.texi (MATH_LIBRARY): Document.
- (NEED_MATH_LIBRARY): Remove.
-
- * varasm.c (assemble_start_function, assemble_variable, weak_finish,
- assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
-
-Sat Oct 3 16:14:44 1998 John Carr <jfc@mit.edu>
-
- * dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
- last_end to 0x7fffffff.
-
-Fri Oct 2 19:14:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * function.c (purge_addressof_1): Do not perform endianness
- corrections on bitpos, who we call will do it for us.
-
-Fri Oct 2 11:52:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * h8300.c (WORD_REG_USED): Fix typo.
- (initial_offset): Use WORD_REG_USED.
-
- * h8300.c (handle_pragma): Fix typo.
-
-Fri Oct 2 10:51:35 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * caller-save.c (insert_save_restore): Break this function up
- into new functions insert_restore, insert_save and insert_one_insn.
- All callers changed.
- (insert_restore): New function, mostly broken out of
- insert_save_restore.
- (insert_save): Likewise.
- (insert_one_insn): Likewise.
- (restore_referenced_regs): New argument BLOCK. All callers changed.
- (save_call_clobbered_regs): Don't keep track of basic block boundaries
- in this function, do it in insert_one_insn instead.
-
- * reload1.c (reload): Break out some more pieces into separate
- functions.
- (dump_needs): New function, broken out of reload.
- (set_initial_elim_offsets): Likewise.
- (init_elim_table): Likewise.
- (update_eliminables): Likewise.
-
- * global.c (global_alloc): Delete code to manage the scratch_list.
- * local-alloc.c (qty_scratch_rtx): Delete.
- (scratch_block): Delete.
- (scratch_list): Delete.
- (scratch_list_length): Delete.
- (scratch_index): Delete.
- (alloc_qty_for_scratch): Delete.
- (local-alloc): Update initialization of max_qty.
- Delete code to manage the scratch list.
- Delete code to allocate/initialize qty_scratch_rtx.
- (block_alloc): Don't allocate quantities for scratches.
- Delete code to manage the scratch list.
- * regs.h (scratch_list): Delete declaration.
- (scratch_block): Delete declaration.
- (scratch_list_length): Delete declaration.
- * reload1.c (reload): Delete code to manage the scratch list.
- (spill_hard_reg): Likewise.
- (mark_scratch_live): Delete.
-
- * recog.c (alter_subreg): Delete declaration.
-
-1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
-
- * Makefile.in (cccp.o): Fix typo in last patch.
-
-Fri Oct 2 16:13:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * t-sh (LIB1ASMFUNCS): Add _set_fpscr .
- * config/sh/lib1funcs.asm (___set_fpscr): Add.
-
-Fri Oct 2 02:01:59 1998 Jeffrey A Law (law@cygnus.com)
-
- * regclass.c (reg_scan_mark_refs): Return immediately if passed a
- NULL_RTX as an argument.
-
- * Makefile.in (unlibsubdir): Define.
- (DRIVER_DEFINES): Use unlibsubdir.
- (cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
- (stmp-fixinc): Similarly.
-
-Thu Oct 1 19:58:30 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * regmove.c (regmove_optimize): Add variable old_max_uid.
- At the end of the function, update basic_block_end.
-
-Thu Oct 1 17:58:25 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * dwarf2out.c (expand_builtin_dwarf_reg_size): Use
- FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
- arbitrary constant.
-
-Thu Oct 1 17:57:14 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.c: Improve interworking support.
-
-Thu Oct 1 18:43:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
- copied from reload_out[r] .
-
-Thu Oct 1 19:20:09 1998 John Carr <jfc@mit.edu>
-
- * dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
- with more than three size ranges.
-
- * flow.c (sbitmap_copy): Use bcopy to copy bitmap.
-
- * rtl.c (mode_name): Add a null string at the end of the array.
- (mode_wider_mode): Change type to unsigned char.
- (mode_mask_array): New variable.
- (init_rtl): Update for mode_wider_mode type change.
-
- * rtl.h (mode_wider_mode): Change type to unsigned char.
- (mode_mask_array): Declare.
- (GET_MODE_MASK): Use mode_mask_array.
-
-Thu Oct 1 15:56:01 1998 Gavin Romig-Koch <gavin@cygnus.com>
-
- * calls.c (expand_call) : Encapsulate code into
- copy_blkmode_from_reg.
- * expr.c (copy_blkmode_from_reg): New function.
- * expr.h (copy_blkmode_from_reg): New function.
- * integrate.c (function_cannot_inline_p): We can inline
- these now.
- (expand_inline_function): Use copy_blkmode_from_reg
- if needed. Avoid creating BLKmode REGs.
- (copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
- object.
-
-Thu Oct 1 10:42:27 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.c: Add function prototypes.
- Add support for v850 special data areas.
-
- * config/v850/v850.h: Add support for v850 special data areas.
-
- * c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
- HANDLE_PRAGMA_PACK_PUSH_POP.
- (push_alignment): New function: Cache an alignment requested
- by a #pragma pack(push,<n>).
- (pop_alignment): New function: Pop an alignment from the
- alignment stack.
- (insert_pack_attributes): New function: Generate __packed__
- and __aligned__ attributes for new decls whilst a #pragma pack
- is in effect.
- (add_weak): New function: Cache a #pragma weak directive.
- (handle_pragma_token): Document calling conventions. Add
- support for #pragma pack(push,<n>) and #pragma pack (pop).
-
- * c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
- are defined enable HANDLE_PRAGMA_PACK.
- Move 'struct weak_syms' here (from varasm.c).
- Add pragma states for push and pop pragmas.
-
- * c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
- if it is defined.
-
- * c-lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with
- HANDLE_GENERIC_PRAGMAS.
-
- * varasm.c: Move definition of 'struct weak_syms' into
- c-pragma.h.
- (handle_pragma_weak): Deleted.
-
- * config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
-
- * config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
-
- * c-decl.c (start_function): Add invocation of
- SET_DEFAULT_DECL_ATTRIBUTES, if defined.
-
- * tm.texi: Remove description of non-existant macro
- SET_DEFAULT_SECTION_NAME.
-
- (HANDLE_SYSV_PRAGMA): Document.
- (HANDLE_PRAGMA_PACK_PUSH_POP): Document.
-
-Wed Sep 30 22:27:53 1998 Robert Lipe <robertl@dgii.com>
-
- * config.sub: Recognize i[34567]86-pc-udk as new target.
- * configure.in: Likewise.
- * config/i386/t-udk: New file.
- * config/i386/udk.h: New file.
-
-Wed Sep 30 19:33:07 1998 Jeffrey A Law (law@cygnus.com)
-
- * reorg.c (check_annul_list_true_false): Remove unused variables.
- (steal_delay_list_from_target): Add missing "used_annul" variable.
- (try_merge_delay_insns): Close out half formed comment.
-
-Wed Sep 30 19:13:20 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * cpplib.c (macroexpand): If arg->raw_before or
- arg->raw_after, remove any no-reexpansion escape at the
- beginning of the pasted token. Correct handling of whitespace
- markers and no-reexpand markers at the end if arg->raw_after.
-
- * toplev.c (documented_lang_options): Recognize -include,
- -imacros, -iwithprefix, -iwithprefixbefore.
- * cpplib.c (cpp_start_read): Process -imacros and -include
- switches at the same time and in command-line order, after
- initializing the dependency-output code. Emit properly nested
- #line directives for them. Emit a #line for the main file
- before processing these switches, and don't do it again
- afterward.
-
-Wed Sep 30 18:03:22 1998 Richard Henderson <rth@cygnus.com>
-
- * function.c (purge_addressof_1): Use bitfield manipulation
- routines to handle mem mode < reg mode.
-
-Wed Sep 30 18:43:32 1998 Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * reorg.c (try_merge_delay_insns): Account for resources referenced
- in each instruction in INSN's delay list before trying to eliminate
- useless instructions. Similarly when looking at a trial insn's delay
- slots.
-
- * reorg.c (check_annul_list_true_false): New function.
- (steal_delay_list_from_{target,fallthrough}): Call it and also
- refine tests for when we may annul if already filled a slot.
- (fill_slots_from_thread): Likewise.
- (delete_from_delay_slot): Return newly-created thread.
- (try_merge_delay_isns): Use its new return value.
-
-Wed Sep 30 18:29:26 1998 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
- used to compute a giv or as some other non-counting use.
-
-Wed Sep 30 18:19:27 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
- * local-alloc.c (find_free_reg): Use it.
- * global.c (find_reg): Likewise.
- * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
-
- * regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
- * caller-save.c (init_caller_save): Use it.
- * tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
-
-Wed Sep 30 12:57:30 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * configure.in: Add --enable-cpplib option which uses cpplib
- for cpp, but doesn't link cpplib into cc1. Make help text
- capitalization consistent.
- * configure: Rebuilt.
-
-Wed Sep 30 10:09:39 1998 Mark Mitchell <mark@markmitchell.com>
-
- * function.c (gen_mem_addressof): If the address REG is
- REG_USERVAR_P make the new REG be so also.
- * loop.c (scan_loop): Apply DeMorgan's laws and add documentation
- in an attempt to clarify slightly.
-
-Wed Sep 30 09:57:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
- and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
-
-Wed Sep 30 10:13:39 1998 Catherine Moore <clm@cygnus.com>
-
- * toplev.c: Fix last patch.
-
-Tue Sep 29 20:03:18 1998 Jim Wilson <wilson@cygnus.com>
-
- * loop.c (get_condition): Fix typo in May 9 change.
-
-Tue Sep 29 11:11:38 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * invoke.texi (-fexceptions): Merge 2 different descriptions.
-
-Mon Sep 28 22:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * toplev.c (documented_lang_options): Spelling corrections.
-
-Mon Sep 28 19:41:24 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * configure.in: new flags --with-ld and --with-as, equivalent
- to setting LD and AS environment variables. Test whether
- specified arguments are GNU commands, and report them with
- checking messages. Use the specified AS for configure
- tests too.
- * configure: ditto
- * acconfig.h: add DEFAULT_ASSEMBLER and DEFAULT_LINKER
- * config.in: ditto
- * gcc.c (find_a_file): when looking for `as' and `ld', return
- the DEFAULT program if it exists
- * collect2.c (main): use DEFAULT_LINKER if it exists
-
- * gcc.c (find_a_file): the test for existence of a full
- pathname was reversed
-
-Mon Sep 28 17:34:35 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
- * rs6000.c (output_mi_thunk): Always use a raw jump for now.
-
-Mon Sep 28 14:24:03 1998 Mark Mitchell <mark@markmitchell.com>
-
- * tree.h (TYPE_BINFO): Document.
-
-Mon Sep 28 12:55:49 1998 Stan Cox <scox@cygnus.com>
-
- * i386-coff.h (dbxcoff.h): Added.
-
-Mon Sep 28 12:51:00 1998 Catherine Moore <clm@cygnus.com>
-
- * toplev.c: fix bad patch around flag_data_sections.
-
-Mon Sep 28 10:32:28 1998 Nick Clifton <nickc@cygnus.com>
-
- * reload1.c (reload): Use reload_address_index_reg_class and
- reload_address_base_reg_class when setting
- caller_save_spill_class. (Patch generated by Jim Wilson:
- wilson@cygnus.com).
-
-Mon Sep 28 07:43:34 1998 Mark Mitchell <mark@markmitchell.com>
-
- * c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
- and ARRAY_TYPEs. Tidy up. Improve support for type-punning.
- * expr.c (store_field): Add alias_set parameter. Set the
- MEM_ALIAS_SET accordingly, if the target is a MEM.
- (expand_assignment): Use it.
- (store_constructor_field): Pass 0.
- (expand_expr): Likewise.
-
-Mon Sep 28 07:54:03 1998 Catherine Moore <clm@cygnus.com>
-
- * flags.h: Add flag_data_sections.
- * toplev.c: Add option -fdata-sections. Add flag_data_sections.
- (compile_file): Error if flag_data_sections not supported.
- * varasm.c (assemble_variable): Handle flag_data_sections.
- * config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
- * config/mips/elf.h: Likewise.
- * config/mips/elf64.h: Likewise.
- * invoke.texi: Describe -fdata-sections.
-
-Mon Sep 28 04:15:44 1998 Craig Burley <burley@melange.gnu.org>
-
- * invoke.texi (-ffloat-store): Clarify that this option
- does not affect intermediate results -- only variables.
-
-Mon Sep 28 04:11:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * cpp.texi: Update for Fortran usage from Craig.
-
-Fri Sep 25 22:09:47 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (function_arg_boundary): Revert accidental change on
- September 18.
-
-Fri Sep 25 20:30:00 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
- (output_mi_thunk): Declare.
-
- * rs6000.c (output_mi_thunk): Function to create thunks for MI.
- (output_function_profiler): Use r12 for temp, instead of r11 so
- that we preserve the static chain register.
-
-Fri Sep 25 14:18:33 1998 Jim Wilson <wilson@cygnus.com>
-
- * sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
-
-Fri Sep 25 19:30:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (gen_shl_sext): Fix case 5.
-
-Fri Sep 25 17:35:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_combine): Re-add line that got accidentally lost.
-
-Fri Sep 25 10:43:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
- accessing variables until they are initialized via va_arg().
-
-Thu Sep 24 22:12:16 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * reload1.c (reload_combine): Initialize set before using.
-
-Thu Sep 24 18:53:20 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * sdbout.c (sdbout_field_types): Don't emit the types of fields we
- won't be emitting.
-
-Thu Sep 24 17:05:30 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.md (insv): Add comment. In CONST_INT case, and
- operand3 with mask before using it. Patch provided by Jim Wilson.
-
-Thu Sep 24 15:08:08 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
-
- * config/sparc/sparc.c (function_value): Perform the equivalent of
- PROMOTE_MODE for ARCH64.
- (eligible_for_epilogue_delay): Allow DImode operations in delay
- slot of a return for ARCH64.
-
-Thu Sep 24 22:17:54 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (sqrtsf2): Fix mode of sqrt.
-
-Thu Sep 24 21:48:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (choose_reload_regs): Also try inheritance when
- reload_in is a stack slot of a pseudo, even if we already got a
- reload reg.
-
-Thu Sep 24 21:22:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
- (reload_cse_regs): New function body: call reload_cse_regs_1,
- reload_combine, reload_cse_move2add.
- When doing expensive_optimizations, call reload_cse_regs_1 a
- second time after reload_cse_move2add.
- (reload_combine, reload_combine_note_store): New functions.
- (reload_combine_note_use): New function.
- (reload_cse_move2add, move2add_note_store): New functions.
-
-Thu Sep 24 18:48:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
- reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
-
- Properly keep track of first RELOAD_FOR_X_ADDRESS also for
- more than 3 such reloads.
-
- If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
- RELOAD_FOR_X_ADDR_ADDR reload.
-
-Thu Sep 24 17:45:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * expr.c (store_constructor): When initializing a field that is smaller
- than a word, at the start of a word, try to widen it to a full word.
-
- * cse.c (cse_insn): When we are about to change a register,
- remove any invalid references to it.
-
- (remove_invalid_subreg_refs): New function.
- (mention_regs): Special treatment for SUBREGs.
- (insert_regs): Don't strip SUBREG for call to mention_regs.
- Check if reg_tick needs to be bumped up before that call.
- (lookup_as_function): Try to match known word_mode constants when
- looking for a norrower constant.
- (canon_hash): Special treatment for SUBREGs.
-
-Thu Sep 24 01:35:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
- * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
- defined, emit libcall to __enable_execute_stack. Also fix opcodes
- and offsets in actual stack trampoline code so they match the
- commentary and actually work.
-
-Thu Sep 24 01:19:02 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
-
- * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
- tmake_file.
- (sparc64-*-linux): Use t-linux and sparc/t-linux64 for
- tmake_file. Set extra_parts to needed crt objects.
- * configure: Rebuilt.
- * config/sparc/linux64.h (SPARC_BI_ARCH): Define.
- (TARGET_DEFAULT): Set if default is v9 or ultra.
- (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
- (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
- (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
- (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
- LINK_SPEC, LINK_ARCH_SPEC): Likewise.
- (TARGET_VERSION): Define.
- (MULTILIB_DEFAULT): Define.
- * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
- mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
- (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
- appropriately.
- (TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
- * config/sparc/sparc.c (sparc_override_options): If arch and
- pointer size disagree, emit diagnostic and fix it up. If
- SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32. Turn off
- V8PLUS in 64-bit mode.
- * config/sparc/t-linux64: New file.
- * config/sparc/t-sol2-64: New file.
- * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
- * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
- (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
- CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
- (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
- (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
- Define.
- (STARTFILE_SPEC): Set approriately based upon those.
- (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
- disposition of DEFAULT_ARCH32_P.
- (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
- (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
- (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
- (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
- * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
- arch64/v9.
- * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
-
-Wed Sep 23 22:32:31 1998 Mark Mitchell <mark@markmitchell.com>
-
- * rtl.h (init_virtual_regs): New function.
- * emit-rtl.c (init_virtual_regs): Define.
- (insn_emit): Use it.
- * integrate.c (save_for_inline_copying): Likewise.
-
-Wed Sep 23 16:22:01 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.h: The following patches were made by Jim Wilson:
- (enum reg_class): Add NONARG_LO_REGS support.
- (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
- PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
- (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
- completes. Re-enable HImode REG+OFFSET addresses.
- (LEGITIMIZE_RELOAD_ADDRESS): Define.
-
- * expmed.c (extract_bit_field): Add comment from Jim Wilson.
-
-Wed Sep 23 13:26:02 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (get_aligned_mem): Revert Sep 20 change.
- (alpha_set_memflags, alpha_set_memflags_1): Likewise.
- (alpha_align_insns): Properly calculate initial offset wrt max_align.
-
-Wed Sep 23 10:45:44 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.c (find_barrier): Revert change of Apr 23. Handle table
- jumps as a single entity, taking into account the size of the
- table.
-
-Tue Sep 22 15:13:34 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * tree.def (SWITCH_EXPR): New tree node definition.
-
-Mon Sep 21 23:40:38 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Sep 21 22:31:14 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Sep 21 22:48:09 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: Recognize i[34567]86-*-openbsd* and handle it like
- NetBSD.
-
-Mon Sep 21 22:05:28 1998 Jeffrey A Law (law@cygnus.com)
-
- * Revert this patch.
- * reload.c (find_reloads): Do not replace a pseudo with
- (MEM (reg_equiv_addr)) in the initializing insn for the
- pseudo.
-
-Mon Sep 21 20:19:41 1998 John Carr <jfc@mit.edu>
-
- * final.c (final_scan_insn): Disable tracking CC across branches.
-
-Mon Sep 21 17:15:26 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * expr.h (eh_rtime_match_libfunc): New extern declaration.
- * optabs.c (init_optabs): Set eh_rtime_match_libfunc.
- * except.c (start_catch_handler): Use eh_rtime_match_libfunc.
- * libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
- NULL. Only include <stdio.h> if inhibit_libc is not defined.
-
-Mon Sep 21 14:10:51 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (rest_of_compilation): Skip compiling anything with
- DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
-
-Mon Sep 21 13:51:05 1998 Jim Wilson <wilson@cygnus.com>
-
- * flow.c (find_basic_blocks): Delete check for in_libcall_block when
- prev_code is a CALL_INSN. Change check for REG_RETVAL note to
- use in_libcall_block.
- (find_basic_blocks_1): Delete check for in_libcall_block when prev_code
- is a CALL_INSN. If CALL_INSN and in_libcall_block, then change code
- to INSN.
-
-Mon Sep 21 14:02:23 1998
-
- * i386.h: (TARGET_SWITCHES) Improve doc for align-double. Fix
- typo in no-fancy-math-387 description.
-
-Mon Sep 21 09:27:18 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Sep 21 09:24:49 1998 Stan Cox <scox@cygnus.com>
-
- * i386-coff.h (DBX_DEBUGGING_INFO): Added.
-
-Mon Sep 21 09:14:49 1998 Robert Lipe <robertl@dgii.com>
-
- * i386.h: (TARGET_SWITCHES) Add description fields for flags
- documented in install.texi.
- (TARGET_OPTIONS) Likewise.
-
-Mon Sep 21 01:39:03 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Sep 21 01:53:05 1998 Felix Lee <flee@cygnus.com>
-
- * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
- * cccp.c (main): Likewise.
-
- * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
- Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
- macro-use bugs.
-
-Mon Sep 21 00:52:12 1998 Per Bothner <bothner@cygnus.com>
-
- * Makefile.in (LIBS): Link in libiberty.a.
- * c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
-
-Sun Sep 20 23:28:11 1998 Richard Henderson <rth@cygnus.com>
-
- * reload1.c (emit_reload_insns): Accept a new arg for the bb. Use
- it to update bb boundaries. Update caller.
- * function.c (reposition_prologue_and_epilogue_notes): Update
- bb boundaries wrt the moved note.
-
-Sun Sep 20 20:57:02 1998 Robert Lipe <robertl@dgii.com>
-
- * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
- problems.
- * configure: Regenerate.
-
-Sun Sep 20 19:01:51 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_sr_alias_set): New variable.
- (override_options): Set it.
- (alpha_expand_prologue, alpha_expand_epilogue): Use it.
- (mode_mask_operand): Fix signed-unsigned comparision warning.
- (alpha_expand_block_move): Likewise.
- (print_operand): Likewise.
- (get_aligned_mem): Use change_address.
- (alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
- (alphaev4_insn_pipe, alphaev4_next_group): New functions.
- (alphaev4_next_nop, alphaev5_next_nop): New functions.
- (alpha_align_insns): Remade from old alphaev5_align_insns
- to handle multiple processors.
- (alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
- * output.h (label_to_alignment): Prototype.
-
- * tree.c (new_alias_set): New function.
- * tree.h (new_alias_set): Declare it.
- * c-common.c (c_get_alias_set): Use it.
-
-Sun Sep 20 12:35:55 1998 Richard Henderson <rth@cygnus.com>
-
- * fold-const.c (fold): Yet another COND_EXPR bug: when folding
- to an ABS expr, convert an unsigned input to signed.
-
-Sun Sep 20 12:14:45 1998 Jeffrey A Law (law@cygnus.com)
-
- * fold-const.c (fold): Fix another type in COND_EXPR handling code.
-
-1998-09-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * configure.in: Add support for c4x targets.
- * configure: Rebuilt.
-
-Sun Sep 20 00:00:51 1998 Richard Henderson <rth@cygnus.com>
-
- * combine.c (distribute_notes): If an insn is a cc0 user, only
- delete it if we can also delete the cc0 setter.
-
-Sun Sep 20 00:22:23 1998 Michael Tiemann <michael@impact.tiemann.org>
-
- * fold-const.c (fold): Fix typo in COND_EXPR handling code.
- (invert_truthvalue): Enable truthvalue inversion for
- floating-point operands if -ffast-math.
-
-Sat Sep 19 23:58:07 1998 Melissa O'Neill <oneill@cs.sfu.ca>
-
- * configure.in: Disable collect2 for nextstep. Instead use
- crtbegin/crtend.
- * configure: Rebuilt.
- * config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
- (ENDFILE_SPEC): Define.
- (OBJECT_FORMAT_MACHO): Define.
- (EH_FRAME_SECTION_ASM_OP): Define.
- * crtstuff.c: Handle MACHO.
-
-Sun Sep 20 00:24:24 1998 Robert Lipe <robertl@dgii.com>
-
- * config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
-
-1998-09-19 Torbjorn Granlund <tege@matematik.su.se>
-
- * fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
- (_fpadd_parts): Get sign right for 0.
-
-1998-09-19 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * ginclude/varargs.h: Add support for C4x target.
- * ginclude/stdargs.h: Likewise.
-
-Sat Sep 19 12:05:09 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_return_addr): SET should be VOIDmode.
- (alpha_emit_set_long_const): Rewrite to be callable from reload
- and 32-bit hosts.
- (alpha_expand_epilogue): Update for alpha_emit_set_long_const.
- * alpha.md (movdi): Likewise.
-
-Sat Sep 19 07:33:36 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.c (add_constant): New parameter address_only, change caller.
- Set it non-zero if taking the address of an item in the pool.
- (arm_reorg): Handle cases where we need the address of an item in
- the pool.
-
- * arm.c (bad_signed_byte_operand): Check both arms of a sum in
- a memory address.
- * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
- memory addresses that are not in standard canonical form.
-
-Sat Sep 19 01:00:32 1998 Michael Hayes (mph@elec.canterbury.ac.nz)
-
- * README.C4X: New file with information about the c4x ports.
- * ginclude/va-c4x.h: New file for c4x varargs support.
- * config/c4x: New directory with c4x port files.
-
-Fri Sep 18 22:52:05 1998 Jeffrey A Law (law@cygnus.com)
-
- * reload.c (find_reloads): Do not replace a pseudo with
- (MEM (reg_equiv_addr)) in the initializing insn for the
- pseudo.
-
-Fri Sep 18 23:50:56 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * toplev.c (rest_of_compilation): Set bct_p on second call to
- loop_optimize.
- * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
- bct_p.
- (strength_reduce): Only call analyze_loop_iterations and
- insert_bct if bct_p set.
- (check_dbra_loop): Fix typo.
- (insert_bct): Use word_mode instead of SImode.
- (instrument_loop_bct): Likewise. Do not delete iteration count
- condition code generation insn. Initialize iteration count before
- loop start.
- * rtl.h (loop_optimize): Update prototype.
-
- * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
- not doubleword aligned.
-
- * rs6000.c (optimization_options): New function.
- (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
- * rs6000.h (OPTIMIZATION_OPTIONS): Define.
- (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
- first; cr1 can be used for FP record condition insns.
-
-Fri Sep 18 09:44:55 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
- PREDICATE_CODES.
-
- * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
- patterns.
-
- * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
- operators.
- (block_move_call): New function: Call a library routine to copy a
- block of memory.
- (m32r_expand_block_move): New function: Expand a "movstrsi"
- pattern into a sequence of insns.
- (m32r_output_block_move): New function: Expand a
- "movstrsi_internal" pattern into a sequence of assembler opcodes.
- (m32r_block_immediate_operand): New function: Return true if the
- RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
-
-Thu Sep 17 16:42:16 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
- re-align some code.
- * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
-
-Thu Sep 17 12:24:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (copy_src_to_dest): Check that modes match.
-
-Wed Sep 16 22:10:42 1998 Robert Lipe <robertl@dgii.com>
-
- * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
-
-Wed Sep 16 15:24:54 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
- narrower than FLOAT_REGS.
-
-Wed Sep 16 17:51:00 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * cpplib.c: removed OLD_GPLUSPLUS_INCLUDE_DIR
- * cccp.c: ditto
- * Makefile.in (old_gxx_include_dir): removed
-
-Wed Sep 16 12:29:22 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
- new specification.
-
- * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
- (sh_handle_pragma): Change function arguments to match new
- specification for HANDLE_PRAGMA.
-
-Wed Sep 16 12:43:19 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
- `unsigned char'.
- (main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
- When generating output, initialize missing struct member to zero.
-
-Wed Sep 16 14:47:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (copy_src_to_dest): Don't copy if that requires
- (a) new register(s).
-
-Wed Sep 16 01:29:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * global.c (reg_allocno): Now static.
- * reload1.c (reg_allocno): Delete declaration.
- (order_regs_for_reload): Take no arguments. Don't treat regs
- allocated by global differently than those allocated by local-alloc.
-
-Wed Sep 16 01:09:01 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
-
- * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
- condition, fix format strings.
- (output_function_epilogue): Likewise.
-
- * m68k/m68k.c: Don't include <stdlib.h> directly.
-
-Wed Sep 16 00:30:56 1998 Geoff Keating <geoffk@ozemail.com.au>
-
- * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
- mem_first_set, mem_last_set; because 0 can be a CUID.
- (oprs_unchanged_p): Use new definition.
- (record_last_reg_set_info): Likewise.
- (record_last_mem_set_info): Likewise.
- (compute_hash_table): Likewise.
-
-Tue Sep 15 22:59:52 1998 Jeffrey A Law (law@cygnus.com)
-
- * rs6000.c (output_epilogue): Handle Chill.
-
- * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
- * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
-
- * combine.c (make_extraction): If no mode is specified for
- an operand of insv, extv, or extzv, default it to word_mode.
- (simplify_comparison): Similarly.
- * expmed.c (store_bit_field): Similarly.
- (extract_bit_field): Similarly.
- * function.c (fixup_var_regs_1): Similarly.
- * recog.c (validate_replace_rtx_1): Similarly.
- * mips.md (extv, extzv, insv expanders): Default modes for most
- operands. Handle TARGET_64BIT.
- (movdi_uld, movdi_usd): New patterns.
-
- * pa.c (emit_move_sequence): Do not replace a pseudo with its
- equivalent memory location unless we have been provided a scratch
- register. Similarly do not call find_replacement unless a
- scratch register has been provided.
-
-Tue Sep 15 19:23:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
- return FLOAT_REGS.
-
-Tue Sep 15 19:09:06 1998 Richard Henderson <rth@cygnus.com>
-
- * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. Kill.
- (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
- (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
- (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
- * c-decl.c (init_decl_processing): Update accordingly.
- * expr.c (expand_builtin): Likewise.
-
- * rtl.h (global_rtl): Add cfa entry.
- (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
- (LAST_VIRTUAL_REGISTER): Update.
- * emit-rtl.c (global_rtl): Add cfa entry.
- (init_emit): Initialize it.
- * function.c (cfa_offset): New.
- (instantiate_virtual_regs): Initialize it.
- (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
- (expand_function_end): Call expand_eh_return.
- * tm.texi (ARG_POINTER_CFA_OFFSET): New.
-
- * except.c (current_function_eh_stub_label): Kill.
- (current_function_eh_old_stub_label): Likwise; update all references.
- (expand_builtin_set_return_addr_reg): Kill.
- (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
- (expand_builtin_set_eh_regs): Kill.
- (eh_regs): Produce a third reg for the actual handler address.
- (eh_return_context, eh_return_stack_adjust): New.
- (eh_return_handler, eh_return_stub_label): New.
- (init_eh_for_function): Initialize them.
- (expand_builtin_eh_return, expand_eh_return): New.
- * except.h: Update prototypes.
- * flow.c (find_basic_blocks_1): Update references to the stub label.
- * function.h (struct function): Kill stub label elements.
-
- * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
- register number is one that would be in the previous window.
- Provide a dummy definition for non-windowed targets.
- (get_reg_addr): New function.
- (get_reg, put_reg, copy_reg): Use it.
- (__throw): Rely on in_reg_window, not INCOMING_REGNO. Kill stub
- generating code and use __builtin_eh_return. Use __builtin_dwarf_cfa.
-
- * alpha.c (alpha_eh_epilogue_sp_ofs): New.
- (alpha_init_expanders): Initialize it.
- (alpha_expand_epilogue): Use it.
- * alpha.h: Declare it.
- * alpha.md (eh_epilogue): New.
-
- * m68h.h (ARG_POINTER_CFA_OFFSET): New.
- * sparc.h (ARG_POINTER_CFA_OFFSET): New.
-
-Tue Sep 15 19:31:58 1998 Michael Meissner <meissner@cygnus.com>
-
- * i960.h (CONST_COSTS): Fix thinko. Test flag, not the constant
- flag bit mask.
-
-Tue Sep 15 14:10:54 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * except.h (struct eh_entry): Add false_label field.
- (end_catch_handler): Add prototype.
- * except.c (push_eh_entry): Set false_label field to NULL_RTX.
- (start_catch_handler): When using old style exceptions, issue
- runtime typematch code before continuing with the handler.
- (end_catch_handler): New function, generates label after handler
- if needed by older style exceptions.
- (expand_start_all_catch): No need to check for new style exceptions.
- (output_exception_table_entry): Only output the first handler label
- for old style exceptions.
- * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
- mechanism into one function, if a runtime matcher is provided.
-
-Tue Sep 15 13:53:59 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
-
-Tue Sep 15 09:59:01 1998 Mark Mitchell <mark@markmitchell.com>
-
- * integrate.c (copy_decl_list): Fix typo.
-
-Tue Sep 15 04:18:52 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
- attribute.
-
-Mon Sep 14 14:02:53 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Sep 14 10:33:56 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Sep 14 09:51:05 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Sep 13 22:10:18 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * invoke.texi (C Dialect Options): Put back missing @end itemize.
-
-Mon Sep 14 02:33:46 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * configure.in: remove usage of `!' to negate the result of a
- command; some common shells do not support it
-
-Sun Sep 13 19:17:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * configure.in: in sparc9-sol2 config, use 'if test' not
- brackets.
- * configure: Rebuilt.
-
- * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
- CM_MEDANY.
- (CPP_CPU_SPEC): Do not define _LP64, header files do this.
- (CPP_CPU_DEFAULT_SPEC): Likewise.
- * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
- for arch64 libfuncs.
-
- * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
- for operand zero.
-
-Sun Sep 13 09:11:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
-
- * collect2.c: Don't declare `sys_siglist' here.
- (my_strsignal): Prototype and define new function. Use it in
- place of `sys_siglist' hacks.
-
- * mips_tfile.c: Likewise.
-
- * configure.in (AC_CHECK_FUNCS): Check for strsignal.
- (GCC_NEED_DECLARATIONS): Likewise.
-
- * system.h (strsignal): Prototype it, if necessary.
- (sys_siglist): Declare it, if necessary.
-
-Sun Sep 13 04:37:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * loop.c (move_movables): While removing insn sequences, preserve
- the next pointer of the most recently deleted insn when we skip
- over a NOTE.
-
-Sun Sep 13 08:13:39 1998 Ben Elliston <bje@cygnus.com>
-
- * objc/config-lang.in: Do not output the name of the selected
- thread file when building the front-end. The Makefile for the
- runtime library will do this.
-
- * objc/Make-lang.in: Do not build the runtime library or install
- the Objective C header files. The Makefile for the runtime
- library will do this.
-
- * objc/Makefile.in (all.indirect): Only build the front-end.
- (compiler): Rename to `frontend'.
- (obj-runtime): Remove target.
- (copy-headers): Likewise.
- (clean): No need to remove `libobjc.a' any longer.
-
-Sat Sep 12 11:37:19 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
- supported with -mcpu=xxx.
-
-Fri Sep 11 23:55:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * flow.c (mark_set_1): Recognize multi-register structure return
- values in CALL insns.
- (mark_used_regs): Likewise.
- (count_reg_sets_1): Likewise.
- (count_reg_references): Likewise.
- * rtlanal.c (note_stores): Likewise.
- (reg_overlap_mentioned_p): Likewise.
- * haifa-sched.c (check_live_1): Likewise.
- (update_live_1): Likewise.
- (sched_analyze_1): Likewise.
- (sched_note_set): Likewise.
- (birthing_insn_p): Likewise.
- (attach_deaths): Likewise.
-
- * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
-
-
-Fri Sep 11 22:57:55 1998 Eric Dumazet <dumazet@cosmosbay.com>
-
- * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
-
-Thu Sep 10 22:02:04 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
-
-Thu Sep 10 21:19:10 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
-
- * configure.in: Add check for GAS subsection -1 support.
- * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
- * configure config.in: Rebuilt.
- * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
- SImode is subsection -1 works, else use DImode.
- (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
- subsection -1 works.
- * config/sparc/sparc.c (sparc_output_addr_vec,
- sparc_output_addr_diff_vec): Use them if defined.
-
-Thu Sep 10 10:46:01 1998 Mark Mitchell <mark@markmitchell.com>
-
- * tree.h (DECL_ORIGIN): New macro.
- * integrate.c (copy_and_set_decl_abstract_origin): New function.
- (copy_decl_list): Use it.
- (integrate_parm_decls): Likewise.
- (integrate_decl_tree): Likewise.
- * dwarf2out.c (decl_ultimate_origin): Simplify.
- * dwarfout.c (decl_ultimate_origin): Likewise.
- * c-decl.c (duplicate_decls): Use DECL_ORIGIN.
- (pushdecl): Likewise.
-
-Thu Sep 10 08:01:31 1998 Anthony Green <green@cygnus.com>
-
- * config/rs6000/rs6000.c (output_epilog): Add Java support.
-
-Thu Sep 10 14:48:59 1998 Martin von Löwis <loewis@informatik.hu-berlin.de>
-
- * invoke.texi (C++ Dialect Options): Document -fhonor-std.
-
-Thu Sep 10 01:38:05 1998 Jeffrey A Law (law@cygnus.com)
-
- * reg-stack.c (straighten_stack): Do nothing if the virtual stack is
- empty or has a single entry.
-
- * toplev.c (rest_of_compilation): Open up the dump file for reg-stack
- before calling reg_to_stack.
-
-Thu Sep 10 00:03:34 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alphaev5_insn_pipe): Abort on default case.
- (alphaev5_next_group): Swallow CLOBBERs and USEs.
-
- * c-tree.h (warn_long_long): Declare it.
-
-Wed Sep 9 23:31:36 1998 (Stephen L Moshier) <moshier@world.std.com>
-
- * emit-rtl.c (gen_lowpart_common): Disable optimization of
- initialized float-int union if the value is a NaN.
-
-Wed Sep 9 23:00:48 1998 Nathan Sidwell <nathan@acm.org>
-
- * c-lex.c (real_yylex): Don't warn about long long constants if
- we're allowing long long
-
-Wed Sep 9 21:58:41 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * except.h (current_function_eh_stub_label): Declare.
- (current_function_eh_old_stub_label): Declare.
- * function.h (struct function): New members eh_stub_label and
- eh_old_stub_label.
- * except.c (current_function_eh_stub_label): New variable.
- (current_function_eh_old_stub_label): New variable.
- (init_eh_for_function): Clear them.
- (save_eh_status): Save them.
- (restore_eh_status): Restore them.
- (expand_builtin_eh_stub): Set current_function_eh_stub_label.
- (expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
- * flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
- make an edge from the block that contains it to the block starting
- with the label if this label is one of the eh stub labels.
- If eh stub labels exist, show they are reachable from the last block
- in the function.
-
- * reload1.c (reload): Break out several subroutines and make some
- variables global.
- (calculate_needs_all_insns): New function, broken out of reload.
- (calculate_needs): Likewise.
- (find_reload_regs): Likewise.
- (find_group): Likewise.
- (find_tworeg_group): Likewise.
- (something_needs_reloads): New global variable, formerly in reload.
- (something_needs_elimination): Likewise.
- (caller_save_spill_class): Likewise.
- (caller_save_group_size): Likewise.
- (max_needs): Likewise.
- (group_size): Likewise.
- (max_groups): Likewise.
- (max_nongroups): Likewise.
- (group_mode): Likewise.
- (max_needs_insn): Likewise.
- (max_groups_insn): Likewise.
- (max_nongroups_insn): Likewise.
- (failure): Likewise.
-
- * print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
-
-Wed Sep 9 13:14:41 1998 Richard Henderson <rth@cygnus.com>
-
- * loop.c (load_mems): Copy rtx for output mem.
-
-Wed Sep 9 15:16:58 1998 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
- mips1 or mips2 either.
-
-Wed Sep 9 12:31:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (pa_reorg): New marking scheme for jumps inside switch
- tables.
- (pa_adjust_insn_length): Update to work with new marking scheme
- for jumps inside switch tables.
- * pa.md (switch_jump): Remove pattern.
- (jump): Handle jumps inside jump tables.
-
- * Makefile.in (profile.o): Depend on insn-config.h
-
-Wed Sep 9 09:36:51 1998 Jim Wilson <wilson@cygnus.com>
-
- * iris6.h (DWARF2_UNWIND_INFO): Undef.
-
-Wed Sep 9 01:32:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- Add preliminary native sparcv9 Solaris support.
- * configure.in: Recognize sparv9-*-solaris2*
- * configure: rebuilt
- * config.sub: Recognize sparcv9 just like sparc64.
- * config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
- config/sparc/sol2-cn.asm: Macroize so it can be shared between
- 32-bit and 64-bit Solaris systems.
- * config/sparc/t-sol2: Assemble those with cpp.
- * config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
- (*TF*_LIBCALL): If ARCH64 use V9 names.
- * config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
-
-Wed Sep 9 01:07:30 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
-
- * config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
- (CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
- not doing pic.
- (ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
- Pmode.
- * config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
- to Pmode if CASE_VECTOR_MODE is something else.
-
-Wed Sep 9 00:10:31 1998 Jeffrey A Law (law@cygnus.com)
-
- * prefix.c (update_path): Correctly handle cases where PATH is
- a substring of the builtin prefix, but specifies a different
- directory location.
-
-Tue Sep 8 23:46:04 1998 Hans-Peter Nilsson <hp@axis.se>
-
- * expr.c: Corrected comment about what MOVE_RATIO does.
- * config/alpha/alpha.h: Ditto.
- * config/1750a/1750a.h: Ditto.
- * config/clipper/clipper.h: Ditto.
- * config/i386/i386.h: Ditto.
-
-Tue Sep 8 22:56:12 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (m68k-next-nextstep3*): Use collect2.
- Similarly for x86 NeXT configurations.
- * configure: Rebuilt.
-
-Tue Sep 8 01:38:57 1998 Nathan Sidwell <nathan@acm.org>
-
- * configure.in: Don't assume srcdir is .../gcc
- * configure: Rebuilt.
-
-Sat Sep 5 16:34:34 EDT 1998 John Wehle (john@feith.com)
-
- * global.c: Update comments.
- (global_alloc): Assign allocation-numbers
- even for registers allocated by local_alloc in case
- they are later spilled and retry_global_alloc is called.
- (mark_reg_store, mark_reg_clobber,
- mark_reg_conflicts, mark_reg_death): Always record a
- conflict with a pseudo register even if it has been
- assigned to a hard register.
- (dump_conflicts): Don't list pseudo registers already assigned to
- a hard register as needing to be allocated, but do list their
- conflicts.
- * local-alloc.c: Update comment.
-
-Mon Sep 7 23:38:01 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
- * configure: Rebuilt.
-
-Mon Sep 7 22:41:46 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (rs6000_override_options): Fix name for ec603e, to add
- missing 'c'.
- * t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
- for all targets that set -msoft-float.
-
-Mon Sep 7 23:30:07 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * toplev.c (print_switch_values): Make static to match prototype.
-
-Mon Sep 7 19:13:59 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: If we are unable to find the "gnatbind" program,
- then do not configure the ada subdir.
- * configure: Rebuilt.
-
-Sun Sep 6 14:03:58 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Sep 6 13:28:07 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Sep 6 08:54:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (toplev.o): Depend on $(EXPR_H).
- (insn-extract.o, insn-attrtab.o): Depend on toplev.h.
-
- * gansidecl.h: Define ATTRIBUTE_NORETURN.
-
- * genattrtab.c: Have insn-attrtab.c include toplev.h.
-
- * genextract.c: Have insn-extract.c include toplev.h.
-
- * rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
-
- * toplev.c: Include expr.h.
- (really_sorry, fancy_abort): Remove prototypes.
- (set_target_switch): Add argument in prototype.
- (vfatal): Mark prototype with ATTRIBUTE_NORETURN.
- (v_really_sorry): Likewise.
- (print_version, print_single_switch, print_switch_values): Make
- static and add prototype arguments.
- (decl_printable_name): Add prototype arguments.
- (lang_expand_expr_t): New typedef.
- (lang_expand_expr): Declare as a lang_expand_expr_t.
- (incomplete_decl_finalize_hook): Add prototype argument.
- (decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
- (botch): Likewise for variable `s'.
- (rest_of_type_compilation): Mark variables `type' and `toplev'
- with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
- XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
- (display_help): Make variable `i' an `unsigned long'.
- (main): Remove unused parameter `envp'.
- Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
- Cast -1 when comparing it with a `size_t'.
-
- * toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
- prototype with ATTRIBUTE_NORETURN.
- (fatal_insn_not_found, fatal_insn, really_sorry,
- push_float_handler, pop_float_handler): Add prototypes.
- (fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
- (do_abort, botch): Add prototypes.
-
-Sat Sep 6 12:05:18 1998 John Carr <jfc@mit.edu>
-
- * final.c (final): If a label is reached only from a single jump,
- call NOTICE_UPDATE_CC on the jump and its predecessor before
- emitting the insn after the label.
-
- * i386.h: Add AMD K6 support.
- Change TARGET_* macros to use table lookup.
- (INITIALIZE_TRAMPOLINE): Improve trampoline code.
- (ADJUST_COST): Change definition to call function in i386.c.
- (ISSUE_RATE): Define as 2 for anything newer than an 80486.
- * i386.c: Add AMD K6 support.
- Add constants for feature tests used by TARGET_* macros.
- (split_di): If before reload, call gen_lowpart and gen_highpart.
- (x86_adjust_cost): New function.
- (put_jump_code): New function.
- (print_operand): New codes 'D' and 'd'.
- * i386.md: New insn types. New insn attribute "memory".
- Redefine scheduling parameters to use new types and add AMD K6
- support. Explicitly set type of most insns.
- (move insns): K6 prefers movl $0,reg to xorl reg,reg. Pentium
- Pro and K6 prefer movl $1,reg to incl reg.
- (adddi3, subdi3): Set cc_status.
- (DImode shift patterns): Change label counters from HOST_WIDE_INT
- to int; x86 can't have more than 2^31 DImode shifts per file.
- (setcc): Combine all setcc patterns. Allow writing memory.
- Combine all jump patterns using match_operator.
- (*bzero): Name pattern. Emit mutliple stos instructions when that
- is faster than rep stos.
- (xordi3, anddi3, iordi3): Simplify DImode logical patterns and
- add define_split.
-
-Sun Sep 6 11:17:20 1998 Dave Love <d.love@dl.ac.uk>
-
- * config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
- linking.
-
-Sat Sep 5 22:05:25 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
- not whatever we're generating now.
-
- * alpha.c (set_frame_related_p, FRP): New.
- (alpha_expand_prologue): Mark frame related insns.
- (alpha_expand_epilogue): Likewise, but with a null FRP.
- * alpha.h (INCOMING_RETURN_ADDR_RTX): New.
- * alpha.md (exception_receiver): New.
- * alpha/crtbegin.asm (.eh_frame): New beginning.
- (__do_frame_setup, __do_frame_takedown): New.
- * alpha/crtend.asm (.eh_frame): New ending.
- * alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
- (ASM_SPEC): Don't emit both dwarf2 and mdebug.
- (ASM_FILE_START): Don't emit .file for dwarf2.
-
- * rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
- * rtl.c (reg_note_name): Likewise.
- * rtl.texi (REG_NOTES): Likewise.
- * dwarf2out.c (dwarf2out_frame_debug): Use it. Recognize a store
- without an offset.
-
-Sat Sep 5 14:47:17 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
- * i386.md (movsf, movdf, movxf): Validate memory address returned
- from force_const_mem. Kill useless REG_EQUAL setting code.
-
-Sat Sep 5 14:23:31 1998 Torbjorn Granlund <tege@matematik.su.se>
-
- * m68k.md (zero_extendsidi2): Fix typo.
-
-Sat Sep 5 13:40:24 1998 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Removed references to the removed file
- * config/xm-netbsd.h. Use ${cpu_type}/xm-netbsd.h for
- * arm*-*-netbsd* and ns32k-*-netbsd*.
- * config/i386/xm-netbsd.h: Removed unnecessary file.
- * config/m68k/xm-netbsd.h: Likewise.
- * config/sparc/xm-netbsd.h: Likewise.
- * config/mips/xm-netbsd.h: Likewise.
-
-Sat Aug 29 13:32:58 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
- (PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
-
- * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
- for exact section attributions.
-
- * i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
- runtime.
- * i386/crtdll.h (CPP_PREDEFINES): Define.
-
-Sat Sep 5 03:23:05 1998 Jeffrey A Law (law@cygnus.com)
-
- * m68k.md (5200 movqi): Do not allow byte sized memory references
- using address regs.
- * m68k.c (output_move_qimode): Do not use byte sized operations on
- address registers.
-
- * Makefile.in (pexecute.o): Use pexecute.c from libiberty. Provide
- explicit rules for building. Similarly for alloca, vfprintf,
- choose-temp and mkstemp, getopt, getopt1, and obstack.
- (INCLUDES): Add $(srcdir)/../include.
- * pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
- * getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
-
-Fri Sep 4 11:57:50 1998 Tom Tromey <tromey@cygnus.com>
-
- * gcc.c (do_spec_1): [case 'o'] Account for
- lang_specific_extra_outfiles.
- (main): Correctly clear all slots in outfiles for
- lang_specific_extra_outfiles. Set input_file_number before
- calling lang_specific_pre_link.
-
-Fri Sep 4 10:37:07 1998 Jim Wilson <wilson@cygnus.com>
-
- * loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
-
-Fri Sep 4 02:01:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (output_double_int): In all V9 symbolic
- cases, use xword.
- (sparc_output_deferred_case_vectors): If no work to do, return.
- Fix thinko in Sept 1 change.
-
-1998-09-03 SL Baur <steve@altair.xemacs.org>
-
- * Makefile.in: add semicolon in BISON definition for portability.
-
-Thu Sep 3 13:34:41 1998 Toon Moene <toon@moene.indiv.nluug.nl>
-
- * config/nextstep.c (handle_pragma): Correct name of third
- argument.
-
-Tue Sep 1 11:30:33 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
- * config/m32r/m32r.h: Make register 17 be fixed.
- * config/m32r/m32r.c: Use SImode for cc operations.
-
-Thu Sep 3 18:17:34 1998 Benjamin Kosnik <bkoz@cygnus.com>
-
- * invoke.texi (Warning Options): Add -Wnon-template-friend
- documentation.
-
-Thu Sep 3 18:16:16 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
-
-Thu Sep 3 18:05:16 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (movsf): Disable explicit secondary-reload-like
- functionality if TARGET_POWERPC64.
- (movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
- functionality.
-
-Thu Sep 3 11:41:40 1998 Robert Lipe <robertl@dgii.com>
-
- * fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
- and term.h from fixinc.wrap.
-
-Thu Sep 3 09:47:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
- safe to include both string.h and strings.h together.
- (GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
- which headers to search for function declarations. Continue to
- prefer string.h over strings.h when both are not acceptable.
-
- * acconfig.h (STRING_WITH_STRINGS): Add stub.
-
- * configure.in: Call GCC_HEADER_STRING.
-
- * system.h: Test STRING_WITH_STRINGS when deciding which headers
- to include. Continue to prefer string.h over strings.h when both
- are not acceptable.
-
-Wed Sep 2 23:56:29 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
- not assume top 32-bits of symbolic addresses are zero if
- flag_pic.
-
-Thu Sep 3 00:23:21 1998 Richard Henderson <rth@cygnus.com>
-
- * ginclude/va-alpha.h: Protect entire second portion of the
- file against double inclusion.
-
-Thu Sep 3 00:37:55 1998 Ovidiu Predescu <ovidiu@aracnet.com>
-
- Added support for the Boehm's garbage collector.
- * configure.in: Handle --enable-objc-gc.
- * configure: Rebuilt.
- * Makefile.in (CHECK_TARGETS): Add check-objc.
- (check-objc): New rule.
- * objc/Make-lang.in: Build a different Objective-C library that
- runs with the Boehm's collector.
- * objc/encoding.c (objc_round_acc_size_for_types): New function.
- * objc/encoding.c: Correctly compute the size of compound types in
- the presence of bitfields. Skip the variable name of the type if
- any. Added support for long long.
- * objc/encoding.h (_C_GCINVISIBLE): New specifier.
- (_F_GCINVISIBLE): New mask.
- * objc/gc.c: New file. Compute the type memory mask associated with
- a class based on the runtime information.
- * objc/misc.c: Added the hooks that use the Boehm's collector
- allocation functions.
- * objc/objc-act.c (build_class_template): Generate a new class
- member (gc_object_type) to hold the class' type memory mask.
- (build_shared_structure_initializer): Initialize the new member to
- NULL.
- (encode_complete_bitfield): New function. Generate the new
- encoding.
- (encode_field_decl): Generate the new encoding only for the GNU
- runtime.
- * objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
- long long types.
- (class_get_gc_object_type): New function to mark a pointer instance
- variable as a weak pointer.
- * objc/objc-features.texi: New file.
- * objc/objc.h (gc_object_type): New class member.
- * objc/objects.c (class_create_instance): Create a typed memory
- object when compiled with Boehm's collector support.
- * objc/sendmsg.c (__objc_init_install_dtable): Call
- __objc_send_initialize instead of setting the initialize flag.
- (__objc_send_initialize): Call __objc_generate_gc_type_description
- to generate the class type memory mask. Rewrite the code that
- sends the +initialize so that it is called only once (bug report
- and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
- * testsuite/objc: New testsuite for Objective-C type encoding.
- * testsuite/lib/objc-torture.exp: New file.
- * testsuite/lib/objc.exp: New file.
-
-Wed Sep 2 14:47:36 1998 Jim Wilson <wilson@cygnus.com>
-
- * jump.c (jump_optimize): In if/then/else transformations, add
- another call to modified_between_p for the jump insn.
-
-Wed Sep 2 14:16:49 1998 Jeffrey A Law (law@cygnus.com)
-
- * fix-header.c (symlink): Treat like readlink.
-
-Wed Sep 2 19:30:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
- as FT_float.
-
-Wed Sep 2 10:06:07 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/nextstep.h: Update HANDLE_PRAGMA macro.
- * config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
- * config/i960/i960.h: Update HANDLE_PRAGMA macro.
-
- * config/nextstep.c (handle_pragma): Take three arguments, as per
- the new HANDLE_PRAGMA macro specification.
- * config/h8300/h8300.c (handle_pragma): Take three arguments, as
- per the new HANDLE_PRAGMA macro specification.
- * config/i960/i960.c (process_pragma): Take three arguments, as
- per the new HANDLE_PRAGMA macro specification.
-
-Wed Sep 2 09:25:29 1998 Nick Clifton <nickc@cygnus.com>
-
- * c-lex.c (check_newline): Call HANDLE_PRAGMA before
- HANDLE_SYSV_PRAGMA if both are defined. Generate warning messages
- if unknown pragmas are encountered.
- (handle_sysv_pragma): Interpret return code from
- handle_pragma_token (). Return success/failure indication rather
- than next unprocessed character.
- (pragma_getc): New function: retrieves characters from the
- input stream. Defined when HANDLE_PRAGMA is enabled.
- (pragma_ungetc): New function: replaces characters back into the
- input stream. Defined when HANDLE_PRAGMA is enabled.
-
- * c-pragma.c (handle_pragma_token): Return success/failure status
- of the parse.
-
- * c-pragma.h: Change prototype of handle_pragma_token().
-
- * varasm.c: (handle_pragma_weak): Only create this function if
- HANDLE_PRAGMA_WEAK is defined.
-
- * c-common,c (decl_attributes): If defined call the expression
- contained within the INSERT_ATTRIBUTES macro before adding
- attributes to a decl.
-
- * tm.texi (HANDLE_PRAGMA): Document the new verion of
- HANDLE_PRAGMA, which takes three arguments.
- (INSERT_ATTRIBUTES): Document this new macro.
-
- * LANGUAGES: Document the new version of HANDLE_PRAGMA and the
- new INSERT_ATTRIBUTES macro.
-
-Wed Sep 2 02:03:23 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (movdf): Only generate special RTL for
- LABEL_REFs when PIC.
- (move_label_di): Remove
- (movdi_pic_label_ref, movdi_high_pic_label_ref,
- movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
- references when PIC.
- * config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
- ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
- output an .xword for all 64-bit cases.
-
-Tue Sep 1 15:55:17 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (finalize_pic): Don't output arbitrary
- alignment, use FUNCTION_BOUNDARY instead.
- (sparc_output_deferred_case_vectors): Likewise.
-
-Mon Aug 31 17:25:41 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (movsf_const_intreg): Kill warning.
- (movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
-
-Mon Aug 31 13:57:55 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha/va_list.h: New file.
- * alpha/x-alpha (EXTRA_HEADERS): New. Add va_list.h.
-
-Mon Aug 31 14:55:02 1998 Jeffrey A Law (law@cygnus.com)
-
- * NEWS: Add SCO Openserver and Unixware 7 notes.
-
- * NEWS: Fix typos.
-
-Mon Aug 31 15:42:18 1998 Dave Brolley <brolley@cygnus.com>
-
- * varasm.c (compare_constant_1): Handle RANGE_EXPR.
- (record_constant_1): Handle RANGE_EXPR.
-
-Mon Aug 31 10:54:03 1998 Richard Henderson <rth@cygnus.com>
-
- * print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
- * haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
- and NOTE_INSN_RANGE_END specially.
- (reemit_notes): Likewise.
-
-Mon Aug 31 10:18:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
- (ultrasparc_sched_init): Remove unneeded &.
-
-Mon Aug 31 10:47:16 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
- for m68020-60, to prevent the use of fintrz.
-
-Sun Aug 30 22:17:20 1998 Mark Mitchell <mark@markmitchell.com>
-
- * configure.in: If the native compiler is GCC use $(WARN_CFLAGS)
- even in stage1.
- * Makefile.in: Likewise.
- * configure: Regenerated.
-
-Sun Aug 30 22:15:41 1998 H.J. Lu (hjl@gnu.org)
-
- * configure.in (gxx_include_dir): Changed to
- '${prefix}/include/g++'-${libstdcxx_interface}.
- * configure: Rebuilt.
-
-Sun Aug 30 20:19:43 1998 Hans-Peter Nilsson <hp@axis.se>
-
- * expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
- consistent.
- * tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
- *sequences* *below* which scalar moves will be used.
-
-Sun Aug 30 17:18:43 1998 Jeffrey A Law (law@cygnus.com)
-
- * collect2.c (mktemp): Delete unused declaration.
-
- * config/xm-netbsd.h: Remove unnecessary file.
- * config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
- file anymore, it is not needed.
-
-Sun Aug 30 16:05:45 1998 Mark Mitchell <mark@markmitchell.com>
-
- * convert.c (convert_to_integer): Issue an error on conversions to
- incomplete types.
-
-Sun Aug 30 16:47:20 1998 Martin von Lvwis <loewis@informatik.hu-berlin.de>
-
- * Makefile.in: Add lang_tree_files and gencheck.h.
- * configure.in: Generate them.
- * gencheck.c: Include gencheck.h.
-
-Sat Aug 29 21:38:24 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
- movdi_lo_sum_pic and movdi_high_pic and make visible.
- * config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
- emit these when Pmode is not SImode.
- * config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
-
-Sat Aug 29 14:59:32 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
- .linkonce directive after the first time.
-
-Sat Aug 29 12:39:56 1998 Jeffrey A Law (law@cygnus.com)
-
- * m68k.md (beq0_di): Generate correct (and more efficient) code when
- the clobbered operand overlaps with an input.
- (bne0_di): Similarly.
-
- * Makefile.in (INSTALL): Remove "--no-header" argument.
-
- * NEWS: Various updates.
-
-Fri Aug 28 19:00:44 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (arith_operand, const64_operand,
- const64_high_operand, arith_double_4096_operand): Mark mode as
- unused.
- (create_simple_focus_bits): Remove unused arg highest_bit_set, all
- callers changed.
- (sparc_emit_set_const64): Remove unused variable i.
- (sparc_splitdi_legitimate): Likewise for addr_part.
- (ultra_code_from_mask): Likewise for mask.
- (ultra_cmove_results_ready_p): Fixup entry modulo calc. and
- reverse return values so it matches usage and comments.
- (ultra_flush_pipeline): Likewise.
- (ultra_fpmode_conflict_exists): Likewise, remove unused variable
- this_type, and allow loads and stores of differing FP modes as
- they do not create a conflict.
- (ultra_find_type): Initialize fpmode to SFmode, fix
- parenthesization thinkos in large conditional.
- (ultrasparc_sched_init): Mark dump and sched_verbose as unused.
- Init free_slot_mask after ultra_cur_hist is reset, not before.
- (ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
- (ultrasparc_sched_reorder): Don't bzero current pipeline state,
- use ultra_flush_pipeline instead, then re-init group pointer.
- Fix statement with no effect. If no progress made in, and no
- instructions scheduled at all, advance to new pipeline cycle else
- we get into an endless loop.
- (ultrasparc_adjust_cost): Remove previous arg.
- * config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
-
-Fri Aug 28 13:52:35 1998 Jim Wilson <wilson@cygnus.com>
-
- * sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
- code. Use reg_overlap_mentioned_p to detect when source and
- destination overlap.
- (negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
-
-1998-08-28 Brendan Kehoe <brendan@cygnus.com>
-
- * loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
- COMPARISON_VAL, into invariant_p.
-
-Fri Aug 28 15:13:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (regclass_compatible_p): New function.
- (regmove_optimize): Use it.
-
- Use NREGS parameter insted of calling max_reg_num.
-
- (fixup_match_1): Don't use code = MINUS when later tieing with
- a hard register is likely.
-
-Fri Aug 28 14:54:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
- COMPARISON_VAL was normalized.
-
-Thu Aug 27 20:10:46 1998 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (check_dbra_loop): The loop ending comparison value
- must be an invariant or we can not reverse the loop.
-
- * loop.c (scan_loop): Count down from max_reg_num - 1 to
- FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
- of the loop.
- (load_mems_and_recount_loop_regs_set): Likewise.
-
- * i386.c (print_operand): Remove obsolete 'c' docs.
-
-Wed Aug 26 17:13:37 1998 Tom Tromey <tromey@cygnus.com>
-
- * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
- * frame.c (init_object_mutex): New function.
- (init_object_mutex_once): Likewise.
- (find_fde): Call it.
- (__register_frame_info): Likewise.
- (__register_frame_info_table): Likewise.
- (__deregister_frame_info): Likewise.
-
-Thu Aug 27 15:14:18 1998 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
-
-Thu Aug 27 16:34:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (check_dbra_loop): Enable code for reversal
- of some loops without a known constant loop end.
-
-Wed Aug 26 18:38:15 1998 Richard Henderson <rth@cygnus.com>
-
- * haifa-sched.c (last_clock_var): New.
- (schedule_block): Initialize it.
- (schedule_insn): Use it to fill insn modes with issue information.
-
- * alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
- Tag trapb and next insn with TImode.
- (alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
- (alpha_reorg): Add conditional for alpha_handle_trap_shadows.
- Invoke alphaev5_align_insns as appropriate.
- * alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
- (MD_SCHED_VARIABLE_ISSUE): New.
- * alpha.md (attr type): Add multi.
- (define_asm_attributes): New.
- (prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
- (arg_home): Likewise.
- (fnop, unop, realign): New.
-
-Wed Aug 26 15:55:41 1998 Jim Wilson <wilson@cygnus.com>
-
- * iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
- * iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
-
- * configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
- (rs6000-ibm-aix4.[12]*): Likewise.
- * configure: Regnerate.
-
-Wed Aug 26 09:30:59 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
- already contains the return address.
-
-Wed Aug 26 12:57:09 1998 Jeffrey A Law (law@cygnus.com)
-
- * calls.c (expand_call): Use bitfield instructions to extract/deposit
- word sized hunks when loading unaligned args into registers.
-
- * haifa-sched.c (sched_analyze_insn): Only create scheduling
- barriers for LOOP, EH and SETJMP notes on the loop_notes list.
-
- * mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
-
-Wed Aug 26 16:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (check_dbra_loop): Add some code that would allow reversal
- of some loops without a known constant loop end if it were enabled.
-
-Wed Aug 26 11:08:44 1998 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.md (lshrsi3_internal2+2): Fix type-o.
-
-Wed Aug 26 10:53:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * system.h: Include stdarg.h/varargs.h, make sure they are ordered
- correctly with regards to stdio.h.
-
- * calls.c: Remove stdarg.h/varargs.h.
- * cccp.c: Likewise.
- * cexp.y: Likewise.
- * combine.c: Likewise.
- * cpperror.c: Likewise.
- * cpplib.c: Likewise.
- * cpplib.h: Likewise.
- * doprint.c: Likewise.
- * emit-rtl.c: Likewise.
- * final.c: Likewise.
- * fix-header.c: Likewise.
- * gcc.c: Likewise.
- * genattr.c: Likewise.
- * genattrtab.c: Likewise.
- * gencodes.c: Likewise.
- * genconfig.c: Likewise.
- * genemit.c: Likewise.
- * genextract.c: Likewise.
- * genflags.c: Likewise.
- * genopinit.c: Likewise.
- * genoutput.c: Likewise.
- * genpeep.c: Likewise.
- * genrecog.c: Likewise.
- * mips-tfile.c: Likewise.
- * prefix.c: Likewise.
- * protoize.c: Likewise.
- * regmove.c: Likewise.
- * toplev.c: Likewise.
- * tree.c: Likewise.
-
-Wed Aug 26 05:09:27 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
-
- * config/sparc/sparc.c (sparc_override_options): If not
- TARGET_FPU, turn off TARGET_VIS.
- * config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
- (LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
- * config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
- (movdi_insn_sp64): Add VIS fzero alternative.
- (clear_sf, clear_df): New VIS patterns.
- (movsf, movdf expanders): Allow fp_zero_operand flat out when
- TARGET_VIS.
- (one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
-
-Tue Aug 25 10:57:41 1998 Mark Mitchell <mark@markmitchell.com>
-
- * loop.c (n_times_set, n_times_used, may_not_optimize,
- reg_single_usage): Convert to varrays. All uses changed.
- (insert_loop_mem): Return a value.
- (scan_loop): Tweak AVOID_CC_MODE_COPIES code.
- (load_mems_and_recount_loop_regs_set): Likewise. Grow the arrays, if
- necessary.
-
-Tue Aug 25 23:57:12 1998 Jeffrey A Law (law@cygnus.com)
-
- * From Alexandre:
- * configure.in: Do not set thread_file to "irix" since no such
- support exists yet.
-
- * sparc.md (float abs/neg splits): Check reload_completed before
- calling alter_subreg.
-
-Tue Aug 25 19:17:59 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
- function.
- * config/sparc/sparc.h: Declare it.
- * config/sparc/sparc.md (float abs/neg splits): Use it.
- (all other splits): Handle SUBREGs properly where necessary.
- (unnamed (1<<x)-1 V8PLUS pattern): Disable for now.
-
-Tue Aug 25 19:48:46 1998 Jeffrey A Law (law@cygnus.com)
-
- * reorg.c (fill_simple_delay_slots): Do not abort if we encounter
- an insn on the unfilled_slots_list that has no delay slots.
- (fill_eager_delay_slots): Similarly.
-
-Tue Aug 25 13:35:20 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
- as an ordinary operand.
-
-Tue Aug 25 12:54:57 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.c (valid_machine_attribute): Don't apply attributes to both
- decl and type.
-
-Tue Aug 25 12:23:20 PDT 1998 Richard Henderson <rth@cygnus.com>
-
- * reload.c (operands_match_p): Handle rtvecs.
-
- * i386.c (legitimate_pic_address_disp_p): New.
- (legitimate_address_p): Use it.
- (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
- Handle constant pool symbols just like statics.
- (emit_pic_move): Use Pmode not SImode for clarity.
- (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
- [UNSPEC]: New, handling what we killed above.
- [PLUS]: Detect and abort on invalid symbol arithmetic.
- * i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
-
-Tue Aug 25 12:02:23 1998 Mark Mitchell <mark@markmitchell.com>
-
- * alias.c: Include output.h.
- (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
- different if we're in a varargs function.
- * Makefile.in (alias.o): Depend on output.h
-
-Tue Aug 25 19:20:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (GIV_SORT_CRITERION): Delete.
-
-Tue Aug 25 13:19:46 1998 Dave Brolley <brolley@cygnus.com>
-
- * regclass.c (regclass): Use xmalloc/free instead of alloca.
- * stupid.c (stupid_life_analysis): Ditto.
- * reload1.c (reload): Ditto.
-
-Tue Aug 25 05:48:18 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
-
- * config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
- arith_double_4096_operand, arith_double_add_operand): New
- predicates.
- * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
- * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
- them to transform add/sub 4096 into add/sub -4096.
-
-Mon Aug 24 23:31:03 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * loop.c (scan_loop): Allocate some slop to handle pseudos
- generated by move_movables.
- (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
- here too.
-
-Mon Aug 24 19:45:40 1998 Jim Wilson <wilson@cygnus.com>
-
- * tree.def (DECL_RESULT): Correct documentation.
-
-Tue Aug 25 01:15:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_reg_free_before_p): New argument EQUIV; Changed
- all callers. Abort for RELOAD_FOR_INSN. RELOAD_FOR_OUTADDR_ADDR:
- conflicts will all RELOAD_FOR_OUTPUT reloads.
-
- * reload1.c (reload_cse_regs_1): When deleting a no-op move that
- loads the function result, substitute with a USE.
-
-Mon Aug 24 15:20:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
- when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
- (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
- * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
- (print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
- * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
- operand.
- (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
- 'o' to 'm' for GPR variant constraints.
-
-Mon Aug 24 10:25:46 1998 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
-
- * h8300.h (STRIP_NAME_ENCODING): Fix typo.
-
- * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
- when the source and destination overlap.
-
- * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
- clash with global type.
-
-Mon Aug 24 00:53:53 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * fixinc.irix: Add curses.h handling from fixinc.wrap.
-
- * c-common.c (combine_strings): Also set TREE_READONLY.
- Change warn_write_strings to flag_const_strings.
- * c-decl.c, c-tree.h: Likewise.
-
-Sun Aug 23 18:39:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
- CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
- sequence, use SET/IOR instead so CSE can see it.
- * config/sparc/sparc.md (movhi_const64_special,
- movsi_const64_special): New patterns necessitated by that change.
- (movhi_high): Remove.
- (movhi_lo_sum): Change to match an IOR.
- (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
- (movdf_insn_v9only): New pattern for when V9 but not ARCH64.
- (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
- (movdf splits): Allow when not V9 or when not ARCH64 and integer
- registers are involved.
- (snesi_zero_extend split): Remove reload_completed test.
- (unnamed plus and minus zero_extend sidi splits): Add it.
-
-Sun Aug 23 11:56:08 1998 Mark Mitchell <mark@markmitchell.com>
-
- * extend.texi: Remove description of extension to explicit
- instantiation that is now endorsed by standard C++.
-
-Sun Aug 23 09:39:09 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/arc/arc.c (arc_initialize_pic): Remove.
- * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
- nothing on any platform and is invoked by no-one, it does not even
- appear in the documentation.
- * config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
- * config/sparc/sparc.c (initialize_pic): Likewise.
- (find_addr_reg): Remove this as well, no longer referenced after
- my rewrite.
-
-Sun Aug 23 00:17:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * recog.c (validate_replace_rtx_group): New function.
- * recog.h (validate_replace_rtx_group): Declare it.
- * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
- the entire group of substitutions.
-
-Sat Aug 22 23:31:00 1998 Klaus-Georg Adams (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
-
- * loop.c (load_mems): Fix initializers.
-
-Fri Aug 21 23:07:46 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (TFmode splits): Handle destination
- registers being referenced in the address correctly.
-
- * expmed.c (make_tree) [CONST_INT]: Sign extend even if
- TREE_UNSIGNED, when bitsize of type's mode is larger than
- HOST_BITS_PER_WIDE_INT.
-
-Fri Aug 21 19:31:31 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
- * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
- EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
- macros.
- * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
- EXIT_BLOCK_EXPR.
-
-Thu Aug 20 19:43:44 1998 Jeffrey A Law (law@cygnus.com)
-
- * h8300.c (h8300_encode_label): Use '&' for tiny data items.
- * h8300.h (TINY_DATA_NAME_P): Likewise.
- (STRIP_NAME_ENCODING): Handle '&'.
-
- * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
- register (it could be accessed via an outer SUBREG).
- (REG_OK_FOR_BASE_P): Likewwise.
- (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
-
- * remove.c (optimize_reg_copy_3): Abort instead of silently generating
- bogus rtl.
-
- * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
-
-Thu Aug 20 17:35:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (movtf_insn_sp32): All memory operands
- must be offsettable so the splits can be made.
-
-Thu Aug 20 13:56:53 1998 Michael Meissner <meissner@cygnus.com>
-
- * config/i386/winnt.c: Include system.h, not stdio.h to get
- sys/param.h pulled in before rtl.h in case the system defines MIN
- and MAX.
-
-Thu Aug 20 13:44:20 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
-
-Thu Aug 20 13:15:11 1998 Dave Brolley <brolley@cygnus.com>
-
- * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
- arrays of bits.
- * cpplib.c (cpp_define): Handle macros with parameters.
-
-Wed Aug 19 21:33:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
- (output_toc): Use single TOC slot or llong minimal-toc for DFmode
- and DImode 64-bit. Use llong for minimal-toc SFmode and
- SYMBOL_REF / LABEL_REF 64-bit.
- (output_function_profiler): Use llong for profiler label and ld to
- load 64-bit label address.
-
-Wed Aug 19 17:52:27 1998 Nick Clifton (nickc@cygnus.com)
-
- * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
- OFFSET addressing.
-
-Wed Aug 19 14:13:31 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Wed Aug 19 13:10:30 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Wed Aug 19 13:06:47 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * collect2.c (extract_init_priority): Use atoi instead of strtoul.
-
-Wed Aug 19 13:51:35 1998 Hans-Peter Nilsson <hp@axis.se>
-
- * tm.texi (Misc): Fix typo "teh".
-
- * tm.texi (PIC): Fix typo "PPIC".
-
- * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
- effect when -O2 and higher.
- * invoke.texi (Optimize Options): Likewise for -fcaller-saves.
-
-1998-08-19 Michael Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * regclass.c: Changed register set documentation to be consistent
- with GCC behaviour.
-
- * final.c (final_start_function) Removed redundant test for
- call_fixed_regs.
-
-Wed Aug 19 13:28:41 1998 Mark Mitchell <mark@markmitchell.com>
-
- * rtl.h (rtx_function): New type.
- (for_each_rtx): New function.
- * rtlanal.c (for_each_rtx): Define it.
-
- * recog.c (change_t): New type.
- (change_objects, change_old_codes, change_locs, change_olds):
- Replace with ...
- (changes): New variable.
- (validate_change): Dynamically allocate room for more changes, if
- necessary. Uses changes array instead of change_objects, etc.
- (apply_change_group): Use changes array instead of
- change_objects, etc.
-
- * loop.c (loop_mem_info): New type.
- (loop_mems): New variable.
- (loop_mems_idx): Likewise.
- (looop_mems_allocated): Likewise.
- (scan_loop): Remove nregs parameter.
- (next_insn_in_loop): New function.
- (load_mems_and_recount_loop_regs_set): Likewise.
- (load_mems): Likewise.
- (insert_loop_mem): Likewise.
- (replace_loop_mem): Likewise.
- (replace_label): Likewise.
- (INSN_IN_RANGE_P): New macro.
- (loop_optimize): Don't pass max_reg_num() to scan_loop.
- (scan_loop): Remove nregs parameter, compute it after any new
- registers are created by load_mems. Use INSN_IN_RANGE_P and
- next_insn_in_loop rather than expanding them inline. Call
- load_mems to load memory into pseudos, if appropriate.
- (prescan_loop): Figure out whether or not there are jumps from the
- loop to targets other than the label immediately following the
- loop. Call insert_loop_mem to notice all the MEMs used in the
- loop, if it could be safe to pull MEMs into REGs for the duration
- of the loop.
- (strength_reduce): Use next_insn_in_loop. Tweak comments.
-
-Wed Aug 19 08:29:44 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.c (arm_override_options): Remove lie about ignoring PIC flag.
-
-Wed Aug 19 07:08:15 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (finalize_pic): Check for the correct
- nonlocal_goto_receiver UNSPEC number.
- * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
- making note of this dependency existing in sparc.c
- (negtf2_notv9 split): Give NEG SFmode.
- (negsf2): Fix insn output string.
-
-Tue Aug 18 12:40:27 1998 Richard Henderson <rth@cygnus.com>
-
- * c-common.c (decl_attributes): Issue an error if the argument
- to alias is not a string.
-
-Tue Aug 18 10:33:30 1998 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
- pending memory flush list.
-
- * combine.c (can_combine_p): Allow combining insns with REG_RETVAL
- notes.
- (try_combine): Allow combining insns with REG_LIBCALL notes.
-
- * expr.c (emit_block_move): Do not call memcpy as a libcall
- instead build up a CALL_EXPR and call it like any other
- function.
- (clear_storage): Similarly for memset.
-
- * regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
- on notes.
-
- * Makefile.in (cplus-dem.o): Provide explicit rules for building
- cplus-dem.o
-
- * regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
- and REG_LIVE_LENGTH as successful substitutions are made.
-
-Tue Aug 18 07:15:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * config/sparc/sparc.c (ultra_find_type): Add empty semicolon
- statement after end of loop label.
-
-Tue Aug 18 07:13:27 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (ultra_types_avail): New variable.
- (ultra_build_types_avail): New function to record mask of insn
- types in ready list at this cycle.
- (ultrasparc_sched_reorder): Call it.
- (ultra_find_type): Use it to quicken the search. Also simplif
- dependency check, don't use rtx_equal_p because we know exactly
- what we are looking for.
-
-Tue Aug 18 03:20:53 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
- for architecture v4.
-
-Mon Aug 17 21:26:38 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
- gen_compare_reg.
- (movsf_const_intreg, movsf_const_high, movsf_const_lo,
- movdf_const_intreg and helper splits): New patterns to move float
- constants into integer registers.
- (negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
- splits.
-
-Mon Aug 17 11:46:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * From Graham
- * tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
- to itype.
- * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
-
- * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
- a BASE_REGS register is needed as an intermediate when copying
- a symbolic value into any register class other than BASE_REGS.
-
- * expr.c (move_by_pieces): No longer static. Remove prototype.
- * rtl.h (move_by_pieces): Add extern prototype.
- * mips.c (expand_block_move): Handle aligned straight line copy by
- calling move_by_pieces.
-
- * expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
- and VAR_DECLs.
-
-Mon Aug 17 10:28:52 1998 Mark Mitchell <mark@markmitchell.com>
-
- * stmt.c (expand_end_loop): Tidy. Allow unconditional
- jumps out of the loop to be treated as part of the exit test.
-
-Mon Aug 17 10:06:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- Jeff Law <law@cygnus.com>
-
- * Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
- * cplus-dem.c: Delete.
-
- * Makefile.in (fold-const.o): depend on $(RTL_H).
-
- * fold-const.c: Include rtl.h to get the prototype for
- `set_identifier_local_value'.
-
- * loop.c (express_from_1): Remove unused variable `tmp'.
- (combine_givs): cast the first argument of bzero to char *.
-
- * toplev.c (display_help): Remove unused variable `looking_for_start'.
-
- * c-decl.c (init_decl_processing): Remove unneeded &.
-
- * alpha.h (alpha_initialize_trampoline): Provide prototype.
-
- * except.c (set_exception_lang_code, set_exception_version_code):
- Change parameter from `short' to `int' to avoid using a gcc
- extension.
-
- * except.h (set_exception_lang_code, set_exception_version_code):
- Likewise for prototypes.
-
- * flow.c (count_reg_references): Remove unused variables `regno'
- and `i'.
-
- * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
-
- * prefix.c (translate_name): Cast the result of `alloca'.
-
- * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
-
-Mon Aug 17 09:23:42 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
- Include "toplev.h".
- (valid_dbcc_comparison_p): Mark mode argument as unused.
- (symbolic_operand): Likewise.
- (legitimize_pic_address): Likewise.
- (const_uint32_operand): Likewise.
- (const_sint32_operand): Likewise.
- * sched.c [!INSN_SCHEDULING]: Define only dummy function
- schedule_insns and comment out rest of file.
-
- * m68k.c (output_move_simode_const): Use subl to move a zero into an
- address register.
- (output_move_[hq]imode): Likewise.
-
-Mon Aug 17 09:15:47 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
- * invoke.texi: Corresponding changes.
-
-Mon Aug 17 02:03:55 1998 Richard Henderson <rth@cygnus.com>
-
- * regclass.c (allocate_reg_info): Respect MIN when clearing data.
-
-Sun Aug 16 17:37:06 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (ultra_code_from_mask,
- ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
- ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
- ultrasparc_sched_init, ultrasparc_variable_issue,
- ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
- functions to describe UltraSPARC pipeline exactly to Haifa.
- (ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
- as there is nothing the scheduler can do about it. Indicate that
- REG_DEP_OUTPUT's collide. Fixup formatting.
- * config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
- divide costs on Ultra for DImode.
- (MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
- Define.
- * config/sparc/sparc.md (ieu_unnamed function unit): Rename to
- ieuN and add call_no_delay_slot to type list.
- (cti function unit): New unit for branches on UltraSPARC.
- (subx/addx insns): Set type to misc.
- (sidi zero/sign extension insns on arch64): Set type to shift.
- (sign_extendhidi2_insn): Set type to sload.
-
-Sun Aug 16 13:52:00 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
- (output_epilog): Use if != 0 for offset.
- (rs6000_fatal_bad_address): Prepare for Intl.
- * rs6000.h (rs6000_fatal_bad_address): Declare.
- * rs6000.md (movsfcc, movdfcc): Use else if.
- (elf_high): Use {liu|lis}.
- (elf_low): Use {cal|la}. Remove %a template from old mnemonics.
- (movsi): Use rs6000_fatal_bad_address.
-
-Sun Aug 16 01:53:21 1998 Richard Henderson <rth@cygnus.com>
-
- * reload.c (find_equiv_reg): Reject equivalences separated
- by a volatile instruction.
-
-Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
-
-Sat Aug 15 20:51:35 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (movsicc): Fix mode mismatch.
-
-Sat Aug 15 20:22:33 1998 H.J. Lu (hjl@gnu.org)
-
- * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
- return type.
- * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
-
-Sat Aug 15 08:39:49 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
- write-only modifier from operand 1 constraint.
-
-Sat Aug 15 06:28:19 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
- emitting a XOR of -1 at the end, emit a NOT instead for combine's
- sake.
- (sparc_emit_set_const64): Likewise, also when computing trailing
- bits do not negate low_bits and make fast_int an int.
-
-Fri Aug 14 21:07:03 1998 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (add_label_notes): Do not ignore references to labels
- before dispatch tables. Mirrors Apr 8 change to mark_jump_label.
- * gcse.c (add_label_notes): Similarly.
-
- * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
-
- * m68k.md (adddi_dilshr32): One of the operands must be a register.
- (adddi_dishl32): Similarly.
-
-Fri Aug 14 14:12:59 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
- * alias.c (memrefs_conflict_p): Add braces to shut up warnings.
- * cse.c (cse_basic_block): Add parens to shut up warnings.
-
-Fri Aug 14 12:58:21 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (sparc_emit_set_const64_quick2,
- sparc_emit_set_const64_longway, const64_is_2insns,
- create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
- in 64-bit constant formation.
- * config/sparc/sparc.md (snesi_zero_extend split): Generate
- rtl for addx not subx.
- (define_insn movdi_const64_special): Make available even when
- HOST_BITS_PER_WIDE_INT is not 64.
- (movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
- (losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
- (cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
- instances of operand 1 inside a QI subreg.
- (xordi3_sp64_dbl): Remove '%' constraint for op1.
- (one_cmpldi2_sp64): Fix output string.
- (one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
- alternative case.
- (unnamed arch64 ashift DI): Truncate shift count if greater than
- 63, not 31.
-
-Fri Aug 14 21:52:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * expr.c (store_expr): Don't optimize away load-store pair
- when either source or destination have a side effect.
-
-Fri Aug 14 16:50:10 1998 John Carr <jfc@mit.edu>
-
- * genrecog.c (add_to_sequence): Fatal error if the modes of the
- operands of SET are incompatible.
-
- * alpha.md: Fix max and min patterns so modes of SET operands match.
-
-Fri Aug 14 12:22:55 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * configure.in: Avoid [[ by using test and changequote.
- * configure: Rebuild.
-
-Fri Aug 14 01:22:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * rtl.def (CONSTANT_P_RTX): Fix typo in string name.
-
- * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
- seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
- split, snedi_zero_trunc and split, seqsi_zero_extend and split,
- seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
- movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
- split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
- Fix mismatching modes in SET operands.
- (conditional move patterns): Fix formatting.
- (unnamed subx arch64 pattern): Remove duplicate insn.
-
-Fri Aug 14 00:34:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (const64_operand, const64_high_operand):
- Get it right when HOST_BITS_PER_WIDE_INT is not 64.
- (input_operand): Fixup test for what we accept for constant
- integers.
- (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
- set VOIDmode.
- (safe_constDI): Remove.
- (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
- gen_safe_XOR64): New functions.
- (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
- sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
- them.
- * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
- available when HOST_BITS_PER_WIDE_INT is not 64.
- (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
- move before movdi_insn_sp64 pattern.
- (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
- (define_insn sethi_di_medlow, seth44, setm44, sethh): Use
- symbolic_operand as predicate for second operand.
- (DImode minus split on arch32, negsi2 expander, one_cmplsi2
- expander): Give set VOIDmode.
-
-Fri Aug 14 01:45:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
-
-Fri Aug 14 01:40:21 1998 Geoffrey Keating <geoffk@ozemail.com.au>
-
- * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
-
-Fri Aug 14 01:23:23 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
- point.
- (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
-
-Fri Aug 14 01:19:08 1998 Robert Lipe <robertl@dgii.com>
-
- * install.texi: Various SCO OpenServer tweaks.
-
-Thu Aug 13 20:14:40 1998 Jim Wilson <wilson@cygnus.com>
-
- * reload1.c (eliminate_regs_in_insn): Handle another case when
- eliminating the frame pointer to the hard frame pointer. Add
- missing ep->to_rtx check to one existing case.
-
- * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
-
-Thu Aug 13 17:08:11 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.h: De-conditionalize init_priority code.
-
- * mips.h (NM_FLAGS): Change from -Bp to -Bn.
- * collect2.c (NM_FLAGS): Change from -p to -n.
-
- * configure.in: Turn on collect2 for mipstx39-elf.
- Handle use_collect2=no properly.
-
- * c-common.c: De-conditionalize init_priority code.
- * collect2.c (extract_init_priority, sort_ids): New fns.
- (main): Call sort_ids.
- Move sequence_number to file scope.
-
- * configure.in: Handle --enable-init-priority.
- * c-common.c (attrs): Add A_INIT_PRIORITY.
- (init_attributes, decl_attributes): Likewise.
- * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
- * tree.c (get_file_function_name_long): Split out...
- (get_file_function_name): ...from here.
-
-Thu Aug 13 16:09:53 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
-
- * expr.c (safe_from_p): Change code to ERROR_MARK only when not
- accessing nodes.
-
-Thu Aug 13 15:24:48 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (display_help): Add braces to shut up warnings.
- * tree.c (simple_cst_equal): Likewise.
-
- * fold-const.c (non_lvalue): Don't deal with null pointer
- constants here.
- (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
-
- * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
- of any size to a pointer.
-
-Thu Aug 13 12:53:13 1998 Jim Wilson <wilson@cygnus.com>
-
- * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
-
-Wed Aug 12 17:25:18 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
- which will be saved.
- * mn10300.md (prologue insn): Only save registers which need saving.
- (epilogue insn): Similarly.
-
- * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
- optimizations.
-
-Wed Aug 12 12:39:16 1998 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
- VAR_DECL's in gp addressable sections.
-
-Tue Aug 11 23:02:31 1998 John Carr <jfc@mit.edu>
-
- * sparc.c: Change return <exp> to <exp>; return; in functions
- returning void.
- * sparc.md: Add empty semicolon statement after final label in
- move expanders.
-
-Tue Aug 11 22:42:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (define_insn addx_extend): Rename to
- addx_extend_sp64, only allow when TARGET_ARCH64.
- (define_insn addx_extend_sp32 and split): Version that works when
- not TARGET_ARCH64.
- (define_insn subx_extend): Likewise.
- (define_split adddi3 and subdi3 with zero extension): Fixup and
- correct bugs when not TARGET_ARCH64.
-
-Tue Aug 11 16:04:34 1998 John Carr <jfc@mit.edu>
-
- * except.c (set_exception_lang_code, set_exception_version_code):
- Use prototype-style definition if __STDC__, to match declaration
- in except.h.
-
- * genemit.c: Change FAIL and DONE macros not to use loops.
-
-Tue Aug 11 12:27:03 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
- ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
-
- * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
-
-Tue Aug 11 18:12:53 1998 Dave Love <d.love@dl.ac.uk>
-
- * README.g77: Update from Craig.
-
-Tue Aug 11 04:46:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
- type HOST_WIDE_INT.
- (safe_constDI sparc_emit_set_const64_quick1,
- sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
- analyze_64bit_constant, const64_is_2insns,
- create_simple_focus_bits): Fix some bugs when compiled on real
- 64-bit hosts.
- (function_arg_record_value_3, function_arg_record_value_2,
- function_arg_record_value): Add fully prototyped forward decls.
- * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
- to cmpsi_insn and use on both 64 and 32 bit targets.
- (define_insn cmpsi_insn_sp64): Remove.
- (define_expand zero_extendsidi2): Allow for 32-bit target too.
- (define_insn zero_extendsidi2_insn): Rename to
- zero_extendsidi2_insn_sp64.
- (define_insn zero_extendsidi2_insn_sp32): New pattern and
- assosciated forced split for it.
-
- * config/sparc/sparc.c (const64_operand, const64_high_operand):
- New predicates.
- * config/sparc/sparc.h: Declare them.
- (PREDICATE_CODES): Add them.
- * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
- movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
-
-Mon Aug 10 22:57:24 1998 John Carr <jfc@mit.edu>
-
- * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
- in v9 case as the latter makes the Solaris assembler crash.
-
-Mon Aug 10 22:39:09 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
- for TFmode when !v9. We require offsettable memory addresses.
- * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
- DFmode register number conversions.
- * config/sparc/sparc.md (define_split DFmode moves): If register
- is a SUBREG do alter_subreg on it before using.
- (define_expand movtf): Fixup comment about alignment on v9.
- (define_split TFmode moves): Don't use gen_{high,low}part, create
- explicit SUBREGs instead.
-
-Mon Aug 10 19:02:55 1998 John Carr <jfc@mit.edu>
-
- * Makefile.in (mbchar.o): Depend on mbchar.c.
-
-Mon Aug 10 04:28:13 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
- Richard Henderson <rth@cygnus.com>
-
- Rewrite Sparc backend for better code generation and
- improved sparc64 support.
- * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
- zero.
- * config/sparc/sysv4.h: Likewise.
- * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
- move_operand, v8plus_regcmp_op, emit_move_sequence,
- singlemove_string, doublemove_string, mem_aligned_8,
- output_move_double, output_move_quad, output_fp_move_double,
- move_quad_direction, output_fp_move_quad, output_scc_insn):
- Remove.
- (small_int_or_double): New predicate.
- (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
- (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
- old pic_{sethi,lo_sum}_si patterns.
- (mem_min_alignment): New generic function to replace
- mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
- available and can test for arbitrary alignments. All callers
- changed.
- (save_regs, restore_regs, build_big_number,
- output_function_prologue, output_cbranch, output_return,
- sparc_flat_save_restore, sparc_flat_output_function_prologue,
- sparc_flat_output_function_epilogue): Prettify
- insn output.
- (output_function_epilogue): Likewise and add code to output
- deferred case vectors.
- (output_v9branch): Likewise, add new arg INSN and use it to tack
- on branch prediction settings. All callers changed.
- (print_operand): Likewise and output %l44 for LO_SUMs when
- TARGET_CM_MEDMID.
- (sparc_splitdi_legitimate): New function to make sure DImode
- splits can be run properly when !arch64.
- (sparc_initialize_trampoline, sparc64_initialize_trampoline):
- Reformat example code in comments.
- (set_extends): Remove UNSPEC/v8plus_clear_high case.
- (sparc_addr_diff_list, sparc_addr_list): New statics to keep track
- of deferred case vectors we need to output.
- (sparc_defer_case_vector): Record a case vector.
- (sparc_output_addr_vec, sparc_output_addr_diff_vec,
- sparc_output_deferred_case_vectors): New functions to output them.
- (sparc_emit_set_const32): New function to form 32-bit constants in
- registers when that requires more than one instruction.
- (safe_constDI, sparc_emit_set_const64_quick1,
- sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
- analyze_64bit_constant, const64_is_2insns,
- create_simple_focus_bits, sparc_emit_set_const64): New functions
- which do the same for 64-bit constants when arch64.
- (sparc_emit_set_symbolic_const64): New function to emit address
- loading for all code models on v9.
- * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
- %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
- (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
- (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
- inaccuracies in comments, add symbolic and text_segment operands
- when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively. Use
- GENERAL_REGS in these cases as a temp REG is needed to load these
- addresses into a register properly.
- (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
- is no longer used.
- (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
- quads are guarenteed to have 16-byte alignment.
- (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
- copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
- (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
- deferred case vector implementation.
- (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
- (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
- Generate "internal label - label" instead of "label - 1b".
- (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
- (PREDICATE_CODES): Remove sparc_operand, move_operand,
- v8plus_regcmp_op. Add small_int_or_double, input_operand, and
- zero_operand.
- (doublemove_string, output_block_move, output_fp_move_double,
- output_fp_move_quad, output_move_double, output_move_quad,
- output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
- sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
- (sparc_emit_set_const32, sparc_emit_set_const64,
- sparc_emit_set_symbolic_const64, input_operand, zero_operand,
- mem_min_alignment, small_int_or_double): Add externs.
- * config/sparc/sparc.md: Document the many uses of UNSPEC and
- UNSPEC_VOLATILE in this backend.
- (define_function_unit ieu): Rename to ieu_unnamed. Add move and
- unary to types which execute in it.
- (define_function_unit ieu_shift): Rename to ieu0.
- (define_function_unit ieu1): New, executes compare, call, and
- uncond_branch type insns.
- (define_function_units for type fdivs, fdivd, fsqrt): These
- execute in the fpu multiply unit not the adder on UltraSparc.
- (define_expand cmpdi): Disallow TARGET_V8PLUS.
- (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
- (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
- allows the arith_double_operand predicate and rHI constraint when
- TARGET_ARCH64.
- (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
- cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
- neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
- sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
- sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
- movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
- movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
- movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
- movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
- cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
- sign_extendqihi2_insn, sign_extendqisi2_insn,
- sign_extendqidi2_insn, sign_extendhidi2_insn,
- extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
- trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
- floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
- fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
- adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
- subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
- muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
- const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
- smulsi3_highpart_v8plus, unnamed subreg mult,
- const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
- const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
- const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
- const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
- const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
- udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
- andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
- or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
- xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
- cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
- cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
- cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
- cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
- cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
- cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
- addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
- muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
- negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
- ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
- cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
- ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
- lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
- call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
- call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
- call_address_untyped_struct_value_sp32,
- call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
- call_value_symbolic_sp32, call_value_address_sp64,
- call_value_symbolic_sp64, branch_sp32, branch_sp64,
- flush_register_windows, goto_handler_and_restore,
- goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
- flush, all ldd/std peepholes, return_qi, return_hi, return_si,
- return_addsi, return_di, return_adddi, return_sf, all call+jump
- peepholes, trap, unnamed trap insns): Prettify output strings.
- (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
- or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
- Likewise and force + implement splits for integer cases.
- (define_insn return_sf_no_fpu): Likewise and allow to match when
- no-fpu because of our subreg SFmode splits.
- (define_insn zero_extendqihi2, zero_extendqisi2_insn,
- zero_extendqidi2_insn, zero_extendhidi2_insn,
- zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
- input_operand for second operand.
- (cmp_minus_cc, cmp_minus_cc_set): Likewise and use
- reg_or_0_operand for operand 2 so new splits can use it.
- (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
- cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
- too.
- (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
- CONST_DOUBLEs for operand 2.
- (define_insn move_label_di): Likewise and label distance
- optimization because it no longer works with new deferred case
- vector scheme. To be revisited.
- (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
- and allow reg_or_0_operand and J constraint for second operand.
- (define_insn jump): Set branch predict taken on V9.
- (define_insn tablejump): Emit LABEL_REF + PLUS memory address for
- new deferred case vector scheme.
- (define_insn pic_tablejump_32, pic_tablejump_64): Remove.
- (define_insn negdi2_sp32): Force + implement splits.
- (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
- one_cmplsi2_not_liveg0 respectively, and create expander of original
- names which emit special rtl for TARGET_LIVE_G0.
- (define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
- (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
- gen_compare_reg, FAIL instead.
- (define_insn sgtu, sleu): Likewise and check gen_s*() return
- values when trying to reverse condition codes, if they FAIL then
- do likewise.
- (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
- snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
- neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
- seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
- x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
- set output string to # to indicate they are mandatory splits.
- (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
- pic_sethi_di, move_pic_label_si): Remove.
- (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
- movsi_high_pic, movsi_pic_label_reg): New patterns to take their
- place.
- (define_expand movsi_pic_label_ref, define_insn
- movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
- expander and insns to handle PIC label references and deferred
- case vectors.
- (define_insn get_pc_via_rdpc): Comment out as it is no longer
- used.
- (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
- Rewrite to not use emit_move_sequence, make use of new constant
- formation code, and new splits for all multi-insn cases.
- (define_insn movqi_insn): Remove sethi case, it can never happen.
- Use reg_or_zero_operand instead of const0_rtx explicit test,
- use input_operand instead of move_operand for source, and use
- general_operand now for dest.
- (define_insn movhi_insn): Similar but leave sethi case.
- (define_insn lo_sum_qi, store_qi, store_hi): Remove.
- (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
- movhi_lo_sum respectively, prettify output string.
- (define_insn movsi_zero_liveg0): New pattern to put zero into a
- register when needed on TARGET_LIVE_G0.
- (define_insn movsi_insn): Use general_operand and input_operand
- for dest and src respectively. Simplify applicability test.
- Prettify output strings, and add clr alternative for J
- constraint.
- (define_insn movdi_sp32_v9, movdi_sp32, define_splits for
- deprecated std and reg-reg DI moves): Remove and...
- (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
- implementation which uses forced splits for all non-single insn
- cases.
- (define_split DI move cases on !arch64): New splits to handle all
- situations of 64-bit double register DImode on 32bit, and
- unaligned registers and memory addresses for all subtargets.
- (define_insn movsf_const_insn, movdf_const_insn, store_sf):
- Remove.
- (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
- input_operand for dest and src respectively, prettify output
- strings.
- (define_insn movdf_insn, movdf_no_e_insn, store_df,
- movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
- and...
- (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
- movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
- movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
- movtf_no_e_insn_sp64) Replace with new
- implementation which uses forced splits for all non-single insn
- cases.
- (define_split DF move cases): New splits in similar vein to DI
- move counterparts.
- (define_insn sethi_di_medlow, sethi_di_medium_pic,
- sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
- movdi_sp64_insn): Remove old v9 code model and constant loading
- support insns and..
- (define_insn pic_lo_sum_di, pic_sethi_di,
- sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
- seth44, setm44, setl44, sethh, setlm, sethm, setlo,
- embmedany_sethi, embmedany_losum, embmedany_brsum,
- embmedany_textuhi, embmedany_texthi, embmedany_textulo,
- embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
- movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
- scheme, using unspecs, secondary reloads, and one to one sparc
- insn to rtl insn mapping for better scheduling and code gen.
- (define_expand reload_indi, reload_outdi): Reload helpers for
- MEDANY and EMBMEDANY symbol address loading cases which require a
- temporary register.
- (define_expand movsicc): Remove v8plus_regcmp cases.
- (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
- cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
- cmp_diqi_trunc_set): New patterns used by some of the new scc
- splits on arch64.
- (define_insn xordi3_sp64_dbl): New pattern used for constant
- formation when crossing from 32-bit targets.
- (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
- split): Remove.
- (define_insn addx, subx): Make visible and prettify.
- (define_insn adddi3_insn_sp32): Likewise and force split.
- (define_insn addx_extend, subx_extend, unnamed): New patterns for
- 64bit scc split usage.
- (define_insn unnamed plusDI zero_extend, unnamed minusDI
- zero_extend, subdi3): Force and implement splits.
-
- * final.c (final_scan_insn): Don't output labels if target
- specifies ASM_OUTPUT_ADDR_{DIFF}_VEC. Do these macro operations
- instead.
-
- * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
- don't forget to walk inside SEQUENCESs too as these are what the
- delay slot scheduler will create.
-
-Mon Aug 10 01:21:01 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (extxl+1,+2): New patterns to work around
- combine lossage.
-
-Sat Aug 8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org)
-
- * rs6000.c (rs6000_allocate_stack_space) Fix typo which
- caused bad assembly code to be generated.
-
-Sat Aug 8 18:53:28 1998 Jeffrey A Law (law@cygnus.com)
-
- * netbsd.h: Fix typo.
-
-Mon Aug 3 00:06:42 1998 Robert Lipe <robertl@dgii.com>
-
- * config.sub: Fix typo.
-
-Sun Aug 2 22:39:08 1998 Hans-Peter Nilsson <hp@axis.se>
-
- * invoke.texi (Environment Variables): Typo: Change "ascpects"
- into "aspects".
- (Running Protoize): Typo: Change "ther" into "other".
-
-Sun Aug 2 00:42:50 1998 Jeffrey A Law (law@cygnus.com)
-
- * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
- * m68k/netbsd.h: Likewise.
- * ns32k/netbsd.h: Likewise.
- * sparc/netbsd.h: Likewise.
-
-Sat Aug 1 17:59:30 1998 Richard Henderson <rth@cygnus.com>
-
- * ginclude/va-alpha.h (va_list): Use a typedef, not a define.
- * ginclude/va-clipper.h (va_list): Likewise.
-
-Fri Jul 31 20:22:02 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (rs6000_override_options): If big endian and -Os, use
- load/store multiple instructions unless user overrides.
-
-Fri Jul 31 17:08:59 1998 Jeffrey A Law (law@cygnus.com)
-
- * ns32k/netbsd.h: Fix typo.
-
-Fri Jul 31 10:23:55 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
- labels with .debugsym if no parallel insns.
-
-Thu Jul 30 19:15:53 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
- (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
-
-Thu Jul 30 19:50:15 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
- (AR_FOR_TARGET): Define.
-
-Thu Jul 30 12:29:12 1998 Mark Mitchell <mark@markmitchell.com>
-
- * dyn-string.h: New file.
- * dyn-string.c: Likewise.
- * Makefile.in (OBJS): Add dyn-string.o.
- (dwarf2out.o): Add dyn-string.h dependency.
- (dyn-string.o): List dependencies.
- * dwarf2out.c: Include dyn-string.h.
- (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
- (addr_const_to_string): Take a dyn_string_t, not a char* as a
- prototype. Use dyn_string_append rather than strcat, throughout.
- (addr_to_string): Use dyn_string_t.
-
-Thu Jul 30 13:08:07 1998 Ken Raeburn <raeburn@cygnus.com>
-
- Function entry/exit profiling instrumentation:
- * expr.h (profile_function_entry_libfunc,
- profile_function_exit_libfunc): Declare new variables.
- * optabs.c: Define them here.
- (init_optabs): Initialize them.
- * tree.h (struct tree_decl): New flag
- no_instrument_function_entry_exit.
- (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
- * c-decl.c (duplicate_decls): Merge it.
- * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
- (init_attributes): Use it for "no_instrument_function".
- (decl_attributes): Handle it, for functions that have not yet been
- compiled. Set decl flag.
- * flags.h (flag_instrument_function_entry_exit): Declare new
- variable.
- * toplev.c (flag_instrument_function_entry_exit): Define it here.
- (f_options): New option "instrument-functions".
- * function.h (struct function): New field instrument_entry_exit.
- * function.c (current_function_instrument_entry_exit): New
- variable.
- (push_function_context_to, pop_function_context_from): Save and
- restore.
- (expand_function_start): Set current_ variable, maybe emit return
- label and entry profile call.
- (expand_function_end): Maybe emit exit profile call.
-
-Thu Jul 30 00:58:34 1998 Jeffrey A Law (law@cygnus.com)
-
- * i386.md (movqi): When optimizing a load of (const_int 1) into a
- NON_QI_REG_P, pretend the register is SImode.
-
-Wed Jul 29 23:49:23 1998 Todd Vierling <tv@netbsd.org>
-
- * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
- Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
- manufacturer id for ns32k.
- * configure: Regenerated.
- * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
- * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
- * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
- * config/m68k/netbsd.h: Same.
- * config/ns32k/netbsd.h: Same.
- * config/sparc/netbsd.h: Same.
-
-Wed Jul 29 22:39:21 1998 Jeffrey A Law (law@cygnus.com)
-
- * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
- or UNROLL_COMPLETELY loop that starts with a jump to its
- exit code.
-
-Wed Jul 29 22:18:14 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
- * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
- (print_operand, case 'B'): Don't fall through.
- (print_operand, case 'S'): Correct mask begin/end computation.
- Use HOST_BITS_PER_WIDE_INT.
- * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
- (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
- * rs6000/aix41.h (CPP_PREDEFINES): Same.
- * rs6000/aix43.h (CPP_PREDEFINES): Same.
-
-Wed Jul 29 11:47:10 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
- constraint from second alternative.
-
-Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * configure.in: Fix --without/--disable cases for local-prefix,
- gxx-include-dir and checking.
-
-Tue Jul 28 22:01:23 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * configure.in (enable_haifa): Set by default for sparc64 too.
- configure: Rebuilt.
-
-Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
- * i386/winnt.c (associated_type): New fn.
- (i386_pe_valid_type_attribute_p): New fn.
- (i386_pe_check_vtable_importexport): Remove.
- (i386_pe_dllexport_p): Use associated_type.
- (i386_pe_dllimport_p): Likewise.
-
- From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
- * i386.c (i386_valid_type_attribute_p): Also accept
- attributes for METHOD_TYPEs.
-
-Tue Jul 28 23:17:39 1998 Peter Gerwinski <peter@gerwinski.de>
-
- * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
-
-Tue Jul 28 22:31:12 1998 Craig Burley <burley@gnu.org>
-
- * gcc.c: Fix commentary describing %g, %u, %U, and %O.
-
- * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
- them from generating a new base name for each occurence of
- a specific suffix.
-
-1998-07-28 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * cse.c (cse_insn): Enable subsitution inside libcall only for REG,
- SUBREG, MEM.
- * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.
-
-
-
- * cplus-dem.c (type_kind_t): New type.
- (demangle_template_value_parm): Add type_kind_t parameter. Rely
- on this paramter, rather than demangling the type again.
- (demangle_integral_value): Pass tk_integral.
- (demangle_template_: Pass the value returned from do_type.
- (do_type): Return a type_kind_t. Pass tk_integral to
- demangle_template_value_parm for array bounds.
- (demangle_fund_type): Likewise.
-
-Mon Jul 27 00:54:41 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
- identical.
-
-Mon Jul 27 22:18:36 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (move_operand): Accept CONSTANT_P_RTX.
-
-Mon Jul 27 17:18:52 1998 Dave Brolley <brolley@cygnus.com>
-
- * stor-layout.c (layout_type): Handle arrays of bits, for Chill.
-
- * expr.c (get_inner_reference): Handle zero-based, unsigned, array
- index conversion.
-
-Mon Jul 27 14:51:33 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
- (DEBUGGER_ARG_OFFSET): Likewise.
-
- * mn10300.md (movsf): Remove last change. Not needed.
-
-Mon Jul 27 14:22:36 1998 Dave Brolley <brolley@cygnus.com>
-
- * c-lex.c (yylex): Fix boundary conditions in character literal and
- string literal loops.
-
-Mon Jul 27 11:43:54 1998 Stan Cox <scox@cygnus.com>
-
- * longlong.h (count_leading_zeros): Sparclite scan instruction was
- being invoked incorrectly.
-
- * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
- * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE):
- Add -pg support.
- * i386/win32.h: New file. Hybrid mingw32.h/cygwin32.h configuration.
- * configure.in: Added i[34567]86-*-win32
- * config.sub: Ditto.
- * configure: Rebuilt.
-
-Sun Jul 26 01:11:12 1998 H.J. Lu (hjl@gnu.org)
-
- * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
- the frame pointer and compiling PIC code and reload has not completed.
-
- * i386.c (output_to_reg): Add code to emulate non-popping DImode
- case.
-
-Sun Jul 26 01:01:32 1998 Jeffrey A Law (law@cygnus.com)
-
- * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
-
-Sat Jul 25 23:29:23 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * Makefile.in (install-info): Only try to update the info
- directory file if it exists in the first place.
-
-Fri Jul 24 18:58:37 1998 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>
-
- * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
-
-Fri Jul 24 14:20:26 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
- CONST_DOUBLE source.
-
-Fri Jul 24 11:17:04 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
- strings as the insertion of USER_LABEL_PREFIX.
- * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
- valid code.
- * config/arm/thumb.md: Use %_ as a prefix to gcc library function
- calls.
-
-Thu Jul 23 18:53:20 1998 Jim Wilson <wilson@cygnus.com>
-
- * dbxout.c (dbxout_range_type): Only call dbxout_type_index for
- already defined type.
-
-Thu Jul 23 13:49:41 1998 Jeffrey A Law (law@cygnus.com)
-
- * expr.c (check_max_integer_computation_mode): Allow conversions
- of constant integers to MAX_INTEGER_COMPUTATION_MODE.
- (expand_expr): Likewise.
-
-Thu Jul 23 11:12:06 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * expr.c (expand_expr): Expand RETURN_EXPR.
-
-Thu Jul 23 11:00:29 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
-
-Wed Jul 22 19:10:00 1998 Catherine Moore <clm@cygnus.com>
-
- * dwarf2out.c (output_aranges): Call stripattributes
- for TEXT_SECTION references.
- (output_line_info): Likewise.
-
-Wed Jul 22 14:08:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * profile.c (branch_prob): Call allocate_reg_info after outputting
- profile rtl in instrument_arcs.
-
-Wed Jul 22 12:47:49 1998 Jim Wilson <wilson@cygnus.com>
-
- * fixinc.irix (math.h): Install wrapper instead of copying.
-
-Wed Jul 22 12:37:14 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
- so WFL are expanded correctly when contained in a COMPOUND_EXPR.
- * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
- lang_flag_0. Added documentation in the flag table.
-
-Tue Jul 21 23:28:35 1998 Klaus Kaempf <kkaempf@rmi.de>
-
- * cccp.c (do_include): Fix vax c style include handling.
-
-Tue Jul 21 13:28:19 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
-
-Sun Jul 12 01:27:05 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * fold-const.c (non_lvalue): Don't deal with null pointer
- constants here.
- (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
-
-Tue Jul 21 15:49:31 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
- * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
- * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
- (u_short_cint_operand): Same.
- (reg_or_cint_operand): Same.
- (logical_operand): Same.
- (input_operand): Same.
- (reg_or_short_operand): Use u_short_cint_operand.
-
-Tue Jul 21 08:56:42 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
- but keep the insns and splits. Adjust so when the ultimate destination
- is memory, use cvtql.
-
-Tue Jul 21 08:55:09 1998 Richard Henderson <rth@cygnus.com>
-
- * flow.c (regno_uninitialized): Fixed regs are never uninitialized.
-
-Tue Jul 21 00:31:01 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c (do_spec): Call "error" not "warning".
-
- * configure.in: Fix minor problems with gas feature detection code.
- * configure: Rebuilt.
-
- * gcc.c (do_spec): Issue a warning for '%[]' usage.
-
- * Undo this change.
- * gcc.c: Delete %[spec] support.
- (do_spec_1, case '('): Likewise.
- (do_spec_1, case '['): Call error.
-
-Mon Jul 20 22:34:17 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (CPP_SPEC): Tidy. Hook to cpp_cpu and cpp_subtarget.
- (CPP_SUBTARGET_SPEC): Default to empty string.
- (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
- (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
- * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
- * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
- (LIB_SPEC): Tidy.
- * alpha/linux.h (CPP_PREDEFINES): Tidy.
- * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
- * alpha/netbsd.h (CPP_PREDEFINES): Tidy.
- * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
- * alpha/win-nt.h (CPP_PREDEFINES): Likewise.
- * alpha/vsf.h (CPP_PREDEFINES): Likewise.
- (CPP_SUBTARGET_SPEC): New. Do this instead of overriding CPP_SPEC.
- * alpha/vxworks.h: Likewise.
-
-Mon Jul 20 22:51:57 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * mips.md (reload_outsi): Added missing REGNO call.
- (smulsi3_highpart, umulsi3_highpart): Provide prototype for
- function pointer.
- (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
- another match_operator and compare the codes.
-
- * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
-
- * MIPS multiply pattern fixes:
- * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
- Add union classes for HI, LO, or HILO plus general registers.
- (GENERATE_MADD): Deleted.
- * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
- Add TARGET_MAD to condition.
- (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
- (mul_acc_si): Expand GENERATE_MADD here; it's the only use. Use
- "*d" for accumulator, to give preference to LO initially but not
- during reload.
-
-Mon Jul 20 16:16:38 1998 Dave Brolley <brolley@cygnus.com>
-
- * configure.in (enable_c_mbchar): New configure option.
- (extra_cpp_objs): Always available now.
-
- * cexp.y (mbchar.h): #include it.
- (yylex): Handle Multibyte characters in character literals.
-
- * cccp.c (mbchar.h): #include it.
- (main): Set character set based on LANG environment variable.
- (rescan): Handle multibyte characters in comments.
- (skip_if_group): See above.
- (validate_else): See above.
- (skip_to_end_of_comment): See above.
- (macarg1): See above.
- (discard_comments): See above.
- (rescan): Handle multibyte characters in string and character literals.
- (collect_expansion): See above.
- (skip_quoted_string): See above.
- (macroexpand): See above.
- (macarg1): See above.
- (discard_comments): See above.
- (change_newlines): See above.
-
- * c-lex.c (mbchar.h): #include it.
- (GET_ENVIRONMENT): New macro.
- (init_lex): Set character set based on LANG environment variable.
- (yylex): Handle multibyte characters in character literals.
- (yylex): Handle multibyte characters in string literals.
-
- * Makefile.in (mbchar.o): New target.
- (cccp$(exeext)): @extra_cpp_objs@ is always available.
- (cppmain$(exeext)): @extra_cpp_objs@ is always available.
-
- * mbchar.[ch]: New files for multibyte character handling.
-
-Mon Jul 20 01:11:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * jump.c (jump_optimize): When simplifying noop moves and
- PUSH_ROUNDING, fix thinko so we use same criterion for identifying
- the PUSHes to rewrite in second loop as we did in the first.
-
-Sun Jul 19 08:23:53 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * cplus-dem.c (demangle_nested_args): Make function definition
- static to match the prototype.
-
-Fri Jul 17 14:58:44 1998 Richard Henderson <rth@cygnus.com>
-
- * alloca.c: Respect USE_C_ALLOCA.
- * gencheck.c (xmalloc): Ignore __GNUC__ for definition.
- * gengenrtl.c (xmalloc): Likewise.
-
-Fri Jul 17 14:18:14 1998 Richard Henderson <rth@cygnus.com>
-
- * loop.h (struct induction): Add no_const_addval.
- * loop.c (the_movables, reg_address_cost): New variables.
- (init_loop): Init reg_address_cost.
- (loop_optimize): Call end_alias_analysis.
- (scan_loop): Init the_movables.
- (record_giv): Init induction->no_const_addval.
- (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
- [REG]: Rearrange loop search test to catch more cases.
- (general_induction_var): Return success not benefit; take an extra
- argument for that. Change all callers.
- (simplify_giv_expr) [PLUS]: Always combine invariants. Use sge_plus.
- [MULT]: Use rtx_equal_p instead of ==. Combine simple invariants.
- [default]: Search the_movables for additional combinations.
- (sge_plus_constant, sge_plus): New functions.
- (express_from_1): New function.
- (express_from): Always define. Rewrite using express_from_1.
- (combine_givs_p): Handle more cases. Ignore address cost.
- (cmp_combine_givs_stats): New function.
- (combine_givs_used_once, combine_givs_benefit_from): New functions.
- (combine_givs): Rewrite to do best-fit combination.
-
- * fold-const.c (operand_equal_p): Handle RTL_EXPR.
- (fold): Do a complete (A*C)+(B*C) association check.
-
-Fri Jul 17 11:21:55 1998 Jim Wilson <wilson@cygnus.com>
-
- * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
-
-Fri Jul 17 11:48:55 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (MODES_TIEABLE_P): Fix typo.
-
-Fri Jul 17 03:26:12 1998 Rihcard Earnshaw (rearnsha@arm.com)
-
- * tree.c (valid_machine_attribute): Only create a new type variant if
- there is a decl to use it.
-
-Thu Jul 16 14:48:04 1998 Nick Clifton <nickc@cygnus.com>
-
- * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
- a suffix.
-
-Fri Jul 17 03:24:40 1998 Hans-Peter Nilsson <hp@axis.se>
-
- * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
- be deleted"
-
-Thu Jul 16 14:48:47 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (count_tst_insns): New arg oreg_countp. Callers changed.
- Simplify tests for clearing an address register.
- (expand_prologue): Corresponding changes.
-
- * mn10300.md (movXX patterns): Make sure the destination is an
- ADDRESS_REG when substituting "zero_areg" for (const_int 0).
- (logical patterns): Split into expanders + patterns
- (zero and sign extension patterns): Similarly.
- (shift patterns): Similarly.
-
-Thu Jul 16 01:17:44 1998 Richard Henderson <rth@cygnus.com>
-
- * loop.c (emit_iv_add_mult): Scan the entire insn list generated
- for the sequence, recording base values.
-
-Wed Jul 15 10:49:55 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
-
-Tue Jul 14 14:15:30 1998 Nick Clifton <nickc@cygnus.com>
-
- * gcc.c: Remove ANSI-C ism from --help code.
-
- * toplev.c: Support --help with USE_CPPLIB.
-
-Tue Jul 14 14:46:08 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: Rework gas feature code to work with symlink based
- source trees.
-
- * extend.texi: Clarify some issues related to local variables
- assigned to explicit registers.
-
- * mn10300.md (mulsi): Turn into expander + pattern.
-
- * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
- alternative.
-
-Tue Jul 14 07:41:59 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
-
-Tue Jul 14 03:02:44 1998 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump again to distinguish mainline tree from the
- egcs-1.1 branch.
-
-See ChangeLog.0 for earlier changes.
-
-Local Variables:
-add-log-time-format: current-time-string
-End:
diff --git a/gcc/ChangeLog.0 b/gcc/ChangeLog.0
deleted file mode 100755
index f2982a5..0000000
--- a/gcc/ChangeLog.0
+++ /dev/null
@@ -1,13017 +0,0 @@
-Tue Jul 14 02:20:38 1998 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump to avoid problems with old spec files during
- bootstrap.
-
-Mon Jul 13 23:11:44 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.c (output_scc_insn): Enclose || conditions in
- parens while walking over notes.
- * config/sparc/sparc.md (reg movdi split): Clean up matching
- conditions.
- (all DI arithop splits on 32-bit): Handle immediate arguments
- correctly when they are CONST_INTs.
-
-Mon Jul 13 23:57:21 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
-
- * m68k/m68k.h (TARGET_SWITCHES): Clear MASK_68040_ONLY for
- -m68020-40, -m68020-60 and -m5200.
-
-Mon Jul 13 23:52:05 1998 Weiwen Liu <weiwen.liu@yale.edu>
-
- * gcc.c (do_spec_1): Fix %O handling for secure temporary file
- creation.
-
-Mon Jul 13 23:42:36 1998 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * sh/elf.h (MAX_OFILE_ALIGNMENT): Undefine before including svr4.h.
-
-Mon Jul 13 23:36:08 1998 Jim Wilson <wilson@cygnus.com>
-
- * i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
- (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
- (EXTRA_SPECS): Support them.
- * gcc.c: Delete %[spec] support.
- (do_spec_1, case '('): Likewise.
- (do_spec_1, case '['): Call error.
- * i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
- linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
- sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
- %[cpp_cpu].
-
-Mon Jul 13 23:31:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.c (output_scc_di): Use cmpw #0 only for address registers.
-
-Mon Jul 13 23:26:43 1998 Jeffrey A Law (law@cygnus.com)
-
- * tree.h (tree_common): Note front-end dependencies on layout of
- this structure.
-
-Mon Jul 13 23:18:39 1998 Craig Burley <burley@gnu.org>
-
- * stmt.c (expand_expr_stmt): If not assigning fresh
- value to last_expr_value, zero it, so old garbage
- doesn't get dereferenced.
-
-Mon Jul 13 23:06:55 1998 Henning.Petersen@t-online.de (Henning Petersen)
-
- * gcse.c (hash_scan_insn): Add missing argument declaration.
-
-Mon Jul 13 18:59:13 1998 Jim Wilson <wilson@cygnus.com>
-
- * configure.in (mips-sgi-irix5cross64, mips-sgi-irix5*): Remove
- HAVE_INTTYPES_H from xm_defines. Define xm_file to mips/xm-iris5.h.
- * mips/xm-iris5.h (USG): Delete.
-
-Mon Jul 13 17:18:47 1998 Nick Clifton <nickc@cygnus.com>
-
- * cccp.c (main): Add support for parsing --help.
- (display_help): New function: display command line switches.
-
- * cpplib.c (cpp_handle_option): Add support for parsing --help.
- (display_help): New function: display command line switches.
-
- * gcc.c (main): Add support for parsing --help, and passing it on
- to the sub-processes invoked by gcc.
- (display_help): New function: display comman line switches.
-
- * tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
- 'description' field added to structure.
-
- * toplev.c: Add support for parsing --help.
- Add documentation strings to command line option tables.
- (display_help): New function: display comman line switches.
-
-Mon Jul 13 16:15:10 1998 John Carr <jfc@mit.edu>
-
- * sparc.c, sparc.h, sparc.md: New trampoline code.
- Allow integer operand 1 to V8+ DImode shift instructions.
- Fix bugs in V8+ wide multiply patterns.
- In 32 bit mode, split DImode register moves and logical instructions.
- Write V9 branch prediction flag.
- Use V9 conditional move more often for scc.
-
-Mon Jul 13 15:10:09 1998 Philippe De Muyter <phdm@macqel.be>
-
- * invoke.texi(-fno-builtin): Explain that the names of built-in
- functions begin with `__builtin_', not `__'.
-
-Mon Jul 13 19:01:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
-
-Mon Jul 13 10:50:17 1998 Mark Mitchell <mark@markmitchell.com>
-
- * cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff.
- (cplus_demangle_opname): Initialize work.
- (demangle_template): Remove is_java_array.
- (do_type): Remove DMGL_JAVA stuff.
- (long_options): Remove "java".
- (main): Remove 'j' option.
-
-Mon Jul 13 10:19:00 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
- Handle 'x' as NO_REGS for this cpu.
- (REGNO_OK_FOR_BIT_BASE_P): Define.
- (REG_OK_FOR_BIT_BASE_P): Define.
- (GO_IF_LEGITIMATE_ADDRESS): Use them.
- (REG_OK_FOR_INDEX_P): Tweak.
- * mn13000.c (REG_SAVE_BYTES): Define.
- (expand_epilogue, initial_offset): Use it.
- (secondary_reload_class): Slightly reformat.
- (output_tst): Tweak comments.
- * mn10300.md: Change 'x' to 'y' for SP_REGS. Then add 'x' to many
- patterns.
- (addsi3): Turn into a define_expand/define_insn pair. Rework code for
- three operand addition case to be more efficient.
- (subsi3): Turn into a define_expand/define_insn pair.
-
- * expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
- is not varying for REFERENCE_TYPE or when we think we might have found
- an optimized access to the first element in an array.
-
-Mon Jul 13 02:24:08 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * regclass.c (reg_scan_mark_refs): New arg min_regno. Only update
- regscan information for REGs with numbers greater than or equal to
- this. All callers changed.
- (reg_scan_update): New function to efficiently update regscan
- information on the fly.
- * rtl.h: Add prototype.
- * jump.c (jump_optimize): Call it when we make a transformation
- which generates new pseudo-REGs.
-
-Sun Jul 12 13:08:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * collect2.c (main): Use "-x c" instead of "-lang-c" for force the
- compiler into C mode.
-
-Sun Jul 12 01:27:05 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * cplus-dem.c (demangle_nested_args): Return a value.
-
- * tree.h (TYPE_P): New macro.
-
-Sat Jul 11 16:19:48 1998 Mark Mitchell <mark@markmitchell.com>
-
- * cplus-dem.c (string): Move definition before work_stuff.
- (work_stuff): Add volatile_type, forgetting_types,
- previous_argument, and nrepeats fields.
- (SCOPE_STRING): New macro.
- (demangle_template): Add `remember' parameter. Add comment.
- Register the `B' code type here, if remembering. Tidy. Fix crash
- on NULL tmpl_argvec. Be consistent with use of tname/trawname.
- (demangle_nested_args): New function.
- (internal_cplus_demangle): Handle volatile-qualified member
- functions.
- (mop_up): Delete the previous_argument string if present.
- (demangle_signature): Tidy. Handle volatile-qualified member
- functions. Handle back-references using the `B' code. Use extra
- parameter to demangle_template and SCOPE_STRING where appropriate.
- (demangle_template_value_parm): Fix thinko; 'B' is not an integral
- code.
- (demangle_class): Use SCOPE_STRING.
- (gnu_special): Pass additional argument to demangle_template.
- Use SCOPE_STRING.
- (demangle_qualified): Save qualified types for later
- back-references. Handle constructors and destructors for template
- types correctly.
- (do_type): Tidy. Use SCOPE_STRING. Pass extra argument to
- demangle_template. Use demangled_nested_args. Don't remember
- qualified types here; that's now done in demangle_qualified.
- Similarly for templates.
- (do_arg): Improve commment. Handle 'n' repeat code.
- (remember_type): Check forgetting_types.
- (demangle_args): Deal with 'n' repeat codes. Tidy.
-
-Sat Jul 11 02:59:08 1998 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
- and structure attribute flags to MEMs generated.
- (splits for sign-extended HI & QI mode from memory): Also propagate
- the volatile flag.
-
- * configure.in (thumb-*-coff*): Don't cause fixincludes to be run.
-
-Fri Jul 10 19:06:59 1998 Michael Meissner <meissner@cygnus.com>
-
- * varray.h: Include system.h if it hasn't already been included
- before to get size_t declared.
-
-Fri Jul 10 12:53:58 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * jump.c (jump_optimize): If after_regscan and our transformations
- generate new REGs, rerun reg_scan.
-
-Fri Jul 10 11:50:43 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * config/i960/i960.c (i960_address_cost): MEMA operands with
- positive offsets < 4096 are free.
-
-Fri Jul 10 12:34:37 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config/m68k/m68k.c (const_uint32_operand): Recognize
- CONSTANT_P_RTX.
- (const_sint32_operand): Likewise.
-
-Thu Jul 9 22:58:59 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (alias.o): Depend on $(EXPR_H).
-
-Thu Jul 9 18:24:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (choose_reload_regs): If using an equivalence from
- find_equiv_reg and reg_reloaded_valid is not set for this register,
- clear the associated spill_reg_store.
-
-Thu Jul 9 18:12:49 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (emit_reload_insns): If an output reload copies only
- to a secondary reload register, indicate that the secondary reload
- does the actual store.
-
-Thu Jul 9 18:01:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (find_equiv_reg): If need_stable_sp is set,
- check if stack pointer is changed directly in a PARALLEL.
-
-Thu Jul 9 10:38:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * jump.c (duplicate_loop_exit_test): Fix thinko.
-
-Thu Jul 9 01:30:37 1998 Joel Sherrill <joel@OARcorp.com>
- Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * config/i386/rtemself.h: Updated to keep in sync with
- config/i386/linux.h.
-
- * configure.in: Added sh-rtemself.
- * configure: Rebuilt.
- * config/sh/rtems.h: Removed -D__ELF__ since it is now COFF.
- * config/sh/rtemself.h: New file.
-
- * config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
-
-Wed Jul 8 21:43:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: Check if the assembler supports ".balign" and
- ".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
- * acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
- * i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
- ".balign" then use it.
-
- * print-rtl.c (print_rtx): Revert previous patch.
-
- * jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
- test if the exit code has an insn with ASM_OPERANDS.
-
- * i386/cygwin32.h (STDIO_PROTO): Fix typo.
- * m32r.h (STDIO_PROTO): Fix typo.
-
- * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses created by
- LEGITIMIZE_RELOAD_ADDRESS.
- * tm.texi (LEGITIMIZE_RELOAD_ADDRESS): Note that this macro must be
- able to handle addresses created by previous invocations of the macro.
-
- * flow.c (find_auto_inc): Remove most recent change. Real bug was
- elsewhere.
-
- * cse.c (count_reg_usage): Count registers used in addresses of
- CLOBBERs.
-
-Wed Jul 8 15:08:29 1998 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge.
-
- * configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h.
-
-1998-07-08 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
- stubs.
-
- * toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
- options.
- * c-decl.c (warn_long_long): Define.
- (c_decode_option): Parse -Wlong-long, -Wno-long-long options.
- (grokdeclarator): Add flag `warn_long_long' as guard for
- warning "ANSI C does not support `long long'".
- * invoke.texi: Add description of options -Wlong-long,
- -Wno-long-long.
- * gcc.1: The same as above.
-
-Wed Jul 8 02:43:34 1998 Jeffrey A Law (law@cygnus.com)
-
- * rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART. If
- either argument is CONSTANT_P, then return zero.
- * reload.c (reg_overlap_mentioned_for_reload_p): Similarly.
-
- * configure.in: Also look at $srcdir/gas/configure to find a
- gas version #.
-
-Wed Jul 8 00:28:22 1998 Carlo Wood <carlo@runaway.xs4all.nl>
-
- * dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS
-
-Tue Jul 7 21:18:14 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate
- definitions from last two patches.
-
-Tue Jul 7 23:03:34 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (choose_reload_regs): Don't set reload_override_in
- if EQUIV is clobbered in INSN and the reload is done after INSN.
-
-Tue Jul 7 21:23:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
- to the first insn of the sequence.
-
-Tue Jul 7 21:05:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * cse.c (cse_insn): Don't make change without validation.
-
-Tue Jul 7 11:40:05 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.md (various zero/sign extension patterns): zero and sign
- extensions which use "sub" clobber cc0.
-
-Tue Jul 7 09:12:08 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Tue Jul 7 10:07:20 1998 Jeffrey A Law (law@cygnus.com)
-
- * print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
-
-Tue Jul 7 08:41:27 1998 Richard Henderson (rth@cygnus.com)
-
- * print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
- is a double.
-
-Tue Jul 7 00:31:58 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Tue Jul 7 01:03:03 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- Support for dllimport and dllexport attributes for i386-pe.
-
- * tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
- (struct tree_decl): Add non_addr_const_p field.
- * tree.c (staticp): Use.
-
- * i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
- attributes.
- (SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
- attributes. Also accept -mwindows option.
- (VALID_MACHINE_DECL_ATTRIBUTE): New macro.
- (MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
- (REDO_SECTION_INFO_P): New macro.
- (DRECTVE_SECTION_FUNCTION): New macro.
- (drectve_section): Cover function to implement above.
- (SWITCH_TO_SECTION_FUNCTION): New macro.
- (switch_to_section): Covert function to implement above.
- (EXTRA_SECTIONS): Add in_drectve.
- (EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
- (ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
- (STRIP_NAME_ENCODING): Handle new attributes.
- (ASM_OUTPUT_LABELREF): New macro.
- (ASM_OUTPUT_FUNCTION_NAME): New macro.
- (ASM_OUTPUT_COMMON): New macro.
- (ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
-
- * i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
- attributes.
-
- * i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
- (i386_pe_merge_decl_attributes): New function.
- (i386_pe_check_vtable_importexport): New function.
- (i386_pe_dllexport_p): New function.
- (i386_pe_dllimport_p): New function.
- (i386_pe_dllexport_name_p): New function.
- (i386_pe_dllimport_name_p): New function.
- (i386_pe_mark_dllexport): New function.
- (i386_pe_mark_dllimport): New function.
- (i386_pe_encode_section_info): New function.
- (i386_pe_unique_section): Strip encoding from name first.
-
-Tue Jul 7 00:50:17 1998 Manfred Hollstein (manfred@s-direktnet.de)
-
- * libgcc2.c (L_exit): Provide a fake for atexit on systems which
- define ON_EXIT but not HAVE_ATEXIT.
-
-Tue Jul 7 00:44:35 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
-
-Tue Jul 7 00:36:41 1998 Ulrich Drepper <drepper@cygnus.com>
-
- * i386.c: Remove random whitespace at end of lines.
-
- * i386.c (ix86_epilogue): For pentium processors, try to deallocate
- 4 or 8 byte stacks with pop instructions instead of an add instruction.
-
-Tue Jul 7 00:30:08 1998 Klaus Kaempf <kkaempf@rmi.de>
-
- * alpha.c: Include tree.h before expr.h.
-
-Mon Jul 6 22:50:48 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * c-parse.in (struct_head, union_head, enum_head): New nonterminals.
- (structsp): Use them. Update files generated from c-parse.in.
- * extend.texi (Type Attributes): Document it.
-
- * c-decl.c: Add warn_multichar.
- (c_decode_option): Handle -Wno-multichar.
- * c-lex.c (yylex): Check it.
- * c-tree.h: Declare it.
- * toplev.c (lang_options): Add it.
- * invoke.texi: Document it.
-
-Mon Jul 6 22:47:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (find_equiv_reg): When looking for stack pointer + const,
- make sure we don't use a stack adjust.
-
- * reload.c (find_equiv_reg): If need_stable_sp is set,
- check if stack pointer is changed directly.
-
- * reload1.c (delete_dead_insn): Don't delete feeding insn
- if that insn has side effects.
-
- * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
- changed.
-
- * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
- precedes RELOAD_FOR_OUTADDR_ADDRESS.
-
- * gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK. Changed
- caller.
-
-Mon Jul 6 22:21:56 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
-
- * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
- testing address registers on the 68000.
-
-Mon Jul 6 22:17:19 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
-
- * i386.c (is_fp_test): Fix thinko.
-
- * jump.c (jump_optimize) Check for CONST_INT before using INTVAL.
-
-Mon Jul 6 22:14:31 1998 Richard Henderson (rth@cygnus.com)
-
- * print-rtl.c (print_rtx): Display the real-value equivalent of
- a const_double when easy.
-
- * real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
- Zero memory first for predictability.
- (REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
- * varasm.c (immed_real_const_1): Notice width of H_W_I == double.
-
- * regclass.c (allocate_reg_info): Initialize the entire reg_data
- virtual array.
-
-Mon Jul 6 22:09:32 1998 Ian Lance Taylor <ian@cygnus.com>
- Jeff Law <law@cygnus.com>
-
-
- * i386/cygwin32.h: Add some declaration of external functions.
- (ASM_DECLARE_FUNCTION_NAME): Define.
- (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
- (ASM_FILE_END): Define.
- * i386/winnt.c (i386_pe_declare_function_type): New function.
- (struct extern_list, extern_head): Define.
- (i386_pe_record_external_function): New function.
- (i386_pe_asm_file_end): New function.
-
- * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
- matching July 18, 1995 change to cccp.c. If -traditional then
- disable cplusplus_comments.
-
-Mon Jul 6 21:28:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * combine.c (expand_compound_operation): Fix thinko in code to optimize
- (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
-
- * Disable the following change from gcc2. Not appropriate for egcs:
-
- Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * reload.c (find_reloads): Give preference to pseudo that was the
- reloaded output of previous insn.
-
-Mon Jul 6 21:07:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
- Instead, define a new macro HAVE_PRINTF_PTR which only signifies
- whether we have the %p format specifier or not.
-
- * acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
-
- * machmode.h (HOST_PTR_PRINTF): When determining the definition,
- check HAVE_PRINTF_PTR to see whether "%p" is okay.
-
- * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
-
- * Makefile.in (mips-tfile.o): Depend on machmode.h.
-
-Mon Jul 6 10:42:05 1998 Mark Mitchell <mark@markmitchell.com>
-
- * jump.c (duplicate_loop_exit_test): Don't refuse to copy a
- section of code just because it contains
- NOTE_INSN_BLOCK_{BEG,END}.
- * stmt.c (expand_end_loop): Likewise. Also, don't refuse to
- move CALL_INSNs or CODE_LABELs. When moving code, don't move
- NOTE_INSN_BLOCK_{BEG,END}.
-
-Mon Jul 6 09:38:15 1998 Mark Mitchell <mark@markmitchell.com>
-
- * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but
- dealing with ADDRESSOF.
- (find_best_addr): Use it.
-
-Mon Jul 6 09:27:08 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
-
-Mon Jul 6 09:25:06 1998 Dave Love <d.love@dl.ac.uk>
-
- * libgcc2.c (__eprintf): Make args consistent with prototype in
- assert.h.
-
-Mon Jul 6 00:28:43 1998 Mark Mitchell <mark@markmitchell.com>
-
- * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
- don't claim that the former is equivalent to the latter.
-
-Sun Jul 5 23:58:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * cse.c (cse_insn): Second arg is an RTX now. Update all callers.
- (cse_basic_block): Keep track of the current RETVAL insn for a
- libcall instead of just noting that we're in a libcall.
-
- * combine.c (simplify_comparison): Do not commute a AND into
- a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
-
- * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
- HAVE_GAS_MAX_SKIP_P2ALIGN.
- * i386/linux.h: Likewise.
-
-Fri Jul 3 02:33:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * sparc.c (sparc_operand, move_operand, arith_operand,
- arith11_operand, arith10_operand, arith_double_operand,
- arith11_double_operand, arith10_double_operand, small_int,
- uns_small_int): Recognize CONSTANT_P_RTX.
- (output_sized_memop, output_move_with_extension,
- output_load_address, output_size_for_block_move,
- output_block_move, delay_operand): Remove, has not been
- enabled or referenced for years.
- * sparc.md (movstrsi, block_move_insn): Likewise.
- * sparc.h (PREDICATE_CODES): Define.
- * linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
- version which uses getcc/setcc traps to save/restore condition
- codes.
- * linux64.h: Likewise.
- * sunos4.h: Likewise.
- * linux.h: Likewise.
- * sol2.h: Likewise.
- * sun4o3.h: Likewise.
-
-Fri Jul 3 02:28:05 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
- lossage on VMS. Reported by kkaempf@rmi.de.
- * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
-
-Thu Jul 2 17:41:14 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
- version.
-
-Thu Jul 2 14:34:48 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * expr.h (STACK_SIZE_MODE): New macro.
- * explow.c (allocate_dynamic_stack_space): Use it for
- mode of allocate_stack pattern increment operand.
- * tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
- * md.texi (stack_save_block, ...): Reflect use of macro.
-
- * rs6000.h (PROMOTE_MODE): Always promote to word_mode.
- (PROMOTE_FUNCTION_ARGS): Define.
- (PROMOTE_FUNCTION_RETURN): Define.
- (FUNCTION_VALUE): Promote to word_mode if smaller.
- Convert to gen_rtx_FOO.
- * rs6000.md (call_indirect): Store doubleword in 64-bit mode.
- Convert to gen_rtx_FOO.
- * rs6000.c: Convert to gen_rtx_FOO.
-
-Thu Jul 2 14:16:11 1998 Michael Meissner <meissner@cygnus.com>
-
- * varray.{c,h}: New files to provide virtual array support.
-
- * Makefile.in (OBJS): Add varray.o.
- (varray.o): Add new file.
- (REGS_H): New variable for dependencies for files including
- regs.h. Add varray.h and files it includes. Change all regs.h
- dependencies to $(REGS_H).
-
- * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
- (xcalloc): Provide frontend for calloc.
- * {tree,rtl}.h (xcalloc): Add declaration.
-
- * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
- varray.
-
- * regs.h (toplevel): Include varray.h.
- (reg_n_info): Switch to use a varray.
- (REG_*): Ditto.
- (allocate_reg_info): Change num_regs argument to be size_t.
-
- * regclass.c (reg_info_data): New structure to remember groups of
- reg_info structures allocated that are to be zeroed.
- ({pref,alt}class_buffer): New statics to hold buffers
- allocate_reg_info allocates for {pref,alt}class_buffer.
- (regclass): Use {pref,alt}class_buffer to initialize
- {pref,alt}class.
- (allocate_reg_info): Switch to make reg_n_info use varrays.
- Allocate buffers for the preferred and alter register class
- information. Change num_regs argument to be size_t, not int.
-
- * flow.c (reg_n_info): Switch to use varrays.
-
-Thu Jul 2 10:11:47 1998 Robert Lipe <robertl@dgii.com>
-
- * install.texi (sco3.2v5): Document new --with-gnu-as flag.
- * config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
- in other targets.
- (USE_GAS): Conditionalize away native assembler usage.
- * config/i386/sco5gas.h: New file.
- * config/i386/t-sco5gas: New file.
- * configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
-
-Thu Jul 2 08:20:00 1998 Catherine Moore <clm@cygnus.com>
-
- * haifa-sched.c (alloc_EXPR_LIST): Change to use
- unused_expr_list.
-
-Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk>
-
- * Makefile.in (install-info): Don't use $realfile. Ignore
- possible errors from the install-info program.
-
-Thu Jul 2 01:53:32 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
-
- * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
-
-Wed Jul 1 23:06:03 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
- (MODES_TIEABLE_P): Tie SImode and HImode.
-
-1998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
-
- * invoke.texi (Optimize Options): Fix typo.
-
-Wed Jul 1 22:25:43 1998 Jim Wilson <wilson@cygnus.com>
-
- * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
- the zero'th block.
-
-Wed Jul 1 23:12:58 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * h8300.c (print_operand): Delete %L support.
- * h8300.md (branch_true, branch_false): Use %= with a prefix
- instead of %L for local branch labels.
-
-Wed Jul 1 21:27:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (emit_reload_insns): Use proper register classes for
- SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
-
-Wed Jul 1 21:17:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (find_reloads): If there are multiple
- RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
- one operand, change RELOAD_FOR_INPADDR_ADDRESS /
- RELOAD_FOR_OUTADDR_ADDRESS for all but the first
- RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
-
-Wed Jul 1 17:23:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
- using its PATTERN.
-
-Wed Jul 1 05:04:41 1998 Richard Henderson <rth@cygnus.com>
-
- * expr.c (emit_group_load, emit_group_store): Rewrite considering
- the size and alignment of the structure being manipulated.
- * expr.c, calls.c, function.c: Update all callers.
- * expr.h: Update prototypes.
- * cse.c (invalidate): Cope with parallels.
-
-Wed Jul 1 04:22:23 1998 Richard Henderson <rth@cygnus.com>
-
- * sparc.c (function_arg_record_value): Take a MODE arg with which to
- create the PARALLEL. Update all callers.
-
-Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com>
-
- * expr.c (expand_assignment, store_constructor, expand_expr): Use
- convert_memory_address instead of convert_to_mode when possible.
-
-Wed Jul 1 03:48:00 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_initialize_trampoline): Take arguments describing
- the layout. Use ptr_mode. Disable hint generation. Use gen_imb.
- * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
- (TRANSFER_FROM_TRAMPOLINE): Move ...
- * alpha/osf.h: ... here.
- * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
- (TRANSFER_FROM_TRAMPOLINE): Remove undef.
- * alpha/win-nt.h: Likewise.
- * alpha/vxworks.h: Likewise.
-
- * alpha/linux.h: Revert gcc2 merge lossage.
-
-Wed Jul 1 10:56:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-decl.c (grokdeclarator): Don't warn about implicit int in
- `typedef foo = bar'.
-
-Wed Jul 1 02:12:33 1998 Robert Lipe <robertl@dgii.com>
-
- * i386.c (asm_output_function_prefix): Make 686 function
- prologues not issue .types for non-global lables.
-
-Tue Jun 30 23:46:53 1998 Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
-
- * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
- (WCHAR_TYPE_SIZE): Update appropriately.
-
-Tue Jun 30 23:16:39 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (recompute_reg_usage): Does not return a value.
- * rtl.h (recompute_reg_usage): Update prototype.
-
- * jump.c (jump_optimize): Show that the jump chain is not
- valid when not optimizing.
-
-Tue Jun 30 16:01:01 1998 Richard Henderson <rth@cygnus.com>
-
- * rtl.def (CONSTANT_P_RTX): New.
- * rtl.h (CONSTANT_P): Recognize it.
- * cse.c (fold_rtx): Eliminate it.
- * expr.c (can_handle_constant_p): New variable.
- (init_expr_once): Initialize it.
- (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
- immediately recognizable as a constant.
-
- * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
- (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
- (sext_add_operand, and_operand, or_operand): Likewise.
- (reg_or_cint_operand, some_operand, input_operand): Likewise.
- * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
-
-1998-06-30 Benjamin Kosnik <bkoz@bliss.nabi.net>
-
- * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
-
-Tue Jun 30 14:03:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
- argument, which is typically preprocessor code used to draw in
- additional header files when looking for a function declaration.
- (GCC_NEED_DECLARATIONS): Likewise.
-
- * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
- and setrlimit, search for them in sys/resource.h.
-
- * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
- NEED_DECLARATION_SETRLIMIT.
-
- * system.h: Prototype getrlimit/setrlimit if necessary.
-
-Tue Jun 30 10:54:48 1998 Mark Mitchell <mark@markmitchell.com>
-
- * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
- upon.
-
-Tue Jun 30 13:11:42 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * rs6000/sysv4.h (asm output): add tabs for asm directives.
-
-Tue Jun 30 13:11:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
-
-Tue Jun 30 08:59:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
- Don't define NULL here. Also, remove all vestiges of autoconf
- based checks for bcmp/bcopy/bzero/index/rindex.
-
- * system.h: Immediately after including stdio.h, check for and if
- necessary provide a default definition of NULL.
-
-Tue Jun 30 08:22:05 1998 Michael Meissner <meissner@cygnus.com>
-
- * reload1.c (reload_cse_simplify_operands): Call
- fatal_insn_not_found, not abort.
-
-Tue Jun 30 02:34:02 1998 Jeffrey A Law (law@cygnus.com)
-
- * choose-temp.c (make_temp_file): Accept new argument for the
- file suffix to use. Allocate space for it and add it to the
- template.
- * mkstemp.c (mkstemps): Renamed from mkstemp. Accept new argument
- for the length of the suffix. Update template struture checks
- to handle optinal suffix.
- * collect2.c (make_temp_file): Update prototype.
- (main): Put proper suffixes on temporary files.
- * gcc.c (make_temp_file): Update prototype.
- (do_spec_1): Put proper suffixes on temporary files.
-
-Tue Jun 30 00:56:19 1998 Bruno Haible <haible@ilog.fr>
-
- * invoke.texi: Document new implicit structure initialization
- warning.
-
-Mon Jun 29 21:40:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * toplev.c (flag_dump_unnumbered): Declare.
- (f_options): Add dump-unnumbered.
- * print-rtl.c (flag_dump_unnumbered): Define.
- (print_rtx): Print only '#' for insn numbers if flag_dump_unnumbered
- is nonzero.
- (print_rtl): Don't output line number notes if flag_dump_unnumbered
- is nonzero.
- * flow.c (print_rtl_with_bb): Don't output newline after line
- numbers note if flag_dump_unnumbered is nonzero.
-
-Mon Jun 29 22:12:06 1998 Jeffrey A Law (law@cygnus.com)
-
- * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
- details.
-
- * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
-
-Mon Jun 29 20:12:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
-
- * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
- void since it is evaluated in a comma list.
-
- * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
- argument as a long and cast `NUM' to long to ensure it is of the
- proper width. Wrap macro arguments in parens when they appear in
- the expansion.
-
- * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
-
- * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
- function argument return type.
- (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
- REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
-
- * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
- cpp_message.
-
- * dbxout.c: Fix the comments after an #endif to reflect the actual
- condition tested in the preceding #if.
-
- * except.c (find_all_handler_type_matches): Switch to old-style
- function definition.
-
- * expr.c (expand_builtin): Remove unused variable `type' twice.
-
- * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
- to an unsigned long.
-
- * haifa-sched.c (print_insn_chain): Remove unused function.
-
- * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
- definition.
-
- * toplev.c: When testing whether to include dbxout.h, also include
- it when XCOFF_DEBUGGING_INFO is defined.
-
- * unroll.c (unroll_loop): Add parentheses around assignment used
- as truth value.
-
-Mon Jun 29 12:18:00 1998 Catherine Moore <clm@cygnus.com>
-
- * config/lb1spc.asm (.div, .udiv): Replace routines.
-
-Mon Jun 29 09:44:24 1998 Mark Mitchell <mark@markmitchell.com>
-
- * rtl.h: Update comment about special gen_rtx variants.
- * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
-
-Sun Jun 28 20:58:51 1998 Jeffrey A Law (law@cygnus.com)
-
- * choose-temp.c (choose_temp_base): Restore original variant of
- this function for compatibility.
- (make_temp_file): This is the new, preferred interface to create
- temporary files.
- * collect2.c (choose_temp_base): Delete declaration.
- (make_temp_file): Declare.
- (temp_filename_length, temp_filename): Delete.
- (main): Use make_temp_file to get temporary files. Use --lang-c
- to force the resulting ctort/dtor file to be compiled with the C
- compiler. Make sure to remove temporary files on all exit paths.
- * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
- defined.
- (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
- not defined.
- (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
-
-Sun Jun 28 08:57:09 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
- getwd.
-
- * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
- NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
-
- * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
- (my_strerror): Add prototype and make it static.
-
- * collect2.c: Likewise.
-
- * cpplib.c: Likewise.
-
- * gcc.c: Likewise, but keep `my_strerror' extern.
-
- * protoize.c: Likewise.
-
- * pexecute.c (my_strerror): Add argument to prototype.
-
- * system.h: Add prototypes for getcwd, getwd and strerror. Add
- extern decls for sys_nerr and sys_errlist. Make abort decl
- explicitly extern.
-
- * getpwd.c: Remove decls for getwd and getcwd.
-
-Sun Jun 28 02:11:16 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Jun 27 23:32:25 1998 Richard Henderson <rth@cygnus.com>
-
- * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
- of rtx_unsafe_p. Use modified_between_p instead of reg_set_between_p.
- Allow FP moves to be optimized.
- (rtx_unsafe_p): Delete.
-
-Sat Jun 27 23:02:04 1998 Richard Henderson <rth@cygnus.com>
-
- * objc/archive.c: Remove <string.h> prototypes.
-
-Sat Jun 27 22:37:05 1998 Jeffrey A Law (law@cygnus.com)
-
- * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
-
- * Makefile.in (gencheck): Remove $(TREE_H) dependency.
-
-Sat Jun 27 20:20:00 1998 John Carr <jfc@mit.edu>
-
- * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
- * dsp16xx.c (next_cc_user_unsigned): New function.
- Remove save_next_cc_user_code.
- (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
- * dsp16xx.md: Call next_cc_user_unsigned instead of using
- save_next_cc_user_code.
- Use gen_rtx_* functions instead of gen_rtx.
-
-Sat Jun 27 20:18:34 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
-
-Sat Jun 27 16:45:42 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (count_reg_sets): New function.
- (count_reg_sets_1, count_ref_references): Likewise.
- (recompute_reg_usage): Likewise.
- * rtl.h (recompute_reg_usage): Add prototype.
- * toplev.c (rest_of_compilation): Call recompute_reg_usage just
- before local register allocation.
-
-Sat Jun 27 13:15:30 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (negsf, negdf): Revert Jan 22 change.
-
-Sat Jun 27 07:35:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * mkstemp.c: Include gansidecl.h. Rename uint64_t to gcc_uint64_t.
- (mkstemp): Remove size specifier for variable `letters'. Call
- gettimeofday, not __gettimeofday.
-
- * Makefile.in (EXPR_H): New dependency variable.
- (c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
- (c-iterate.o): Likewise.
- (gencheck): Depend on $(TREE_H) instead of tree.h, etc.
- (stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
- (toplev.o): Likewise. Also depend on $(RECOG_H) instead of recog.h.
- (varasm.o): Depend on $(EXPR_H) instead of expr.h.
- (function.o): Likewise.
- (stmt.o): Likewise.
- (except.o): Likewise.
- (expr.o): Likewise.
- (calls.o): Likewise.
- (expmed.o): Likewise.
- (explow.o): Likewise.
- (optabs.o): Likewise.
- (sdbout.o): Likewise.
- (dwarf2out.o): Likewise.
- (emit-rtl.o): Likewise.
- (integrate.o): Likewise.
- (jump.o): Likewise.
- (cse.o): Likewise.
- (gcse.o): Likewise. Also depend on $(BASIC_BLOCK_H) instead of
- basic-block.h.
- (loop.o): Depend on $(EXPR_H) instead of expr.h.
- (unroll.o): Likewise.
- (combine.o): Likewise.
- (reload.o): Likewise.
- (reload1.o): Likewise.
- (caller-save.o): Likewise.
- (reorg.o): Likewise.
- (alias.o): Don't depend on insn-codes.h.
- (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
- (insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
- (insn-opinit.o): Likewise.
-
-Sat Jun 27 01:35:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * choose-temp.c (choose_temp_base): Remove MPW bits. Use mkstemp
- instead of mktemp.
- * gcc.c (MKTEMP_EACH_FILE): Define.
- (main): No need to call choose_temp_base if we are going to
- use choose_temp_base to create each file later.
- * mkstemp.c: New file. Adapted from glibc.
- * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o
- (mkstemp.o): Add dependencies.
-
- * configure.in (gettimeofday): Check for its existance.
- * config.in (HAVE_GETTIMEOFDAY): Define.
- * configure: Rebuilt.
-
-1998-06-26 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (ne 0, non power case): Add missing & constraint.
- Name pattern ne0.
- (negative abs insns): Add pattern names.
-
-Fri Jun 26 17:36:42 1998 Dave Love <d.love@dl.ac.uk>
-
- * Makefile.in (install-info): Run install-info program in separate
- loop.
-
-Fri Jun 26 16:03:15 1998 Michael Meissner <meissner@cygnus.com>
-
- * haifa-sched.c (schedule_block): Add hooks for the machine
- description to reorder the ready list, and update how many more
- instructions can be issued this cycle.
- * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
-
-Fri Jun 26 11:54:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
- Explicitly mark the constant being compared against as unsigned.
- * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
- Fully initialize final members.
- (mem_aligned_8): Explicit init of offset to zero.
- (output_function_prologue): Explicit init of n_regs to zero.
- (output_function_epilogue): Likewise, and mark arg size as
- unused.
- (init_cumulative_args): Mark libname and indirect as unused.
- (function_arg_pass_by_reference): Likewise for cum and named.
- (sparc_builtin_saveregs): Likewise for arglist.
- (sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
-
-Fri Jun 26 06:58:54 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
- if reloading a MEM.
-
- * arm.h (arm_adjust_cost): Renamed bogus prototype from
- arm_adjust_code.
- (bad_signed_byte_operand): Add prototype.
- * arm.c (arm_override_options): Make I unsigned.
- (const_ok_for_arm): Add casts to the constants.
- (load_multiple_operation): Don't redeclare elt in sub-block.
- (arm_gen_movstrqi): Delete external declaration of optimize.
- (gen_compare_reg): Declare parameter fp.
-
- * arm.c (final_prescan_insn): Only initialize scanbody if the insn
- has a pattern.
-
-Fri Jun 26 09:31:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * alpha.c: Include system.h and toplev.h.
- (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
- (const48_operand): Likewise.
- (mode_width_operand): Likewise.
- (mode_mask_operand): Likewise.
- (mul8_operand): Likewise.
- (current_file_function_operand): Likewise.
- (signed_comparison_operator): Likewise.
- (divmod_operator): Likewise.
- (any_memory_operand): Likewise.
- (alpha_return_addr): Likewise for parameter `frame'.
- (alpha_builtin_saveregs): Likewise for parameter `arglist'.
- (vms_valid_decl_attribute_p): Likewise for parameters `decl' and
- `attributes'.
- (alpha_start_function): Likewise for parameter `decl'. Use
- HOST_WIDE_INT_PRINT_DEC in call to fprintf. Fix various format
- specifiers. Remove unused variables `lab' and `name'.
- (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
- (check_float_value): Likewise for parameter `overflow'.
- (alpha_need_linkage): Likewise for parameters `name' and `is_local'.
-
- * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
- taking an argument.
- (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
- (ASM_OUTPUT_CHAR): Likewise.
- (ASM_OUTPUT_BYTE): Likewise.
- (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
- fprintf.
- (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
- Add prototypes for functions in alpha.c.
-
- * alpha.md (ashldi3): Add default case in switch.
-
-1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (gcc_version, gcc_version_trigger): New macros.
- (version): Initialize from $(gcc_version).
-
- * configure.in (version): Rename to gcc_version.
- (gcc_version_trigger): New variable; call AC_SUBST for it and
- emit it into the generated config.status.
- * configure: Regenerate.
-
-Thu Jun 25 12:47:41 1998 Mark Mitchell <mark@markmitchell.com>
-
- * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
- nodes that are not expressions.
-
-Thu Jun 25 15:08:16 1998 Mark Mitchell <mark@markmitchell.com>
-
- * invoke.texi (-fstrict-aliasing): Document.
- * rtl.texi (MEM_ALIAS_SET): Document.
-
- * flags.h (flag_strict_aliasing): Declare.
- * toplev.c (flag_strict_aliasing): Define.
- (f_options): Add -strict-aliasing.
- (main): Set flag_strict_aliasing if -O2 or higher.
-
- * tree.h (tree_type): Add alias_set field.
- (TYPE_ALIAS_SET): New macro.
- (TYPE_ALIAS_SET_KNOWN_P): Likewise.
- (get_alias_set): Declare.
- * tree.c (lang_get_alias_set): Define.
- (make_node): Initialize TYPE_ALIAS_SET.
- (get_alias_set): New function.
- * print-tree.c (print_node): Dump the alias set for a type.
-
- * c-tree.h (c_get_alias_set): Declare.
- * c-common.c (c_get_alias_set): New function.
- * c-decl.c (init_decl_processing): Set lang_get_alias_set.
-
- * expr.c (protect_from_queue): Propogage alias sets.
- (expand_assignment): Calculate alias set for new MEMs.
- (expand_expr): Likewise.
- * function.c (put_var_into_stack): Likewise.
- (put_reg_into_stack): Likewise.
- (gen_mem_addressof): Likewise.
- (assign_parms): Likewise.
- * stmt.c (expand_decl): Likewise.
- * varasm.c (make_decl_rtl): Eliminate redundant clearing of
- DECL_RTL. Calculate alias set for new MEMs.
-
- * rtl.def (REG): Add dummy operand.
- (MEM): Add extra operand to store the MEM_ALIAS_SET.
- * rtl.h (MEM_ALIAS_SET): New macro.
- (gen_rtx_MEM): Declare.
- * emit-rtl.c (gen_rtx_MEM): New function.
- * gengenrtl.c (sepcial_rtx): Make MEMs special.
-
- * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
- (DIFFERENT_ALIAS_SETS_P): Likewise.
- (canon_rtx): Propogate the alias set to the new MEM.
- (true_dependence): Check the alias sets.
- (anti_dependence): Likewise.
- (output_dependence): Likewise.
- * explow.c (stabilize): Progoate alias sets.
- * integrate.c (copy_rtx_and_substitute): Likewise.
- * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
- in an unpredictable state. Propogate alias sets.
- * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
- we have no alias information.
-
-Thu Jun 25 16:59:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
- (find_all_handler_type_matches): Add function prototype.
- * eh-common.h (CATCH_ALL_TYPE): Definition added.
- * except.c (find_all_handler_type_matches): Add function to find all
- runtime type info in the exception table.
- (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
-
-Thu Jun 25 15:47:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
-
- * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
- `yhigh' and `bit' into the scope in which they are used.
- (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
- `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
-
- * rs6000.c: Move include of output.h below tree.h. Include toplev.h.
- (any_operand): Mark unused parameters `op' and `mode' with
- ATTRIBUTE_UNUSED.
- (count_register_operand): Likewise for parameter `mode'.
- (fpmem_operand): Likewise.
- (short_cint_operand): Likewise.
- (u_short_cint_operand): Likewise.
- (non_short_cint_operand): Likewise.
- (got_operand): Likewise.
- (got_no_const_operand): Likewise.
- (non_add_cint_operand): Likewise.
- (non_logical_cint_operand): Likewise.
- (mask_operand): Likewise.
- (current_file_function_operand): Likewise.
- (small_data_operand): Likewise for parameters `op' and `mode' but
- only when !TARGET_ELF.
- (init_cumulative_args): Mark parameters `libname' with
- ATTRIBUTE_UNUSED.
- (function_arg_pass_by_reference): Likewise for parameters `cum',
- `mode' and `named'.
- (expand_builtin_saveregs): Likewise for parameter `args'.
- (load_multiple_operation): Likewise for parameter `mode'.
- (store_multiple_operation): Likewise.
- (branch_comparison_operator): Likewise.
- (secondary_reload_class): Likewise.
- (print_operand): Add parentheses around & operation.
- (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
- (output_epilog): Likewise. Cast argument to fprintf to int.
- (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
- (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
- `attributes', `identifier' and `args'.
- (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
- (rs6000_comp_type_attributes): Likewise for parameters `type1' and
- `type2'.
- (rs6000_set_default_type_attributes): Likewise for parameter `type'.
-
- * rs6000.h (RTX_COSTS): Add parentheses around & operation.
- (toc_section, private_data_section, trap_comparison_operator): Add
- prototypes.
-
- * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
- prototypes.
-
- * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
-
- * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
- xcoffout_begin_block, xcoffout_end_epilogue,
- xcoffout_end_function, xcoffout_end_block,
- xcoff_output_standard_types, xcoffout_declare_function,
- xcoffout_source_line): Add prototypes.
-
-Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
- noticed by grahams@rcp.co.uk.
-
-Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com>
-
- * gcc.c (default_compilers): Use new | syntax to eliminate
- string concatenation.
-
-Thu Jun 25 01:00:48 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_function_name): Delete.
- (alpha_ra_ever_killed): Notice current_function_is_thunk.
- (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
- (alpha_start_function): Reorg from output_prologue.
- (alpha_end_function): Reorg from output_epilogue.
- * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
- (ASM_DECLARE_FUNCTION_SIZE): New.
- (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
- (PROFILE_BEFORE_PROLOGUE): Set.
- (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
- * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
-
-Thu Jun 25 01:18:47 1998 John Wehle (john@feith.com)
-
- * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
-
-1998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * expr.c (expand_assignment): Rework address calculation for structure
- field members to expose more invariant computations to the loop
- optimizer.
- (expand_expr): Likewise.
-
-Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com)
-
- * local-alloc.c (block_alloc): Do not try to avoid false dependencies
- when SMALL_REGISTER_CLASSES is nonzero.
-
-Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de>
-
- * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
-
-Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu>
-
- * expr.c (get_memory_rtx): New function.
- (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
- string functions.
-
- * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
-
- * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
- * expr.c: Likewise.
- * explow.c: Likewise.
- * combine.c: Likewise.
- * reload1.c: Likewise.
- * gcse.c: Likewise.
-
-Wed Jun 24 15:13:01 1998 Dave Brolley <brolley@cygnus.com>
-
- * README.gnat: Add patch for new lang_decode_options interface.
-
-Wed Jun 24 09:14:04 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * except.c (start_catch_handler): Do nothing if EH is not on.
-
-1998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
-
- * configure.in (gxx_include_dir): Initialize default value depending on
- new flag --enable-version-specific-runtime-libs; remove superfluous
- default initialization afterwards.
- * configure: Regenerate.
-
-Wed Jun 24 01:32:12 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * toplev.c (rest_of_compilation): Revert May 15 change.
-
-Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * reload.c (find_reloads): Fix check for failure to match any
- alternative, to account for Mar 26 change in initial "best" cost.
-
-Tue Jun 23 16:44:21 1998 Dave Brolley <brolley@cygnus.com>
-
- * cpplib.c (do_line): Typo broke #line directive.
- (cpp_message_from_errno): New function.
- (cpp_error_from_errno): Call cpp_message_from_errno.
- * cpplib.h (cpp_message_from_errno): New function.
-
-Tue Jun 23 13:38:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
- functions to return exception descriptor information.
- (find_exception_handler): Pass match_info field to runtime matcher,
- not a descriptor table entry.
-
-Tue Jun 23 09:30:58 1998 Dave Love <d.love@dl.ac.uk>
-
- * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
- accompany previous Makefile.in (install-info) change.
-
-Tue Jun 23 10:06:07 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * eh-common.h (struct __eh_info): Remove coerced value field.
- * libgcc2.c (find_exception_handler): Don't set coerced_value field.
- * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
- POINTER_SIZE instead of Pmode.
- (expand_start_all_catch): Call start_catch_handler() if we are not
- using new style exceptions.
-
-Tue Jun 23 06:45:00 1998 Catherine Moore <clm@cygnus.com>
-
- * varasm.c (assemble_variable): Remove reference to warn_bss_align.
-
-Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
- extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
- subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
- splits and peepholes): Change remaining generic gen_rtx calls to
- specific genrtl ones.
- * config/sparc/sparc.c: Likewise.
-
-Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com>
-
- * gcc.c (handle_braces): Recognize | between options as an or.
-
-Mon Jun 22 23:13:47 1998 John Wehle (john@feith.com)
-
- * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
- * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
-
- * i386.md (exception_receiver): Define.
-
-Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
- PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
- (install-common): Use them.
-
- * gcse.c (add_label_notes): New function.
- (pre_insert_insn): Call it.
- * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
- pass the label to set_label_in_map.
-
-Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk>
-
- * Makefile.in (install-info): Fix typpo in previous change.
-
-Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com>
-
- * varasm.c (assemble_variable): Emit alignment warning.
-
-Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (varasm.o): Depend on sdbout.h.
- (sdbout.o): Depend on toplev.h.
-
- * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
- use %ld specifier.
-
- * final.c (shorten_branches): Cast first arg of `bzero' to char *.
-
- * genextract.c (main): When creating insn-extract.c, mark variable
- `i' with ATTRIBUTE_UNUSED.
-
- * genpeep.c (main): When creating insn-peep.c, mark variables
- `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
-
- * objc/init.c (__objc_tree_print): Wrap function definition in
- macro `DEBUG'.
-
- * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
- and use %ld specifier.
- (adorn_decl): Likewise, twice.
-
- * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
-
- * sdbout.c: Include output.h and toplev.h.
- (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
- `a'. Cast `a' to HOST_WIDE_INT to force it to always be so.
- (PUT_SDB_SIZE): Likewise.
-
- * sdbout.h (sdbout_mark_begin_function): Add prototype.
-
- * stmt.c (check_for_full_enumeration_handling): Cast argument of
- `warning' to long and use %ld specifier.
-
- * toplev.c (main): Likewise for `fprintf'.
-
- * toplev.h (output_file_directive): Add prototype.
-
- * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
- call to `fprintf'.
- (precondition_loop_p): Likewise.
-
- * varasm.c Include sdbout.h.
- (assemble_static_space): Move sometimes-unused variable `rounded'
- into the scope in which it is used.
-
- * mips.c (gpr_mode): Don't say `static' twice.
-
- * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
-
- * objc/objc-act.c (init_selector): Hide prototype and definition.
-
- * optabs.c (gen_cond_trap): Remove unused variable `icode'.
-
- * regmove.c (copy_src_to_dest): Likewise for `i'.
-
- * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
- (add_ext_symbol): Likewise.
- (add_file): Likewise.
- (parse_def): Likewise.
- (write_varray): Use HOST_PTR_PRINTF to print a pointer. Fix
- remaining format specifiers and arguments.
- (write_object): Likewise, several times.
- (read_seek): Likewise.
- (out_of_bounds): Likewise.
- (allocate_cluster): Likewise.
- (xmalloc): Likewise.
- (xcalloc): Likewise.
- (xrealloc): Likewise.
- (xfree): Likewise.
-
- * mips-tdump.c (print_symbol): Likewise.
-
-Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk>
-
- * Makefile.in (install-info): Use install-info program if
- available, per GNU standard.
-
-Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com)
-
- * invoke.texi: Document -mrelax for the mn10300 and mn10200.
-
- * basic-block.h (init_regset_vector): Delete declaration.
- * flow.c (init_regset_vector): Make it static and add a prototype.
-
- * bitmap.h (debug_bitmap): Declare.
-
- * haifa-sched.c (debug_ready_list): Make static.
-
- * toplev.h (fancy_abort): Declare.
-
-Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org)
-
- * basic-block.h (init_regset_vector): New declaration.
-
- * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
-
- * global.c: Include machmode.h amd move hard-reg-set.h before
- rtl.h.
-
- * haifa-sched.c (insn_issue_delay, birthing_insn_p,
- adjust_priority, print_insn_chaino): New declaration.
- (schedule_insns): Remove declaration.
- (init_target_units, get_visual_tbl_length,
- init_block_visualization): Add prototype.
-
- * integrate.c (pushdecl, poplevel): Remove declaration.
-
- * rtl.h (expand_expr): Remove declaration.
-
- * loop.c (oballoc): Remove declaration.
- (replace_call_address): Add prototype.
-
-Sun Jun 21 01:08:17 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
-
- * i386.c (output_fp_conditional_move): Don't bother handling
- (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
- prevent this from happening.
-
- * i386.md (nonlocal_goto_receiver): Delete.
-
-Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
-
- * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
- -DCRTSTUFFS_O.
- (INSTALL): cd $(srcdir) before make.
-
- * flow.c (allocate_for_life_analysis, init_regset_vector):
- Remove declaration.
-
- * function.h (get_first_block_beg): New declaration.
-
- * gbl-ctors.h (__do_global_dtors): Add prototype.
-
- * gcov-io.h (__fetch_long): New declaration.
- (__store_long): Likewise.
- (__read_long): Likewise.
- (__write_long): Likewise.
-
- * gcov.c (print_usage): New declaration.
-
- * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
-
-Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com)
-
- * calls.c (expand_call): Initialize "src" and "dest".
- * stmt.c (expand_return): Likewise.
- * expmed.c (extract_split_bit_field): Similarly for "result"
- * gcse.c (compute_hash_table): Mark first arg as unused.
- * jump.c (jump_optimize): Initialize reversep.
- * tree.c (make_node): Initialize length.
-
- * c-common.c (check_format_info): Initialize length_char and
- fci to keep -Wall quiet.
-
- * except.c (jumpif_rtx): Put declaration and definition
- inside a suitable #ifdef.
- (jumpifnot_rtx): Delete dead function.
-
- * i386.h (output_int_conditional_move): Declare.
- (output_fp_conditional_move): Likewise.
- (ix86_can_use_return_insn_p): Likewise.
-
- * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
-
-Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk>
-
- * alias.c: Include toplev.h
- * caller-save.c: Include toplev.h
- * combine.c: Include toplev.h
- * flow.c Include toplev.h
- * global.c: Include toplev.h
- * jump.c: Include toplev.h
- * local-alloc.c: Include toplev.h
- * loop.c: Include toplev.h
- * regmove.c: Include toplev.h
- * stupid.c: Include toplev.h
- * unroll.c: Include toplev.h
- * Makefile.in: Add toplev.h dependencies.
-
-Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * regmove.c (copy_src_to_dest): Add decl for loop_depth.
-
- * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
- * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
- Add parens to various macros.
-
-Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * c-typeck.c (pop_init_level): Warn about implicit zero initialization
- of struct members.
-
-Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * varasm.c (assemble_start_function): Add weak_global_object_name.
- * tree.c (get_file_function_name): Use it.
-
-Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * except.c (jumpif_rtx): Make static and add prototype.
- (jumpifnot_rtx): Likewise.
-
- * README.gnat: Add a build patch from Fred Fish.
-
- * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
-
- * Makefile.in (c-iterate.o): Depend on expr.h.
-
-Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org)
-
- * except.h (emit_unwinder, end_eh_unwinder): Removed.
-
- * dwarfout.c (getpwd): Add prototype.
- (is_pseudo_reg, type_main_variant, is_tagged_type,
- is_redundant_typedef): New declaration.
- (output_decl): Add prototype for FUNC.
- (type_main_variant): Make it static.
- (is_tagged_type): Likewise.
- (is_redundant_typedef): Likewise.
-
- * expr.c (do_jump_by_parts_greater_rtx): Removed.
- (truthvalue_conversion): Likewise.
-
- * c-iterate.c: Include "expr.h".
- (expand_expr): Use proper values when calling the function.
-
- * explow.c (emit_stack_save): Add prototype for FCN.
- (emit_stack_restore): Likewise.
-
- * dwarf2out.c (getpwd): Add prototype.
-
- * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
-
- * c-typeck.c (c_expand_asm_operands): Use proper values when calling
- expand_expr.
-
- * c-lex.c (yyprint): Add prototype.
- (check_newline, build_objc_string): Remove declaration.
-
- * c-tree.h (comptypes_record_hook): Removed.
- (finish_incomplete_decl): New prototype.
-
- * alias.c (find_base_value): Add prototype.
- (true_dependence): Add prototype for function argument.
-
- * c-aux-info.c (xmalloc): Remove declaration.
-
-Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com>
-
- * i386.c: Include system.h. Remove redundant includes.
- (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
- (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
- 'identifier', 'args'.
- (i386_valid_type_attribute_p): Likewise for 'attributes'.
- (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
- (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
- and 'named'.
- (symbolic_operand): Likewise for 'mode'.
- (call_insn_operand): Likewise.
- (expander_call_insn_operand): Likewise.
- (ix86_logical_operator): Likewise.
- (ix86_binary_operator_ok): Likewise.
- (emit_pic_move): Likewise.
- (VOIDmode_compare_op): Likewise.
- (is_mul): Likewise.
- (str_immediate_operand): Likewise.
- (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
- (asm_output_function_prefix): Likewise for 'name'.
- (function_prologue): Likewise for 'file', and 'size'.
- (function_epilogue): Likewise.
-
-1998-06-19 Jim Wilson <wilson@cygnus.com>
-
- * loop.h (struct induction): Clarify comment for unrolled field.
- * unroll.c (find_splittable_givs): Move set of unrolled field
- after address validity check.
-
-Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com>
-
- * config/fp-bit.c (INLINE): Only define if not already defined.
-
-1998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (installdirs): Loop over directories in $(libsubdir)
- creating probably missing ones, instead of single if statements.
-
-Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-common.c (truthvalue_conversion): Protect side effects in the
- expression when splitting a complex value.
- * fold-const.c (fold): Likewise.
-
-Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de)
-
- * cccp.c (hack_vms_include_specification): rewrite to handle
- '#include <dir/file.h>' correctly.
-
-Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org)
-
- * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
-
-Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
-
- * i386.c (notice_update_cc): Integer conditional moves don't
- affect cc0.
-
- * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
- to support LT, LE, GE, and GT signed integer comparisons.
- (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
- movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
- is LT, LE, GE, or GT.
- (movdicc): Remove code resulting from an earlier patch which
- didn't apply correctly.
-
-Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
- consider a MEM in FP mode as equal.
-
-Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com)
-
- * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
- duplicate declarations of a function.
-
-Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org)
-
- * config/float-i386.h: New.
-
- * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
-
-Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com>
-
- * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
- indexed arrays. Call free at the end of the function for them.
- * haifa-sched.c (schedule_insns): Likewise.
-
-Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (size_of_string): Do count backslashes.
-
-Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
- addressing when one register is the frame pointer or stack
- pointer. Disallow REG+CONST addressing in HI mode.
-
-Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
- RELOAD_FOR_INSN.
-
-Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (c-lang.o): Depend on output.h.
-
- * c-lang.c: Include output.h.
-
- * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
-
- * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
-
- * genrecog.c (write_subroutine): When writing insn-recog.c, mark
- variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
- with ATTRIBUTE_UNUSED.
-
- * regmove.c (copy_src_to_dest): Make function static to match its
- prototype.
-
- * reload1.c Include hard-reg-set.h before rtl.h to get macro
- HARD_CONST. Include machmode.h before hard-reg-set.h.
-
- * rtl.h: Prototype `retry_global_alloc' and wrap with macro
- HARD_CONST to protect usage of typedef HARD_REG_SET.
-
- * tree.c: Prototype `_obstack_allocated_p'.
-
- * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
- BSS_SECTION_ASM_OP.
-
-Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * pa.c: Include system.h and toplev.h. Remove redundant code.
- (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
- (symbolic_operand): Likewise.
- (symbolic_memory_operand): Likewise.
- (pic_label_operand): Likewise.
- (fp_reg_operand): Likewise.
- (pre_cint_operand): Likewise.
- (post_cint_operand): Likewise.
- (ireg_or_int5_operand): Likewise.
- (int5_operand): Likewise.
- (uint5_operand): Likewise.
- (int11_operand): Likewise.
- (uint32_operand): Likewise.
- (ior_operand): Likewise.
- (lhs_lshift_cint_operand): Likewise.
- (pc_or_label_operand): Likewise.
- (legitimize_pic_address): Likewise.
- (hppa_legitimize_address): Likewise for parameter `old'.
- (output_block_move): Likewise for parameter `size_is_constant'.
- (output_function_prologue): Likewise for parameter `size'.
- (output_function_epilogue): Likewise.
- (return_addr_rtx): Likewise for parameter `count'.
- (output_mul_insn): Likewise for parameter `unsignedp'.
- (hppa_builtin_saveregs): Likewise for parameter `arglist'.
- (output_bb): Likewise for parameter `operands'.
- (output_bvb): Likewise.
- (function_label_operand): Likewise for parameter `mode'.
- (plus_xor_ior_operator): Likewise.
- (shadd_operand): Likewise.
- (non_hard_reg_operand): Likewise.
- (eq_neq_comparison_operator): Likewise.
- (movb_comparison_operator): Likewise.
- (pa_combine_instructions): Likewise for parameter `insns'.
-
- * pa.h: Add prototypes for functions `output_deferred_plabels',
- `override_options', `output_ascii', `output_function_prologue',
- `output_function_epilogue', `print_operand',
- `symbolic_expression_p', `reloc_needed', `compute_frame_size',
- `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
- `pa_adjust_cost', `pa_adjust_insn_length' and
- `secondary_reload_class'.
-
-Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * configure.in: Don't turn on collect2 unconditionally.
-
-Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com>
-
- * cse.c (cse_basic_block): Don't include NOTE insns in the count
- that is used to decide whether or not it is time to erase the
- equivalence table.
-
-Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
-
-Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu>
-
- * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
- (sched_analyze_2): Allow scheduling TRAP_IF.
-
- * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
-
- * rtl.h (TRAP_CODE): New macro.
-
- * rtl.def (TRAP_IF): Change second operand type to rtx.
-
- * optabs.c (gen_cond_trap): New function.
- (init_traps): New function.
- (init_optabs): Call init_traps.
- * expr.h: Declare gen_cond_trap.
-
- * jump.c (jump_optimize): Optimize jumps to and around traps.
-
- * sparc.md: Define trap instructions.
-
- * rs6000.md: Define trap instructions.
- * rs6000.c (print_operand): New code 'V' for trap condition.
- (trap_comparison_operator): New function.
-
- * m88k.md: Update use of TRAP_IF.
-
- * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
- * c-decl.c (init_decl_processing): New builtin __builtin_trap.
- * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
-
- * expr.c (expand_builtin): Error if __builtin_longjmp second argument
- is not 1.
-
-Wed Jun 17 15:20:00 PDT 1998 Catherine Moore <clm@cygnus.com>
-
- * reload1.c (spill_hard_reg): Check mode of register when
- spilling from scratch_list.
-
-Wed Jun 17 16:25:38 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
-
- * except.c (add_new_handler): fix bug in finding last region handler.
- * libgcc2.c (find_exception_handler): Pass exception table pointer
- to runtime type matcher, not the match info field.
-
-Wed Jun 17 15:57:48 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
-
- * eh-common.h (struct eh_context): Add comment for hidden use of
- field dynamic_handler_chain.
- * except.c (get_dynamic_handler_chain): Comment on, and use the
- correct offset of the dynamic_handler_chain field.
-
-1998-06-17 12:46:56 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips/iris6.h (LINK_SPEC): Add -woff 131.
-
-1998-06-17 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
-
- * configure.in: Don't disable collect2 when we have GNU ld.
-
-Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com)
-
- * fold-const.c (make_range): Do not widen the type of the expression.
-
- * expr.c (check_max_integer_computation_mode): New function.
- (expand_expr): Avoid integer computations in modes wider than
- MAX_INTEGER_COMPUTATION_MODE.
- * fold-const.c (fold): Likewise.
- * tree.h (check_max_integer_computation_mode): Declare.
- * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
-
- * configure.in (nm): Make a link to "nm" in the build tree too.
-
- * mn10300.md (andsi3): Fix typo.
-
-Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com>
-
- * reload1.c (reload_cse_regs): Call bzero instead of looping.
-
-Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (stripattributes): Prepend '*' to the section name.
-
-Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
- (output_prologue, output_epilogue): Merge VMS and OSF versions;
- Remove anything related to the actual code generation.
- (output_end_prologue): New function.
- (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
- (alpha_does_function_need_gp): Return false for VMS.
- (alpha_function_needs_gp): Make static.
- (add_long_const): Delete.
- (summarize_insn): Don't assume a SUBREG is of a REG.
- Prototype all static functions. Rename VMS-specific global
- variables vms_*.
- * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
- (FUNCTION_BOUNDARY): Align to cache line.
- (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
- (FUNCTION_END_PROLOGUE): New macro.
- * alpha.md (attribute length): New. Mark all insns.
- (return_internal, prologue_stack_probe_loop) New patterns.
- (prologue, init_fp, epilogue): New patterns.
- Disable peepholes.
- * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
-
-Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
-
- * toplev.c (lang_options): Add -trigraphs option for cpplib.
-
-Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
- is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
- is earlier than RELOAD_FOR_INPUT_ADDRESS.
-
-Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
-
- * libgcc1-test.c (memcpy): Define.
-
-Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com>
-
- * genattrtab.c (struct attr_desc): Change int flags to bit
- fields. Add bit fields for this being function_units_used
- or *_blockage_range attributes.
- (write_unit_name): New function to print a function unit name
- given unit #.
- (expand_units): Indicate whether this is function_units_used or
- *_blockage_range attributes.
- (write_toplevel_expr): Print function_units_used and
- *_blockage_range attributes in a more friendly fashion.
- (make_internal_attr): Indicate whether this attribute is either
- function_units_used or *_blockage_range.
-
-Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com>
- Jim Wilson <wilson@cygnus.com>
-
- * regmove.c (copy_src_to_dest): Do not copy src to dest if either
- the source or destination is special.
-
-Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com>
-
- * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
-
-Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
-
- * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
- redefining it.
-
-Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
-
- * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
- (ENDFILE_SPEC): Add -lgloss.
-
-Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
- (large_int): Likewise.
- (pc_or_label_operand): Likewise.
- (call_insn_operand): Likewise.
- (consttable_operand): Likewise.
- (m16_uimm3_b): Likewise.
- (m16_simm4_1): Likewise.
- (m16_nsimm4_1): Likewise.
- (m16_simm5_1): Likewise.
- (m16_nsimm5_1): Likewise.
- (m16_uimm5_4): Likewise.
- (m16_nuimm5_4): Likewise.
- (m16_simm8_1): Likewise.
- (m16_nsimm8_1): Likewise.
- (m16_uimm8_1): Likewise.
- (m16_nuimm8_1): Likewise.
- (m16_uimm8_m1_1): Likewise.
- (m16_uimm8_4): Likewise.
- (m16_nuimm8_4): Likewise.
- (m16_simm8_8): Likewise.
- (m16_nsimm8_8): Likewise.
- (m16_usym8_4): Likewise.
- (m16_usym5_4): Likewise.
- (mips_move_1word): Change type of variable `i' from int to size_t.
- (mips_move_2words): Likewise.
- (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
- (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
- (function_arg): Likewise.
- (function_arg_partial_nregs): Mark parameter `named' with
- ATTRIBUTE_UNUSED.
- (override_options): Use ISDIGIT instead of isdigit.
- (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
- (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
- (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
- function `fatal' to long before printing. Use
- HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
- times in this function.
- (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
- (function_epilogue): Likewise for parameters `file' and `size'.
- Print an int with "%d" not "%ld".
- (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
- (mips_function_value): Likewise for parameter `func'.
- (function_arg_pass_by_reference): Likewise for parameters `cum'
- and `named'.
- (extend_operator): Likewise for parameter `mode'
- (highpart_shift_operator): Likewise.
-
- * mips.md (mul_acc_si): Remove unused variable `macc'.
-
-Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
-
- * fold-const.c (fold): Revert last change. It breaks constant
- expressions somehow.
-
-Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
- prevent operands from being evaluated twice.
-
-Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
-
- * toplev.c (lang_options): Add -remap as a preprocessor option.
-
-Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
-
- * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
- which set CC_REVERSED since reload should ensure that
- the operands are already the correct type.
-
-Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
-
- * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
- calling gen_rtx_SET.
-
-Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * config/rs6000/x-aix43 (AR): Delete.
- (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
-
-Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
-
- * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
-
-Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (override_options): Replace word_mode with explicit
- TARGET_64BIT check.
-
-Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
-
- * regmove.c (regmove_optimize): If we can't replace the
- destination in an insn that sets the source, generate an explicit
- move of the source to the destination.
- (copy_src_to_dest): New function.
- (toplevel): Include basic-block.h
-
- * Makefile.in (regmove.o): Add basic-block.h dependencies.
-
-Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
-
- * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
-
-Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
-
- * rtl.h (rtx_def): Improve documentation.
- (MEM_IN_STRUCT_P): Likewise.
-
-Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
-
- * c-decl.c (start_decl): Correct test for -Wmain.
-
- * c-decl.c (grokdeclarator): Remove unused variable "last".
-
-Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
- (expand_builtin_longjmp): Abort if value isn't const1_rtx.
- Delete code storing value in static_chain_rtx.
- (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
- to second expand_expr call.
-
-Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
-
- * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
-
-Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
-
- * cppmain.c (fatal): New function.
- * configure.in (cpp_main): New configuration variable.
- * configure: Regenerated.
- * Makefile.in (CCCP): Use a configuration variable to select basex
- for cccp.
- (cppmain$(exeext)): Add @extra_cpp_objs@.
-
-Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
-
- * objc/objc-act.c: Add cpplib declarations.
- (lang_decode_option): Initialize cpplib if necessary.
- (lang_decode_option): New argc/argv interface.
- * tree.h (lang_decode_option): New argc/argv interface.
- * toplev.c (lang_options): Add cpp options.
- (main): New interface for lang_decode_option.
- * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
- unless -E, -M or -MM is specified.
- * cpplib.h (cpp_handle_option): New function.
- * cpplib.c (cpp_handle_option): New function.
- (cpp_handle_options): Now calls cpp_handle_option.
- * c-tree.h (c_decode_option): New argc/argv interface.
- * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
- * c-lang.c (lang_decode_option): New argc/argv interface.
- * c-decl.c: Add cpplib declarations.
- (c_decode_option): New argc/argv interface.
- (c_decode_option): Call cpp_handle_option.
- (c_decode_option): Now returns number of strings processed.
-
-Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
- changes. Abort if the undo fails.
-
-1998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * config/rs6000/rs6000.c (output_prolog): Change locations and
- directions of saving and restoring arguments of main on the stack.
-
-Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
-
- * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
- for each alternative. Do not replace a CONST_INT with a REG unless
- the reg is cheaper.
-
-Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
-
- * decl.c (init_decl_processing): Fix typo.
-
- * mips.c (gpr_mode): New variable.
- (override_options): Initialize gpr_mode.
- (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
- determine size and offset of general purpose registers save slots.
- (save_restore_insns, mips_expand_prologue): Similarly.
-
- * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
- between constant representations when we have (SUBREG (REG)) with
- REG equivalent to a constant.
-
-Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
-
- * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
-
-Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
-
- * fold-const.c (fold): Even with otherwise constant trees, look for
- opportunities to combine integer constants.
-
-Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
-
- * i386.c (notice_update_cc): Clear cc_status.value2 in the
- case of UNSPEC 5 (bsf).
-
- * i386.md (movsfcc, movdfcc, movxfcc): The floating point
- conditional move instructions don't support signed integer
- comparisons.
-
-Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
- overlfows.
-
- * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
- 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
- <glctr@abc.it>.
-
-Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * except.c (expand_start_catch): Rename to start_catch_handler.
- (expand_end_catch): Delete function.
- (expand_end_all_catch): Remove catch status that expand_end_catch
- use to do.
- * except.h (expand_start_catch): Rename prototype.
- (expand_end_catch): Delete prototype.
-
-Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
-
- * invoke.texi: Add documentation for -mips4 and -mabi=*.
-
-Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
-
- * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
- (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
- (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
-
-Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
-
- * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
- as the threshold to permit splitting memory operations.
-
-Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.c (gpr_mode): New variable.
- (override_options): Initialize gpr_mode.
- (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
- determine size and offset of general purpose registers save slots.
- (save_restore_insns, mips_expand_prologue): Similarly.
-
- * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
- (LIBGCC2_CFLAGS): Remove -fexceptions.
- (LIB2FUNCS): Remove "_eh".
- (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
- it with -fexceptions.
-
- * Makefile.in (local-alloc.o): Depend on insn-attr.h.
- * local-alloc.c (block_alloc): Avoid creating false
- dependencies for targets which use instruction scheduling.
-
-Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
-
- * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
- (ASM_FINISH_DECLARE_OBJECT): Define;
- * mips/elf64.h: Likewise.
-
-Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
-
- * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
-
-Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
- (mulsidi3_ppc64): Delete.
-
-Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (varasm.o): Depend on dbxout.h.
- (cse.o): Depend on toplev.h and output.h.
- (gcse.o): Depend on output.h.
-
- * mips.c: Include system.h and toplev.h and remove redundant code.
- Include output.h after tree.h so all its prototypes get activated.
- * mips.md (table_jump): Remove unused variable `dest'.
-
- * sparc.h: Add prototype for `v8plus_regcmp_op'.
-
- * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
- with __attribute__ ((__unused__)).
- (__frame_dummy): Provide prototype before use, wrap it with
- EH_FRAME_SECTION_ASM_OP.
-
- * cse.c: Move inclusion of <setjmp.h> above local headers.
- Include toplev.h and output.h.
-
- * dbxout.h: Add prototype for `dbxout_begin_function'.
-
- * final.c (final_scan_insn): Wrap variable `max_skip' in macro
- ASM_OUTPUT_MAX_SKIP_ALIGN.
-
- * gcse.c: Include system.h and output.h.
- (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
- Make extern instead of static.
- (compute_can_copy): Only declare variables `reg' and `insn' when
- AVOID_CCMODE_COPIES is not defined.
- (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
- (hash_scan_clobber): Likewise for `x' and `insn'.
- (hash_scan_call): Likewise.
- (record_last_set_info): Likewise for `setter'.
- (mark_call): Likewise for `pat'.
- (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
-
- * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
- length parameter so that it multiplies the number of elements by
- the sizeof(element).
-
- * output.h: Add prototype for `weak_finish'.
-
- * recog.h: Likewise for `validate_replace_src'.
-
- * rtl.h: Likewise for `optimize_save_area_alloca',
- `fix_sched_param', `purge_addressof', `gcse_main',
- `regmove_optimize', `dbr_schedule', `branch_prob' and
- `end_branch_prob'.
-
- * toplev.h: Likewise for `set_float_handler' and
- `output_quoted_string'.
-
- * varasm.c: Include dbxout.h.
-
-Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
- GP_REG_P. Use gr_regs instead of GR_REGS.
-
-Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
- Jeff Law <law@cygnus.com>
-
- * Revamped multiply support for MIPS chips.
- * mips.c (extend_operator): New function.
- (highpart_shift_operator): Likewise.
- * mips.h: Declare new functions.
- (PREDICATE_CODES): Add support for new predicates.
- * mips.md (mulsi3 expander): Simplify.
- (mulsi_mult3): Add another constraint alternative. Support
- 3 operand multiply instructions as found on various mips
- parts.
- (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
- (mul_acc_si): New pattern and associated splitters.
- (mulsidi3 expander): Rework to use mulsidi3_64bit and
- mulsidi3_internal.
- (umulsidi3): New expander.
- (mulsidi3_internal): Accept either sign or zero extended
- operands and generate code as appropriate appropriately.
- (mulsidi3_64bit): Similarly.
- (smulsi3_highpart): Turn into an expander and generate code
- to match new patterns.
- (umulsi3_highpart): Likewise.
- (xmulsi3_highpart_internal): New pattern.
- (maddi patterns): Delete. Replace with:
- (mul_acc_di, mul-acc_64bit_di): New patterns.
-
-Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
- flag_new_exceptions runtime flag.
- (struct old_exception_table): New struct which represents what
- the exception table looks like without the new model.
- (NEW_EH_RUNTIME): New value used as a tag in the exception table to
- flag that this is a new style table.
- * except.h: Remove compile time flag NEW_EH_MODEL.
- (expand_builtin_eh_stub_old): New prototype.
- * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
- * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
- * c-decl.c (init_decl_processing): Add new builtin function
- __builtin_eh_stub_old.
- * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
- * flags.h (flag_new_exceptions): New runtime flag.
- * toplev.c (flag_new_exceptions): Initialize default to 0,
- -fnew-exceptions sets to 1.
- * except.c (output_exception_table_entry): Output New style exception
- identifier into table, and replace compile time flag NEW_EH_MODEL
- with runtime flag flag_new_exceptions.
- (output_exception_table): Replace compile time flag NEW_EH_MODEL.
- (expand_builtin_eh_stub_old): Duplicates original functionality of
- expand_builtin_eh_stub.
- (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
- * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
- (old_find_exception_handler): New func, same as find_exception_handler
- except it works on the old style exception table.
- (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
- of identifier in the exception table, and call appropriate routines.
-
-Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * function.c: Define current_function_cannot_inline.
- (push_function_context_to): Save it.
- (pop_function_context_from): Restore it.
- * function.h (struct function): Provide it a home.
- * output.h: Declare it.
- * integrate.c (function_cannot_inline_p): Check it.
-
-Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
-
- * expr.c (force_operand): Detect PIC address loads before
- splitting arithmetic.
-
-Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
-
- * tree.c (tree_class_check): Add braces to eliminate ambigious
- else warning.
- (tree_check): Likewise.
-
-Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
-
- * reg-stack.c (subst_stack_regs_pat): Make sure the top of
- stack is the destination for conditional move insn.
-
-Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.h (TREE_VEC_END): Cast unused value to void.
-
- * i386.c (print_operand): Use %lx for long operand.
-
-Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
-
-Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
-
- * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
- conversion functions.
-
-Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
-
- * toplev.c (flag_exceptions): Default to 0.
- (compile_file): Remove flag_exceptions == 2 hack.
- (main): Call lang_init_options.
- * tree.h: Declare it.
- * c-lang.c: Implement it.
- * objc/objc-act.c: Likewise.
-
-Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (restore_stack_block): Generate MEM and specify mode.
- * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
- * rs6000.c (rs6000_output_load_toc_table): Use fputs.
- (output_function_profiler): Use asm_fprintf and fputs.
-
-Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gencheck.c: Remove redundant stdio.h include. Add a definition
- of xmalloc for when we are forced to link with alloca.o.
-
- * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
- instead of `1U'.
-
- * fold-const.c (constant_boolean_node): Make definition static to
- match the prototype.
-
-Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
-
- * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
- (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
- (do_spec, input_filename, input_filename_length): Make public.
- (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
- Call lang_specific_pre_link befor elinking.
-
-Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
- the insn which has the most insns dependent on it.
-
-Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
-
- * alias.c (find_base_value): Avoid reading past end of reg_base_value.
-
-Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (insxh-1): New insxl pattern for combine.
-
-Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
-
- * i386/i386.c (output_fp_conditional_move): New function
- to output floating point conditional move.
- (output_int_conditional_move): New function to output integer
- conditional move.
-
- * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
- output_int_conditional_move () to output int conditional move.
- (movsfcc+5, movdfcc+5, movxfcc+5): Call
- output_fp_conditional_move () to output floating point
- conditional move.
-
- * i386/i386.c (put_condition_code): In INT mode, check
- cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
-
-Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
-
- * dbxout.c (dbxout_type): Output arrays of bits as if
- they were bitstrings for Chill
-
-Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * tree.c (get_inner_array_type): New function.
- * tree.h (get_inner_array_type): Prototype.
- * expr.h (STACK_SAVEAREA_MODE): New macro.
- * expr.c (expand_builtin_setjmp): Initialize sa_mode using
- STACK_SAVEAREA_MODE.
- (expand_builtin_longjmp): Likewise.
- * explow.c (emit_stack_save): Likewise.
- (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
-
- * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
- (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
- * rs6000/aix43.h: New file.
- * rs6000/t-aix43: New file.
- * rs6000/x-aix41: New file.
- * rs6000/x-aix43: New file.
- * configure.in (rs6000-ibm-aix*): Use them.
- * rs6000/powerpc.h: Delete.
- * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
- * rs6000/netware.h: and here.
- * rs6000/win-nt.h: and here.
-
- * rs6000/rs6000.c (processor_target_table, 620): Do not affect
- MASK_POWERPC64.
- (rs6000_override_options): Ignore flag_pic for AIX.
- (rs6000_immed_double_const): Delete.
- (u_short_cint_operand): Don't assume 32-bit CONST_INT.
- (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
- (num_insns_constant): mask64_operand() is 2 insns.
- (logical_operand): Don't assume 32-bit CONST_INT.
- (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
- (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
- (mask_constant): HOST_WIDE_INT parameter.
- (non_and_cint_operand): Delete.
- (mask64_operand): New function.
- (and64_operand): New function.
- (function_arg_advance): DImode arguments do not need special
- alignment when 64-bit.
- (function_arg): Likewise.
- (setup_incoming_varargs): Reverse reg_size assignment.
- (print_operand): HOST_WIDE_INT second parameter.
- (print_operand, 'B'): New case.
- (print_operand, 'M'): Fix typo in lossage string.
- (print_operandm 'S'): New case.
- (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
- to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
- (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
- TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
- Load GOT highpart, don't add it. Add lowpart with {cal|la}.
- (rs6000_allocate_stack_space): Use {cal|la}.
- (output_epilog): Use {cal|la}
- (output_function_profiler): Add call glue to mcount call.
- Load GOT highpart, don't add it. Add lowpart with {cal|la}.
-
- * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
- (STACK_BOUNDARY): Depend on TARGET_32BIT.
- (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
- (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
- (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
- 64-bit mask operand.
- (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
- (STACK_SAVEAREA_MODE): New macro.
- (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
- (LEGITIMIZE_RELOAD_ADDRESS): New macro.
- (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
- (ASM_FILE_START): Emit 64-bit ABI directive.
- (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
- (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
- (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
- Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
-
- * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
- Restore define_splits.
- (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
- (floatsidf2_internal, floatunssidf2_internal2): Likewise.
- Do not specify base register operand mode.
- (floatsidf2_loadaddr): Do not specify base register operand mode.
- (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
- register; do not specify mode. Remove !TARGET_POWERPC64 final
- constraint.
- (floatsidf2_load): Do not specify base register operand mode. Remove
- !TARGET_POWERPC64 final constraint.
- (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
- base register operand mode.
- (adddi3): Split large constants early.
- (absdi3): Shift by 63, not 31.
- (*mulsidi3_ppc64): New pattern.
- (rotldi3): Add masking combiner patterns.
- (anddi3): Add rldic{r,l} masking. Remove split of large constants
- because PPC insns zero-extend.
- (iordi3, xordi3): Split large constants early.
- (movsi matcher): Remove S and T constraints.
- (movsf const_double): create SImode constant from TARGET_DOUBLE.
- (movdf_hardfloat32): Add default abort() case.
- (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
- (movdi): Remove 64-bit constant generator. Try to convert
- CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
- (movdi_32): Add default abort() case.
- (movdi_64): Add numerous ways to split 64-bit constants.
- Make catch-all define_split more optimal and never FAIL.
- (movti_ppc64): Add default abort() case.
- (allocate_stack): Remove operand modes. Use Pmode.
- (restore_stack_block): Remove operand modes. Generate Pmode
- temporary.
- (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
- temporary. Save area is double Pmode.
- (call_indirect_aix64, call_value_indirect_aix64): New patterns.
- (call, call_value): Do not specify address operand mode. Choose
- appropriate AIX ABI.
- (*call_local64, *ret_call_local64): New patterns.
- (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
- (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
- (compare): Materialize DImode truthvalues.
-
-Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
-
- * expr.c (safe_from_p): Avoid combinatorial explosion
- over duplicate SAVE_EXPRs by ensuring we never recurse
- on one that has already been visited.
-
-Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
-
- * loop.c (check_dbra_loop): Initialise final_value before
- normalizing the loop.
-
-Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_reg_free_for_value_p): New arguments out and
- reloadnum. Changed all callers.
-
-1998-06-03 Ulrich Drepper <drepper@cygnus.com>
-
- * system.h: Add _() and N_() macros in preparation for gettext.
-
-Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-common.c (check_format_info): Put back check for C9x `hh'
- length modifier. Warn about %n format writing into const. Remove
- obsolete comment.
- (format_char_info): Fix comments.
-
- * configure.in: Set float_format to m68k for all m68k targets that
- do not override LONG_DOUBLE_TYPE_SIZE.
- * config/float-m68k.h: New file.
-
-Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
-
- * jump.c (jump_optimize): Remove debug messages accidentally left in
- with the previous change.
-
-Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
-
- * expr.c (store_expr): Revert stray patch associated with
- 1998-05-23 commit.
-
-Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
-
- * jump.c (rtx_unsafe_p): New function.
- (jump_optimize): Use it on if/then/else transformations and
- conditional move transformations.
-
-Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
- or VAR-- == CONST construct a proper mask if VAR is a bitfield.
- Cope with CONST being out of range for the bitfield.
-
-Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
-
- * expr.c (emit_move_insn_1): When moving complex values in several
- steps, emit a CLOBBER to show the destination dies.
-
-Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (site.exp): Use the object testsuite directory as
- the temporary directory.
-
- * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
- address of an ADDRESSOF rtx.
-
-1998-06-02 Mike Stump <mrs@wrs.com>
-
- * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
- * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
- * i960.md (ret, flush_register_windows): Define.
- (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
- work yet.
- * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
-
-Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
- around an OSF/1 library bug wrt sign-extension of inputs.
-
-Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
-
- * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
-
-Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
-
- * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
-
- * varasm.c (assemble_variable): Augment alignment warning.
-
-Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
-
- * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
- in the presence of IEEE negative 0's.
-
-Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
-
- * reload.c (find_reloads): Record the existing mode if
- operand_mode == VOIDmode before replacing a register with
- a constant.
- * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
- i386_compare_op1 to const0_rtx for the benefit of the
- conditional move patterns.
- (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
- based on suggestions from Jim Wilson.
-
-Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
-
- * Makefile.in (fixinc.sh): Update rules again.
-
-Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
-
- * extend.texi: Bring back reference to trampoline paper.
-
-Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in (USER_H): Add stdbool.h.
- * ginclude/stdbool.h: New file.
-
-Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
-
- * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
- of a non-note insn.
-
- * gcse.c (pre_delete): Fix code to determine the mode of
- the reaching pseudo register.
-
-Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * Makefile.in (GEN): Add gencheck
- (STAGESTUFF): Add tree-check.h and gencheck.
-
-Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
-
- * Makefile.in (cstamp-h.in): Remove before trying to recreate.
- (fixinc.sh): Set some additional environment variables before
- calling mkfixinc.sh.
-
-Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
-
- * reload.c (find_reloads): Do not force a reloads of match_operators.
-
-Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * except.h (remove_handler): Add new prototype.
- * except.c (remove_handler): New function to remove handlers
- from an exception region.
- * flow.c (find_basic_blocks_1): Remove handlers from regions when
- handler label is deleted; remove exception regions with no handlers.
-
-Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
-
- * except.h (rtx): Define rtx type correctly if needed.
- * function.h (rtx): Ditto.
- (tree): Define tree type correctly if needed.
-
- * c-pragma.c (toplevel): Include rtl.h.
-
- * stor-layout.c (toplevel): Move include of rtl.h before
- except.h.
-
- * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
- (tree.o): Add except.h dependency.
-
-Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c: Revert accidental checkin.
-
- * configure.lang: Fix thinko when adding a definition for
- target_alias to the Makefile.
-
-Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
-
- * config/sparc/lb1spc.asm (.rem and .urem): Replace
- routines.
-
-Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.c (arm_gen_constant): Rework to eliminate uninitialized
- variable warnings. Don't generate scratch registers if only
- counting insns.
- (find_barrier): Eliminate unused variable SRC.
-
-1998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
-
- * toplev.h (rtx_def): Provide global declaration to avoid
- `limited scope' warnings.
-
-Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Makefile.in (gencheck.o): Use HOST_CC.
- * i386/t-mingw32: New file.
- * configure.in (i386-*-mingw32*): Use.
-
-Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.c (bad_signed_byte_operand): New predicate function.
- * arm.h (PREDICATE_CODES): Add it to the list.
- * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
- can't handle.
- (define_split): Two new splits for above insns.
-
- * arm.c: Include toplev.h.
- (arm_override_options): Add parentheses around use of tune_flags.
- (arm_split_constant): Remove unused variable.
- (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
- (output_func_prologue, arm_expand_prologue): Likewise.
- (arm_canonicalize_comparison): Make I unsigned; rework constants
- accordignly. Add missing paratheses around << operation.
- (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
- clause.
- ({load,store}_multiple_sequence): Initialize BASE_REG.
- (select_dominance_cc_mode): Add DEFAULT clauses.
- (broken_move): Return zero if the destination is not a register.
- (arm_reorg): Move unused REGNO declaration into the dead code.
- * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
-
-Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
-
- * cpperror.c (v_cpp_message): Remove static prototype.
- * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
- * cpplib.h (v_cpp_message): Add protoptype.
- (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
-
-Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-1998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.h: Declare more functions used in macros.
- (REG_CLASS_CONTENTS): Completely embrace initializer.
- * m68k.md (adddi3, subdi3): Add abort call to avoid warning
- about returning no value.
- * cse.c (find_best_addr): Declare p and found_better only if
- needed.
- * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
- * dwarfout.c (string_length_attribute): #if 0 away.
- * function.c (expand_function_end): Define varible blktramp only
- if needed.
- * jump.c (find_insert_position): Define only if !HAVE_cc0.
- * loop.c (combine_givs_p): Define variable tem only if needed.
- * real.c: Comment out unused functions eabs, eround,
- e{24,53,64,113}toasc and eiinfin.
-
-
-Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * Makefile.in (boostrap2-lean, bootstrap3-lean,
- bootstrap4-lean): New targets.
-
-Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * warn_summary, test_summary: Moved into the contrib directory.
-
-1998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
- of the Makefile.
- (FLOAT_H_TEST): Likewise.
- (ENQUIRE): Likewise.
- (float.h-nat): Likewise.
- (float.h-cross): Likewise.
- (enquire): Likewise.
- (enquire.o): Likewise.
- (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
- (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
- no-op.
- (FLOAT_H): Remove old float.h-nat version; move current definition
- to CROSS_FLOAT_H location.
- (all.cross): Remove comments about enquire stuff.
-
- * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
- (rest.encap): Likewise.
- (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
-
- * toplev.h (tree_node): Provide global declaration to avoid
- `limited scope' warnings.
-
-Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
-
- * test_summary: Display section breaks for each entry
- in a multilibbed target's output.
-
-1998-05-23 Richard Henderson <rth@cygnus.com>
-
- * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
- offset's mode is not ptr_mode, convert it.
-
-1998-05-22 Jason Merrill <jason@yorick.cygnus.com>
-
- * fold-const.c (ssize_binop): New fn.
- * tree.h: Declare it.
-
-Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * genextract.c (print_path): Handle zero-length path as a special
- case.
-
-Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
-
- * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
-
-Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
-
- * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
- (shorten_branches, final_scan_insn): Test value of
- JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
- is defined.
- * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
- * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
- * arm/tcoff.h: Likewise.
- * i386/386bsd.h: Likewise.
- * i386/freebsd-elf.h: Likewise.
- * i386/freebsd.h: Likewise.
- * i386/netbsd.h: Likewise.
- * i386/ptx4-i.h: Likewise.
- * i386/sysv4.h: Likewise.
- * pa/pa.h: Likewise.
- * rs6000/linux.h: Likewise.
- * rs6000/rs6000.h: Likewise.
- * sh/sh.h: Likewise.
- * sparc/sp64-elf.h: Likewise.
- * v850/v850.h: Likewise.
- * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
- * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
-
-Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (gen_add3_insn): New function.
- (fixup_match_2): Use it instead of calling gen_addsi3.
-
-Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
-
- * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
- address.
-
-Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
-
- * Makefile.in (TREE_H): Add tree-check.h.
- (tree-check.h, gencheck): New targets.
- * gencheck.c: New file.
- * tree.c (tree_check, tree_class_check): New functions.
- * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
- (TYPE_CHECK, DECL_CHECK): Define.
- Modify all access macros to use generated checking macros.
-
-Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
-
- * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
- * configure.in: Check for it.
- * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
- * final.c (uid_align, uid_shuid, label_align): Make static.
- (label_align): Change type to struct label_alignment pointer.
- (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
- (LABEL_TO_MAX_SKIP): Define.
- (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
- LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
- (shorten_branches): Record the maximum bytes to skip when
- aligning a label.
- (final_scan_insn): Use the maximum bytes to skip when aligning a label
- if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
- * i386.h (LOOP_ALIGN_MAX_SKIP,
- LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
- * i386.c (override_options): i386_align_jumps and i386_align_loops
- default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
- * invoke.texi: Document new i386 align-loops and align-jumps behavior.
-
-1998-05-21 Mark Mitchell <mmitchell@usa.net>
-
- * cplus-dem.c (do_type): Handle volatile qualification.
-
-Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
-
- * function.c (init_function_start): Don't call emit_line_note if
- lineno is 0. (Can happen when compiling Java .class files.)
-
-Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
- end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
-
-Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * combine.c (nonzero_bits): For paradoxical subregs, take
- LOAD_EXTENDED_OP into account.
-
-Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
-
- * configure.in (extra_c_objs): add prefix.o.
- (extra_cxx_objs): extra objects for C++ with cpplib.
- * configure: Regenerate.
-
- * c-tree.h: (get_directive_line): Different prototype for cpplib.
- (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
-
- * c-lex.h: (get_directive_line): Not needed here for cpplib.
-
- * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
- (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
-
- * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
- (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
-
-Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gengenrtl.c (type_from_format, accessor_from_format): Change
- type of parameter `c' from `char' to `int'.
-
-Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
-
- * warn_summary, test_summary: New scripts from
- Kaveh Ghazi and Alexandre Oliva respectively.
-
- * gcse.c (current_function_calls_longjmp): Declare.
-
-1998-05-20 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (base_type_die): Use int_size_in_bytes.
-
-Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
- Jeff Law (law@cygnus.com)
-
- * Global CSE and constant/copy propagation.
- * Makefile.in (OBJS): Add gcse.o
- (STAGESTUFF): Add *.gcse.
- (gcse.o): Add dependencies.
- (mostlyclean): Remove *.gcse and */*.gcse.
- * gcse.c: New file.
- * loop.c (loop_optimize): Move call to init_alias_analysis.
- * recog.c (validate_replace_src): New function.
- * toplev.c (gcse_dump): New global variable.
- (flag_gcse, gcse_time): Likewise.
- (compile_file): Initialize gcse_time and clean out the gcse dump
- file if necessary.
- (rest_of_compilation): Call gcse_main as requested. Dump RTL
- after gcse if requested.
- (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
- dumps for -da.
- * gcc.texi: Add gcse related internal documentation.
- * invoke.texi: Note new command line options for gcse.
- * tm.texi: Document AVOID_CCMODE_COPIES.
- * mips.h (AVOID_CCMODE_COPIES): Define.
-
-Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
- exists.
- (stmp-fixproto): Simlarly for running fixproto.
- * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
-
-Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
-
- * config/mips/mips.c (double_memory_operand): Accept any MEM during
- reload when TARGET_64BIT.
-
-Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
-
- Finish incomplete change started by Kenner.
- * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
- (powerpcle-*-cygwin32): Delete xm_defines.
- * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
- HAVE_STAB_H instead of NO_STAB_H.
- * config/xm-linux.h (NO_STAB_H): Delete.
- (HAVE_STAB_H): Undefine.
- * config/i386/xm-go32.h (NO_STAB_H): Delete.
-
-1998-05-19 Jim Wilson <wilson@cygnus.com>
-
- * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
- LANG_TYPE trees with DECL_SOURCE_LINE of 0.
-
-Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
-
- * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
-
-Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload_reg_free_for_value_p): New function.
- (allocate_reload_reg, choose_reload_regs): Use it.
-
-Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
-
- * except.c (expand_start_catch): Correct logic for when to
- generate a new handler label, and when to use the old one.
-
-Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (print-rtl.o): Depend on bitmap.h.
- (dbxout.o): Depend on toplev.h.
- ($(SCHED_PREFIX)sched.o): Likewise.
- ($(out_object_file)): Likewise for system.h and toplev.h.
- (cppmain.o): Depend on gansidecl.h.
- (cpplib.o): Likewise.
- (cpperror.o): Likewise.
- (cppexp.o): Likewise.
- (cpphash.o): Likewise.
- (cppalloc.o): Likewise.
- (fix-header.o): Depend on cpplib.h and cpphash.h.
- (scan-decls.o): Depend on gansidecl.h.
-
- * basic-block.h (free_regset_vector): Add prototype.
-
- * cccp.c (check_precompiled): Mark parameter `fname' with
- ATTRIBUTE_UNUSED.
- (do_assert): Likewise for `op' and `keyword'.
- (do_unassert): Likewise.
- (do_line): Likewise for `keyword'.
- (do_error): Likewise for `op' and `keyword'.
- (do_warning): Likewise.
- (do_ident): Likewise for `keyword'.
- (do_pragma): Likewise for `limit', `op' and `keyword'.
- (do_sccs): Likewise.
- (do_if): Likewise for `keyword'.
- (do_elif): Likewise.
- (do_else): Likewise.
- (do_endif): Likewise.
-
- * collect2.c (getenv): Remove redundant prototype.
- (collect_exit, collect_execute, dump_file): Likewise.
- (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
- (dump_prefix_list): Hide prototype and definition.
-
- * sparc.c: Include toplev.h.
- (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
- (symbolic_memory_operand): Likewise.
- (sp64_medium_pic_operand): Likewise.
- (data_segment_operand): Likewise.
- (text_segment_operand): Likewise.
- (splittable_symbolic_memory_operand): Likewise.
- (splittable_immediate_memory_operand): Likewise.
- (eq_or_neq): Likewise.
- (normal_comp_operator): Likewise.
- (noov_compare_op): Likewise.
- (v9_regcmp_op): Likewise.
- (v8plus_regcmp_op): Likewise.
- (extend_op): Likewise.
- (cc_arithop): Likewise.
- (cc_arithopn): Likewise.
- (small_int): Likewise.
- (uns_small_int): Likewise.
- (clobbered_register): Likewise.
- (legitimize_pic_address): Likewise.
- (delay_operand): Likewise.
- (sparc_builtin_saveregs): Remove unused variable `stdarg'.
-
- * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
- sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
-
- * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
-
- * cppalloc.c: Include gansidecl.h.
-
- * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
- (cpp_file_line_for_message): Mark parameter `pfile' with
- ATTRIBUTE_UNUSED.
- (v_cpp_message): New function.
- (cpp_message): Use it. Also convert to variable arguments.
- (cpp_fatal): Likewise.
- (cpp_pfatal_with_name): Constify parameter `name'.
-
- * cppexp.c: Move gansidecl.h before cpplib.h.
- * cpphash.c: Likewise.
- * cpphash.h (hashf, delete_macro): Add prototypes.
-
- * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
- cpplib.h. Don't include errno.h.
- (update_path): Add arguments to prototype.
- (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
- cpp_print_containing_files): Remove redundant prototypes.
- (cpp_hash_cleanup, add_import, append_include_chain,
- make_assertion, path_include, initialize_builtins,
- initialize_char_syntax, finclude, validate_else, comp_def_part,
- lookup_import, redundant_include_p, is_system_include,
- read_name_map, read_filename_string, open_include_file,
- check_macro_name, compare_defs, compare_token_lists,
- eval_if_expression, change_newlines): Add prototype arguments.
- (hashf): Remove redundant prototype.
- (read_token_list, free_token_list, safe_read, xcalloc, savestring,
- conditional_skip, skip_if_group): Add prototype arguments.
- (fdopen): Remove redundant prototype.
- (do_define, do_line, do_include, do_undef, do_error, do_pragma,
- do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
- do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
- (struct directive): Add prototype arguments to function pointer
- member `func'.
- (handle_directive): Add missing arguments to call to `do_line'.
- (do_include): Mark parameters `unused1' and `unused2' with
- ATTRIBUTE_UNUSED.
- (do_line): Likewise for `keyword' and new parameters `unused1' and
- `unused2'.
- (do_error): Likewise for `keyword'.
- (do_warning): Likewise. Also add missing argument `pfile' in call
- to cpp_pedwarn.
- (do_once): Mark parameter `keyword', `unused1' and `unused2' with
- ATTRIBUTE_UNUSED.
- (do_ident): Likewise for `keyword', `buf' and `limit'.
- (do_pragma): Likewise. Also add missing arguments in call to do_once.
- (do_sccs): Mark parameter `keyword', `buf' and `limit' with
- ATTRIBUTE_UNUSED.
- (do_if): Likewise for `keyword'.
- (do_elif): Likewise.
- (eval_if_expression): Likewise for `buf' and `length'.
- (do_xifdef): Likewise for `unused1' and `unused2'.
- (do_else): Likewise for `keyword', `buf' and `limit'.
- (do_endif): Likewise.
- (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
- (cpp_handle_options): Remove superfluous NULL argument in call to
- cpp_fatal.
- (cpp_handle_options): Likewise.
- (do_assert): Mark parameter `keyword', `buf' and `limit' with
- ATTRIBUTE_UNUSED.
- (do_unassert): Likewise.
- (cpp_print_file_and_line): Add missing argument `pfile' in call to
- cpp_file_line_for_message.
- (v_cpp_error): New function.
- (cpp_error): Use it. Also accept variable arguments.
- (v_cpp_warning): New function.
- (cpp_warning): Use it. Also accept variable arguments.
- (cpp_pedwarn): Accept variable arguments.
- (v_cpp_error_with_line): New function
- (cpp_error_with_line): Use it. Accept variable arguments.
- (v_cpp_warning_with_line): New function.
- (cpp_warning_with_line): Use it. Accept variable arguments. Hide
- definition.
- (cpp_pedwarn_with_line): Accept variable arguments.
- (cpp_pedwarn_with_file_and_line): Likewise.
- (cpp_error_from_errno): Constify parameter `name'. Add missing
- argument `pfile' in call to cpp_file_line_for_message.
- (cpp_perror_with_name): Constify parameter `name'.
-
- * cpplib.h: Define PARAMS() in terms of PROTO().
- (fatal): Remove redundant prototype.
- (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
- cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
- cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
- cpp_fatal, cpp_message, cpp_pfatal_with_name,
- cpp_file_line_for_message, cpp_print_containing_files): Add
- arguments to prototypes.
- (scan_decls, cpp_finish): Add prototypes.
-
- * cppmain.c: Include gansidecl.h.
- (main): Remove unused variable `i'.
-
- * dbxout.c: Include toplev.h.
-
- * demangle.h (do_tlink, collect_execute, collect_exit,
- collect_wait, dump_file, file_exists): Add prototype.
-
- * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
- prototype and definition.
- (gen_unspecified_parameters_die): Don't assign results of call to
- function new_die() to unused variable `parm_die'.
- (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
- (dwarf2out_define): Likewise for `lineno' and `buffer'.
-
- * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
- prototype and definition.
- (output_die): Add prototype arguments to function pointer arg.
- (output_unspecified_parameters_die): Mark parameter `arg' with
- ATTRIBUTE_UNUSED.
-
- * except.c (output_exception_table_entry): Remove unused variable
- `eh_entry'.
-
- * except.h (expand_fixup_region_start, expand_fixup_region_end):
- Add prototypes.
-
- * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
-
- * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
-
- * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
- before cpplib.h, include cpphash.h, remove redundant prototype of
- cpp_fatal, don't define `const', add a prototype for `fatal'.
- (cpp_file_line_for_message): Add missing arguments `pfile'.
- (v_cpp_message): New function.
- (cpp_message): Use it.
- (v_fatal): New function.
- (fatal, cpp_fatal): Use it.
- (cpp_pfatal_with_name): Constify parameter `name'.
-
- * flow.c (free_regset_vector): Remove redundant prototype.
-
- * function.c (round_down): Wrap prototype and definition with
- macro ARGS_GROW_DOWNWARD.
- (record_insns): Wrap prototype and definition with
- defined (HAVE_prologue) || defined (HAVE_epilogue).
-
- * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
-
- * gen-protos.c: Include gansidecl.h.
- (hashf): Don't make it static, constify parameter `name'.
-
- * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
- specifier %s in calls to function `fatal'.
-
- * haifa-sched.c: Include toplev.h.
- (find_rgns): Remove unused variable `j'.
-
- * integrate.c (note_modified_parmregs): Mark parameter `x' with
- ATTRIBUTE_UNUSED.
- (mark_stores): Likewise.
-
- * jump.c (mark_modified_reg): Likewise.
-
- * output.h (insn_current_reference_address): Add prototype.
- (eh_frame_section): Likewise.
-
- * print-rtl.c: Include bitmap.h.
-
- * reload1.c (reload): Wrap variables `note' and `next' in macro
- PRESERVE_DEATH_INFO_REGNO_P.
- (forget_old_reloads_1): Mark parameter `ignored' with
- ATTRIBUTE_UNUSED.
- (choose_reload_regs): Remove unused variable `in'.
- (reload_cse_invalidate_mem): Mark parameter `ignore' with
- ATTRIBUTE_UNUSED.
- (reload_cse_check_clobber): Likewise.
-
- * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
- (mark_elimination): Fix typo in prototype.
-
- * scan-decls.c: Include gansidecl.h.
-
- * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
-
-Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
-
- * function.c (identify_blocks): Fix thinko when setting the
- block number for NOTE_INSN_BLOCK_END.
-
-Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/lib1funcs.asm: Add .text pseudo op to start of
- ___udivsi3.
-
- * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
- underscores for the prefixes to the names of the maths functions.
-
- * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
- comment explaining why.
-
-Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
-
- * tree.h (TYPE_SIZE_UNIT): New.
- (struct tree_type): Add size_unit member.
- * stor-layout.c (layout_type): Initialize it.
- * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
- * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
-
-Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * stor-layout.c (layout_record): Fix off-by-one error when checking
- length of the TYPE_BINFO vector.
-
-Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
-
- * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
- function parameter passed in memory.
-
-Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
-
- * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
- Prototypes for externally used functions in respective C files.
- * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
- final.c: Include above files.
- * Makefile.in (toplev.o): Add dependency for above four headers.
- (final.o): Likewise.
- (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
- respective header files.
-
-Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (TARGET_TOOLPREFIX): No longer define.
- (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
- the build tree if they exist.
- (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
- appropriately.
- (objdir): Let configure substitute value.
- (FLOAT_H): Let configure select a pre-built version from the
- config subdir.
- * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
- * configure.in: Substitute for objdir.
-
- * Makefile.in (build_canonical, host_canonical): Let configure
- substitute values for these variables.
- * configure.in: Substitute for build_canonical, host_canonical
- and target_subdir in generated Makefile.
-
- * output.h (find_basic_blocks): Declare.
- (free_basic_block_vars, set_block_num, life_analysis): Likewise.
-
- * Makefile.in (BISON): Use bison from the build tree if it exists.
- (FLEX): Similarly.
-
-Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
-
- * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
- (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
- (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
- command line arguments to see if an executable is not being
- created, and if so - do not append the suffix.
-
- * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
- driver macro.
-
-Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
-
- * i386.h (ALIGN_DFmode): Delete.
- (CONSTANT_ALIGNMENT): Define.
- * varasm.c (force_const_mem): Use it.
-
-Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
- using it with swap_condition, not before.
-
-Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
-
- * alias.c (mode_alias_check): Delete.
- (true_dependence, anti_dependence, output_dependence): Revert April 21
- change.
-
-Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
-
- * toplev.c (output_lang_identify): Enable prototype and definition.
-
-Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha/osf.h (HAVE_STAMP_H): Define.
- * alpha.c: Use it.
- * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
- * configure.in (alpha*-*-netbsd*): New.
- Based on patches from Paul H. Anderson <pha@pdq.com>.
-
- * configure.in (alpha*-*-linux-*): Kill xm_defines.
- (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
- * alpha/xm-linux.h: Remove file.
-
-Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * dbxout.c (dbxout_parms): If mode of type of parameter living
- in memory doesn't match mode of DECL_RTL, make big endian correction.
-
-Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
-
- * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
-
-Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
- * stor-layout.c (layout_record): Set it.
-
-Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
-
- * toplev.c (rest_of_compilation): Don't defer nested functions.
-
-Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
-
- * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
- to an 8-byte boundary if info_ptr->fpmem_p.
-
-Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
-
- * loop.c (basic_induction_var): Added test preventing
- CCmode parameter passed to convert_modes().
-
-Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
- input_filename and lineno around expand_expr call. Set them to values
- in WFL before expand_expr call.
-
-Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
-
- * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
-
-Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
-
- * fold-const.c (constant_boolean_node): New function.
- (fold): Use it.
-
-Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (gen_shl_and): Don't sign extend constant for kind two.
- Abort if trying to split kind 3 or 4 outside of combine.
-
-Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
-
-Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * objc/Make-lang.in (OBJC_O): Add missing exeext.
- (libobjc.a, runtime-info.h): Likewise.
-
-Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
-
- * i386.h (DATA_ALIGNMENT): Define.
-
-Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (delete_output_reload): Ignore single USE that
- was emitted for the pseudo use of this INSN.
- If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
- remains, we can always delete OUTPUT_RELOAD_INSN.
-
-Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (find_reloads): Don't penalize SCRATCH output reload.
-
-Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
-
-Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * eh-common.h: New file for basic EH data structures.
- * except.h: Various prototypes and structures for NEW_EH_MODEL
- * function.h (struct function): Add a struct eh_stack for the catch
- clause stack.
- * except.c (gen_exception_label): New function to generate an
- exception label.
- (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
- (push_entry): New function to push an existing entry onto a stack.
- (receive_exception_label): New function to emit the code required
- at the start of all catch blocks.
- (struct func_eh_entry): New structure for maintaining handlers
- associated with EH regions.
- (new_eh_region_entry): New function to register an EH region.
- (add_new_handler): New function to register a handler with a region.
- (get_new_handler): Creates anew handler entry for registering.
- (find_func_region): New function to convert a NOTE eh region number
- to an Eh region index.
- (get_first_handler): New function to get the first handler in a region.
- (clear_function_eh_region): New function to release memory.
- (duplicate_handlers): New function to duplicate a list of handlers.
- (expand_eh_region_end): Create a new region entry node as well.
- (expand_leftover_cleanups): Call receive_exception_label() and
- register the cleanup as a handler to the current region.
- (expand_start_catch): New function to start a catch clause.
- (expand_end_catch): New function to end a catch clause.
- (expand_start_all_catch): restructure to not do the equivilent of
- what expand_start_catch() does now. Push the exception region being
- handled onto the catch stack.
- (output_exception_table_entry): Issue an entry for each handler
- associated with a region.
- (set_exception_lang_code): New function for setting the language code.
- (set_exception_version_code): New function to set the version number.
- (output_exception_table): Output version and language codes.
- (find_exception_handler_labels): Find handler labels using new scheme.
- (is_exception_handler_label): New function, returns 1 if label is
- present as a handler in some exception region.
- (check_exception_handler_labels): Use the new scheme.
- (init_eh_for_function): Initialize the catch stack.
- (save_eh_status): Save the catch stack.
- (restore_eh_status): Restore the catch stack.
- (scan_region): Don't remove unreferenced handler label. Flow does it.
- (get_reg_for_handler): New function to get the eh_context pointer
- passed by __throw.
- (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
- * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
- entry when processing END region rather that START region.
- * flow.c (find_basic_blocks_1): Find all potential handler regions
- now that we don't automatically know what the labels might be.
- Let scan_region() remove unreferenced EH BEGIN/END labels.
- * integrate.c (get_label_from_map): Put inlined labels onto the
- permanent obstack since we dont know which ones might be exception
- labels.
- (save_for_inline_copying): Make new copies of all the handlers.
- (expand_inline_function): Make new copies of all the handlers.
- * libgcc2.c: Remove local struct decls, and include eh-common.h.
- (find_exception_handler): With NEW_EH_MODEL the first matching
- region we find is the right one. Add eh_info as a new parameter.
- (__throw): Pass eh_info to find_exception_handler. Set handler
- and pass use different regs under NEW_EH_MODEL.
-
-Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
-
- * i960.h (hard_regno_mode_ok): Changed to function from array of
- unsigned.
- (HARD_REGNO_MODE_OK): Call function instead of testing bit.
- * i960.c (hard_regno_mode_ok): Changed to function from array of
- unsigned.
-
-Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (remove_replacements): New function.
- * reload.h (remove_replacements): Declare.
- * reload1.c (choose_reload_regs): Disable some reloads that
- belong to inherited reloads.
-
-Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (scan_loop): Don't call move_moveables for optimize_size.
-
- * reload1.c (merge_assigned_reloads): When merging, reset
- reload_spill_index for the eliminated reload.
-
-Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (schedule_insns): Fix merge goof.
-
-1998-05-13 Jim Wilson <wilson@cygnus.com>
-
- * varasm.c (make_decl_rtl): Revert April 1 change.
- * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
- m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
- Get function name from the SYMBOL_REF in the DECL_RTL, not from
- DECL_ASSEMBLER_NAME.
- * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
- DECL_ASSEMBLER_NAME.
-
-Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
-
- * i386.c (notice_update_cc, output_float_compare): Disable
- TARGET_CMOVE support.
-
-Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
- Jeff Law <law@cygnus.com>
-
- * rtlanal.c (find_reg_note): Ignore notes that are not on on
- insns of class 'i'.
- (find_regno_note): Likewise.
-
- * Makefile.in (stor-layout.o): Depend on except.h
- (varasm.o, function.o): Likewise.
- (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
-
- * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
- (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
- ($(HOST_PREFIX_1)rtl.o): Likewise.
- ($(HOST_PREFIX_1)bitmap.o): New host object.
- * emit-rtl.c (toplevel): Include bitmap.h.
- (gen_rtx): Handle 't' and 'b' nodes.
- * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
- Print block number for block begin/end notes. Print 't' type
- nodes as a pointer. Know that the 3rd argument of live range
- start/stop notes is really a range_info rtx. If type is 'b', print
- out argument as a bitmap.
- * rtl.c: Include bitmap.c.
- (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
- (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
- * rtl.def (RANGE_LIVE): New node to hold live information while we
- recalculate the basic blocks.
- (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
- (RANGE_VAR): New node, to hold information saved in symbol node for New
- communicating live range information to the debug output functions.
- * rtl.h (rtunion_def): Add rttree and rtbit fields.
- (XBITMAP, XTREE): New accessor macros.
- (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
- (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
- (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
- (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
- (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
- (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
- (RANGE_INFO_*): Likewise.
- * sched.c (sched_analyze): Keep live range start/stop notes.
- (unlink_other_notes): Likewise.
- * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
- (unlink_other_notes): Likewise.
- * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
- (BLOCK_LIVE_RANGE_FLAG): Likewise.
- (DECL_LIVE_RANGE_RTL): Likewise.
- (struct tree_block): Add live_range_flag, live_range_var_flag,
- live_range_start and live_range_end.
- (struct tree_decl): Add live_range_rtl field.
- * gengenrtl.c (type_from_format): Handle 'b' and 't'.
- (accessor_from_format): Likewise.
-
- * haifa-sched.c (schedule_block): Make verbose output line up.
- Also add a blank line in printing the individual ready lists.
-
-Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
- (c-lex.o): Depend on output.h.
- (c-common.o): Likewise.
- (stmt.o): Likewise.
- (calls.o): Likewise.
- (integrate.o): Depend on toplev.h.
- (regclass.o): Depend on output.h.
- (final.o): Depend on reload.h.
-
- * c-common.c: Include output.h.
- (check_format_info): Remove unused variable `integral_format'.
-
- * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
- `indent' with ATTRIBUTE_UNUSED.
- (print_lang_type): Likewise.
- (maybe_build_cleanup): Likewise for parameter `decl'.
- (copy_lang_decl): Likewise for parameter `node'.
-
- * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
- (lang_print_xnode): Mark parameters `file', `node' and `indent'
- with ATTRIBUTE_UNUSED.
- (lookup_interface): Likewise for parameter `arg'.
- (is_class_name): Likewise.
- (maybe_objc_check_decl): Likewise for parameter `decl'.
- (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
- `reflexive'.
- (maybe_objc_method_name): Likewise for parameter `decl'.
- (build_objc_string): Likewise for parameters `len' and `str'.
-
- * c-lex.c: Include output.h.
-
- * c-lex.h (position_after_white_space): Correct typo in prototype.
-
- * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
- c_expand_end_cond, init_iterators): Add prototypes.
-
- * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
- with ATTRIBUTE_UNUSED.
-
- * calls.c: Include output.h.
-
- * cccp.c (pipe_closed): Mark parameter `signo' with
- ATTRIBUTE_UNUSED.
-
- * combine.c: Move inclusion of expr.h to after insn-config.h.
-
- * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
- as empty, rather define as ((void)0).
-
- * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
- Add parentheses around assignment used as truth value.
-
- * cplus-dem.c (squangle_mop_up): Change return type to void.
- (internal_cplus_demangle): Remove unused parameter `options'.
- All callers changed.
- (cplus_demangle_opname): Remove function wide variable `int i' and
- replace with `size_t i' at each location where it is used.
- (cplus_demangle_opname): change type of `i' from int to size_t.
-
- * cppexp.c (right_shift): Mark parameter `pfile' with
- ATTRIBUTE_UNUSED.
-
- * cpphash.c (cpp_lookup): Likewise.
- (cpp_hash_cleanup): Likewise.
-
- * cpplib.c (parse_name): Add a prototype and make it static.
- (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
- (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
- (macro_cleanup): Likewise for parameter `pfile'.
- (file_cleanup): Likewise.
-
- * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
- cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
-
- * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
- __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
-
- * cse.c (cse_check_loop_start): Mark parameter `set' with
- ATTRIBUTE_UNUSED.
-
- * dbxout.c (flag_minimal_debug, have_used_extensions,
- source_label_number): Move inside macro wrapper check against
- defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
-
- * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
-
- * except.h (doing_eh): Provide prototype.
-
- * expr.c: Move inclusion of expr.h to after insn-config.h.
-
- * final.c: Include reload.h.
- (shorten_branches): Cast the first argument of bzero to char *.
-
- * fix-header.c (cpp_print_containing_files): Mark parameter
- `pfile' with ATTRIBUTE_UNUSED.
- (cpp_fatal): Likewise.
-
- * flow.c (find_basic_blocks_1): Cast the first argument of bzero
- to char *.
-
- * genattrtab.c (make_length_attrs): Change the type of variable
- `i' from int to size_t.
- (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
- (one_fn): Likewise.
-
- * genextract.c (main): When generating insn-extract.c, mark
- variable `junk' with ATTRIBUTE_UNUSED.
-
- * gengenrtl.c (gencode): When generating genrtl.c, cast the first
- argument of bzero to char*.
-
- * integrate.c: Include toplev.h.
-
- * libgcc2.c: Wrap `struct exception_table' and
- `find_exception_handler' in macro DWARF2_UNWIND_INFO.
-
- * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
-
- * objc/objc-act.c: Include toplev.h.
- (lang_print_xnode): Mark parameters `file', `node' and `indent'
- with ATTRIBUTE_UNUSED.
- (finish_protocol): Likewise for parameter `protocol'.
-
- * output.h (declare_weak): Add prototype.
- (decode_reg_name): Don't wrap with TREE_CODE macro.
- (assemble_alias): Add prototype.
-
- * regclass.c: Include output.h.
-
- * reload.h (reloads_conflict): Add prototype.
-
- * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
- output_func_start_profiler): Add prototypes.
-
- * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
- ATTRIBUTE_UNUSED.
-
- * scan-decls.c: Include scan.h.
-
- * scan.h (recognized_function, recognized_extern): Add prototypes.
-
- * stmt.c: Include output.h.
-
- * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
- (output_lang_identify): Hide prototype and definition.
- (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
- (pipe_closed): Likewise.
-
- * toplev.h (count_error, strip_off_ending, error_for_asm,
- warning_for_asm): Add prototypes.
-
-Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
-
- * toplev.c (rest_of_compilation): "Charge" final for any time
- doing various cleanup operations after finishing compilation
- of a function.
-
- * flow.c (dump_flow_info): Also print number of sets and
- whether or not the pseudo is a user variable.
-
- * flow.c (reg_n_max): New global variable.
- * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
- Delete regno_max variable.
- * regs.h (REG_N_CHECK): Define.
- (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
- (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
- (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
-
-Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
-
- * acconfig.h (ENABLE_CHECKING): Undefine.
- * configure.in (--enable-checking): New option.
-
-Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (merge_assigned_reloads): Can merge
- RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
- if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
-
-Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
-
- * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
-
-Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (gen_reload): Create REG_EQUIV notes.
-
-Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (reload): Fix check for USEs to use code of pattern.
- (choose_reload_regs): Remove dead variable use_insn.
-
-Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
-
-Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
-
- * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
- already defined.
- (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
- (insn_{unit,issue_delay}): Ditto.
- (blockage_range): Ditto.
- (actual_hazard{,_this_instance}): Ditto.
- (schedule_unit): Ditto.
- (potential_hazard): Ditto.
- (insn_cost): Ditto.
- (swap_sort): Ditto.
- (queue_insn): Ditto.
- (birthing_insn_p): Ditto.
- (adjust_priority): Ditto.
- (get_block_head_tail): Ditto.
- (init_rgn_data_dependences): Ditto.
-
-Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
-
- * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
-
-Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
-
- * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
-
-Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
-
- * config/mips/mips.md (dslot): Move after definition of "cpu"
- attribute. Handle r3900 case.
-
-Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * system.h: Define the STRINGIFY macro here.
- * protoize.c: Not here.
- * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
-
-Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
-
- * varasm.c (assemble_variable): Compute the alignment of the data
- earlier so that both initialized and uninitialized variables are
- effected by DATA_ALIGNMENT.
- * tm.texi (DATA_ALIGNMENT): Updated appropriately.
-
-Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.c: Prototype static functions.
-
-Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
-
- * regmove.c (fixup_match_2, find_matches, regmove_profitable):
- Add explanatory comments.
-
- * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
-
-Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
-
- * sparc.md (ffsdi2): Disable. Simplify the expression as well.
-
-Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
-
- * varasm.c (make_decl_rtl): Disable April 1 change.
-
-Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
-
- * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
-
-Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
- * alpha.c (print_operand): Handle it.
- * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
- related define_splits. Also add peepholes for SImode reload
- plus sign_extend lossage.
-
-Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * genattr.c: Include stdarg.h/varargs.h. Change function
- `fatal' to use variable arguments instead of faking it with
- integer parameters. Provide a prototype which also
- checks the format specifiers using ATTRIBUTE_PRINTF_1.
-
- * genattrtab.c: Likewise.
- * gencodes.c: Likewise.
- * genconfig.c: Likewise.
- * genemit.c: Likewise.
- * genextract.c: Likewise.
- * genflags.c: Likewise.
- * genopinit.c: Likewise.
- * genpeep.c: Likewise.
- * genrecog.c: Likewise.
- * genoutput.c: Likewise. Similarly for function `error'.
-
-Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
- * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
- * configure.in: Use GCC_C_VOLATILE.
- * system.h (volatile): Define as empty if no volatile support is
- available.
-
-Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
-
- * genemit.c (output_add_clobbers): Removed unused variable 'i' from
- generated fucntion.
-
-Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
-
- * loop.c (get_condition): Don't combine when either compare is MODE_CC.
- * alpha.c (alpha_emit_conditional_branch): New function. Taken from
- the body of beq; additionally set the mode of the branch to CCmode for
- FP compares and not fast_math.
- (alpha_emit_conditional_move): Always use a compare insn for FP
- when not fast_math, as well as setting CCmode on the cmov.
- * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
-
- * machmode.h (COMPLEX_MODE_P): New macro.
-
-Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
-
- * haifa-sched.c (print_exp): Fix typo.
-
-Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
-
- * final.c (final_scan_insn): Call fatal_insn instead of abort if
- we could not split an insn when required to.
-
- * m32r.md ({add,sub}di3): Add define_splits and appropriate low
- level insns.
- (peepholes): Disable peepholes that call dead_or_set_p.
- (movsi): Rewrite to handle addresses better after last change.
- Add define_split to split load of addresses in large/medium modes.
- (prologue): Call m32r_expand_prologue.
- (movsi_{push,pop}): Generators for push/pop.
- (movsi): Support PRE_{INC,DEC}, POST_INC.
- (mov{di,df}): Rewrite. Always split the insns.
- (movsf): Add define_split to get register load in correct mode.
- (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
- (attributes): Rewrite attributes so that type indicates both the
- type and the length of the insn directly.
- (all insns): Change to use new type attributes.
- (debug): New attribute to convey whether -mdebug was used.
- (opt_space): New attribute to convey whether -Os was used.
- (function units): Loads are 3 cycles, not 2. Better classify all
- insns into short/long.
- (load/store/extend insns): Add separate case for load/store
- indirect operations without an offset.
- (divsi3): Division is a long operation, not short.
-
- * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
- modes > 1 word.
- (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
- (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
- (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
- operands with PRE_{INC,DEC}, POST_INC.
- (FUNCTION_PROFILER): Call abort instead of doing nothing.
- (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
- SImode variables.
- (gen_split_move_double): Declare.
- (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
-
- * m32r.c (gen_split_move_double): Fix typo. Also, don't call
- emit_move_insn, build up SET's directly.
- (toplevel): Include system.h, not stdio.h.
- (move_double_src_operand): Allow any DF or DI mode constant.
- (gen_split_move_double): Split moves of DI or DF values into the
- appropriate moves, loads, or stores. Don't handle use of auto
- inc/dec if using dead index. Do handle overlapping moves, etc.
- (m32r_frame_info): Remove prologue_size field.
- (m32r_compute_frame_size): Don't calculate prologue size.
- (m32r_output_function_prologue): Change to pretty much a NOP.
- (m32r_expand_prologue): Expand prologue as a series of INSNs.
- (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
- (m32r_print_operand_address): Ditto.
-
-Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
-
- * reload1.c (emit_reload_insns): When performing expensive
- optimizations, do not output the last reload insn if OLD is
- not the dest of NSN and is in the src and is clobbered by INSN.
-
-Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (genrtl.o): Depend on system.h.
- * gengenrtl.c (gencode): When creating genrtl.c, have it
- include system.h.
-
-Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config/m68k/t-linux: Remove extra stuff already included in
- config/t-linux.
-
-Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
-
- * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
- curses.h if it contains `typedef char bool;', as suggested by
- Manfred Hollstein <manfred@s-direktnet.de>.
-
- * configure.in: Rename fixinc.math to fixinc.wrap.
-
-Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
-
- * gcc.c (read_specs): Handle missing blank line at end of specs file.
-
- * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
- movdfcc_1): Disable.
-
-Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
-
- * configure.in (enable_threads): Rename to enable_threads_flag before
- main loop. Set enable_threads to enable_threads_flag inside main
- loop.
-
-Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
-
- * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
- multiple times.
-
-Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
-
- * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
- (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
- (AC_CHECK_FUNCS): Remove unused check for vprintf.
-
- * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
- (cccp.o): Depend on gansidecl.h.
- (cexp.o): Likewise.
-
- * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
- per the rest of gcc source.
- * cexp.y: Likewise. Include gansidecl.h and remove all code made
- redundant.
-
- * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
- used when vfprintf is missing.
- * cexp.y: Likewise.
- * gcc.c: Likewise.
- * genattrtab.c: Likewise.
- * mips-tfile.c: Likewise.
- * toplev.c: Likewise.
-
- * vfprintf.c: New file.
- * doprint.c: New file.
-
-Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
-
- * config/linux.h (ASM_COMMENT_START): Remove from here,
- * config/linux-aout.h (ASM_COMMENT_START): and here,
- * config/i386/linux.h (ASM_COMMENT_START): to here,
- * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
- * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
- here as '#' too.
-
-Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
- constant.
-
-Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
-
- * Makefile.in (dwarfout.o) Add toplev.h dependency.
- * dwarfout.c, i386.c: Include toplev.h
- * toplev.h: (pfatal_with_name) Add prototype.
-
-Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * Makefile.in: Fix .SUFFIXES.
-
-Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * config/linux.h (ASM_COMMENT_START): Define as "#".
- * config/linux-aout.h (ASM_COMMENT_START): Likewise.
-
-Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
-
- * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
- * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
-
- * toplev.c: Include toplev.h.
- * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
- c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
- dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
- hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
- reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
- toplev.h dependency.
-
- * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
- HARD_FRAME_POINTER_REGNUM.
-
- * expr.c (target_temp_slot_level): Delete duplicate definition.
-
-Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
-
- * stmt.c (mark_seen_cases): Make it have external linkage again.
- * expr.h (mark_seen_cases): Add declaration, but only when tree.h
- has been included.
-
- * haifa-sched.c (print_value, case SUBREG): Fix typo.
-
- * i386.c (output_387_binary_op): Add some braces to avoid warnings.
- * i386.h (REG_CLASS_CONTENTS): Similarly.
-
- * toplev.c (-fsched-max): Delete flag.
- (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
- * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
- and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
- conditionals.
-
- * haifa-sched.c (find_rgns): Correctly handle reducible loops with
- inner loops which are not reducible.
-
- * loop.c (regs_match_p): Fix typo in prototype.
-
- * regmove.c (try_auto_increment): Wrap declaration inside an
- #ifdef AUTO_INC_DEC.
-
-Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
-
- * final.c (output_operand_lossage): Call fatal with the operand
- lossage message instead of calling abort.
-
-Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * c-common.c: Convert to using ctype macros defined in system.h.
- * c-lex.c: Likewise.
- * cccp.c: Likewise.
- * collect2.c: Likewise.
- * rs6000.c: Likewise.
- * cpplib.c: Likewise.
- * fix-header.c: Likewise.
- * gcc.c: Likewise.
- * gen-protos.c: Likewise.
- * pexecute.c: Likewise.
- * protoize.c: Likewise.
- * rtl.c: Likewise.
- * scan.c: Likewise.
- * stmt.c: Likewise.
- * tlink.c: Likewise.
- * toplev.c: Likewise.
-
-Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
-
- * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
- Replace -gdwarf-2 with -g0.
-
-Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
- * mips-tdump.c: Include system.h, remove redundant headers.
- * mips-tfile.c: Likewise. Also, convert all ctype function calls
- to calls of the macro versions defined in system.h.
-
- * objc/Make-lang.in (objc-act.o): Depend on system.h.
- * objc/objc-act.c: Include system.h, remove redundant headers.
-
-Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * configure.in (AC_CHECK_FUNCS): Add isascii.
- (GCC_NEED_DECLARATIONS): Add atof.
-
- * system.h: Provide prototypes for abort, atof, atol and sbrk here.
- * rtl.c, rtl.h, toplev.c, tree.h: Not here.
-
-Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * system.h: Wrap time.h and sys/file.h in autoconf checks.
- Provide default definitions for O_RDONLY and O_WRONLY here.
-
- * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
-
-1998-05-06 Mark Mitchell <mmitchell@usa.net>
-
- * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
-
-Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
-
- * toplev.h: New file. Protypes for functions in toplev.c.
- * tree.h, rtl.h: Deleted protos for functions in toplev.c.
- * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
- c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
- convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
- function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
- reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
- varasm.c: include it.
-
-Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
- Jim Wilson (wilson@cygnus.com)
-
- * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
- blocks. Check for 1 successor which is the EXIT_BLOCK.
-
- * haifa-sched.c (find_rgns): Detect unreachable blocks, including
- unreachable loops with more than one block.
-
-Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * fix-header.c (write_rbrac): Add "abort" to functions which need to
- be protected.
-
-Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
-
- * Check in merge from gcc2. See ChangeLog.12 for details.
-
-Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
-
- * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
- accept 'a' flag. 'S' does accept 'a' flag.
- (check_format_info): When pedantic, warn for m/C/S/a/A formats,
- and `a' flag.
-
- * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
-
-Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config/m68k/m68k.h: Declare functions from m68k.c used in
- macros and machine description.
- (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
- long values.
- (ASM_OUTPUT_FLOAT): Likewise.
- (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
-
-Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.def: Add NAMESPACE_DECL.
- * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
- * dwarf2out.c (push_decl_scope): Likewise.
- (scope_die_for): Likewise.
- * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
- how to get next context level.
-
-Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
-
- * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
- case.
-
-Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
-
- * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
- for any insns skipped at the start of a block because they were
- redundant.
-
-Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
-
- * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
-
-1998-05-04 Ulrich Drepper <drepper@cygnus.com>
-
- * c-common.c (format_char_info): Add new field hhlen.
- (print_char_table, scan_char_table, time_char_table): Initialize
- hhlen field appropriately.
- (char_format_info): Recognize hh modifier and lookup correct char
- table entry.
-
-Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
- reference if this is a store.
-
-Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
-
- * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
-
-Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
-
- Make UnixWare 7 bootstrap support work with final shipping product.
- * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
- Pick up xm-siglist and xm-alloca.
- (xm_defines): Add USG so dbxout will build.
- * configure: Regenerate.
-
-Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
-
- Support for official Sparc V9 ABI:
- * sparc.c (sparc_override_options): Force stack bias off for !arch64.
- Care for flag_pcc_struct_return default.
- (output_move_quad): Rewrite to move by halves on v9 and in the
- proper direction.
- (move_quad_direction): New function.
- (output_fp_move_quad): Use it to determine the direction of copy.
- (function_arg_slotno): Return -1 for FP reg overflow as well.
- (function_arg_record_value*): New functions.
- (function_arg): Use them. Streamline unprototyped parameter passing.
- (function_arg_pass_by_reference): Pass TCmode by reference.
- (function_value): New function.
- * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
- long long in 64-bit mode.
- (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
- (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
- (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
- (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
- (BASE_INCOMING_ARG_REG): Likewise.
- (FUNCTION_VALUE): Call function_value.
- (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
- * sparc.md (movdi_sp32_v9): Disable for arch64.
- (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
- (call_value_address_sp64): Remove register class constraints.
- (call_value_symbolic_sp64): Likewise.
- (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
- v9 case to 32-bit constants.
- (goto_handler_and_restore_v9): Provide a version for arch64.
- * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
- * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
- (CPP_PREDEFINES): New.
- * sparc/sp64-elf.h: Likewise.
- (PREFERRED_DEBUGGING_TYPE): Dwarf2.
- (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
- * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
-
-Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (find_reloads): Emit USEs to mark where a pseudo
- is reloaded with the MEM of its stack slot.
- * reload1.c (cannot_omit_stores): Delete.
- (reload): Don't initialize it.
- Don't apply avoid_return_reg logic to USEs.
- When done, remove USEs that have a REG_EQUAL note on them.
- (emit_reload_insns): Handle case where we have inherited a MEM.
- (choose_reload_regs): Likewise.
- (delete_output_reload): Don't use cannot_omit_stores.
-
-Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
-
-Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
-
- * haifa-sched.c (print_{exp,value}): Various changes to make the
- debug output easier to read. Also, use only one buffer, and make
- sure the buffer we are passed in doesn't overflow.
- (safe_concat): Concatenate to a buffer without overflow.
-
-Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
- with the prototype.
-
-Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sched.c (new_insn_dead_notes): Check if the register was
- used in the original instruction.
- * haifa-sched.c (new_insn_dead_notes): Likewise.
-
-Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (scope_die_for): If could not find proper scope,
- check for and handle tagged type with incorrect TYPE_CONTEXT.
-
-Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
-
- * calls.c (expand_call): Fix recognition of C++ operator new.
-
- * alias.c (mode_alias_check): Disable type based alias detection.
-
-Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
-
- * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
- ASM_OUTPUT_WEAK_ALIAS): Define.
- * config/mips/elf64.h: Same.
- * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
- ASM_WEAKEN_LABEL): Removed.
-
-Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * calls.c (expand_call): Bump the length limit on the specially
- recognized function names to 17.
-
-Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
-
- * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
- when undefining macros at the end.
-
- * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
- val or len has TREE_SIDE_EFFECTS set.
-
- * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
- (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
- (smuldi3_highpart): Call const v8plus routine.
- (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
- (const_smulsi3_highpart_v8plus): New pattern.
- (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
- (umulsidi3): Call const v8plus routine.
- (umulsi3_highpart): Handle const before v8plus. Call const v8plus
- routine.
- (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
- (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
-
-Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.c (*_oper{and|ator}): Change enum arguments and return
- values to int, so they can be prototyped even in files that don't
- include rtl.h.
- ({small,large}_insn_p): Ditto.
- (m32r_select_cc_mode): Ditto.
- (gen_compare): Ditto.
- (function_arg_partial_nregs): Ditto.
- (m32r_setup_incoming_varargs): Ditto.
- (init_reg_tables): Add prototype.
- (m32r_frame_info): Add prolog_size field.
- (m32r_compute_frame_size): Calculate the size of the prologue.
- (m32r_first_insn_address): Return prologue size.
- (m32r_output_function_prologue): Calculate frame size before
- printing out information. Print out the prologue size.
-
- * m32r.h: Prototype all functions in m32r.c.
- (FIRST_INSN_ADDRESS): Declare, returning prologue size.
-
- * m32r.md (bcc functions): Cast enum's to int.
-
- * m32r.c (conditional_move_operand): Silence a debug message.
- ({small,long}_insn): New predicates.
-
- * m32r.h (TARGET_M32R): New macro.
- (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
- (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
- was selected.
- (ISSUE_RATE): Define as 2.
-
- * m32r.md (insn_size): New attribute.
- ({,rev_}branch_insn): Add .s qualifier to branches believed to be
- short.
- (m32r): New attribute.
-
- * configure.in (enable_haifa): Switch m32r to Haifa by default.
- * configure: Regenerate.
-
- (Changes from Nick Clifton <nickc@cygnus.com>)
- * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
- the equivalent of a negated 'I' constraint.
- (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
- optimisation to work.
-
- * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
- than 'I' since the value is negated.
- (peephole): Add peephole optimisation to cope with optimization of
- divide and subtracts of the same operands.
-
- * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
- * m32r.h: Ditto.
- * m32r.md: Ditto.
-
- * m32r.h (PREDICATE_CODES): Add declaration of machine specific
- predicates.
-
-Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
-
-Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
- frame_pointer_rtx not FRAME_POINTER_REGNUM.
-
-Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
-
- * reg-stack.c: Revert last patch (Apr 20).
- (convert_regs): Set insn to PREV_INSN (next) after do while loop.
-
- * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
-
- * loop.c (check_dbra_loop): New locals jump, first_compare, and
- compare_and_branch. Call get_condition to set first_compare.
- Set compare_and_branch to number of compare/branch instructions.
- Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
- Replace '2' with compare_and_branch.
-
-Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * cplus-dem.c (demangle_qualified): Replace missing else.
-
-Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
-
-Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (sh_expand_prologue, sh_expand_epilogue):
- If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
- * sh.h (STACK_BOUNDARY): Likewise.
-
-Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
-
-Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
-
- * system.h (abort): If abort is not defined, and neither is
- USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
- reporting the line and filename of the error.
-
- * .gdbinit: Add breakpoints on exit and fancy_abort.
-
- * final.c (split_double): Avoid a compiler warning if
- BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
-
- * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
- for calling jump_optimize.
-
- * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
- macros, rather than 0/1's.
-
-Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (CONST_COSTS): Zero is always free.
- (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
-
-Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
- length in the name of a virtual table.
-
-Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
-
-Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
-
- * fold-const.c (fold_convert): Fix typo.
-
-Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
-
- * alias.c (alias_invariant): New variable.
- (record_base_value): New argument INVARIANT.
- (memrefs_conflict_p): If a register has an entry in the alias_invariant
- array, try substituting that value for the register.
-
- * rtl.h: Declare record_base_value.
-
- * loop.c, unroll.c: Update callers of record_base_value.
-
- * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
- ZERO_EXTEND do not affect base values.
-
-Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
-
- * dbxout.c (dbxout_type): Fix typo.
- (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
-
- * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
-
-Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
-
- * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
- if the argument is the address of a structure or array.
-
- * configure.in: Enable Haifa scheduler by default for SPARC.
-
-Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * cse.c (cse_set_around_loop): Don't do optimization when
- new pseudos are created.
-
-Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
-
- * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
- appropriately.
- (dbxout_type_method_1, dbxout_type): Likewise.
- (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
- (dbxout_type): Fix check for when to print a type range in
- octal vs decimal.
-
-Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * (gen_shl_and, in case 1): Fix comparison with mask.
-
-Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
- pointer as second register in REG+REG pair.
-
-Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * c-common.c (check_format_info): Don't check for the 'x' format
- character twice, instead check for 'x' and 'X'
-
-Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (libgcc2.ready): Add explicit dependancy from
- $(STMP_FIXPROTO) to ensure all necessary include files have
- been created and to guarantee proper parallel builds.
-
-Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
- register for stdarg functions.
- * sh.h (current_function_varargs): Declare.
- (FUNCTION_ARG): Ignore NAMED for stdarg functions.
-
-1998-04-23 Jim Wilson <wilson@cygnus.com>
-
- * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
- inhibit_libc is defined.
-
- * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
-
-Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
-
- * profile.c (tablejump_entry_p): New function.
- (branch_prob): Add code to recognize MIPS tablejump entry branch.
- Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
-
-Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.c (find_barrier): Return as soon as a barrier is
- found, rather than at end of the loop, after the insn has been
- changed.
-
-Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
- * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
-
-Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
-
- * loop.c (note_addr_stored): Correct function to take 2 arguments,
- instead of 1.
-
- * rtl.def (MATCH_INSN2): Add new matching pattern.
- * genrecog.c (add_to_sequence): Support MATCH_INSN2.
-
-Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
-
- * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
- if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
-
- * final.c (split_double): Sign extend both halves of a split CONST_INT.
-
-Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
-
-Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
- (cplus_demangle_opname): Call mop_up_squangle.
- (cplus_demangle): Initialize squangle info, then call
- internal_cplus_demangle. (Most code moved there as well)
- (internal_cplus_demangle): New function, performs most of what use
- to be done in cplus_demangle, but is only called with this file.
- (squangle_mop_up): New function to clean up B and K code data.
- (mop_up): set pointers to NULL after freeing.
- (demangle_signature, demangle_template, demangle_class): Add
- switch elements to handle K and B codes.
- (demangle_prefix, gnu_special, demangle_qualified): Add
- code to handle K and B codes.
- (do_type, demangle_fund_type): Handle B and K codes.
- (remember_Ktype): New function to store K info.
- (register_Btype, remember_Btype): New functions for B codes.
- (forget_B_and_K_types): New function to destroy B and K info.
-
-1998-04-21 Jim Wilson <wilson@cygnus.com>
-
- * stmt.c (check_seenlabel): When search for line number note for
- warning, handle case where there is no such note.
-
-Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
-
- * genemit.c (gen_exp): Allow machine description to set mode of
- MATCH_OP_DUP.
-
-Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
-
- * alias.c (mode_alias_check): New function.
- (true_dependence, anti_dependence, output_dependence): Call
- mode_alias_check.
-
-Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.h (STACK_BOUNDARY): Allow specific targets to override.
- (MIPS_STACK_ALIGN): Similarly.
-
- * c-common.c (type_for_mode): Handle TI types.
- * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
- (init_decl_processing): Handle TI types.
- * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
-
- * mips.c (block_move_loop): Test Pmode == DImode instead of
- TARGET_MIPS64.
- (expand_block_move, save_restore_insns): Likewise.
- (function_prologue, mips_expand_prologue): Likewise.
- (mips_expand_epilogue): Likewise.
- * mips.h (POINTER_SIZE): Allow specific targets to override.
- (Pmode): Allow specific targets to override.
- (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
- (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
- (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
- (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
- (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
- (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
- * mips.md (indirect, tablejump & casesi support): Test for
- Pmode == DImode instead of TARGET_MIPS64.
- (call patterns): Likewise.
-
-Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
- for gen_rtx(MEM, ...).
-
-Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
-
- * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
- to not be so gross, and to properly function with PIC.
-
-Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
-
- * frame.c (heapsort): Rename to frame_heapsort.
-
- * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
-
-Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
-
-Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
-
- * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
- operands during and after reload.
-
-Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (shorten_branches, init_insn_lengths): Move code
- to free label_align, uid_shuid, insn_lengths, insn_addresses
- and uid_align from the former function into the latter one;
- Add code to clear these variables.
- * sh.h (label_align): Remove declaration.
-
-Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
-
- * gcc.c (lang_specific_driver): Declare prototype properly so
- fatal can be passed to it without error.
-
- * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
- * configure: Regenerate.
- * config.in: Add #undef's for strchr and strrchr.
-
- * protoize.c (toplevel): If we have rindex, but not strrchr, map
- rindex to strrchr.
- (file_could_be_converted): Use strrchr, not rindex since rindex is
- not defined on Linux systems when _POSIX_SOURCE is defined.
- (file_normally_convertible): Ditto.
- (process_aux_info_file): Ditto.
- (main): Ditto.
-
- * rs6000.md (mov{sf,df} define_splits): When splitting a move of
- a constant to an integer register, don't split the insns that do
- the simple AND and OR operations, rather just split each word, and
- let the normal movsi define split handle it further.
-
-Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
- (split_branches): Call init_insn_lengths.
-
-Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
-
- * i386.c: Include expr.h to get the change_address prototype
- declared.
-
-Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
-
- * reg-stack.c (subst_asm_stack_regs): Change to return the last
- new insn generated by this function.
- (subst_stack_regs): Likewise.
- (convert_regs): Record the last newly generated insn and use
- it for change_stack () instead of INSN.
-
-Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * fix-header.c (enum special_file): Undefine enumerators if they
- are already defined by include files.
- * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
- macro with '__' to not pollute user namespace.
-
-Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
-
- * haifa-sched.c (queue_to_ready): Fix typo in prototype.
-
-Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
-
- * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
-
- * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
- Add missing -Dpentium* options.
- (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
- instead of CPP_CPU_DEFAULT.
- (EXTRA_SPECS): Add entry for cpp_cpu_default.
-
-Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
- negative in a stackless frame.
- * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
- in stackless frame size. Support 64-bit stackless frame size.
- Combine fpmem offset calculations and don't add total_size to
- offset if not pushing a stack frame.
-
-Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
-
- * regmove.c (fixup_match_1): In three places, in flag_exceptions
- check, change p to q.
-
-Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
-
- * gcc.c (lang_specific_driver): Add new parm type to prototype.
- (added_libraries): New file scope static variable.
- (process_command): Initialize added_libraries. Pass it to
- lang_specific_driver.
- (main): Use added_libraries in check for no input files.
-
-Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
-
- * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
- code generation. Use 64 bit instructions in 32 bit mode when
- possible. Use V9 return instruction. UltraSPARC optimizations.
-
- * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
-
-Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
-
- * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
- just pass zero. That will work regardless of the size of HARD_REG_SET.
-
- * libgcc2.c (__floatdisf): Fix a couple typos.
-
-Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
-
-Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
-
- * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
-
-Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
-
- * emit-rtl.c (operand_subword_force): If a register can not be
- accessed by words, copy it to a pseudo register.
-
-Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
-
- * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
-
-Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
-
- * tree.h (mark_seen_cases): Delete declaration.
-
-Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
-
- * stmt.c (mark_seen_cases): Make static and add prototype.
-
-Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * frame.c: Include stdlib.h and unistd.h to possibly get various
- function prototypes. The fixproto script guarantees these header
- files exist on the target system.
- * libgcc2.c: Likewise.
-
- * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
- __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
- function parameters.
- * libgcc2.c (__udiv_w_sdiv): Likewise.
-
-Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
-
- * varasm.c (asm_output_bss): Add prototype.
- (asm_output_aligned_bss): Likewise.
-
- * unroll.c (verify_addresses): Add prototype.
-
- * toplev.c: Add many prototypes. Too many to mention here.
-
- * stmt.c (check_seenlabel): Add prototype.
-
- * rtlanal.c (reg_set_p_1): Add prototype.
- (reg_set_last_1): Likewise.
-
- * reorg.c (find_dead_or_set_registers): Add prototype.
-
- * regmove (try_auto_increment): Add prototype.
-
- * reg-stack.c (pop_stack): Add prototype.
-
- * recog.c (validate_replace_rtx_1): Add prototype.
- (find_cosntant_term_loc): Likewise.
-
- * loop.c (regs_patch_p): Add prototype.
- (add_label_notes, count_nonfixed_reads): Likewise.
- (find_single_use_in_loop): Likewise.
- (express_from): Surround prototype with #ifdef.
- (giv_sort): Similarly.
-
- * jump.c (mark_modified_reg): Add prototype.
-
- * haifa-sched.c (is_prisky): Add prototype.
- (queue_to_ready): Likewise.
-
- * genextract.c (gen_insn): Add prototype.
-
- * genemit.c (max_operand_1): Add prototype.
- (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
- (gen_expand, gen_explit, output_add_clobbers): Likewise.
- (output_init_mov_optab): Likewise.
-
- * genattrtab.c (attr_hash_add_rtx): Add prototype.
- (attr_hash_add_string, write_length_unit_log): Likewise.
-
- * genattr.c (init_range): Add prototype.
-
- * combine.c (sets_function_arg_p): Add prototype.
-
- * expr.c (store_constructor_field): Add prototype.
- (get_memory_usage_from_modifier): Likewise
-
- * expmed.c (synth_mult): Add prototype.
- (choose_multiplier, invert_mod2n): Likewise.
-
- * except.c (push_eh_entry): Add prototype.
- (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
- (call_get_eh_context, start_dynamic_cleanup): Likewise.
- (start_dynamic_handler, can_throw): Likewise.
- (output_exception_table_entry, scan_region): Likewise.
- (eh_regs, set_insn_eh_region): Likewise.
-
- * dwarfout.c (decl_class_context): Add prototype.
- (output_inheritance_die, type_ok_for_scope): Likewise.
-
- * c-lex.c (skip_white_space_on_line): Add prototype.
-
- * alias.c (record_set): Add prototype.
- (find_base_term, base_alias_check): Likewise.
-
- * function.c (assign_outer_stack_local): Make static and add prototype.
-
- * haifa-sched.c (build_control_flow): Accept raw data as inputs
- instead of computing it locally. Callers changed.
- (find_rgns): Several new arguments. Callers changed.
- Generally clean up and comment better. Use dominators to
- identify reducible loops. Convert some flag arrays to bitmaps.
- Convert most of the code to work on pred/succ lists instead of
- an edge table. Add comments for future improvements.
- (schedule_insns): Allocate temporary tables for flow data, call
- routines to compute flow data and pass it along to children as
- arguments.
- (debug_control_flow): Delete. Use dump_bb_data instead.
-
- * basic-block.h (compute_dominators): Declare.
-
- * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
- functions.
- * basic-block.h: Declare them.
-
-Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
-
- * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
- no operands.
-
-Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
-
- * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
- Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
- node is non NULL. Cache last file name and file name identifier node.
-
-1998-04-15 Mark Mitchell <mmitchell@usa.net>
-
- * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
- the length of an array, not TREE_TYPE.
-
-Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (sbitmap_union_of_successors): New function.
- * basic-block.h (sbitmap_union_of_successors): Declare it.
-
-Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
-
- * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
- Set gnu_ld to gnu_ld_flag inside main loop.
- (gas): Likewise.
-
-Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
-
- * toplev.c (compile_file): Call init_parse using new interface.
- (init_lex): Remove declaration.
-
- * c-lex.c (init_parse): Now returns char* containing filename.
-
-Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
-
-Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
-
- * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
- (gen{extract,peep,opinit,output}): Ditto.
-
- * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
- global definition so print-rtl.o can be linked in.
- * gen{peep,recog}.c (insn_attr_name): Ditto.
-
-Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
-
- * fixincludes: discard empty C++ comments, as found in sys/time.h
- on hpux-11.0.
-
-Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
- operand.
-
-Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
-
- * emit-rtl.c (operand_subword): Rework slightly to avoid
- bogus warning from previous change.
-
-Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
- Nov 8 find_replacement change. Move decls of get_unaligned_address
- * alpha.h: ... here.
-
-Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
-
- * function.c (assign_parms): Initialize unsignedp before passing
- its pointer to promote_mode.
-
- * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
- (write_test_expr): Allow MATCH_INSN.
-
-Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
-
- * install.texi: Update section on warnings that can be safely ignored.
-
-Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (reload_outdi): Change the scratch mode from DImode to
- TImode. New variable scratch, used instead of operand[2] in template.
- Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
-
-Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
-
- * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
-
-Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
-
- * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
-
-Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
-
- * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
- (ASM_FINISH_DECLARE_OBJECT): Likewise.
-
- * Idea and part of the patch from HJ.
- * Makefile.in: auto-host.h renamed from auto-config.h. All references
- changed.
- (distclean): Remove auto-build.h too.
- * configure.in: Rename host autoconf generated file to auto-host.h.
- If host != build, then run autoconf to generate auto-build.h for
- the build machine and include it in build_xm_files.
- Check for wait.h and sys/wait.h.
-
- * combine.c (simplify_rtx, case TRUNCATE): Respect value of
- TRULY_NOOP_TRUNCATION.
-
-Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
-
-Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
-
- * invoke.texi (ld options) Include memset requirements
- for options -nodstdlib and -nodefaultlibs.
-
-1998-04-12 Paul Eggert <eggert@twinsun.com>
-
- This change is from an idea suggested by Arthur David Olson.
-
- * c-common.c (decl_attributes, record_function_format,
- check_format_info, init_function_format_info):
- Add support for strftime format checking.
- (enum format_type): New type.
- (record_function_format): Now static, and takes value of type
- enum format_type instead of int.
- (time_char_table): New constant.
- (struct function_format_info): format_type member renamed from is_scan.
- (check_format_info): Use `warning' rather than sprintf followed by
- `warning', to avoid mishandling `%' in warnings.
- Change `pedwarn' to `warning', since these warnings do not necessarily
- mean the program does not conform to the C Standard, as the code
- need not be executed.
-
- * c-tree.h (record_function_format): Remove decl; no longer extern.
-
- * extend.texi: Add documentation for strftime format checking.
-
-Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips/ecoffl.h: Do not include mips.h.
- * mips/elf.h: Likewise.
-
- * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
- * mips/ecoff.h: Include "mips/mips.h".
-
-Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
-
- * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
- (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
- * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
- between loop optimization passes.
- * rtl.h: Updated appropriately.
-
-Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
-
- Reinstall this patch from Jason.
- * function.c (push_function_context_to): Don't call init_emit.
-
-Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
-
- * rtl.c (read_skip_spaces): Prevent infinite loops upon
- encountering unterminated comments.
-
-Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
-
- * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
- 64x32 cross builds.
-
- * configure.in: Handle --with-fast-fixincludes.
- (fixincludes): If --with-fast-fixincludes, then use a different
- fixincludes program by default.
- * Makefile.in (fixinc.sh): New rule.
-
-Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
-
- * i386.md (movqi+1): Handle invalid QI register.
- (movsf_push-1): Likewise.
-
-Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
- addresses.
- symbolic_memort_operand(), call32_operand(), int8_operand(),
- int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
- Not used.
- uint16_operand(): Made static.
-
-Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
-
- * calls.c (expand_call): Fix typo.
-
-Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
-
- * c-lex.c (finput): New global.
- (init_parse): Always included. Handle !USE_CPPLIB using
- code originally in compile_file.
- (finish_parse): Update for CPPLIB.
- * toplev.c (init_parse, finish_parse): Declare.
- (finput): Delete variable. Now in front-ends.
- (compile_file): Remove code which is now handled by init_parse
- which is unconditionally called. Similarly for finish_parse.
-
-Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
-
- * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
- ASM_WEAKEN_LABEL): Add.
-
-Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
- * configure.in (alpha-*-linux*): Use them.
-
-Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
- * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
- COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
- (build_expr_wfl): New prototype declaration.
- * tree.c (build_expr_wfl): New function, to build
- EXPR_WITH_FILE_LOCATION nodes.
- (copy_node): Don't zero TREE_CHAIN if copying a
- EXPR_WITH_FILE_LOCATION node.
- * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
- * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
-
-Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (v850): Use t-v850.
- (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
-
- * protoize.c (creat, read, write): Do not declare.
-
- * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
- refer to the CODE_LABEL before a dispatch table.
-
- * invoke.texi: Add ARC options.
-
- * gcc.c (proces_command): Improve error message for -o with
- either -c or -S.
-
- * i386/x-cygwin32 (CLIB): Link in advapi32.
-
- * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
- (ASM_IDENTIFY_LANGUAGE): Likewise.
-
- * i386.md (movqi recognizer): Don't perfom byte increment into
- a NON_QI_REG_P.
-
- * configure.in (x86-dg-dgux): Run fixinc.dgux.
-
- * i370.h: Fix typo in GEN_INT changes.
-
- * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
- of an empty arglist in prototype.
-
- * Makefile.in: Remove bytecode crud that crept back in after the
- gcc2 merge.
-
-1998-04-08 Brendan Kehoe <brendan@cygnus.com>
-
- * c-lex.h (is_class_name): Fix arg type to be tree, not void.
- (make_pointer_declarator, reinit_parse_for_function): Fix typo.
-
-Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
-
-Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
-
- * c-lex.c (is_class_name): Delete declaration.
- (whitespace_cr): Make static and add prototype.
- * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
- yylex, get_directive_line): Turn declarations into prototypes.
- (position_after_whitespace, check_newline, yyerror,, is_class_name,
- forget_protocol_qualifiers, remember_protocol_qualifiers): Add
- prototypes.
- * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
- prototypes.
- * gencodes.c (gen_insn): Add prototype.
- * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
- gen_peephole): Add prototypes.
- * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
- prototypes.
- * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
- special_format, find_formats, gendecl, genmacro, gendef, genlegend,
- genheader, gencode): Add prototypes.
- * genopinit.c (gen_insn): Add prototype.
- * genoutput.c (output_prologue, output_epilogue, scan_operands,
- process_template, validate_insn_alternatives, gen_insn, gen_peephole,
- gen_expand, gen_split, n_occurrences): Add prototypes.
- * genpeep.c (gen_peephole): Add prototype.
- * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
- reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
- labels_in_range_p, count_loop_regs_set, note_addr_stored,
- loop_reg_used_before_p, scan_loop, replace_call_address,
- skip_consec_insns, libcall_benefit, ignore_some_movables,
- force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
- strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
- check_final_value, record_giv, update_giv_derive, basic_induction_var,
- simplify_giv_expr, general_induction_var, consec_sets_giv,
- check_dbra_loop, express_from, combine_givs_p, combine_givs,
- product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
- last_use_this_basic_block, record_initial, update_reg_last_use,
- iteration_info, analyze_loop_iterations, insert_bct,
- instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
- into prototypes.
-
-Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
-
-1998-04-07 Ken Raeburn <raeburn@cygnus.com>
-
- * config/mips/mips.c (siginfo): Deleted.
- (override_options): Don't install SIGINFO signal handler.
-
-Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
-
- * loop.c (check_dbra_loop): When normalize comparison_val, add check
- to verify it is non-negative.
-
-Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
- (alpha_expand_block_clear): Likewise.
-
-Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
-
- * tree.h (sizetype_tab): Fix previous change for K&R.
-
-Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
- Add USG and POSIX to xm_defines.
-
-Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
-
- * gcc.c: Add linker spec.
- (link_command_spec): Use %(linker) instead of ld.
- (main): If collect2 is requested as the linker, see if it exists;
- if not, use ld instead.
-
- * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
- (ld:) Deleted.
- (install-collect2): Install as collect2, not ld.
-
- * configure.in(will_use_collect2): It's named collect2 now.
-
- * collect2: Remove checks to see if we were invoked recursively.
- (collect_execute): Use _spawnvp under cygwin32.
-
-Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
-
- * haifa-sched.c (build_control_flow): Set unreachable for block whose
- only predecessor is itself.
-
-Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * c-parse.in: Include system.h, and remove stuff now made redundant.
- * cccp.c: Likewise.
- * cexp.y: Likewise.
- * protoize.c: Likewise. Properly check for cpp stringification.
-
- * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
- Depend on system.h.
-
- * objc/Make-lang.in (objc-parse.o): Likewise.
-
-Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gansidecl.h: Check if compiler supports __attribute__. Provide
- definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
- __attribute__ when its available. Also provide definitions for
- ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
- terms of ATTRIBUTE_PRINTF.
-
- * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
- of __attribute__.
-
-Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
-
- * combine.c (can_combine_p): Include successor in volatile test.
-
-Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
- offset_unsigned.
-
-Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
-
- * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
- in prototype and definition.
-
-Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_expand_block_clear): Add missing offset arg to
- alpha_expand_unaligned_store_words.
-
-Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
-
- * i386.md (movsf_push, movsf_mem): Remove.
- (movsf_push): Rename from movsf_push_nomove and move in front of
- movsf. Use nonmemory_operand predicate and don't bother checking
- TARGET_MOVE.
- (movsf_push_memory): New pattern.
- (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
- both operands refer to memory then force operand[1] into a register.
- (movsf_normal): Change to unnamed pattern.
- Likewise for movdf, movxf, and friends.
-
-Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
-
- * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
-
-Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
-
- * configure.in (mips-wrs-vxworks): New target.
-
-Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
-
- * expmed.c (synth_mult): The value -1, has no zeros, so it can
- never have the form ...011.
-
- * version.c: Bump for snapshot.
-
-Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.c (asm_output_function_prefix, load_pic_register):
- Use ASM_GENERATE_INTERNAL_LABEL properly.
- (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
- (print_operand): Ignore it.
- (load_pic_register): Use it for the got load call.
- * i386.md (prologue_set_got, prologue_get_pc): Likewise.
- (prologue_get_pc_and_set_got): Likewise.
- * i386.h: Update print_operand docs.
-
-Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.md (ffssi, ffshi): Rewrite as define_expands.
- (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
- * i386.c (notice_update_cc): Recognize unspec 5.
-
-Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
-
- * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
- * alpha.c (print_operand): Handle it.
- * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
- for ALPHA_TP_INSN.
- (fix_truncdfdi2): Likewise.
-
-Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
-
- * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
- of these into a single struct, with additional [us]sizetype entries.
- * stor-layout.c (set_sizetype): Initialize [us]sizetype.
- * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
- an array.
-
-Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
-
- * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
-
-Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
-
- * haifa-sched.c (split_block_insns): Don't supress insn splitting
- on subsequent passes.
-
- * alpha.c (hard_fp_register_operand): New function.
- * alpha.h (PREDICATE_CODES): Add it.
- * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
- f<-m case and accompanying define_split.
- (trapb): Use a unique unspec_volatile number.
-
-Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
-
- * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
- from gcc2 merge.
-
-Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
-
- * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
- for details.
-
- * haifa-sched.c: Mirror recent changes from gcc2.
-
-Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (insn*.o): Depend on system.h.
-
- * pa.c (output_global_address): Initialize base.
- * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
-
-1998-04-03 Mike Stump <mrs@wrs.com>
-
- * gthr.h: Support systems that don't have weak, but have threads.
- * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
- * gthr-vxworks.h: New file.
- * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
-
-Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
-
- * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
-
-1998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * ginclude/va-i960.h (va_end): Change void * to void.
-
-Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (choose-temp.o): Depend on system.h.
-
- * choose-temp.c: Include system.h when IN_GCC.
-
-Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
- Richard Henderson <rth@cygnus.com>
-
- * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
- (move_replacements): New function.
- * reload.h: Prototype it.
-
- * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
-
-Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
-
- * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
- Run fixincludes.
-
- * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
- (gen_highpart): Likewise.
- * final.c (alter_subreg): Allow the target to hook by-mode subreg
- hard register number changes.
-
-Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
-
- * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
- rnbitsize, rnmode and rinner.
- (make_range): Initialize type.
- (fold): Initialize arg0, arg1 and varop.
-
- * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
- and regnor.
- (expand_function_start): Initialize last_ptr.
-
- * stor-layout.c (layout_record): Initialize desired_align.
- (get_best_mode): Initialize unit.
-
- * tree.c (copy_node): Initialize length.
-
- * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
-
- * caller-save.c (insert_save_restore): Initialize pat, code and
- numregs.
-
- * emit-rtl.c (push_to_sequence): Initialize top.
- (push_topmost_sequence): Likewise.
-
- * genattrtab.c (simplify_by_exploding): Initialize defval.
-
- * profile.c (branch_prob): Initialize dest.
-
- * rtl.h (note_stores): Remove duplicate prototype.
- (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
-
- * cplus-dem.c (gnu_special): Don't get confused by .<digits>
- strings that are not actually lengths.
-
- * genattrtab.c: Make generated file use system.h, instead of
- including stdio.h, etc directly.
- * genextract.c, genopinit.c, genoutput.c: Likewise.
- * genpeep.c, genrecog.c: Likewise
-
- * genoutput.c (process_template): Mark operands in the generated
- function as potentially unused if compiling with GNU CC.
-
- * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
-
- * pa.md (reload peepholes): Remove unused variable "mode".
-
-Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.h: Add super interworking support.
- * config/arm/thumb.c: Add super interworking support.
- * config/arm/thumb.md: Add super interworking support.
- * config/arm/lib1funcs.asm: Add interworking support.
- * config/arm/lib1thumb.asm: Add super interworking support.
- * config/arm/t-semi: Add interworking support.
- * config/arm/t-thumb: Add interworking support.
- * config/arm/README-interworking: New file.
-
-Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
-
- * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
- (MD_STARTFILE_PREFIX): Unset.
-
-1998-04-01 Mark Mitchell <mmitchell@usa.net>
-
- * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
- entity in a local scope.
-
- * fold-const.c (fold): Call truthvalue_conversion for values which
- are folded to boolean type.
-
-Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
-
- * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
- * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
- * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
- * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
- * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
- * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
- * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
- * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
- * md.texi: Likewise.
-
-Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * fixincludes (limits.h): Fix nested comments in Motorola's
- limits.h and sys/limits.h.
-
-Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
-
- * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
- as dest of expand_binop call.
-
- * alpha.md (extzv): Correct check for valid operand[2] values.
-
- * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
- branch.
-
- * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
-
-Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
-
- * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
- For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
-
- * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
- cygwin32 can override this to allow both unix and win32 style PATHs.
-
- * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
- style environment paths.
-
-Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
- cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
- gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
- system.h.
-
- * cpphash.c: Include config.h.
- * cppalloc.c: Include system.h. Add parameters to various
- function prototypes.
- * cpperror.c: Likewise.
- * cppexp.c: Likewise.
- * cpphash.c: Likewise.
- * cpplib.c: Likewise.
- * cppmain.c: Likewise.
- * fix-header.c: Likewise.
- * gcov.c: Likewise.
- * gen-protos.c: Likewise.
- * gengenrtl.c: Likewise.
- * halfpic.c: Likewise.
- * hash.c: Likewise.
- * scan-decls.c: Likewise.
- * scan.c: Likewise.
-
-Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
-
- * README.gnat: Add lang_print_xnode definition.
-
-Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config/m68k/m68k.c (standard_68881_constant_p): Don't use
- fmovecr on the 68060.
-
-Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
-
- * genemit.c (DONE): Rework so that it works in the true arm if
- an if-else conditional.
- (FAIL): Likewise.
-
-Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
-
- * rs6000.c: Do not include stdioh or ctype.h anymore.
-
- * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
- $(RTL_H).
- (stor-layout.o): Likewise.
- * c-typeck.c: Include rtl.h and expr.h.
- * stor-layout.c: Likewise.
-
- * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
- All callers changed.
- (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
- * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
- All callers changed.
-
- * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
-
- * local-alloc.c (reg_classes_overlap_p): Delete dead function.
-
- * tree.h (lang_print_xnode): Provide prototype.
-
-Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
-
- * objc/sendmsg.c (__objc_block_forward): Add braces for return
- value if INVISIBLE_STRUCT_RETURN.
-
- * pa.c (arith_double_operand): Fix parens.
-
- * haifa-sched.c (print_pattern): Correct arg to sprintf.
-
- * Makefile.in (libgcc1.null): Make return type for __foo void.
-
-Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.h: Add declarations for many functions defined in pa.c.
-
- * genpeep.c (main): Remove unused variable 'i' from the generated
- file.
-
- * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
- (gen_split): Likewise.
- (main): Rework generated definitions of DONE and FAIL so that they
- no longer use gotos. Avoids warnings about unused labels.
-
- * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
- unused "junk" variable.
-
- * genattrtab.c (write_complex_function): Add a default case in
- generated switch statement to keep -W -Wall quiet.
-
-Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
-
- * invoke.texi: Document more ARM and Thumb command line options.
-
- * config/arm/xm-thumb.h: New file.
-
-Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
-
- * stmt.c (expand_expr_stmt): Must generate code for
- statements within an expression (gcc's `({ ... )}')
- even if -fsyntax-only.
-
-Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
- Jeffrey A Law (law@cygnus.com)
-
- * basic-block.h (basic_block_computed_jump_target): Declare.
- * flags.h: (current_function_has_computed_jump): Declare.
- * flow.c: (basic_block_computed_jump_target): Define.
- (flow_analysis): Allocate it. Set current_function_has_computed_jump
- to 0.
- (find_basic_blocks): Set current_function_has_computed_jump and
- elements of basic_block_computed_jump_target to 1 as appropriate.
- * function.c: (current_function_has_computed_jump): Define.
- * global.c (global_conflicts): Don't allocate pseudos into stack regs
- at the start of a block that is reachable by a computed jump.
- * reg-stack.c (stack_reg_life_analysis): If must restart, do so
- immediately.
- (subst_stack_regs): Undo change from Sep 4 1997.
- (uses_reg_or_mem): Now unused, deleted.
- * stupid.c (stupid_life_analysis): Compute
- current_function_has_computed_jump.
- (stupid_find_reg): Don't allocate stack regs if the function has a
- computed goto.
- * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
- the current function has a computed jump. Use the global value
- instead.
-
-Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
-
- * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
- (DWARF2_UNWIND_INFO): Define to zero.
-
-Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
-
- * gcc.c (set_std_prefix): Add declaration.
- (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
- suffix, and update the standard prefix prefix.c uses.
-
- * prefix.c (std_prefix): New global to hold default prefix value.
- (get_key_value): Change to use std_prefix instead of PREFIX.
- (translate_name): Ditto.
- (update_path): Ditto.
- (get_key_value): Release allocated scratch storage.
- (set_std_prefix): New function to reset the standard prefix.
-
-Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (find_barrier): Fix calculations for alignment increase.
-
-Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (stmp-fixinc): If we're actually fixing include
- files, copy gcc's assert.h into the fixed include dir.
- * fixincludes (assert.h): Avoid any attempts to fix a probably
- broken system specific assert.h file.
- * fixproto (stdlib.h): Make sure, it'll contain a definition of
- size_t.
-
-Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
-
- * regclass.c (reg_scan_mark_refs): Be more selective about
- when we mark a register with REGNO_POINTER_FLAG.
-
-Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- reload inheritance improvement:
- * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
- Change meaning: index is now hard reg number.
- (reg_reloaded_valid, reg_reloaded_dead): New variables.
- (reload_spill_index): Content is now a hard reg number.
- (reload_as_needed): Change to fit new variable meaning.
- (forget_old_reloads_1, allocate_reload_reg): Likewise.
- (choose_reload_regs, emit_reload_insns): Likewise.
-
-Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regclass.c (record_reg_classes): '?' increases cost by two.
-
- * reload.c (find_reloads): Double previous costs. Output
- reloads cost one unit extra.
-
- * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
- boiled down to && ! 0.
-
- * reload.c (find_equiv_reg): Also consider a goal offset from the
- frame pointer to be constant.
-
-Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (OPTIMIZATION_OPTIONS): Define.
-
-Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
-
- * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
-
-Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
-
-Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
-
- * c-common.c (check_format_info): Initialize type, is_type. New local
- integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
- when pedantic if used with integral format specifier.
-
-Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
- direction.
- (function_arg_padding): Declare.
-
- * rs6000.c: Include system.h.
- (function_arg_padding): Change return type to int, cast enum's to
- int.
-
- (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
- * collect2.c (scan_prog_file): Add explicit braces to avoid
- ambiguous `else'.
-
- * dbxout.c (dbxout_type_fields): Add braces around empty body in
- an if-statement.
- (dbxout_type): Likewise.
-
- * rs6000.c (rs6000_override_options): Change type of `i', `j' and
- `ptt_size' from int to size_t.
- (rs6000_file_start): Likewise for `i'.
- (rs6000_replace_regno): Add default case in enumeration switch.
- (output_epilog): Remove unused variable `i'.
- (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
- and `reg2'.
-
- * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
- initializer.
- (get_issue_rate, non_logical_cint_operand): Add prototype.
- (rs6000_output_load_toc_table): Ditto.
-
- * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
- `else'.
-
-Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.c: New File. Support for ARM's Thumb
- instruction set.
- * config/arm/thumb.h: New File. Thumb definitions.
- * config/arm/thumb.md: New File. Thumb machine description.
- * config/arm/tcoff.h: New File. Thumb COFF support.
- * config/arm/t-thumb: New File. Thumb makefile fragment.
- * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
-
- * configure.in: Add Thumb-coff target.
- * configure: Add Thumb-coff target.
- * config.sub: Add Thumb-coff target.
-
-Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
-
- * loop.c (scan_loop): Initialize move_insn_first to zero.
-
-Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
-
- * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
- * config/i386/rtems.h: Likewise.
- * config/i960/rtems.h: Likewise.
- * config/m68k/rtems.h: Likewise.
- * config/mips/rtems64.h: Likewise.
- * config/pa/rtems.h: Likewise.
- * config/rs6000/rtems.h: Likewise.
- * config/sh/rtems.h: Likewise.
- * config/sparc/rtems.h: Likewise.
-
-Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * pa.c (emit_move_sequence): If in reload, call find_replacement.
-
-Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
-
- * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
-
- * collect2.c (find_a_file): Add debugging.
- (find_a_file): Test for win32 style absolute paths if
- DIR_SERPARATOR is defined.
- (prefix_from_string): Add debugging.
- (main): Test for debug command line switch at start of program
- execution.
- (main): Use GET_ENVIRONMENT rather than getenv().
- (prefix_from_env): Use GET_ENVIRONMENT.
-
-1998-03-24 Mark Mitchell <mmitchell@usa.net>
-
- * cplus-dem.c (optable): Add sizeof.
- (demangle_template_value_parm): New function containing code
- previously found in demangle_template.
- (demangle_integral_value): New function which handles complicated
- integral expressions.
- (demangle_template): Use them.
-
-Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
- genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
- genattrtab.o, genoutput.o): Depend on system.h.
-
- * genattr.c: Include system.h. Add arguments to various function
- prototypes. Remove redundant prototype of read_rtx().
- * genattrtab.c: Likewise.
- * gencodes.c: Likewise.
- * genconfig.c: Likewise.
- * genemit.c: Likewise.
- * genextract.c: Likewise.
- * genflags.c: Likewise.
- * genopinit.c: Likewise.
- * genoutput.c: Likewise.
- * genpeep.c: Likewise.
- * genrecog.c: Likewise.
-
-1998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
-
- * c-lang.c (lang_print_xnode): New function.
- * objc/objc-act.c (lang_print_xnode): Likewise.
- * print-tree.c (print_node): Call it
-
-Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
-
- * c-parse.in: Recognize protocol qualifiers in class
- definitions for objc.
- Include "output.h".
- (yyerror): Remove redundant decl.
- (yyprint): Fix prototype.
-
-Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
-
- * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
-
- * stmt.c (unroll_block_trees): Free block_vector if needed.
-
-Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
-
- * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
- (zero_extendsidi2): Avoid useless copy.
- (iordi_zext): New pattern.
- (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
- operand 2.
- (iorsi_zext): New name for old unnamed pattern; indentation fixes.
-
- * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
- (ashldi3): Allow constant shift count in range ]32,63].
- (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
-
-1998-03-22 Mark Mitchell <mmitchell@usa.net>
-
- * tree.h (IS_EXPR_CODE_CLASS): New macro.
-
-Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (CONST_COSTS): Remove definition.
- (DEFAULT_RTX_COSTS): Define.
-
-Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
-
- * config/sh/rtems.h: Switched from ELF to COFF.
-
-Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
-
-Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
- Geoff Noer <noer@cygnus.com>
-
- * Makefile.in: Various fixes for building cygwin32 native toolchains.
-
- * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
- * objc/Make-lang.in: Likewise.
-
- * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
-
-Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
-
- * configure.in: Handle with-PACKAGE=no correctly
-
-Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
- c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
- caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
- dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
- expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
- integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
- prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
- reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
- rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
- tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
- on system.h.
-
- * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
- c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
- caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
- dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
- expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
- integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
- prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
- reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
- rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
- stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
- xcoffout.c: Include system.h. Organize include ordering so
- that stdarg/varargs comes before other system headers. Remove
- spurious casts of functions assured of a prototype in system.h.
-
-Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
-
- * reg-stack.c (pop_stack): Define. Pops any register on the
- regstack and adjusts regstack.
- (compare_for_stack_reg): Use pop_stack.
-
-Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (hppa1.0-hp-hpux10): Handle threads for this
- config too.
-
-Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
-
- * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
-
- * fold-const.c (fold): Replace sign-extension of a zero extended
- value by a single zero extension.
-
-Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c (init_eh): Do nothing.
- (save_eh_status): Call init_eh_for_function, not init_eh.
- * function.c (push_function_context_to): Don't call init_emit.
-
-Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
- and EABI.
-
-Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * final.c (shorten_branches): Add parentheses around +/- in
- operand of &.
-
- * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
-
-Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * regclass.c (memory_move_secondary_cost): Wrap uses of
- SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
- with #ifdef tests.
-
-Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
-
- * flow.c (life_analysis): #include <sys/types.h> to make sure
- size_t is defined.
- * cplus-dem.c (demangle_function_name): Likewise.
-
-Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * final.c (insn_noperands): Change type to unsigned int.
- (final_scan_insn): Likewise for noperands;
- properly check operand number boundaries.
-
-Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (extzv): Don't reject register operands. Fix
- mode of operand 1.
-
-Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
-
- * dbxout.c (dbxout_function_end): Fix last change. The correct
- predicate is ASM_OUTPUT_SECTION_NAME.
-
-Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
-
- * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
- (ashlsi): Use match_dup 1 instead of match_operand 2.
-
-Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (operand_equal_for_comparison_p): See if equal
- when nop conversions are removed.
-
-Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (expand_expr, case COND_EXPR): If have conditional move,
- don't use ORIGINAL_TARGET unless REG.
-
-Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
-
-Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
-
- * loop.c (struct movable): New field move_insn_first.
- (scan_loop): In consec sets code, set it. Clear it otherwise.
- (move_movables): In consec sets code, use it. Copy REG_NOTES from
- p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
- out code.
-
-Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
-
- * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
- is large, and the system doesn't provide atoll or atoq.
- (atoll): New.
-
- * alpha/xm-vms.h (HAVE_ATOLL): Define.
- Reported by Klaus Kaempf <kkaempf@progis.de>.
-
-Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
- test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
-
- * calls.c (emit_call_1): Wrap variable `already_popped' with macro
- test !ACCUMULATE_OUTGOING_ARGS.
-
- * collect2.c (write_c_file_glob): Wrap function definition in
- macro test !LD_INIT_SWITCH.
-
- * combine.c (try_combine): Wrap variables `cc_use' and
- `compare_mode' in macro test EXTRA_CC_MODES.
-
- * cpplib.c (do_ident): Remove unused variable `len'.
- (skip_if_group): Remove unused variables `at_beg_of_line' and
- `after_ident'.
- (cpp_get_token): Remove unused variable `dummy'.
-
- * dbxout.c (scope_labelno): Move static variable definition inside
- the one function scope where it is used.
- (dbxout_function_end): Wrap prototype and definition in
- macro test !NO_DBX_FUNCTION_END.
-
- * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
- in macro test !MIPS_DEBUGGING_INFO.
-
- * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
- into the scope where it is used. Wrap empty else-statement body
- in braces.
-
- * fix-header.c: Fix typo in comment.
- (inf_skip_spaces): Cast results of INF_UNGET to (void).
- (check_protection, main): Likewise.
-
- * flow.c (find_basic_blocks_1): Remove dangling comment text.
-
- * function.c (contains): Wrap prototype and definition in macro
- test HAVE_prologue || HAVE_epilogue.
- (fixup_var_refs_1): Remove unused variable `width'.
-
- * gen-protos.c (main): Remove unused variable `optr'.
-
- * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
-
- * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
- (__sjpopnthrow): Remove unused variable `jmpbuf'.
- (__throw): Remove unused variable `val'.
-
- * protoize.c: Check for a previously existing definition before
- defining *_OK macros.
-
- * scan-decls.c (scan_decls): Remove unused variable `old_written'.
-
-Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * vax.h (ADDR_VEC_ALIGN): Define.
-
-Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
-
- * gcc.c (default_arg): Don't wander off the end of allocated
- memory.
-
- (From Geoffrey Keating <geoffk@ozemail.com.au>)
- * rs6000.c (small_data_operand): Ensure that any address
- referenced relative to the small data area is inside the SDA.
-
-Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
-
- * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
-
-Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
-
- * except.h (in_same_eh_region): New prototype.
- (free_insn_eh_region, init_insn_eh_region): New prototypes.
- * except.c (insn_eh_region, maximum_uid): New static variables.
- (set_insn_eh_region): New static function to set region numbers.
- (free_insn_eh_region): New function to free EH region table.
- (init_insn_eh_region): New function to initialize EH region table.
- (in_same_eh_region): New function used to determine if two rtl
- instructions are in the same exception region or not.
- * final.c (final): Initialize the table indicating which instructions
- belong in which exception region.
- * genpeep.c (main): Add "except.h" to include file list in generated
- file insn-peep.c.
- * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
- peepholes involving calls and unconditional branches.
-
-Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
-
- * README.gnat: New file.
-
-Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
- "recog.h" for offsettable_memref_p.
- (legitimize_pic_address): Remove unused variable `offset'.
- (notice_update_cc): Change return type to void. Add default label
- to switch.
- (standard_68881_constant_p): Remove unused variable mode.
- (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
- (const_int_cost): Explicitly declare as returning int.
- (output_dbcc_and_branch): Change return type to void.
-
- * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
- config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
- (...). Use GEN_INT instead of gen_rtx_CONST_INT.
-
-Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
- check for 'M' constraint.
-
-Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
-
- * cccp.c (create_definition): If pedantic, call pedwarn for macro
- varargs feature.
-
-Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * i386.c (ix86_logical_operator): New function.
- (split_di): Ensure that when a MEM is split, the resulting MEMs have
- SImode.
- * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
- to implement them.
-
-Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- Richard Earnshaw <rearnsha@arm.com>
- Nick Clifton <nickc@cygnus.com>
-
- * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
-
- * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
-
- * cse.c (rtx_cost): Provide a default case in an enumeration
- switch, and call DEFAULT_RTX_COSTS if it's defined.
-
-Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * basic-block.h (compute_preds_succs): Change return type in
- prototype to void.
- * flow.c (compute_preds_succs): Likewise in function definition.
-
- * regmove.c (find_matches): Cast char used as array index to unsigned char
- to supress warning.
-
-Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * i386.h (RTX_COSTS): Insert braces around nested if.
- (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
- elements.
-
- * gcc.c (default_compilers): Properly put brackets around array elements in
- initializer.
-
- * getopt.c (_getopt_internal): Add explicit braces around nested if;
- reformatted.
-
- * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
- (record_reg_life_pat): Add explicit parens around && and || in expression.
- (stack_reg_life_analysis): Add parens around assignment used as expression.
- (convert_regs): Likewise.
-
-Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * bitmap.c (bitmap_element_allocate): Remove unused parameter;
- change callers accordingly.
-
- * cplus-dem.c (arm_special): Remove unused parameter work in prototype
- and definition; change all callers accordingly.
-
- * except.c (init_eh): Avoid assignment of unused return value of
- build_pointer_type; cast it to void, instead, and remove unused
- variable type.
-
- * gcc.c (lang_specific_driver): Define prototype only #ifdef
- LANG_SPECIFIC_DRIVER.
- (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
-
- * genoutput.c (output_epilogue): Initialize next_name to 0.
-
- * real.c (efrexp): #if 0 prototype and function definition.
- (eremain): Likewise.
- (uditoe): Likewise.
- (ditoe): Likewise.
- (etoudi): Likewise.
- (etodi): Likewise.
- (esqrt): Likewise.
-
- * reload.c (push_secondary_reload): Define prototype only
- #ifdef HAVE_SECONDARY_RELOADS.
-
- * varasm.c (assemble_static_space): Define rounded only
- #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
-
-Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * i386.md (andsi): Add default case in enumeration switch.
- (iorsi3): Likewise.
- (iorhi3): Likewise.
- (xorsi3): Likewise.
-
-Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * c-decl (finish_struct): Change type of min_align to unsigned.
-
- * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
- remove unused variable len.
-
- * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
- comment indicating this is proper behaviour.
- (reg_loc_descriptor): Remove redundant comparison of unsigned variable
- reg >= 0.
- (based_loc_descr): Likewise.
-
- * enquire.c (bitpattern): Change type of variable i to unsigned.
-
- * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
-
- * flow.c (life_analysis): Change type of variable i to size_t;
- remove unused variable insn.
-
- * gcc.c (translate_options): Change type of variables optlen, arglen and
- complen to size_t.
- (input_filename_length): Change type to size_t.
- (do_spec_1): Change type of variable bufsize to size_t.
- (main): Change type of variables i and j to size_t;
- remove subblock local definition of variable i.
- (lookup_compiler): Change type of second argument to size_t;
- change type of variable i to size_t.
-
- * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
-
- * genopinit.c (get_insn): Change type of variable pindex to size_t.
-
- * genrecog.c (add_to_sequence): Change type of variable i to size_t.
-
- * global.c (global_alloc): Change type of variable i to size_t.
-
- * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
-
- * stmt.c (expand_end_bindings): Change type of variable i to size_t.
- (expand_end_case): Change type of variable count to size_t.
-
- * toplev.c (main): Change type of variable j to size_t.
- (set_target_switch): Change type of variable j to size_t.
- (print_switch_values): Change type of variable j to size_t;
- remove unused variable flags.
-
- * varasm.c (assemble_variable): Change type of variable align to size_t.
- (const_hash_rtx): Change type of variable i to size_t.
-
-1998-03-11 Mark Mitchell <mmitchell@usa.net>
-
- * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
- TREE_VEC if that's what it really is.
-
-Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
-
- * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
- as per ISO C spec.
-
-Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
-
- * gthr.h: Changed the comment about return values.
- * gthr-solaris.h (__gthread_once): Do not use errno; return the
- error number instead of -1.
- (__gthread_key_create): Any non-zero return value is an error.
- * libgcc2.c (eh_context_initialize): Check for non-zero return
- value from __gthread_once.
- Check that the value of get_eh_context was really changed.
-
-Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (LOOP_ALIGN): Only align when optimizing.
- * sh.c (find_barrier): Clear inc for CODE_LABELs.
- When not optimizing, calculate alignment for BARRIERs directly.
-
-Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (shorten_branches): Remove conditionalizing on
- SHORTEN_WITH_ADJUST_INSN_LENGTH
- * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
-
-Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
- an unconditional jump around deleted blocks.
-
-Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
-
- * profile.c (branch_prob): If see computed goto, call fatal instead of
- abort.
-
- * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
-
- * configure.in (alpha-dec-osf): Add default case for osf* to switch.
- Patch from Bruno Haible.
-
- * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
- (assign_parms): Set aggregate if hide_last_arg and last_named.
-
-Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (shorten_branches): Initialize insn_addresses.
-
-Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (MUST_PASS_IN_STACK): Define.
-
-Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
-
- * final.c (shorten_branches): Fix minor logic error in
- ADDR_DIFF_VEC shortening support.
-
-Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (is_cfg_nonregular): Change return type to
- an int. No longer compute "estimated" number of edges. Use
- computed_jump_p instead of duplicating the code. Fixup/add
- some comments.
- (build_control_flow): Returns a value indicating an irregularity
- in the cfg was detected. Count the number of edges in the cfg.
- allocate various edge tables.
- (find_rgns): No longer look for unreachable blocks.
- (schedule_insns): Do not allocate memory for edge tables here.
- Free memory for edge tables before returning. Do not perform
- cross block scheduling if build_control_flow returns nonzero.
- * flow.c (compute_preds_succs): More accurately determine when
- a block drops in.
-
- * basic-block.h (free_basic_block_vargs): Provide prototype.
-
- * cccp.c (main): Fix dumb mistakes in last change.
-
-Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * rtl.h (addr_diff_vec_flags): New typedef.
- (union rtunion_def): New member rt_addr_diff_vec_flags.
- (ADDR_DIFF_VEC_FLAGS): New macro.
-
- * sh.c (output_branch): Fix offset overflow problems.
-
- * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
- (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
- * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
- * stmt.c (expand_end_case): Supply new arguments to
- gen_rtx_ADDR_DIFF_VEC.
- * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
- * alpha.h, arc.h, clipper.h, convex.h : Likewise.
- * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
- * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
- * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
- * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
- * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
- * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
- * i386/freebsd.h, i386/linux.h : Likewise.
- * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
- * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
- * m68k/mot3300.h, m68k/sgs.h : Likewise.
- * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
- * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
- (CASE_VECTOR_SHORTEN_MODE): Define.
- (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
- (med_branch_p, braf_branch_p): Don't declare.
- (mdep_reorg_phase, barrier_align): Declare.
- (ADJUST_INSN_LENGTH): Remove alignment handling.
- * sh.c (uid_align, uid_align_max): Deleted.
- (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
- (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
- (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
- (output_far_jump): Don't use braf_branch_p.
- (output_branchy_insn): Don't use branch_offset.
- (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
- Remove paired barrier stuff.
- Don't use cache_align_p.
- Take alignment insns into account.
- (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
- the addr_diff_vec.
- (barrier_align, branch_dest): New function.
- (machine_dependent_reorg, split_branches): Remove infrastructure
- for branch shortening that is now provided in the backend.
- * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
- (braf_branch_p, braf_cbranch_p): Likewise.
- (attribute length): Use new attributes.
- (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
- (addr_diff_vec_adjust): Delete.
- (align_2): Now a define_expand.
- (align_log): Now length 0.
-
-Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.md (right): Correctly check for length == 2, not 1.
-
-Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * mips/mips.h: Prototype `machine_dependent_reorg'.
- (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
-
-Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
-
- * final.c (shorten_branches): Restore accidentally removed code.
-
-Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * configure.in: Remove duplicate uses of AC_PROG_CC and
- AC_PROG_MAKE_SET.
-
-Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
-
- * configure.in (target_cpu_default2): Correct typo for alphapca56.
-
-Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
- Doug Evans (devans@cygnus.com)
-
- * haifa-sched.c (build_jmp_edges): Delete dead function.
- (build_control_flow): Use cfg routines from flow.c
- (schedule_insns): Remove debugging code accidentally checked
- in earlier today.
-
- * basic-block.h: Add external integer list structures, typdefs,
- accessor macros and function declarations. Simlarly for
- basic block pred/succ support and simple bitmap stuff.
- * flow.c: Add functions for integer list, basic block pred/succ
- support and simple bitmap support.
- (compute_dominators): New function to compute dominators and
- post dominators.
- (find_basic_blocks): Split into two functions.
- (life_analysis): Likewise.
- (flow_analysis): Removed. Now handled by calling find_basic_blocks,
- the life_analysis from toplev.c
- * toplev.c (rest_of_compilation): Call find_basic_blocks, then
- life_analysis instead of flow_analysis.
-
-Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * jump.c (jump_optimize): Call mark_jump_label also for deleted
- insns.
- (mark_jump_label): Don't increment ref counts for deleted insns.
-
-Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
-
- * mips/mips.c: Include stdlib.h and unistd.h.
- (mips_asm_file_end): Add braces around empty body in an if-statement.
- (function_prologue): Wrap variable `fnname' in
- !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
- (mips_select_rtx_section, mips_select_section): Declare as void.
-
- * mips/mips.h: Add prototypes for extern functions in mips.c.
- (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
- (ENCODE_SECTION_INFO): Add braces around empty body in an
- if-statement.
-
- * mips/mips.md (movdi): Add parentheses around && within ||.
- (movsf, movdf): Likewise.
- (branch_zero, branch_zero_di): Add default case in
- enumeration switch.
-
-
-Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
- real constants, since they can't be changed.
- (TARGET_AS_CAN_SUBTRACT_LABELS): New.
- * alpha/alpha.md (builtin_setjmp_receiver): Use it.
- * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
- * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
- * alpha/vms.h (TARGET_OPEN_VMS): New.
- * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
-
-Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
-
- * reload.c (find_reloads): Always force (subreg (mem)) to be
- reloaded if WORD_REGISTER_OPERATIONS.
-
-Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
-
- * haifa-sched.c (free_list): Rename from free_pnd_lst.
- (free_pending_lists): Rename free_pnd_lst uses.
- (remove_dependence): Place expunged element on unused_insn_list.
- (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
- gen_rtx_*_LIST and alloc_rtx to use them.
- (compute_block_backward_dependences): Free the reg_last_* lists.
-
-Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * cccp.c (main): Avoid undefined behavior when setting pend_includes
- and pend_files.
-
-Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
-
- * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
- USE_GNULIBC_1 is defined
- * configure.in: add a new case powerpc-*-linux-gnulibc1 which
- includes the t-linux-gnulibc1 fragment
-
-Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
-
-Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
-
-Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (shorten_branches): Tag the loop alignment onto the
- first label after NOTE_INSN_LOOP_BEG even if there is an
- intervening insn.
-
-Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (insn_current_reference_address):
- Use SEQ instead of BRANCH as argument to align_fuzz, to get a
- proper alignment chain.
-
- * final.c (max_labelno): New static variable.
- (final_scan_insn): Check max_labelno before outputting an
- alignment for a label.
- (shorten_branches): Remove unused variable length_align.
-
-Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * sparc.c (ultrasparc_adjust_cost): Add default case in
- enumeration switch.
-
- * sparc.h: Add prototypes for extern functions defined in
- sparc.c.
-
-Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
-
- * toplev.c: Only generate <name>.dbr file when dumping RTL if
- DEALY_SLOTS is defined.
-
-Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * reorg.c (fill_eager_delay_slots): Add new argument delay_list
- in call to fill_slots_from_thread.
-
-Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
- to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
-
-Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (insn_last_address, insn_current_align, uid_align):
- New variables.
- (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
- (insn_current_reference_address): Likewise.
- (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
- LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
- (label_to_alignment): New function.
- * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
- LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
- insn_current_reference_address instead of insn_current_address.
- (or_attr_value, write_length_unit_log): New functions.
- (main): Call write_length_unit_log.
- (write_const_num_delay_slots): Output extra '\n'.
- * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
- replace with:
- (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
- * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
- * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
- (LOOP_ALIGN).
- * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
- (LABEL_ALIGN_AFTER_BARRIER).
- * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
- * ns32k/tek6000.h: Likewise.
- * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
- * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
- ASM_OUTPUT_ALIGN_CODE.
-
-Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * reorg.c (fill_slots_from_thread): Don't steal delay list from target
- if condition code of jump conflicts with opposite_needed.
-
- * reorg.c (fill_slots_from_thread): Mark resources referenced in
- opposite_needed thread. Return delay_list even when cannot get
- any more delay insns from end of subroutine.
-
-Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
-
- * reorg.c (fill_slots_from_thread): New parameter, delay_list.
- All callers changed.
-
-Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
- end_fde_sort): New functions for fast sorting of an FDE array.
- (fde_insert): Simplified.
- (add_fdes): Change argument list.
- (frame_init): Use the new functions.
-
-Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
-
- * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
-
- * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
-
- * fold-const.c (fold_range_test): Always return a value.
-
-Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * config/i386/winnt.c (i386_pe_unique_section): Put read-only
- data in the text section unless READONLY_DATA_SECTION is defined.
-
-Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
-
- * c-parse.in (undeclared variable error): Tweak error message to
- be clearer.
-
-Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-1998-02-28 Mark Mitchell <mmitchell@usa.net>
-
- * final.c (final_scan_insn): Undo overzealous removal of `set'.
-
-Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
- case, add parentheses to specify the proper order of precedence in
- the if-statement.
-
-
- * c-aux-info.c: Include string.h/strings.h.
-
- * pa.c: Include stdlib.h.
- (pa_combine_instructions): Prototype the function.
- (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
- (reloc_needed): Add default case for enumeration switch.
- (remove_useless_addtr_insns): Remove unused variable `all'.
- (hppa_expand_prologue): Add explicit braces to avoid
- ambiguous `else'.
- (output_function_epilogue): Remove unused variable `i'.
- (output_millicode_call): Remove unused variable `link'.
- (shadd_constant_p, forward_branch_p): Make the function static.
- (following_call): Explicitly declare to return int.
- (pa_reorg): Declare as void.
- (pa_combine_instructions): Declare as static void. Add
- parentheses around && within ||.
-
- * pa.h: Add prototypes for pa_reorg, symbolic_operand,
- following_call, function_label_operand, lhs_lshift_cint_operand
- and zdepi_cint_p.
-
- * pa.md: Add parentheses around && within ||.
-
- * cppalloc.c: Include stdlib.h.
-
- * cpperror.c (cpp_print_containing_files): Remove unused variable
- `i'. Fix format specifier in fprintf.
-
- * cse.c (cse_around_loop): Add explicit braces to avoid
- ambiguous `else'.
- (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
-
- * expr.c (expand_expr): Add parentheses around && within ||.
-
- * final.c (app_enable): Replace fprintf with fputs where there are
- no format specifiers and no trailing argument after the string.
- Eg, when printing ASM_APP_ON/ASM_APP_OFF.
- (app_disable): Likewise.
- (final_end_function): Likewise.
- (final_scan_insn): Likewise. Remove unused variable `set'.
- (profile_function): Wrap empty if-statement body in {} brackets.
-
- * function.c: Include stdlib.h.
- (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
- (reposition_prologue_and_epilogue_notes): Add parentheses
- around assignment used as truth value.
-
- * integrate.c (expand_inline_function): Wrap variable
- `cc0_insn' in macro HAVE_cc0.
-
- * jump.c (jump_optimize): Wrap variable `q' in macro
- HAVE_cc0. Remove unused variable `prev1'.
-
- * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
- within ||. Fix format specifier in fprintf.
- (__bb_init_prg): Add parentheses around assignment used as
- truth value.
-
- * local-alloc.c: Include stdlib.h.
- (requires_inout): Add parentheses around assignment used
- as truth value.
-
- * loop.c (analyze_loop_iterations): Wrap prototype and definition
- in macro HAVE_decrement_and_branch_on_count.
- (insert_bct, instrument_loop_bct): Likewise.
- (move_movables): Add parentheses around assignment used as
- truth value.
- (consec_sets_invariant_p): Likewise.
- (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
-
- * objc/objc-act.c: Include stdlib.h.
- (lookup_method_in_protocol_list): Wrap empty else-statement body
- in braces.
- (lookup_protocol_in_reflist): Likewise.
- (objc_add_static_instance): Remove unused variables `decl_expr'
- and `decl_spec'.
- (get_objc_string_decl): Remove unused variable `decl'.
- (generate_static_references): Remove unused variables `idecl' and
- `instance'.
- (check_protocols): Wrap empty else-statement body in braces.
-
- * protoize.c: Include stdlib.h.
- (substr): Add parentheses around assignment used as truth value.
- (abspath): Likewise.
- (shortpath): Likewise.
-
- * regmove.c (fixup_match_1): Add parentheses around assignment
- used as truth value.
-
- * reload.c (push_secondary_reload): Remove unused variable `i'.
- (find_reloads): Add parentheses around assignment used as truth
- value.
-
- * reload1.c: Include stdlib.h.
-
- * rtl.h: Correct typo in prototype of offsettable_memref_p.
-
- * stmt.c (add_case_node): Add parentheses around assignment used
- as truth value.
- (case_tree2list): Likewise.
-
- * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
- in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
- `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
- (merge_attributes): Add explicit braces to avoid ambiguous
- `else'.
-
- * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
- macro HAVE_cc0.
-
- * varasm.c: Include stdlib.h.
-
-
- * system.h: Remove sys/stat.h.
- * gcc.c: Add sys/stat.h.
-
- * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
- * genattrtab.c: Likewise.
- * genconfig.c: Likewise.
- * genemit.c: Likewise.
- * genextract.c: Likewise.
- * genflags.c: Likewise.
- * genopinit.c: Likewise.
- * genoutput.c: Likewise.
- * genpeep.c: Likewise.
- * genrecog.c: Likewise.
- * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
-
-Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * invoke.texi: Use @itemx for a secondary item in a @table.
-
- * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
- zero.
-
-Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
-
-Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
-
- * i386.c (struct machine_function): Add new fields for PIC stuff.
- (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
- and pic_label_name.
- (restore_386_machine_status): Corresponding changes.
- (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
-
-Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * c-parse.y (undeclared variable error): Tweak error message
- to be clearer.
-
-Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
-
- * flags.h (g_switch_value, g_switch_set): Declare.
- * alpha.c (override_options): Set g_switch_value=8 if not set.
- * alpha/elf.h (CC1_SPEC): New.
- (ASM_SPEC): New.
- (LINK_SPEC): Pass along the -G value we were given.
- (LOCAL_ASM_OP): Remove.
- (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
- (MAX_OFILE_ALIGNMENT): New.
- (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
- (EXTRA_SECTIONS): Add sbss and sdata.
- (SECTION_FUNCTION_TEMPLATE): New.
- (EXTRA_SECTION_FUNCTIONS): Use it.
- (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
- (SELECT_SECTION): Use sdata when small enough.
- * alpha/linux.h (ASM_SPEC): Remove.
-
-
-Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
- * config.sub (sco5): Fix typo.
-
-Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
- set to empty.
- * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
- * config/alpha/t-linux: Remove file.
- * config/sparc/t-linux: Remove file.
- * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
- * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
- * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
- for tmake_file.
- (alpha*-*-linux-gnu*): Likewise.
- (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
- (sparc-*-linux-gnu*): Likewise.
-
-Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
- * collect2.c (ldd_file_name): Bracket declaration with same
- manifests as use.
- (full_real_ld_suffix): Deleted. Variable was calloced and
- written into, but never read.
-
-1998-02-23 Mike Stump <mrs@wrs.com>
-
- * configure.in: Add support for i386-wrs-vxworks configuration.
- * i386/vxi386.h: New file.
-
-Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * tree.c (contains_placeholder_p): Ensure function always returns
- a value.
- * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
- (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
-
-Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
-
-1998-02-22 Paul Eggert <eggert@twinsun.com>
-
- * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
- Define this new symbol.
- (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
- * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
- LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
-
-Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
-
- * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
- * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
-
-Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
-
- * objc/Object.m (-error): Call objc_verror with our va_list.
-
-Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * collect2.c (scan_prog_file): Completely cover uses of variable
- `exports' with macro COLLECT_EXPORT_LIST.
-
-Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
-
- * sched.c (schedule_block): Remove code to get arguments from hard
- regs into pseudos early. Same as Aug 25, 1997 change to
- haifa-sched.c.
-
-1998-02-20 Jason Merrill <jason@yorick.cygnus.com>
-
- * collect2.c (main): Still handle !do_collecting for non-AIX targets.
-
-1998-02-16 Mark Mitchell <mmitchell@usa.net>
-
- * toplev.c (rest_of_compilation): Do not defer the output of a
- nested function.
-
-Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
-
- * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
- continuation character (line 243).
-
-Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * genrecog.c (main): Remove duplicated sentence in emitted comment.
-
-Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
- David Edelsohn <edelsohn@mhpcc.edu>
-
- * collect2.c (XCOFF_SCAN_LIBS): Remove.
- (export_flag): New variable.
- (export_file): #ifdef COLLECT_EXPORT_LIST.
- (import_file, exports, imports, undefined): New variables.
- (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
- (dump_list, dump_prefix_list, is_in_list): New functions.
- (write_export_file): $ifdef COLLECT_EXPORT_LIST.
- (write_import_file, resolve_lib_name): New functions.
- (use_import_list, ignore_library): Same.
- (collect_exit): maybe_unlink import_file and #ifdef.
- (handler): Same.
- (main): New variable importf, #ifdef exportf. Move parsing of
- -shared before general argument parsing. Resolve AIX library
- paths and import libgcc.a symbols. Treat .so shared libraries the
- same as objects and .a libraries. Create alias for object_lst and
- increment it instead of original pointer. Scan AIX libraries as
- objects earlier instead of using scan_libraries. Perform AIX
- tlink later to resolve templates instead of forking ld.
- (GCC_OK_SYMBOL): Ensure symbol not in undef section.
- (GCC_UNDEF_SYMBOL): New macro.
- (scan_prog_file): Loop for members of AIX libraries. Handle
- export/import of ctors/dtors.
- (aix_std_libs): New variable.
- (scan_libraries, XCOFF): Delete.
-
-Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
-
- * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
-
-1998-02-19 Mike Stump <mrs@wrs.com>
-
- * Makefile.in: Use $tooldir for sys-include to match toplevel
- configure.
-
-Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
- Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
-
- * emit-rtl.c (hard-reg-set.h): Include.
- (get_lowpart_common): Don't make new REG for hard reg in a
- class that cannot change size.
- * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
-
- * combine.c: Revert previous patch.
-
-1998-02-19 Paul Eggert <eggert@twinsun.com>
-
- * config/sparc/sol2-sld.h: New file.
- * configure.in (sparc-*-solaris2*): Use it when using the
- system linker.
-
-Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (force_movables): Fix typo.
-
-Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * m88k.h: Change file pattern to match reality.
-
-Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
-
- * varasm.c (output_constant_pool): Fix dumb thinko in last
- change.
-
- * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
- a function name to a section name.
-
-1998-02-18 Doug Evans <devans@cygnus.com>
-
- * tree.h (merge_machine_{type,decl}_attributes): Declare.
- (split_specs_attrs, strip_attrs): Add prototypes.
- * tree.c (merge_machine_{type,decl}_attributes): New functions.
- * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
- Update olddecl's attributes too.
- * c-common.c (strip_attrs): New function.
- * c-typeck.c (common_type): Call merge_machine_type_attributes.
- * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
- (make_decl_rtl): Likewise.
-
-1998-02-18 Jim Wilson <wilson@cygnus.com>
-
- * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
-
-Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
-
- Remove this change until we can fix it correctly.
- * collect2.c: Bracket declaration of 'exportf' and
- 'full_real_ld_suffix'.
-
-Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
-
- * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
-
-Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
-
- * c-common.c (c_expand_start_cond, c_expand_end_cond,
- c_expand_start_else): Don't warn about non-ambiguous else even if
- braces are missing.
-
-Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
-
- * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
- ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
- instead.
-
-Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
-
- * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
- simplifying a subreg of a hard reg.
- (expand_compound_operation): Likewise.
- (force_to_mode): Likewise.
-
-Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
- (lshift_double): Add parentheses around + or - inside shift.
- (rshift_double): Likewise.
- (size_int_wide): Explicitly set type of `bit_p' to `int'.
-
- * Makefile.in (fold-const.o): Depend on system.h.
-
- * Makefile.in (gcc.o): Depend on system.h, in accordance with last
- change to gcc.c.
-
- * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
- (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
- (sched_note_set): Remove unused parameter `b', all callers changed.
- (schedule_block): Likewise for `rgn'.
- (split_hard_reg_notes): Likewise for `orig_insn'.
- (check_live): Likewise for `trg'.
- (update_live): Likewise.
- (check_live_1): Explcitly declare variable `i' as int.
- (update_live_1): Likewise.
- (insn_issue_delay): Remove unused variable `link'.
- (sched_analyze_2): Add default case in enumeration switch.
- (schedule_insns): Remove unused variable `i'.
-
- * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
-
-Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
- a dangling else clause.
-
-Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
- pointer for the stack pointer in MIPS16 and 64BIT.
-
-Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * rtl.h (force_line_numbers, restore_line_number_status): Declare.
- * emit-rtl.c (force_line_numbers, restore_line_number_status):
- New functions.
- * stmt.c (struct nesting): Replace seenlabel with line_number_status.
- (expand_start_case): Adjust to this change.
- (check_seenlabel): New function.
- (pushcase, pushcase_range, expand_endcase): Use it.
-
-Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * i386.md (adddi3): Add =!r,0,0,X alternative.
-
-Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
- * x-aix31 (INSTALL): Delete.
-
-Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
- tsize changes to something other than zero.
-
-Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
-
- * ginclude/va-mips.h: Replace casts of pointers to int with
- casts of pointers to __PTRDIFF_TYPE__.
-
-Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
-
- * loop.c (strength_reduce, record_biv, record_giv): Use
- HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
-
-1998-02-16 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.c (first_rtl_op): New fn.
- (unsave_expr_now): Use it.
- * print-tree.c (print_node): Likewise.
- * tree.c (has_cleanups): New fn.
- * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
- conservative about pushing the cleanup point down.
- * tree.h: Declare them.
-
-Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
- (flag_schedule_reverse_after_reload): Likewise.
- (f_options): Remove reverse scheduling support.
- * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
- (flag_schedule_reverse_after_reload): Likewise.
- * haifa-sched.c (rank_for_schedule): Remove support for reverse
- scheduling.
-
-Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gcc.c: Get system includes, prototypes and macros via "system.h"
- instead of doing it manually. Change all calls of the ctype
- macros to custom versions defined in "system.h".
-
- * system.h: Fix return type of bcmp prototype from `void' to `int'.
- Make bcopy, bcmp and bzero prototypes explicitly `extern'.
- Add a prototype for getenv.
-
-Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
-
-Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
-
- * alias.c: Include <stdlib.h> and <string.h>.
- (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
-
-Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.md (movsfcc): Also validate operands[3] when compiling hard
- float.
- (movdfcc): Only accept fpu_add_operand for operands[3].
-
- * arm/t-semi (STMP_FIXPROTO): Define to nothing.
- * arm/t-semiaof (STMP_FIXPROTO): Likewise.
-
-Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
-
- * varasm.c (output_constant_pool): Bring back 'done' label inside
- an appropriate #ifdef.
-
- * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
- appropriate #ifdef.
- (bitmap_copy, bitmap_operation): Likewise.
- * combine.c (combinable_i3pat): Similarly for 'src'.
- * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
- (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
- * regclass.c (copy_cost): Similarly for 'secondary_class'.
- * reload.c (make_memloc): Simliarly for 'i'.
- (find_reloads_address_1): Similarly for 'link'.
- * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
- (emit_reload_insns): Similarly for 'second_reloadreg'.
- * unroll.c (iteration_info): Similarly for 'v'.
-
- * caller-save.c (insert_save_restore): Remove unused variable 'i'.
- * calls.c (expand_call): Similarly for 'i'.
- (emit_library_call, emit_library_call_value): Similarly for 'mode'.
- * fold-const.c (strip_compund_expr): Similarly for 'type'.
- * function.c (fixup_var_refs_1): Similarly for 'width'.
- (fixup_memory_subreg): Similarly for 'saved'.
- (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
- (setjmp_protect): Similarly for 'sub'.
- (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
- * loop.c (record_giv): Similarly for 'p'.
- (combine_givs): Similarly for 'temp_iv'.
- (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
- * recog.c (validate_replace_rtx_1): Similarly for 'width'.
- * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
- * unroll.c (unroll_loop): Similarly for 'copy'.
- (iteration_info): Similarly for 'b'.
- * varasm.c (assemble_string): Similarly for 'i'.
- * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
-
-1998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
-
- * c-lang.c (lang_print_xnode): New function.
- * objc/objc-act.c (lang_print_xnode): Likewise.
- * print-tree.c (print_node): Call it
-
-Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (decl_scope_node): New type.
- (decl_scope_table): Change type to use it.
- (decl_scope_table_allocated, decl_scope_depth): Change type to int.
- (push_decl_scope): Use new type. New locals containing_scope, i.
- Add code to handle setting previous field.
- (scope_die_for): Change type of local i to int. Add code to use
- previous field.
- (dwarf2out_init): Use new type.
-
-1998-02-13 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c (emit_throw): Lose throw_used.
-
-Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
- was deleted.
- * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
-
-Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * genextract.c (main): Fix typo.
-
-Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
-
- * c-lang.c (finish_file): Bracket declaration of static_ctors,
- static_dtors.
-
- * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
- 'old_stack_arg_under_construction'
- (emit_library_call): Bracket declaration of 'upper_bound',
- 'lower_bound', 'i', 'reg_parm_stack_space'
- (emit_library_call_value): Likewise.
- (store_one_arg):
-
- * collect2.c: include <unistd.h> when appropriate.
- Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
-
- * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
-
- * explow.c (plus_constant_for_output_wide): Remove unused variable
- 'code'.
- (memory_address): Remove unused variable 'orig_x'.
-
- * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
- (write_const_num_delay_slots): Remove unused variable 'i'.
-
- * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
- (gen_insn): Remove unused variable 'obstack_ptr'.
-
- * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
- 'j', 'tmp', 'i'.
- (__bb_exit_trace_func): Remove unused variable 'e'.
-
- * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
- 'funexp'.
- (expand_unop): Remove unused variable 'funexp'.
- (expand_complex_abs): Remove unused variable 'funexp'.
- (init_optabs): Bracket declaration of 'j'.
- (init_complex_libfuncs): Deleted. Dead static function.
-
- * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
-
- * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
- (reg_to_stack): 'initialized', 'before_function_beg'
- explictly type as ints instead of defaulting.
- (emit_swap_insn): Remove unused variable 'i2'.
- (compare_for_stack_reg): Remove unused variable 'src_note'.
-
- * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
-
- * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
-
- * stmt.c (add_case_node): Add parens for assignment used as truth.
- (all_cases_count): Remove unused variable 'count_high'.
- (mark_seen_cases): Remove unused variable 'i'.
- (check_for_full_enumeration_handling): Remove unused variable 't'.
- Bracket declaration of 'all_values', 'l'.
-
- * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
-
- * varasm.c (assemble_string): Remove unused variable 'i'.
- (immed_double_const): Remove unused variable 'in_current_obstack'.
- (immed_real_const_1): Likewise.
- (output_constant_pool): Remove unreferenced label 'done'.
- (output_constant): Remove unused variable 'x'.
-
- * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
- a string.
-
- * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
- as truth.
-
-Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * combine.c (can_combine_p): Handle USEs in PARALLELs.
-
-Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
-
- * config/linux.h (LIB_SPEC): Add -lc for -shared if
- USE_GNULIBC_1 is not defined.
- * config/sparc/linux.h; Ditto.
-
- * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
-
- * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
- USE_GNULIBC_1 is not defined.
-
-Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
-
- * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
- for -mcall-linux
-
-Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * system.h: New file to get common systems includes and various
- definitions and declarations based on autoconf macros.
-
-Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * cccp.c (new_include_prefix): Correctly handle -I./.
-
-Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
-
-Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
-
- * expr.c (expand_assignment): Correct typo exposed by -Wall.
- offset should have been a truth value, not an assignment.
-
-Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
-
- * cse.c (delete_dead_from_cse): If a libcall produces a constant
- result and that result can be substituted into SET_SRC of the
- insn with the REG_RETVAL note, then perform the substitution
- and delete the libcall.
-
-Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips.md (trucndihi2,truncdiqi2): Change these to support
- mips16.
-
-Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips/mips.c (movdi_operand): Direct referances to symbols
- that arn't mips16 consts in mips16 mode arn't valid operands.
-
- * mips/mips.c (mips_move_2words): Add gprel handling.
-
-Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips.md (extendsidi2): Allow extension to/from a non-mips16
- register.
-
-Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
-
- * i386.c: Conditionally include <stdlib.h>, <string.h>, and
- <strings.h>.
-
-Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (WARN_CFLAGS): New variable.
- (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
-
-1998-02-11 Mark Mitchell <mmitchell@usa.net>
-
- * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
- falling through default case in switch.
- (i386_aligned_p): Likewise.
-
-Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
-
- * mips/mips.h (mips_abi_string): Correct typo in comment.
-
-Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips/mips.md (movdi): These PLUS's need to be Pmode.
-
-Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
- reorg.o, regmove.o): Depend on insn-codes.h, it gets included
- indirectly via expr.h.
-
-Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
-
- * stor-layout.c (layout_type): Do upper - lower in the native type,
- so as to properly handle negative indices.
-
-Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
-
- * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
- (expand_eh_region_start_tree): Remove unused variable 'note'.
- (exception_optimize): Remove unused variable 'regions'.
- (expand_builtin_eh_stub): Remove unused variable 'temp'.
- (copy_eh_entry): Deleted. Dead function.
-
- * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
- 'last' with same #if HAVE_load_multiple as use of it.
- (move_block_from_reg): Likewise.
- (emit_move_insn_1): Remove unused variable 'insns'.
- (store_constructor): Bracket declaration of startb, endb with
- #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
- 'target', and 'xtarget'.
- (expand_builtin_setjmp): Remove unused variables 'op0',
- 'next_arg_reg', 'old_inhibit_defer_pop'.
- (expand_builtin): Remove unused variable 'offset'.
- (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
- (emit_queue): Add parens for assignment used as conditional.
- (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
-
-Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
-
- * i386.c: Added include for recog.h.
- (override_options): Removed unused variable p. Initialized regno to
- avoid warning.
- (order_regs_for_local_alloc): Initialized regno to avoid warning.
- (legitimize_address): Likewise for 'other'.
- (i386_aligned_reg_p): Added default case with abort ().
- (print_operand): Likewise.
- (reg_mentioned_in_mem): Likewise.
- (ix86_expand_binary_operator): Removed unused variables i & insn.
- (ix86_expand_unary_operator): Removed unused variable insn.
- (output_fp_cc0_set): Removed unused variable unordered_label.
-
-Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
-
- * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
- Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
- and format string match.
-
-Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (life_analysis): Do not conside the stack pointer live at
- the end of a function if the fucntio ncalls alloca.
- (mark_used_regs): Similarly.
-
-1998-02-10 John F Carr <jfc@mit.edu>
-
- * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
- 1, fzero on alternative 8.
-
-Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
-
-Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
- SUBREGs of CONST_INTs.
-
-Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
-
- * mips.c (print_operand, function_prologue): Make printf format
- match argument type.
-
-Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * alpha.c (alpha_return_addr): Remove unused variable `first'.
- (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
- (output_epilog): Remove unused variable `frame_size_from_reg_save'.
-
-Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * loop.c (strength_reduce): When placing increment for auto-inc
- case, do comparison in loop order.
-
-Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
-
- * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
- not a HOST_WIDE_INT.
-
- * calls.c (expand_call): Change test of expand_inline_function
- return value to stop compiler warning.
-
- * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
-
-Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
- Jeff Law (law@cygnus.com)
-
- * regmove.c: Fix various minor formatting problems.
- (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
- is true. Make end of basic block tests consistent through regmove.c.
- (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
- (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
-
-Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gansidecl.h: Check for a conflicting macro definition before
- attempting to prototype bcopy, bcmp or bzero.
-
-Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
-
- * expr.c (clear_pending_stack_adjust): Handle case where a function
- calls alloca, but the user has specified -fomit-fframe-pointer.
-
- * function.c (assign_parms): Fix typo in last change.
-
-Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
-
- * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
- <fcntl.h>.
- (free_path_suffix): Remove unreferenced static function.
- (process_command): Remove unused variable temp.
- (default_arg): Remove unused variable i.
- (do_spec_1): Add parens for assignment used as truth value.
- (main): Likewise.
- (validate_all_switches): Likewise.
- (main): Remove unused variables i, first_time>
-
- * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
-
- * calls.c (expand_call): Remove unused variables funtree,
- n_regs, and tmpmode.
-
- * dbxout.c, except.c: Include <string.h>/<strings.h>.
-
- * explow.c: (plus_constant_for_output_wide) Removed unused
- variable all_constant.
-
- * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
- genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
- genrecog.c, global.c, integrate.c , stupid.c : Include
- <stdlib.h>.
-
- * genextract.c: (walk_rtx) Remove unused variable link.
-
- * genrecog.c: (concat) Remove unreferenced static function.
-
- * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
-
- * stmt.c: Include <stdlib.h>.
- (expand_asm_operands): Remove unused variable val1.
- (expand_return): Remove unused variable block.
- (pushcase): Remove unused variables l and n.
- (pushcaserange): Likewise.
-
- * unroll.c (unroll_loop): Remove unused variable temp.
-
-Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
-
- * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
-
-Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
- functions for whether they support the %p format specifier.
- * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
- * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
- * configure, config.in: Rebuild.
-
-Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
-
- * function.c (assign_parms): New variable named_arg, with value
- depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
-
-Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips/t-r3900: New - same as t-ecoff but eliminate
- multilibs: mips1 and mips3.
- * configure.in (tx39*): Use new mips/t-r3900.
- * configure: Rebuild.
- * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
-
-1998-02-06 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c: Add old_args_size.
- (dwarf2out_args_size): Use it.
- (dwarf2out_begin_prologue): Initialize it.
- (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
- pushed args until we see a call.
- * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
- before outputting them.
-
-1998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
-
- * cplus-dem.c (demangle_template_template_parm): New function.
- (demangle_template): Handle template template parameters.
-
-1998-02-02 Mark Mitchell <mmitchell@usa.net>
-
- * calls.c (expand_call): Don't confuse member functions named
- realloc, setjmp, and so forth with the standard library
- functions of the same names.
-
-Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
-
- * stmt.c (expand_asm_operands): Correctly identify asm statements
- no output operands.
-
-Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * c-common.c (decl_attributes): Flag unrecognized attribute
- functions as warnings instead of as errors.
-
-1998-02-05 Marc Lehmann <pcg@goof.com>
-
- * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
- when -Os is specified.
- * toplev.c (main): Don't disable flag_inline_functions anymore when
- -Os is in effect.
-
-Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c: Update.
- * flags.h (flag_regmove): Declare.
- * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
- * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
- Moved into regmove; changed caller.
- * toplev.c (rest_of_compilation): Call regmove_optimize also for
- expensive_optimizations.
-
-Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- Undo this change (the problem was actually in reload):
- Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (movqi_i+1): New peephole.
-
-Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
-
- * jump.c (jump_optimize): Lose calls to modified_in_p they are
- not needed anymore due to changes elsewhere in jump.c.
-
- * jump.c (jump_optimize): Fix first arg to modified_in_p in
- previous change.
-
-Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
-
- * expr.c (expand_builtin_setjmp): Accept two new arguments for
- the labels to branch to on first and subsequent executions. Don't
- play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
- and provide it with the jmp_buf. Use only one of
- `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
- and provide the former with the target label.
- (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
- (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
- (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
- insn to replace all of the normal nonlocal_goto code. Don't play
- with __dummy. Correct arguments to nonlocal_goto.
- * expr.h (expand_builtin_setjmp): Update prototype.
- * except.c (start_dynamic_handler): When using builtin_setjmp,
- generate more accurate flow information.
-
- * alpha.md (nonlocal_goto_receiver_osf): Delete.
- (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
- (builtin_longjmp, builtin_setjmp_receiver): New.
- * sparc.md (update_return): Disambiguate unspec number.
- (nonlocal_goto): Rearrange arguments to match caller in except.c.
- (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
- jmp_buf operand.
- * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
- (builtin_setjmp_setup*, builtin_longjmp): New.
-
-Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
-
- * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
-
-Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
-
- * vmsconfig.com: Remove bytecode references.
-
-1998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
- -fno-sjlj-exceptions works for a target that defines
- DWARF2_UNWIND_INFO as zero.
-
- * regmove.c (fixup_match_1): Undo last change which removed some
- "useless" code, and add a comment explaining this.
-
-Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
-
- * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
- to TARGET_LONG64.
-
-Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
-
- * makefile.vms: Remove bytecode references.
- Create genrtl files.
-
-Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * jump.c (jump_optimize): Allow conditional loading of floating point
- constants and constants from memory. Reinstalled modified_in_p tests.
-
-Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (get_condition): Handle sign-extended constants.
-
-Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
-
- * expr.c (emit_push_insn): Add code to use movstrti if present.
-
- * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
- and movstrqi as in emit_block_move ().
-
-Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
-
- * config/m68k/x-next: Remove /NextDeveloper/Headers from
- the directories to fixinclude - /usr/include is a link
- to it and hence its contents are fixed by default.
-
-Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
-
- * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
-
-Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
-
- * cccp.c (main): Predefine __VMS_VER on VMS.
-
-Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
- * fold-const.c (size_int): Replace with
- (size_int_wide).
- (make_bit_field_ref): Use bitsize_int for bit position.
- * stor-layout.c (sizetype): Delete.
- (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
- (layout_record, layout_union, layout_type):
- Use bitsize_int for bit size.
- (set_sizetype): New function.
- (make_signed_type, make_unsigned_type): Use it.
- * c-decl.c (init_decl_processing): Likewise.
- * tree.h (size_int): Don't delcare, #define.
- (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
- (set_sizetype): Declare.
- (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
- Define.
- * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
- Convert result to sizetype.
- (really_start_incremental_init, push_init_level):
- Set type of constructor_bit_index to sbitsizetype.
- (push_init_level): Use unsigned arithmetic to determine padding.
- (output_init_element): Likewise.
-
-Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
-
- * combine.c (simplify_shift_const): Fix typo in last change.
-
-Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
-
- * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
- is (truncate (lshiftrt)).
-
-Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
- Make sure result winds up in TGT.
- (alpha_expand_unaligned_store): Use expand_binop properly. Allow
- src to be other than DImode.
- (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
- (alpha_expand_unaligned_store_words): Likewise.
- (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
- that source and destination are separately optimized for alignment.
- (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
-
-Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
- with handling of -32768.
-
-Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
- shell variable argument instead of only hard coded functions.
- (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
-
- * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
- call. Collapse multiple calls to GCC_NEED_DECLARATION into one
- call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
- declarations for bcopy, bcmp and bzero.
-
- * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
-
- * gansidecl.h: If we have bcopy but don't declare it, then do so.
- Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
- bzero, index and rindex if they aren't already present.
-
-Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (close_dump_file): Wrap function prototype for
- argument "func" in PROTO.
- (dump_rtl): Likewise.
-
-Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
-
- * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
- MASK_V8PLUS.
- (output_function_epilogue): Omit epilogue if nothing drops through.
- (output_move_double): Supress int ldd usage on ultrasparc and v9.
- (registers_ok_for_ldd_peep): Likewise.
- (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
- (ultrasparc_adjust_cost): New function.
- (sparc_issue_rate): New function.
- * sparc.h (MASK_VIS, TARGET_VIS): New
- (MASK_V8PLUS, TARGET_V8PLUS): New.
- (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
- (TARGET_SWITCHES): Add vis and v8plus.
- (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
- (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
- (RTX_COSTS): Use TARGET_HARD_MUL
- (ADJUST_COST): Call ultrasparc_adjust_cost.
- (ISSUE_RATE): New.
- * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
- of load & fp appropritely.
- (supersparc function units): Adjust for Haifa.
- (ultrasparc function units): Likewise.
- (get_pc_via_rdpc): All v9, not just arch64.
- (movdi_v8plus, movdi_v8plus+1): New.
- (adddi3_sp32+1): New.
- (subdi3_sp32+1): New.
- (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
- (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
- (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
- (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
- (one_cmpldi2_sp32, one_cmplsi2): Likewise.
- (ldd peepholes): Suppress for v9.
- (return_adddi): Kill redundant test. Arg1 may be arith_operand.
- (return_subsi): Revmove.
-
-Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
-
- * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
- save/restore MEM rtl.
-
-Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: Check for declaration of abort.
- * acconfig.h: Corresponding changes.
- * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
- be declared.
-
-Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
-
- * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
- uses it.
-
-Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: Check for atoq and atoll.
- * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
- proper routine for converting ascii into long long values.
-
-Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
-
- * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
-
- * vmsconfig.com: Remove bytecode references.
-
- * alpha/vms.h (PREFIX): Define.
-
- * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
-
- * am-alpha.h: Don't include alloca for OPEN_VMS.
-
- * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
-
- * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
- (GCC_INCLUDE_DIR): Define
-
- * make-cc.com, make-cccp.com, make-cc1.com: Removed.
- * makefile.vms: New file.
-
- * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
-
- * alpha.c (output_prolog): Output '.name' directive
- for minimal traceback information.
-
- * alpha.c (output_prolog): Don't prepend entry point symbols
- with '$' on OPEN_VMS.
-
-Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
- Jeffrey A Law (law@cygnus.com)
-
- * rtl.c (read_rtx): Use atol/atoq based upon disposition of
- HOST_WIDE_INT.
-
- * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
- as needed.
- * genemit.c (gen_exp): Likewise.
- * genpeep.c (match_rtx): Likewise.
- * genrecog.c (write_tree_1): Likewise.
-
- * c-lex.c (yyprint): Use proper format string based upon
- disposition of HOST_BITS_PER_WIDE_INT.
- (yylex): Put casts in right place for args to build_int_2.
-
-Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
-
- * combine.c: Fix typos in Jan27 changes.
-
-Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
-
- * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
- (LINK_SPEC): Likewise.
- (STARTFILE_SPEC): Likewise.
-
-1998-01-28 Mike Stump <mrs@wrs.com>
-
- * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
- reload completes.
- * genattrtab.c (reload_completed): Define.
-
- * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
- comments.
-
-Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
- SUBREG_REG if the word count is unchanged, also in the input reload
- case. Disable non-applicable sanity checks.
-
-Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
-
- * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
-
-Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
-
-Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
-
- * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
- is a TREE_VEC before trying to use it for baseclasses.
- (Chill uses the same field for a different purpose.)
-
- * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
-
-Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
-
- * config.sub: More accurate determination of HP processor types.
-
-Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
- prototype for `handle_sysv_pragma', and make it static. Add
- parentheses around assignment used as truth value.
-
- * combine.c (combine_instructions): Protect variable `prev' with
- macro HAVE_cc0.
- (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
- (extract_left_shift): Add parentheses around operand of &.
- (merge_outer_ops): Avoid an empty body in an else-statement.
- (gen_rtx_combine): Remove unused variable `i'.
-
- * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
- function monstartup `void'. Likewise for internal_mcount. Add
- `static void' prototype for moncontrol. Reconcile sprintf format
- vs. args.
-
- * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
- Make return type of function_arg_slotno explicitly `int'.
- (reg_unused_after): Add parentheses around assignment used as
- truth value.
- (save_regs): Add explicit braces to avoid ambiguous `else'.
- (function_arg_slotno): Add parentheses around && within ||.
- (function_arg_pass_by_reference): Likewise.
- (sparc_flat_output_function_prologue): Reconcile fprintf format
- vs. args.
-
- * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
- assignment used as truth value.
-
- * cplus-dem.c: Include <stdlib.h>.
- (demangle_signature): Avoid an empty body in an else-statement.
- (do_type): Remove unused variable `lvl'.
-
- * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
- Include <string.h>/<strings.h>.
- (cpp_lex): Remove unused variable `namelen'.
- (cpp_lex): Explicitly declare `num_chars' as an int.
-
- * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
- <unistd.h> instead. Explicitly declare is_system_include
- returning int.
- (make_assertion): Remove unused variable `kt'.
- (cpp_expand_to_buffer): Hide variable `obuf'.
- (output_line_command): Remove unused variables, `line_end',
- `line_cmd_buf' and `len'.
- (macarg): Remove unused variable `arg_start'.
- (special_symbol): Remove unused variable `i'. Add parentheses
- around assignment used as truth value.
- (do_include): Remove unused variables `pcfname' and `retried',
- hide `pcf' and `pcfbuflimit'.
- (do_line): Remove unused variable `i'.
- (finclude): Hide variable `missing_newline'.
- (cpp_handle_options): Remove unused variable `j'.
- (read_token_list): Remove unused variable `eofp'.
- (cpp_error_with_line): Remove unused variable `i'.
- (cpp_warning_with_line): Likewise.
- (cpp_pedwarn_with_line): Explicitly declare `column' as int.
- (cpp_error_from_errno): Remove unused variable `i'.
-
- * cse.c (invalidate): Add parentheses around assignment used as
- truth value.
- (find_best_addr): Move declaration of variable `our_cost' inside
- the conditional macro where its used.
- (fold_rtx): Avoid an empty body in an if-statement.
- (cse_insn): Wrap variables `this_insn_cc0_mode' and
- `this_insn_cc0' in macro HAVE_cc0.
-
- * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
- (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
- (output_uleb128): Likewise.
- (output_sleb128): Likewise.
- (output_cfi): Likewise.
- (output_call_frame_info): Remove unused variables `j', `fde_size'
- and `fde_pad'.
- (comp_unit_has_inlines): Hide declaration as per rest of file.
- (size_of_line_prolog): Correct typo in prototype.
- (add_arange): Likewise.
- (output_aranges): Likewise.
- (add_name_and_src_coords_attributes): Likewise.
- (gen_array_type_die): Likewise.
- (gen_inlined_subroutine_die): Likewise.
- (equate_decl_number_to_die): Remove unused variable `i'.
- (print_die): Reconcile format vs. args in fprintf's.
- (print_dwarf_line_table): Likewise.
- (output_die): Likewise.
- (output_line_info): Likewise.
- (add_subscript_info): Avoid an empty body in an else-statement.
- (gen_subprogram_die): Remove unused variable `fp_loc'.
-
- * dwarfout.c: Explicitly declare `next_pubname_number' as int.
- Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
- macro. Protect `src_coords_attribute' prototype with
- DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
- prototype as in the rest of the file. Likewise for
- `output_pointer_type_die' and `output_reference_type_die'. Remove
- prototype for `type_of_for_scope'.
- (output_unsigned_leb128): Reconcile format vs. args in fprintf.
- (type_attribute): Add explicit braces to avoid ambiguous `else'.
-
- * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
- (shorten_branches): Protect declaration of tmp_length with
- SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
- (profile_function): Protect declaration of `sval' and `cxt'
- variables with appropriate macros.
- (final_scan_insn): Likewise for `note' variable. Add explicit
- braces to avoid empty body in an if-statement.
- (output_asm_insn): Move variable `i' inside macro conditional
- where it is used. Add parentheses around assignment used as truth
- value.
- (asm_fprintf) Likewise, likewise.
-
- * fix-header.c (main): Remove unused variable `done'. Protect
- declaration of `i' with FIXPROTO_IGNORE_LIST.
-
- * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
-
- * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
- `ind'.
-
- * profile.c: Include <string.h>/<strings.h>.
- (instrument_arcs): Remove unused variables `note', `inverted',
- `zero' and `neg_one'.
- (branch_prob): Avoid empty body in an if-statement.
-
- * regclass.c: Include <stdlib.h>.
- (reg_alternate_class): Explicitly declare parameter `regno'.
-
- * regmove.c (regmove_optimize): Remove unused variable `p'. Add
- parentheses around assignment used as truth value.
- (find_matches): Remove unused variables `output_operand' and
- `matching_operand'.
- (fixup_match_1): Remove statement with no effect: "if (0) ;".
-
- * scan.c (sstring_append): Explicitly declare `count' as int.
- (scan_string): Explicitly declare parameter `init' as int.
-
- * sched.c: Include <stdlib.h>.
- (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
- (rank_for_schedule): Add parentheses around assignment used as
- truth value.
- (schedule_block): Likewise.
- (regno_use_in): Likewise.
- (schedule_insns): Remove unused variable `i'.
-
- * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
- (v_message_with_decl): Remove unused variable `n'.
- (botch): Explicitly declare parameter `s' as char *.
- (main): Add parentheses around assignment used as truth value.
-
- * tree.c (make_node): Protect the variable `kind' with the
- GATHER_STATISTICS macro.
- (real_value_from_int_cst): Move variable `e' inside conditional
- macro area where it is used.
- (tree_last): Add parentheses around assignment used as truth value.
- (build1): Protect the variable `kind' with the GATHER_STATISTICS
- macro.
- (print_obstack_statistics): Reconcile format vs. args in fprintf.
- Protect variables `i', `total_nodes', and `total_bytes' with the
- GATHER_STATISTICS macro.
-
-Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
-
- * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
- some comments regarding use of dead_or_set_p.
-
-Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
-
- * fixincludes: Tweak fix for struct exception in math.h
-
-Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
-
- * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
- Change mode of registers used to add/sub from
- hard_frame_pointer_rtx from word_mode to Pmode.
-
-Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
- asm_output_aligned_bss() instead of asm_output_bss().
-
- * toplev.c (rest_of_compilation): Replace references to
- stack_reg_dump_file and dbr_sched_dump_file with references to
- rtl_dump_file.
-
-Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
-
- * tlink.c (scan_linker_output): Call fclose() for opened files.
-
-Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (output_epilog [!VMS]): Don't tag global functions if
- compiling with -fpic -- we want to be able to override symbols
- properly.
- (alpha_expand_block_move): Fix thinko in last change.
-
- * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
- * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
- * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
-
-Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (abssf, absdf): Revert last change.
-
-Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
-
- * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
- * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
-
-Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
-
- * emit-rtl.c (gen_lowpart_common): Handle more case where converting
- a CONST_INT into SFmode.
-
-Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
-
- * flags.h: New flag (optimize_size).
- * toplev.c (main): Parse -Os option and set optimize_space
- accordingly.
- * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
- __OPTIMIZE_SIZE__ when compiling with -Os.
- * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
- config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
- config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
- to macro.
- * config/i386/i386.c (optimization_options): Accept new SIZE argument.
-
-Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
- stuff only if MCT_TEXT is #define'd.
-
-Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
-
- * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
- configurations.
-
-Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
-
- * toplev.c: Add -dM command line option to dump RTL after the
- machine dependent reorganisation pass, if there is one.
- Reorganise RTL dump code, so that only one file handle is
- needed.
-
-Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
-
- * except.c (check_exception_handler_labels): Disable warning when
- flag_syntax_only.
-
-Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
-
- * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
-
-Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * c-decl.c (grokdeclarator): Get parameter tags from
- last_function_parm_tags.
- * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
- traversing the parameter types.
- (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
-
-Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
-
- * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
- the default case.
- (get_shift_alg): Fix typo.
-
-Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
-
-Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
-
- * toplev.c (get_run_time): Make sure each case gets its variables.
-
-Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
-
- * configure.in (build_xm_file): Add auto-config.h if host=build.
- (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
- (build_xm_file_list): Likewise.
- * configure: Rebuild.
-
-Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
-
- * recog.c (validate_replace_rtx_1): Only perform substitutions
- of arguments to commutative and comparison operators once.
-
-Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * sparc.c (output_cbranch): Add default case in
- enumeration switch.
-
- * reorg.c (insn_sets_resource_p): Correct typo in prototype.
- (emit_delay_sequence): Eliminate unused parameter, all callers
- changed.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- (fill_eager_delay_slots): Likewise.
- (mark_referenced_resources): Add default case in enumeration switch.
- (mark_set_resources): Likewise.
- (rare_destination): Likewise.
- (mostly_true_jump): Likewise.
- (find_dead_or_set_registers): Likewise.
- (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
- (update_reg_unused_notes): Remove unused variable `p'.
- (mark_target_live_regs): Remove unused variables `next' and
- `jump_count'.
- (fill_simple_delay_slots): Remove unused variable `j'.
- (fill_slots_from_thread): Add parentheses around assignment used
- as truth value.
- (dbr_schedule): Likewise.
-
- * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
- (objc.stage2, objc.stage3, objc.stage4): Likewise.
-
-Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
-
- * cse.c (simplify_ternary_operation): Don't try to simplify
- IF_THEN_ELSE expressions (created by combine) that don't use
- relational operators.
-
-Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
-
- * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
- simplifications.
-
- * crtstuff.c (init_dummy): Keep the epilogue in the init
- section for non-ELF systems.
-
-Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (movqi_i+1): New peephole.
-
-Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in: Remove remaining bytecode stuff.
- * emit-rtl.c, expr.c: Likewise.
-
-Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
-
- * toplev.c (lang_options): Add unknown-pragma options.
-
-Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
-
- * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
- special (and incomplete) handling for Chill arrays.
-
-Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
-
- * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
- to get clock rate.
-
-Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
-
- * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
-
-1998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
-
- * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
- .frame directive instead of FRAME_POINTER_REGNUM.
-
-Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
-
- * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
- (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
- * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
- (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
- (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
- * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
- (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
- (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
- mcpu32 or m5200.
- * longlong.h: Replace __mc68332__ with __mcpu32__.
-
-Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
- to require the SUBREG mode to be smaller than the SUBREG_REG mode.
- * reload1.c (eliminate_regs): Likewise.
-
-Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * regmove.c (find_matches): Initialize matches->earlyclobber too.
-
-Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (abssf2, absdf2): Disable in IEEE mode.
- (negsf2, negdf2): Use proper subtract in IEEE mode.
-
-Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in: Remove more bytecode stuff.
- * expr.c, stmt.c, config/msdos/top.sed: Likewise.
- * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
- * f/install.texi, objc/Make-lang.in: Likewise.
-
- * Makefile.in: Remove all bytecode support.
- (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
- * emit-rtl.c: Remove all bytecode support.
- * expr.c, expr.h function.c, integrate.c: Likewise.
- * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
- * tree.h, varasm.c: Likewise.
- * config/m68k/m68k.h: Likewise.
- * bi-*, bc-*, bytecode*: Delete bytecode related files.
- * modemap.def: Likewise.
-
-Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
-
- * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
- umodsi3,umoddi3): Handle mips16 div/mod by a constant.
-
-Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.md (push): Prohibit symbolic constants if flag_pic.
- (movsi+1): Likewise for move to non-register.
-
-Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
-
- * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
- (print_operand): Handle 0xffffffff on 32 bit host.
-
- * configure.in (thread_file): Rename uses before main loop to
- target_thread_file. Initialize to empty in main loop. Set thread_file
- to target_thread_file after main loop if not set.
- * configure: Rebuild.
-
- * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
- (add_values_to_cover): Revert last change (which had no ChangeLog
- entry).
- (simplify_with_current_value_aux): Handle CONST_INT.
-
-Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
-
-Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
-
- * configure.in: Add cpp stringify test.
- * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
- * gengenrtl.c: Use it.
- * configure, config.in: Rebuild.
-
-Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
-
-Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
-
- * configure.in: Find declaration for sbrk.
- * acconfig.h (NEED_DECLARATION_SBRK): New tag.
- * config.in, configure: Rebuild.
- * mips-tfile.c: Properly protect declaration of sbrk and free.
- * toplev.c: Properly protect declaration of sbrk.
-
-Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
-
-Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
-
- * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
-
-Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
-
- * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
-
-Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
-
- * combine.c (force_to_mode, nonzero_bits): Correctly optimize
- constant offset computations from objects with known alignment in
- the presence of STACK_BIAS.
-
- * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
- necessary.
- (const_hash): Hash val is unsigned long.
- (SYMHASH): Likewise.
-
- * tree.c (TYPE_HASH): Type of hash val is unsigned long.
-
- * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
- char pointer, not HOST_WIDE_INT.
- (print_node): Likewise. Also hash is unsigned long not
- HOST_WIDE_INT.
-
- * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
-
- * explow.c (optimize_save_area_alloca): New function for targets
- where SETJMP_VIA_SAVE_AREA is true.
- (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
- compute the amount of stack space needed should we find later that
- setjmp is never called by this function, stuff rtl for this inside
- a REG_NOTE of the final SET of stack_pointer_rtx.
- * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
- current_function_calls_alloca, call optimize_save_area_alloca.
-
-Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
-
- * i386.md: Remove redundant integer push patterns.
- Don't bother checking for TARGET_PUSH_MEMORY when
- pushing constants or registers.
-
-Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
- J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
-
- * pexecute.c (pexecute): New function for mingw32. Supports pipes.
- (pwait): New function for mingw32.
-
- * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
- pipe support is broken for now.
-
-1998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
-
- * emit_rtl.c (init_emit_once): Ensure that potential aliasing
- between frame_pointer_rtx, hard_frame_pointer_rtx, and
- arg_pointer_rtx is respected in initialization.
- (init_emit_once): Use gen_rtx_raw_REG() to create
- return_address_pointer_rtx.
-
- * reorg.c: #include "expr.h" for rtx prototypes.
- * Makefile.in (reorg.o): Depend on expr.h
-
-Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
-
- * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
- local_prefix to sub-make invocations.
-
-Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
-
- * objc-parse.c: Recognize protocol qualifiers in class definitions.
-
-Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * rtl.h: Fix typos.
-
- * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
- * configure.in: Check for atol.
- * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
-
- * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
-
- * loop.c (find_and_verify_loops): When attempting to move insns from
- inside the loop outside the loop, create a BARRIER if no suitable
- one was found.
-
- * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
- favor of an equivalent change from gcc-2.8.
-
- * i386/x-sco5 (CC): Remove trailing whitespace.
-
-Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gengenrtl.c (type_from_format): De-ANSIfy function signature.
- (accessor_from_format): Likewise.
- (xmalloc): New function for use when linking with alloca.o.
-
-Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * frame.c (find_fde): Correct FDE's upper bound.
-
-Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
-
- * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
-
-Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
-
- * calls.c (expand_call): Move #ifdef code out of macro argument
- lists.
- (emit_library_call, emit_library_call_value): Likewise.
-
-Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
-
-Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
-
- * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
- change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
- * caller-save.c, calls.c, combine.c, cse.c: Likewise.
- * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
- * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
- * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
- * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
- * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
- * unroll.c, varasm.c: Likewise.
- * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
-
-Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
-
- * mips.h: Fix some type-o's from a previous change.
-
-Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (check_dbra_loop): Make sure initial value is a
- CONST_INT before trying to normalize it.
-
-Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
-
- * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
-
-Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
-
- * cppexp.c: Include gansidecl.h
-
-Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * svr4.h (LINK_SPEC): Never specify -h.
- * ptx4.h (LINK_SPEC): Likewise.
- * rs6000/sysv4.h (LINK_SPEC): Likewise.
- * sparc/sol2.h (LINK_SPEC): Likewise.
-
-Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
-
- * c-typeck.c (comptypes): Exit early on NULL input.
-
- * haifa-sched.c (schedule_insns): Correctly remove inter-block
- dependencies after reload.
-
-Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
-
- * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
-
-Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
-
- * alpha/vms.h (DIR_SEPARATOR): define
-
-Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * Makefile.in (stamp-proto): Remove.
- (protoize.o, unprotoize.o): Straightforward compile.
- * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
-
-Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
- off the trailing @[NUM] added by ENCODE_SECTION_INFO.
-
-Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
-
- * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
- * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
- * sparc/netbsd.h, vax/netbsd.h: Likewise.
-
-Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
-
- * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
-
-Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
-
- * configure.in (target_cpu_default, target_cpu_default2): Use double
- quotes around them when testing their value.
- * configure: Rebuilt.
-
-Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
-
- * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
- to allocate rtx.
- (gendef): Call obstack_alloc_rtx.
-
-Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
-
- * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
- for now.
-
-Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
- of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
- (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
-
-Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (return_internal): Change mode from SImode to VOIDmode.
-
-Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
-
- * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
- "-static".
-
-Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
-
- * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
- suffix from operand 3.
-
-Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- Jeffrey A Law (law@cygnus.com)
-
- * regmove.c: New implementation of regmove pass.
- * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
- decls, make them have external linkage. Return a value from
- optimize_reg_copy_1.
- * reload.h (count_occurrences): Add decl.
- * reload1.c (count_occurrences): Delete decl, make it have external
- linkage.
- * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
-
-Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
-
- * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
- if it is not defined.
-
-Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
-
- * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
- * emit-rtl.c (gen_rtx): Move special code to ...
- (gen_rtx_CONST_INT): New function.
- (gen_rtx_REG): New function.
- (*): Update all calls to gen_rtx.
- * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
- * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
- (GEN_INT): Call gen_rtx_CONST_INT.
- * gengenrtl.c: New file.
-
-Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
-
- * alias.c (*_dependence): Call base_alias_check before canon_rtx.
- (base_alias_check): If no base found for address call canon_rtx and
- try again.
-
-Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.c (mips_expand_prologue): Handle large frame with no outgoing
- arguments for mips16.
- (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
- Don't lose if tsize is zero after handling large stack for mips16.
- * mips.md (return): For trivial return, return address is in $31.
-
-Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
-
- * mips/mips16.S: Various changes to make it work with -msingle-float
- and -EL.
-
-Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
- Ian Lance Taylor <ian@cygnus.com>
- Jeff Law <law@cygnus.com>
-
- * mips.c, mips.h, mips.md: First cut at merging in mips16
- support. Major modifications throughout all three files.
-
-Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
-
- * configure.in: Make gthr-default.h a forwarding header instead of
- a symlink.
-
-Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gcov-io.h: Include sys/types.h to ensure we get size_t.
-
- * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
-
-Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
- Jeffrey A Law (law@cygnus.com)
-
- * crtstuff.c (__frame_dummy): New function for irix6.
- (__do_global_ctors): Call __frame_dummy for irix6.
- * iris6.h (LINK_SPEC): Hide __frame_dummy too.
-
-Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
-
- * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
-
-Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
-
- * c-decl.c (init_decl_processing): Provide proper fallback symbol
- for __builtin_memset.
- * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
- not INTEGER_CST. Assert arg 3 is a constant.
-
- * alpha.c (mode_width_operand): Accept 64-bit modes.
- (mode_mask_operand): Likewise.
- (print_operand): Likewise for 'M' and 'U' codes.
- (alpha_expand_unaligned_load): New function.
- (alpha_expand_unaligned_store): Likewise.
- (alpha_expand_unaligned_load_words): Likewise.
- (alpha_expand_unaligned_store_words): Likewise.
- (alpha_expand_block_move): Likewise.
- (alpha_expand_block_clear): Likewise.
- * alpha.h (MOVE_RATIO): New define.
- * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
- (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
-
- * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
- (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
-
-Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
-
- * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
- * configure: Update.
-
-Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
-
- * emit-rtl.c (operand_subword): Correctly handle extracting a word
- from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
-
- * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
- for first argument.
-
-Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * configure.in: Set and subsitute host_exeext. Use it when creating
- the assembler and linker symlinks.
- * configure: Rebuild.
- * Makefile.in (exeext): Set to @host_exeext@.
- (build_exeext): New variable, set to @build_exeext@.
- (FLAGS_TO_PASS): Pass down build_exeext.
- (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
- programs.
-
-Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.md (addsi3, subsi3): Fix thinkos.
-
-Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
-
- * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
- save+restore. Fix pic+big_offset delay slot. Use "pic" case for
- unix always, since we want to be able to thunk to functions in a
- shared library from an application.
-
-Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
- (LIB1ASMSRC, LIB1ASMFUNCS): Define.
-
-Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
-
- * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
- offset's mode is not ptr_mode, convert it.
-
-Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
-
- * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
- compiling if it was already defined.
-
-Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (find_basic_blocks): Don't create a new basic block
- for calls in a LIBCALL block.
-
-Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
-
-Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
-
- * cse.c (rtx_cost): Remove conflicting default case.
-
-Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
-
- * configure.in: Move default enabling of Haifa out of for loop.
- * configure: Rebuild.
-
-Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-1997-12-25 Teemu Torma <tot@trema.com>
-
- * Makefile.in (GTHREAD_FLAGS): New var.
- (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
- (distclean): Remove gthr-default.h.
-
- * configure.in: Accept dce as a thread package.
- Check for thread.h and pthread.h.
- Link gthr-default.h to appropriate thread file and set
- gthread_flags.
- (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
- include multilib definitions from pa/t-dce-thr.
- (sparc-*-solaris2*): Enable threads by default, if thread.h or
- pthread.h is found, preferring posix threads over solaris ones.
-
- * config/pa/t-dce-thr: New file.
- * config/pa/t-pa: Removed multilibs.
- * config/sparc/t-sol2: Ditto.
-
- * gthr.h: New file.
- * gthr-single.h: New file.
- * gthr-posix.h: New file.
- * gthr-solaris.h: New file.
- * gthr-dce.h: New file.
- * libgcc-thr.h: Removed.
- * objc/thr-dce.c: New file copied from thr-decosf1.c.
-
- * frame.c: Include gthr.h instead of libgcc-thr.h.
- * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
- (eh_context_initialize): If __gthread_once fails, use static eh
- context.
- (eh_context_free): Call __gthread_key_dtor.
-
-Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
-
- * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
-
-Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (max_insn_uid): New variable.
- (cse_around_loop): Use max_insn_uid.
- (cse_main): Set max_insn_uid.
-
- * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
- and define __LONG_MAX__ appropriately. Add support for -mabi=X,
- -mlong64, and -mgp{32,64} options.
- * mips.c (mips_abi): Change type to int.
- * mips.h (enum mips_abi_type): Delete.
- (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
- (mips_abi): Change type to int.
-
-Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
-
- * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
- optimization is now always enabled.
-
- * calls.c (expand_call): Recognize C++ operator new as malloc-like
- function.
-
- * alias.c (memrefs_conflict_p): Eliminate tests now done by
- base_alias_check.
- (*_dependence): Call canon_rtx before base_alias_check.
- (init_alias_once): New function to precompute set of registers which
- can hold Pmode function arguments.
-
- * rtl.h: Declare init_alias_once.
-
- * toplev.c (compile_file): Call init_alias_once.
-
-Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
-
- * tree.c (restore_tree_status): Do not dereference a null pointer.
-
-Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
-
- * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
- RLIMIT_STACK. This maintains consistency with the recent, similar
- patch to cccp.c and toplev.c.
-
-Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
-
- * genattrtab.c (expand_units): For large nr opclasses, expand
- function_units_used with ORX to prevent blowups. Tag with FFS.
- (num_unit_opclasses): New variable.
- (gen_unit): Update it.
- (enum operator): Add ORX_OP.
- (operate_exp): Treat ORX as or, except don't expand across an if.
- Reuse number rtx's after operating on them.
- (check_attr_value): Accept IOR, AND, & FFS.
- (write_test_expr): Transmute `in_comparison' to `flags'. Allow
- for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
- (write_expr_attr_cache, write_toplevel_expr): New functions.
- (write_attr_get): Handle FFS-tagged expressions.
- (make_canonical): Don't expand const attributes.
- (convert_const_symbol_ref): Dike out.
- (evaluate_eq_attr): Handle SYMBOL_REF.
- (main): Don't emit get_attr_foo for const attributes.
-
- * alpha.c (override_options): Reinstate PROCESSOR_EV6.
- (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
- * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
- * alpha.md: Redo all of the scheduling, adding EV6 support, and
- combining function units where possible.
- (attr "type"): Split loads, stores, cmov into int/fp. Combine
- multiplies and divides. Add EV6 sqrt, ftoi, itof.
- (attr "opsize"): New attribute.
- (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
- (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
- to control register allocation.
- (movsi2-1, movdi2-1): Likewise.
-
-Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
- MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
- Move OSF/1 specific defines out.
- * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
- Move Linux specific defines out.
- (LINK_SPEC): Genericize.
- (ASM_FILE_START): Emit .arch if using more than the base insn set.
- (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
- (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
- (HANDLE_SYSV_PRAGMA): Define.
- * alpha/osf.h: New file.
- * alpha/linux.h: Split. Retain file-format independant defines.
- Import Linux bits from elf.h.
- (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
- (FUNCTION_PROFILER): _mcount takes its address in $28.
- (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
- * alpha/linux-ecoff.h: New file.
- * alpha/linux-elf.h: New file.
- * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
- * alpha/win-nt.h (TARGET_DEFAULT): Define.
- * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
- Add new headers as appropriate.
-
- * configure.in (alpha*): Enable Haifa by default.
- (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
- * configure: Rebuild.
-
-Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
-
- * Makefile.in (clean): Remove the stages with their objects here ...
- (distclean): ... instead of here.
-
-Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * cse.c (rtx_cost): Add default case in enumeration switch.
- * fix-header.c (recognized_macro): Likewise.
- (recognized_extern): Likewise.
- (write_rbrac): Likewise.
- * objc/objc-act.c (encode_aggregate): Likewise.
- (gen_declarator): Likewise.
- (gen_declspecs): Likewise.
-
-Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (create_reg_dead_note): Detect and handle another
- case where we kill more regs after sched than were killed before
- sched.
- * sched.c (create_reg_dead_note): Similarly.
-
-Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
-
- * c-pragma.c: Include flags.h.
-
-Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
- about system headers.
- (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
- and also to resolve symbols in prefix.c.
-
- * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
- between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
- when the definitions in auto-config.h is not visible.
- (HAVE_BZERO): Likewise.
- (HAVE_BCMP): Likewise.
- (HAVE_RINDEX): Likewise.
- (HAVE_INDEX): Likewise.
-
-Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (emit_move_sequence): Handle a function label source
- operand.
-
-Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
-
- * c-pragma.c (handle_pragma_token): Generate warning messages
- about unknown pragmas if warn_unknown_pragmas is set.
-
- * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
- line option to set variable: warn_unknown_pragmas.
-
-Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
-
- * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
- definition.
- (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
-
-Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
- (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
- generate more fine grained floating point emulation libraries.
- * config/fp-bit.c: Add protecting #ifdef to all functions so
- that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
- then compile all suitable functions.
- (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
- underscores to avoid namespace pollution.
- * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
- (FPBIT): Define.
- * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
- (FPBIT): Define.
- (DPBIT): Define.
-
-Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- Jeff Law <law@cygnus.com>
-
- * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
- of the declaration.
- * c-decl.c (finish_decl): Use parentheses around && within ||.
- * rtl.c: Include stdlib.h.
- (read_skip_spaces): Add parentheses around assignments used as
- truth values.
- (read_rtx): Initialize list_rtx.
- * cppexp.c (parse_number): Use || when operands are truth values.
- * alias.c (find_base_value): Add default case.
- (memrefs_conflict): Likewise.
- * combine.c (sets_function_arg_p): Likewise.
- * genemit.c (gen_exp): Likewise.
- * local-alloc.c (contains_replace_regs): Likewise.
- * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
- * fold-const.c (fold_convert): Use "&&" for truth values.
- (fold): Add default case.
- * sdbout.c (sdbout_field_types): Fix typo in declaration.
- (sdbout_one_type): Add default case.
- * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
- (some_operand): Add default case.
- (input_operand): Likewise.
- (signed_comparison_operator): Likewise.
- (divmod_operator): Likewise.
- (alpha_set_memflags_1): Likewise.
- * reload1.c (reload_cse_simplify_operands): Ensure function
- always returns a value.
- * scan-decls.c (scan_decls): Likewise.
- * c-lex.c (skip_white_space): Fix typo in declaraion.
- * c-typeck.c (comp_target_types): Add parentheses around assignment
- used as truth value.
- (print_spelling): Likewise.
- (constructor_implicit, constructor_result): Remove unused variables.
- * collect2.c (scan_library): Protect prototype with
- #ifdef SCAN_LIBRARIES.
- * emit-rtl.c (find_line_note): Fix typo in declaration.
- * final.c (asm_insn_count): Protect prototype with
- #ifdef HAVE_ATTR_length.
- * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
- (try_pre_increment_1, try_pre_increment): Likewise.
- * regclass.c (auto_inc_dec_reg_p): Protect prototype with
- #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
- * gcov-io.h (__store_long, __write_long, __read_long): Fix
- unsigned/signed comparisons.
- * gcov.c (read_files): Remove unused "first_type" variable.
- (scan _for_source_files): Initialize s_ptr.
- (function_summary): Eliminate "%lf" formatting, use %ld for
- longs.
- (output_data): Initialize branch_probs and last_line_num.
- Eliminate "%lf" formatting, use "%ld" for longs.
-
-Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * mips16.S: New file.
-
- * libgcc2.c (varargs): Handle mips16.
-
- * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
- expression.
- * stmt.c (expand_end_case): Likewise.
- * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
- * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
- * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
-
-Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
- the build directory.
- (libobjc.a): Update dependency list.
- (libobjc.dll): Likewise. Use libobjc_entry.o from the build
- directory.
- (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
- (objc.mostlyclean): Remove runtime-info.h.
-
-Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
-
- * tree.c (build_range_type): Allow creation of ranges with no maximum.
- * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
- * dwarf2out.c (add_subscript_info): Likewise.
- * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
- * sdbout.c (plain_type_1): Likewise.
- * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
- Likewise.
- * fold-const.c (int_const_binop, fold_convert, make_range, fold):
- Likewise.
-
-Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * mips.c (fatal): Remove declaration.
-
-1997-12-18 Mark Mitchell <mmitchell@usa.net>
-
- * integrate.c (get_label_from_map): New function.
- (expand_inline_function): Use it. Initialize the label_map to
- NULL_RTX instead of gen_label_rtx.
- (copy_rtx_and_substitute): Use get_label_from_map.
- * integrate.h (get_label_from_map): New function.
- (set_label_from_map): New macro.
- * unroll.c (unroll_loop): Use them.
- (copy_loop_body): Ditto.
-
-Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
- (INIT_TARGET_OPTABS): Define.
- * mips/ecoff.h: Include gofast.h before mips.h.
- (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
- * mips/elf64.h: Likewise.
- * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
-
-Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c: Remove register_exception_table{,_p}.
-
-Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
-
- * unroll.c (calculate_giv_inc): Handle constant increment found in
- a MEM with an appropriate REG_EQUAL note.
-
- * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
-
- * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
- frame pointer in the prologue.
-
-Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
-
- * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
- * i386/xm-sco5.h (USE_C_ALLOCA) Added.
-
-Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
-
- * config/m68k/m68k.c (output_function_prologue): Typecast
- dwarf2out_cfi_label to (char *).
- * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
-
-Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
-
- * sparc.md (jump): Don't use the annul bit around an empty loop.
- Patch from Kevin.Kelly@East.Sun.COM.
-
-Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
-
- * jump.c: (jump_optimize): Don't use the return register as a
- source1 of a conditional move.
-
-Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
-
- * sparc.c (DF_MODES): Or the mask not the bit number.
- (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
-
-Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
-
- * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
-
-Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * fixincludes (size_t): Add support for Motorola's stdlib.h
- which fails to provide a definition for size_t.
- (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
- (strlen,strspn,strcspn return value): Handle different layout on sysV88.
- (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
-
- * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
- prevent unresolved externals in libio.
- * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
-
-Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
-
- * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
- (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
- (LIB_SPEC): Updated for glibc 2.
-
-Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
-
- * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
- * ginclude/varargs.h: Likewise.
-
-Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
-
- * frame.h (__register_frame, __register_frame_table,
- __deregister_frame): New.
- * frame.c (__register_frame, __register_frame_table,
- __deregister_frame): New.
- * frame.c (__deregister_frame_info): Return void *.
- * frame.h (__deregister_frame_info): Ditto.
- * collect2.c (__deregister_frame_info): Ditto.
-
-Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
-
- * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
-
-Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_cpu_name): New variable.
- (alpha_mlat_string): Likewise.
- (alpha_memory_latency): Likewise.
- (override_options): Handle -mmemory-latency.
- (alpha_adjust_cost): Adjust load cost for latency.
- * alpha.h (TARGET_OPTIONS): Add meory-latency.
- (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
- TARGET_CIX into account.
- (MEMORY_MOVE_COST): Define in terms of memory_latency.
- * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
-
- * alpha.h (ASM_COMMENT_START): New macro.
-
-Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
-
- * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
- dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
-
- * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
- SUBREG_REG if the word count is unchanged.
- * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
- subregs of identical word size for push_reload.
-
-Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
-
- * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
- if all we're doing is dealing with -Wreturn-type.
-
-Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
- Use and 255 instead of zapnot 1, since it schedules better.
-
-Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
-
- * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
- it as volatile.
-
-Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
- dependency we delete. Properly update prev for multiple consecutive
- deletions.
- (priority): Skip deleted dependence.
-
-Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
-
- * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
-
-Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * flow.c (flow_analysis): Be consistent with find_basic_blocks in
- determining when a new basic block starts.
-
- * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
-
- * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
- * pa.md (iorsi3): Add missing args to *_operand calls.
-
- * except.c (call_get_eh_context): Don't mess with sequences.
- (emit_eh_context): Include the call in the sequence here.
-
-1997-12-11 Paul Eggert <eggert@twinsun.com>
-
- * collect2.c (write_c_file_glob): Allocate initial frame object
- in static storage and pass its address.
-
-Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c (call_get_eh_context): Don't take a parm.
- Put the call at the top of the function.
- (emit_eh_context): Adjust.
- (get_eh_context): Replace with former use_eh_context.
- (get_eh_context_once, get_saved_pc_ref): Remove.
- (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
- * except.h: Adjust.
- * integrate.c (expand_inline_function): Adjust.
- * toplev.c (rest_of_compilation): Don't call emit_unwinder.
-
-Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
-
- * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
- (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
-
-Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * fixincludes (strlen,strspn,strcspn return value): Handle different
- layout on sysV88.
- (hypot): Provide a fake for hypot which is broken on
- m88k-motorola-sysv3.
-
-Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
-
- * tree.c, tree.h: Change tree_code_type, tree_code_length, and
- tree_code_name from pointers to arrays.
- * tree.c: Remove standard_tree_code_* variables, no longer used.
- * print-tree.c: Remove declaration of tree_code_name.
-
- * cp/lex.c (init_lex): Update for tree_code_* changes.
- * objc/objc-act.c (init_objc): Likewise.
-
- * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
- changes.
-
-Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
-
- * config.sub: Add support for BeOS target.
- * configure.in: Likewise.
- * ginclude/stdarg.h: Likewise.
- * ginclude/stddef.h: Likewise.
- * ginclude/varargs.h: Likewise.
- * rs6000/beos.h: New file for BeOS.
- * rs6000/t-beos: Likewise.
- * rs6000/x-beos: Likewise.
- * rs6000/xm-beos.h: Likewise.
- * toplev.c (get_run_time): Just return 0 on BeOS.
-
-Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
- Toon Moene (toon@moene.indiv.nluug.nl)
-
- * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
- old and broken Sun3 assemblers. Newer versions handle large
- offsets correctly as does the GNU assembler.
-
-Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * objc/objc-act.c (lang_report_error_function): Disable.
- * objc/objc-parse.y: Include "output.h".
- (yyerror): Remove redundant decl.
- (yyprint): Fix prototype.
- (apply_args_register_offset): Remove redundant decl.
- (get_file_function_name): Likewise.
-
-Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
- a new basic block.
- (find_basic_blocks_1): Likewise.
-
-Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c (use_eh_context): Don't copy_rtx a REG.
- (emit_throw): Lose old unwinder support.
- (expand_internal_throw): Likewise.
- * libgcc2.c (struct eh_context): Likewise.
- (new_eh_context): Likewise.
- (__get_eh_info): Lose redundant cast.
- (__get_dynamic_handler_chain): Likewise.
- (__get_saved_pc): Lose.
- Lose all old unwinder support code.
-
-Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
-
- Thread-safe EH support for pthreads, DCE threads and Solaris threads.
-
- * integrate.c (expand_inline_function): If the inline fn uses eh
- context, make sure that the current fn has one.
- * toplev.c (rest_of_compilation): Call emit_eh_context.
- * except.c (use_eh_context): New fn.
- (get_eh_context_once): New fn.
- (call_get_eh_context): New fn.
- (emit_eh_context): New fn.
- (get_eh_context): Call either get_eh_context_once or
- call_get_eh_context, depending on what we have.
- (get_dynamic_handler_chain): Call get_eh_context_once.
- * except.h: Prototypes for fns above.
- * optabs.c (get_eh_context_libfunc): Removed.
- (init_optabs): Don't initialize it.
- * expr.h (get_eh_context_libfunc): Removed.
- * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
- * config/pa/pa.h (CPP_SPEC): Support for -threads.
- * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
- * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
- New multilib for -threads.
- * config/sparc/t-sol2: Added multilibs for -threads and
- made -pthreads alias to it.
- * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
- Added -threads and -pthreads options.
- * libgcc-thr.h: New file.
- * libgcc2.c: (__get_cpp_eh_context): Removed.
- (struct cpp_eh_context): Removed.
- (struct eh_context): Replaced cpp_eh_context with generic language
- specific pointer.
- (__get_eh_info): New function.
- (__throw): Check eh_context::info.
- (__sjthrow): Ditto.
- * libgcc2.c: Include libgcc-thr.h.
- (new_eh_context, __get_eh_context,
- eh_pthread_initialize, eh_context_initialize, eh_context_static,
- eh_context_specific, eh_context_free): New functions.
- (get_eh_context, eh_context_key): New variables.
- (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
- get_eh_context to get the context.
- (longjmp): Move the declaration inside
- #ifdef DONT_USE_BUILTIN_SETJMP.
- * frame.c: Include libgcc-thr.h.
- (object_mutex): Mutex to protect the object list.
- (find_fde, __register_frame, __register_frame_table,
- __deregister_frame): Hold the lock while accessing objects.
- * except.h (get_eh_context): Declare.
- * except.c (current_function_ehc): Define.
- (current_function_dhc, current_function_dcc): Removed.
- (get_eh_context): New function.
- (get_dynamic_handler_chain): Use get_eh_context.
- (get_saved_pc_ref): Ditto.
- (get_dynamic_cleanup_chain): Removed references to
- current_function_dcc.
- (save_eh_status, restore_eh_status): Save and restore
- current_function_ehc instead.
- * optabs.c (get_eh_context_libfunc): New variable.
- (init_optabs): Initialize it.
- * expr.h: Declare get_eh_context_libfunc.
- * function.h (struct function): Replaced dhc and dcc with ehc.
- * except.c (get_saved_pc_ref): New functions.
- (eh_saved_pc_rtx, eh_saved_pc): Deleted.
- (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
- of eh_saved_pc.
- (end_eh_unwinder): Likewise.
- (init_eh): Remove initialization of eh_saved_pc.
- * optabs.c (get_saved_pc_libfunc): New variable.
- (init_optabs): Initialize it.
- * expr.h: Declare get_saved_pc_libfunc.
- * except.h (eh_saved_pc_rtx): Deleted.
- (get_saved_pc_ref): Declared.
-
- From Scott Snyder <snyder@d0sgif.fnal.gov>:
- * libgcc2.c (__get_saved_pc): New.
- (__eh_type, __eh_pc): Deleted.
- (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
- (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
- this fcn.
-
-Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
-
- * sparc/sol2.h: Use 64 bit multiply and divide functions in
- Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
- as 0.
-
- * rtl.h (global_rtl): New variable, replacing separate variables for
- commonly used rtl.
- (const_int_rtx): Now array of rtx_def, not rtx.
- * emit-rtl.c: Update for new rtl data structures.
- * genattrtab.c: Define global_rtl.
-
-Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
- default.
-
-Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
-
- * crtstuff.c (__do_global_ctors): Fix typo.
-
-Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
- to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
-
-Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (FUNCTION_ARG_PADDING): Define.
- * rs6000.c (function_arg_padding): New function.
-
-Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * m68k.c: Include tree.h only once.
-
-Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
-
-Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
-
- * Partially cleaned up prototyping code from HJ.
- * tree.h: Add many prototypes.
- * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
- All references changed.
- * rtl.h: Protect from multiple inclusions. Add many prototypes.
-
-Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
-
- * libgcc2.c (string.h): Hoist inclusion to occur before first use of
- string functions like strlen.
-
-Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * configure.in: Check for functions getrlimit and setrlimit.
- * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
- to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
-
-Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
-
- * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
-
-Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (REG_RA, alpha_return_addr, output_epilog):
- Fix merge problems.
-
- * alpha.c (override_options): Don't know about scheduling for EV6.
- * alpha.md (ev5 function units): Don't overload as ev6.
-
- * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
- * alpha.md (define_attr type): Add mvi.
- (ev5_e0): Define sceduling parameters for it.
- (TARGET_MAX insns): Type is mvi not shift.
-
-Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
-
-Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * cstamp-h, auto-config.h: Delete.
-
-Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
-
- * cccp.c: Fix typo brought over in merge.
-
- * Merge in changes from gcc-2.8.
-
-Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
-
- * m68k.c: Include tree.h for dwarf2out_cfi_label.
-
- * gcc.c (process_command): Do not take address of function fatal when
- calling lang_specific_driver.
-
-Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
-
- * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
- doesn't work with it yet, so set it to 0.
- * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
-
-Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
-
- * cse.c (cse_insn): Check for invalid entries when taking references.
-
-Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
- (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
- * toplev.c (rest_of_compilation): Pass it. Remove code to
- save / clear / restore flag_unroll_{,all_}loops.
-
-Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
-
- * i386.c (notice_update_cc): Remove bogus pentium GCC code.
-
-Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
-
- * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
-
-Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c (get_dynamic_handler_chain): Only make the call once per
- function.
-
- * except.c (expand_end_all_catch): Fix for sjlj exceptions.
-
-Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (final_prescan_insn): Use local label prefix
- when emitting .uses pseudo-ops.
-
-Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
- * except.c: Lose outer_context_label_stack.
- (expand_eh_region_end): Rethrow from outer_context here.
- (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
- (expand_internal_throw): Take no args.
- (expand_internal_throw_indirect): Lose.
- (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
- (expand_start_all_catch): Start a rethrow region.
- (expand_end_all_catch): End it.
- (expand_rethrow): New fn.
- * except.h: Reflect above changes.
- * flow.c: Revert change of Nov 27.
-
-Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
-
- * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
-
-Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c (expand_fixup_region_end): New fn.
- (expand_fixup_region_start): Likewise.
- (expand_eh_region_start_tree): Store cleanup into finalization here.
- * stmt.c (expand_cleanups): Use them to protect fixups.
-
-Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
-
- * mips/mips.md (muldi3_r4000): Broaden the output template
- and attribute assignments to handle three operand dmult;
- rename to muldi3_internal2.
- (muldi3): Call the new muldi3_internal2 for R4000, and
- any GENERATE_MULT3 chip.
-
-Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
-
-Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
-
- * unroll.c (find_splittable_givs): Remove last change. Handle givs
- with a dest_reg that was created by loop.
-
-Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
-
- * rs6000/aix41.h (ASM_CPU_SPEC): Define.
-
-Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: Fix NCR entries.
-
-Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
- nested exceptions correctly.
-
- * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
- that was created by loop.
-
-Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
-
- * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
-
-Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
- (print_operand): Use SMALL_DATA_REG for the register involved in
- small data relocations.
- (print_operand_address): Ditto.
-
- * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
- -dynamic linker is not used.
-
- * rs6000.md (call insns): For local calls, use @local suffix under
- System V. Don't use @plt under Solaris.
-
- * rs6000.c (output_function_profiler): Put label address in r0, and
- store LR in 4(sp) for System V/eabi.
-
- * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
- byte boundary, and maintain stack backchain.
-
-Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
- fix_truncsfdi2): Change *.
-
-Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (main): Complain about -gdwarfn.
-
-Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarfout.c (output_type): If finalizing, write out nested types
- of types we've already written.
-
-Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
-
- (patches originally from Geoffrey Keating)
- * rs6000.c (function_arg): Excess floating point arguments don't
- go into GPR registers after exhausting FP registers under the
- System V.4 ABI.
- (function_arg_partial_nregs): Ditto.
-
- * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
- suffix to calls.
-
-Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * integrate.c (output_inline_function): Just unset DECL_INLINE.
-
-Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
-
- * dwarf2out.c (outout_call_frame_info): Ensure that the info has
- proper alignment.
-
- * libgcc2.c (__throw): Initialize HANDLER.
-
-Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
- fix_truncsfdi2): Change *X to ?*X.
-
-Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
-
- * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
-
-Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
-
- * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
-
-Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
-
- * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
-
-Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
- * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
- * expr.h: Likewise.
-
-Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
- * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
- gas and not using the new HP assembler.
-
-Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
- (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
-
-Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
- TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
- definition.
-
-Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
-
-Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.h: Add outer_context_label_stack.
- * except.c: Likewise.
- (expand_start_all_catch): Push the outer_context for the try block
- onto outer_context_label_stack.
- (expand_end_all_catch): Use it and pop it.
-
-Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
-
- * i386/sco5.h (HAVE_ATEXIT): Revert last change.
-
-Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
-
-Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
-
- * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
- to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
-
-Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
- * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
- __builtin_delete, and __builtin_vec_delete.
-
- * except.c (output_exception_table): Don't bother with
- __EXCEPTION_END__.
-
-Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
- is an in/out operand.
- (zero extended variants of stwm/stwm patterns): Similarly.
-
- * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
-
-Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
- Use assemble_name.
- (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
- (output_call_frame_info): Emit a \n after using it.
-
-Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
-
- * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
-
-Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
-
- * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
- (ASM_OUTPUT_DWARF_VALUE4): New macro.
- (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
- defined.
- (output_call_frame_info): Do not output forward label differences
- if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
- * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
-
-Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (attribute "type"): Add nil.
- (movsi_ie): y/y alternative is type nil.
- (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
- alternatives.
- (movsf_ie+1): Delete.
-
-Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
- large_int, emit two insns instead of one splitable insn.
- * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
- from cfa_temp_value, use cfa_offset. Add assert checking that
- cfa_reg is SP.
-
-Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
-
- * cccp.c (deps_output): Properly quote file names for make.
-
-Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
-
- * t-h8300 (MULTILIB_EXCEPTIONS): Define.
-
-Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
-
- * i386/sco5.h (HAVE_ATEXIT): Delete definition.
-
-Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
-
- * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
- return.
- (cse_end_of_basic_block): Similarly.
-
-Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
-
- * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
- (SELECT_RTX_SECTION): Define.
- (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
-
-Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (compare, compare-lean): Define $stage for each
- shell command.
- (gnucompare, gnucompare-lean): Likewise.
-
-Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
-
- * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
-
- * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
- to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
-
-Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
-
- * dwarfout.c (byte_size_attribute): Add local var upper_bound
- and add case to handle STRING_TYPE.
- * dwarfout.c (output_string_type_die): Fix code to generate
- correct string length attribute for fixed length strings.
- Still needs support for varying length strings.
-
-Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (get_run_time): Do something sensible for cygwin32.
-
-Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
-
- * expr.c (expand_builtin_setjmp): Set
- current_function_has_nonlocal_label.
- * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
- call-saved registers across calls.
-
- * alpha.md (exception_receiver): Remove.
- (nonlocal_goto_receiver_osf): New
- (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
- (nonlocal_goto_receiver): New, select _osf or _vms.
-
- * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
- keep them from being propogated to the object file.
- (alpha_write_linkage): Likewise.
- * alpha.md (call_vms): Likewise.
- (call_value_vms): Likewise.
- (unnamed osf call insns): Likewise.
-
- * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
- (ASM_GENERATE_INTERNAL_LABEL): Likewise.
-
- * alpha.c (call_operand): Any reg is valid for WinNT.
- * alpha.md (call_nt, call_value_nt): Don't force address into $27.
- (anon nt calls): Add 'R' alternative.
- * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
- INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
-
-Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
-
- * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
-
- * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
- * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
- * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
-
-Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * reload1.c (new_spill_reg): Improve fixed or forbidden register
- spill error message.
-
-Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
- use varargs.h. Wrap header with <>, not "".
-
-Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
-
- * integrate.c (save_for_inline_copying): Add return value from
- savealloc.
-
-Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
-
- * fixincludes: Be a little more restrictive on what we will
- substitute to replace definitions of MAXINT for HPUX.
-
-Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
-
- * dbxout.c (dbxout_symbol_location): Don't assume that variables
- whose address is the stack or argument pointers are indirect
- pointers.
-
-1997-11-13 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c, cpplib.c (compare_defs):
- Don't complain about arg name respellings unless pedantic.
- * cpplib.c (compare_defs): Accept pfile as new arg.
- All callers changed.
-
-Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * fold-const.c (fold_truthop): Fix bug in last change.
-
-1997-11-13 Paul Eggert <eggert@twinsun.com>
-
- Fix some confusion with IEEE minus zero.
-
- * real.h (REAL_VALUES_IDENTICAL): New macro.
-
- * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
- * fold-const.c (operand_equal_p): Don't consider -0.0 to be
- identical to 0.0.
- * tree.c (simple_cst_equal): Don't consider -0.0 to have the
- same tree structure as 0.0.
-
- * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
- macro instead of doing it by hand.
-
-Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
-
- * v850/lib1funcs.asm: Minor whitespace changes.
- * v850.c: Fix minor formatting problems in many places.
- (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
-
-Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
- xplus1 when xplus0 is not a register.
-
-Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (find_basic_blocks): During marking phase, if we encounter
- an insn with a REG_LABEL note, make the target block live and
- create an edge from the insn to the target block. Do not make
- edges from all blocks to the target block.
-
- * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
-
- * confiugre.in: Tweak NCR entries.
- * configure: Rebuilt.
-
-Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
- pick apart floating point values, instead of using CONST_DOUBLE_LOW
- and CONST_DOUBLE_HIGH.
-
- * rs6000.md (define_splits for DF constants): Use the appropriate
- REAL_VALUE_* interface to pick apart DF floating point constants in
- a machine independent fashion.
-
-Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * fold-const.c (fold_truthop): When changing a one-bit comparison
- against zero into a comparison against mask, do a proper sign
- extension.
-
-Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
-
- * except.c: Do not include "assert.h".
- (save_eh_status): Turn asserts into conditional aborts.
- (restore_eh_status, scan_region): Likewise.
- * dwarfout.c: Do not include "assert.h".
- (bit_offset_attribute): Turn asserts into conditional aborts.
- (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
- (output_inlined_structure_type_die): Likewise.
- (output_inlined_union_type_die): Likewise
- (output_tagged_type_instantiation): Likewise.
- (dwarfout_file_scope_decl): Likewise.
- * dwarf2out.c: Do not include "assert.h"
- (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
- (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
- (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
- (add_bit_size_attribute, scope_die_for): Likewise.
- (output_pending_types_for_scope): Likewise.
- (get_inlined_enumeration_type_die): Likewise.
- (get_inlined_structure_type_die): Likewise.
- (get_inlined_union_type_die, gen_subprogram_die): Likewise.
- (gen_tagged_type_instantiation_die): Likewise.
-
- * flow.c (find_basic_blocks): Refine further to get a more correct
- cfg, especially in the presense of exception handling, computed
- gotos, and other non-trivial cases. Call abort if an inaccuracy
- is detected in the cfg.
-
-Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
-
- * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
- (skip_white_space): Use whitespace_cr.
- (check_newline): Handle whitespace more consistently.
-
-Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
-
- * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
- * i386/xm-cygwin32.h (POSIX): Define.
-
-Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
-
- * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
- is available elsewhere.
-
-Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
-
- * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
- what the instruction can handle.
-
-Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * stmt.c (expand_decl_cleanup_no_eh): New fn.
-
- * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
-
-Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
-
- * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
- (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
-
-Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
- swap instruction order.
-
-Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
-
- * fixinc.svr4 (__STDC__): Add another case.
-
-Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
- addresses in the epilogue delay slot.
-
-Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
-
- * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
- in generated `specs' file.
-
-Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
-
- * flags.h (flag_rerun_loop_opt): Declare.
- * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
- * toplev.c (flag_rerum_loop_opt): Delete static.
-
-Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- Bring over from FSF:
-
- Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * va-sh.h (__va_arg_sh1): Define.
- (va_arg): Use it.
- SH3E doesn't use any integer registers for subsequent arguments
- once a non-float value was passed in the stack.
- * sh.c (machine_dependent_reorg): If optimizing, put explicit
- alignment in front label for ADDR_DIFF_VEC.
- * sh.h (PASS_IN_REG_P): Fix SH3E case.
- (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
-
- Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
- svr4.h.
-
- Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
- put an use_sfunc_addr before each sfunc.
- * sh.md (use_sfunc_addr, dummy_jump): New insns.
- (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
-
- Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
-
-Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
- linked once FDEs.
-
-Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
-
- * alias.c (find_base_value): Only return the known base value for
- pseudo registers.
-
-Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
-
- * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
- * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
- to pattern.
- (prologue_get_pc_and_set_got): New pattern.
-
-Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
-
- * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
- for SUBREG, just fall through.
-
- * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
-
- * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
-
-Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
-
- * fixincludes: Fix "hypot" prototype in NeXT math.h.
-
- * Makefile.in (USE_ALLOCA): Always include alloca.o.
- (USE_HOST_ALLOCA): Likewise.
-
- * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
- and LABEL_REFS fields.
- * rtl.h (LABEL_REFS): Update.
-
-Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
-
- * combine.c (try_combine): When setting elim_i2, check whether newi2pat
- sets i2dest. When calling distribute_notes for i3dest_killed, pass
- elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
- sets i1dest.
-
- * mips.md (insv, extzv, extv): Add change_address call.
- (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
-
- * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
-
- * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
-
- * mips.c (mips_expand_epilogue): Emit blockage insn before call to
- save_restore_insns if no FP and GP will be restored.
-
- * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
- Convert CCmode to word_mode before calling GET_MODE_SIZE.
-
- * acconfig.h (HAVE_INTTYPES_H): Undef.
- * configure.in (inttypes.h): Check for conflicts between sys/types.h
- and inttypes.h, and verify that intmax_t is defined.
- * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
- * config/mips/x-iris3: Likewise.
-
-Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
-
- * alias.c (find_base_value): When copying arguments, return the
- tenative value for a hard register.
-
-Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
-
- * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
- (yylex): Record wide strings using target endianness, not host.
-
-Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.h (ASM_OUTPUT_BSS): Delete.
- (ASM_OUTPUT_ALIGNED_BSS): New macro
- * mn10300.h (ASM_OUTPUT_BSS): Delete.
- (ASM_OUTPUT_ALIGNED_BSS): New macro.
- * v850.h (ASM_OUTPUT_BSS): Delete.
- (ASM_OUTPUT_ALIGNED_BSS): New macro.
-
-Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
-
-Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (sco5): Use cpio to install header files.
-
-Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
- 14 char length.
- * configure: Rebuild.
-
-Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
-
- * i386/sco5.h: enable -gstabs once again.
-
-Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
-
- * arm.c (output_move_double): Allocate 3 entries in otherops array.
-
-Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
-
- * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
- notes for sjlj exceptions too.
- (expand_eh_region_end): Similarly for EH_REGION_END notes.
- (exception_optimize): Optimize EH regions for sjlj exceptions too.
- * final.c (final_scan_insn): Don't output labels for EH REGION
- notes if doing sjlj exceptions.
-
-Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
-
- * alias.c (init_alias_analysis): Handle -fno-alias-check when
- optimizing correctly.
-
- * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
- or set current_function_calls_setjmp anymore.
-
- * flow.c (find_basic_blocks): If we delete the label for an
- exception handler, remove it from the EH label list and remove
- the EH_BEGIN/EH_END notes for that EH region.
-
-Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
-
- * flow.c (find_basic_blocks): Generate correct flow control
- information when exception handling notes are present.
-
-Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
-
- * dwarf2out.c (output_call_frame_info): Fix length argument
- to ASM_OUTPUT_ASCII.
- (output_die, output_pubnames, output_line_info): Likewise.
-
-Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
- * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
- output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
- flag_debug_asm is on.
- (output_die, output_pubnames, output_line_info): Likewise.
-
- * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
- and static_chain_rtx into the potential base values array if
- they are registers.
-
- * alias.c (new_reg_base_value): New array of potential base values.
- (unique_id): Now file scoped static.
- (find_base_value, case REG): Return the value in reg_base_value
- array for the REG if it exists. Else, return the value from
- new_reg_base_value if copying args and REG is a hard register.
- (find_base_value, case PLUS): If either operand of the PLUS is
- a REG, try to get its base value. Handle base + index and
- index + base.
- (record_set): Use new_reg_base_value instead of reg_base_value.
- (init_alias_analysis): Allocate space for new_reg_base_value too.
- Rework code to iterate over the insns propagating base value
- information until nothing changes.
-
- * global.c (global_alloc): Free the conflict matrix after
- reload has finished.
-
-Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (L_eh): Define __eh_pc.
- Replace __eh_type with generic pointer __eh_info.
-
-Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * expr.c (expand_increment): When enqueing a postincrement for a MEM,
- use copy_to_reg if address is not a general_operand.
-
-Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * profile.c (output_func_start_profiler): Clear flag_inline_functions
- for the duration of the call to rest_of_compilation.
-
-Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
-
- * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
- Set extra_parts.
- (sparc*-*-*): Recognize --with-cpu=v9.
- * sparc/elf.h: New file.
- * sparc/t-elf: New file.
-
-Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (const_8bit_operand): New function.
- (mask_ok_for_mem_btst): New funtion.
- * mn10300.md (btst patterns with mem operands): Use new functions
- to avoid creating btst instructions with invalid operands.
-
-Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
- are running on PowerPC Linux.
-
-Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
-
- * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
- if not previously defined.
-
-Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
-
- * function.c (assign_parms): Correct mode of stack_parm if
- entry_parm underwent a mode conversion.
-
-1997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * global.c (global_alloc): Use xmalloc instead of alloca for
- CONFLICTS, since max_allocno * allocno_row_words alone can be more
- than 2.5Mb sometimes.
-
-Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
-
- * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
- DEST for the spill, adjust mode of SRC to compensate.
-
-Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
- since any_memory_operand() allows pseudos during reload.
- (reload_inhi, reload_outqi, reload_outhi): Likewise.
-
-Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k.md (btst patterns): Add 5200 support.
-
-Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
-
- * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
- optimizations, look inside dividend to determine if the expression
- can be simplified by using EXACT_DIV_EXPR.
-
-Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- From Brendan:
- * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
-
-Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (summarize_insn [SUBREG]): Propogate SET.
-
-Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
- on a CLOBBER.
-
-Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (movqi, movhi): Make sure new insns created during reload
- won't need reloading themselves.
- (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
-
-Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
-
-Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
- Patch from Klaus Kaempf <kkaempf@progis.de>.
-
-Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
-
- * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
- to an element in a constant string.
-
-Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
- bit PC-relative offset. The exception range table pointer is now in
- the CIE.
- * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
- (count_fdes, add_fdes, get_cie): Adjust.
- (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
-
- From H.J. Lu:
- * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
-
-Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
-
- * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
- like stack_pointer_rtx.
-
-Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
- targets using "$@" to provide support for similar but not identical
- targets without having to duplicate code.
- (bootstrap4): New goal.
-
- * Makefile.in (compare, compare-lean, compare3): Combined to one
- ruleset determining actions to be performed via $@.
- (compare4, compare4-lean): New targets.
- (gnucompare, gnucompare3): Combined to one ruleset determining
- actions to be performed via $@. Also, note which files failed
- the comparison test in .bad_compare.
- (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
-
-Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
-
- * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
- if the dividend is a multiple of the divisor.
-
-Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
-
- * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
- and POS_DEC.
-
- * alias.c (true_dependence): Fix typo.
-
- * toplev.c (flag_rerun_loop_opt): New variable.
- (f_options): Handle -frerun-loop-opt.
- (rest_of_compilation): If -frerun-loop-opt, then run the loop
- optimizer twice.
- (main): Enable -frerun-loop-opt by default for -O2 or greater.
-
- * loop.c (simplify_giv_expr): Adding two invariants results
- in an invariant.
-
-Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
-
- * expr.c (get_inner_reference): Remove the array bias after
- converting the index to Pmode.
-
-Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
- (TARGET_MULT_BUG): Define.
- (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
- * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
-
-Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.c (indirect_memory_operand): Delete unused function.
- * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
- * mn10200.md (bset, bclr insns): Handle output in a reg too.
-
-Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
- the callee's ldgp, we must do it ourselves, and we use the jsr tag
- for more than scheduling.
-
-Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
-
- * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
-
-Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (symbolic_operand, legitimize_address): New functions.
- * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
- (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
-
-Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
- for FILENAME.
-
-Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (flag_exceptions): Default value is 2.
- (compile_file): If flag_exceptions still has the value 2, then
- set it to 0.
-
- * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
- (rs6000_save_machine_status): Save pic_offset_table_rtx.
- (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
-
- * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
- are shared.
-
- * rs6000.md (*movsi_got_internal_mem): New pattern.
- (*movsi_got_internal_mem splitter): New define_split.
-
-Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
-
- * obstack.h (obstack_empty_p): Fix spurious space after backslash.
-
-Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
-
- * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
- only need to save LR.
-
-Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (movqi, movhi): Avoid using address registers as
- destinations unless absolutely necessary.
-
- * mn10200.c (expand_prologue): Fix typo.
-
- * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
- addresses.
- * mn10200.md (neghi2): Provide an alternative which works if
- the input and output register are the same.
-
- * mn10300.c (print_operand): Handle 'S'.
- * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
- shift amount in last alternative
-
- * mn10300.c (expand_epilogue): Rework to handle register restores
- in "ret" and "retf" instructions correctly.
-
-Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
-
- * expmed.c (extract_bit_field): Don't make flag_force_mem disable
- extzv for memory operands.
-
- * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
- redundant conditional moves to single operand.
-
-Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h: Move define of __v850__ from CPP_PREDEFINES
- to CPP_SPEC.
-
- * xm-v850.h: Use __v850 rather than __v850__ to
- identify v850 port.
-
-Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips/mips.c (compute_frame_size): Not a leaf function if
- profile_flag set.
-
-Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
-
- * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
-
-Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
-
- * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
- (DEFAULT_ARCH32_P): New macro.
- (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
- (enum cmodel): Declare.
- (sparc_cmodel_string,sparc_cmodel): Declare.
- (SPARC_DEFAULT_CMODEL): Provide default.
- (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
- (TARGET_FULLANY): Deleted.
- (TARGET_CM_MEDMID): New macro.
- (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
- (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
- (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
- (CPP_SPEC): Rewrite.
- (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
- (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
- (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
- (ASM_SPEC): Add %(asm_arch).
- (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
- Rename asm_default to asm_cpu_default.
- Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
- cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
- (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
- ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
- (MASK_INT64,MASK_LONG64): Delete.
- (MASK_ARCH64): Renamed to MASK_64BIT.
- (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
- (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
- (TARGET_SWITCHES): Always provide 64 bit options.
- (ARCH64_SWITCHES): Delete.
- (TARGET_OPTIONS): New option -mcmodel=.
- (INT_TYPE_SIZE): Always 32.
- (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
- (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
- (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
- (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
- * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
- CPP_SPEC.
- (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- * sparc/linux.h: Likewise.
- * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
- (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
- (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
- (SPARC_DEFAULT_CMODEL): Define.
- (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
- (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- (LONG_DOUBLE_TYPE_SIZE): Define.
- (ASM_SPEC): Add %(asm_arch).
- * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
- (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- (TARGET_CPU_DEFAULT): Add ultrasparc case.
- * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
- (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
- (SPARC_DEFAULT_CMODEL): Define.
- * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
- (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
- MASK_LONG64, MASK_MEDANY.
- (SPARC_DEFAULT_CMODEL): Define.
- (CPP_PREDEFINES): Delete.
- (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- (ASM_SPEC): Add %(asm_arch).
- (LONG_DOUBLE_TYPE_SIZE): Define.
- (DWARF2_DEBUGGING_INFO): Define.
- * sparc/splet.h (CPP_SPEC): Delete.
- * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
- (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
- (BLOCK_PROFILER): Likewise.
- * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
- (sparc_override_options): Handle code model selection.
- (sparc_init_expanders): Renamed from sparc64_init_expanders.
- * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
- TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
- (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
- (sethi_di_fullany): Delete.
-
-Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
- Jeff Law <law@cygnus.com>
- Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
- (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
- (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
- (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
- * alpha/alpha.md (arg_home): Likewise.
-
- * alpha/alpha.c (vmskrunch): Delete
- * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
- * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
- truncate to 64 characters.
-
- * make-l2.com: Support openVMS/Alpha.
-
- * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
-
-Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * longlong.h (count_leading_zeros): Add missing casts to USItype.
-
-Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
-
- * i386/bsd386.h (ASM_COMMENT_START): Define.
-
-Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.c (restore_tree_status): Also free up temporary storage
- when we finish a toplevel function.
- (dump_tree_statistics): Print stats for backend obstacks.
-
-Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * expr.c (use_group_regs): Don't call use_reg for MEMs.
-
-Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (__throw): Don't copy the return address.
- * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
-
- * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
- * toplev.c (main): Initialize exceptions_via_longjmp.
-
- * tree.c: Add extra_inline_obstacks.
- (save_tree_status): Use it.
- (restore_tree_status): If this is a toplevel inline obstack and we
- didn't want to save anything on it, recycle it.
- (print_inline_obstack_statistics): New fn.
- * function.c (pop_function_context_from): Pass context to
- restore_tree_status.
- * obstack.h (obstack_empty_p): New macro.
-
-Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
-
- * i386/freebsd.h (ASM_COMMENT_START): Fix.
-
-Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
-
- * v850.c (ep_memory_offset): New function.
- (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
-
- * v850.h (CONST_OK_FOR_*): Add and correct comments.
- (CONSTANT_ADDRESS_P): Add comment.
- (EXTRA_CONSTRAINT): Define 'U'.
- * v850.md: Add comments on bit field instructions.
- (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
- (lshrsi3): Use N not J constraint.
-
- * v850.md (v850_tst1+1): New define_split for tst1 instruction.
-
- * v850.c (reg_or_0_operand): Call register_operand.
- (reg_or_int5_operand): Likewise.
- * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
- (TARGET_SWITCHES): Add "big-switch".
- (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
- ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
- (CASE_DROPS_THROUGH): Comment out.
- (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
- * v850.md (cmpsi): Delete compare mode.
- (casesi): New pattern.
-
- * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
- * v850.md (ashlsi3): Use SImode not QImode for shift count.
- (lshrsi3): Likewise.
-
- * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
- unreachable switch statement after 'b' support. Remove "b" from
- strings for 'b' support.
- * v850.md (branch_normal, branch_invert): Change %b to b%b.
-
-Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
- empty line if @inhibit_libc@ is empty.
-
-Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
-
- * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
- (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
- (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
- (DWARF2_UNWIND_INFO): Let this track object file format.
- (EXTRA_SECTIONS): Add in_eh.
- (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
- (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
-
-Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
-
- * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
- * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
- TARGET_MEDANY.
- * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
- (output_double_int): Output DI mode values correctly when
- HOST_BITS_PER_WIDE_INT is 64.
- (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
- fmovd so it works if a quad float ends up in one of the upper 32
- float regs.
- * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
- necessary for PIC support on sparc64.
-
-Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
- * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
- (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
- (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
- (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
- (SPARC_FP_ARG_FIRST): New macro.
- (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
- (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
- (NPARM_REGS): There are 32 fp argument registers now.
- (FUNCTION_ARG_REGNO_P): Likewise.
- (FIRST_PARM_OFFSET): Update to new v9 abi.
- (REG_PARM_STACK_SPACE): Define for arch64.
- (enum sparc_arg_class): Delete.
- (sparc_arg_count,sparc_n_named_args): Delete.
- (struct sparc_args): Redefine and use for arch32 as well as arch64.
- (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
- (FUNCTION_ARG_ADVANCE): Rewrite.
- (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
- (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
- (FUNCTION_ARG_CALLEE_COPIES): Delete.
- (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
- (STRICT_ARGUMENT_NAMING): Define.
- (doublemove_string): Declare.
- * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
- (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
- (doublemove_string): New function.
- (output_move_quad): Clean up some of the arch64 support.
- (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
- Don't add 8 bytes of reserved space if arch64.
- (sparc_builtin_saveregs): Combine arch32/arch64 versions.
- (init_cumulative_args): New function.
- (function_arg_slotno): New static function.
- (function_arg,function_arg_partial_nregs): New functions.
- (function_arg_{pass_by_reference,advance}): New functions.
- (function_arg_padding): New function.
- * ginclude/va-sparc.h: Rewrite v9 support.
-
-Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
-
- * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
- for hard regs to determine base and index registers.
-
- * reload.c (debug_reload_to_stream): New function. Specify stream
- into which to write debug info.
- (debug_reload): Modify to call debug_reload_to_stream with stderr.
-
-Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
-
- * combine.c (can_combine_p): Don't combine with an asm whose
- output is a hard register.
-
-Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
-
- * c-decl.c (start_struct): Ensure that structs with forward
- declarations are in fact packed when -fpack-struct is given.
-
- * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
- we are packing a structure. This allows a structure with only
- bytes to be aligned on a byte boundary and have no padding on a
- m68k.
-
-Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
-
-Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_return_addr_rtx): New variable.
- (alpha_save_machine_status): New; save it.
- (alpha_restore_machine_status): New; restore it.
- (alpha_init_expanders): New; clear it.
- (alpha_return_addr): New; set it.
- (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
- is overly conservative, so search the insns explicitly.
- (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
- (alpha_sa_size [VMS && !VMS]): Likewise.
- * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
- (INIT_EXPANDERS): New definition.
-
- * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
- (output_prolog [!VMS]): Use them.
-
- * alpha.c (output_prolog [!VMS]): Move gp detection to ...
- (alpha_does_function_need_gp): ... a new function. Refine the
- CALL_INSN test to just TYPE_JSR.
- * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
-
-Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * pa.c (move_operand): Respect -mdisable-indexing.
- * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
-
-Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
- PPC601.
- (umulsidi3,umulsi3_highpart): Ditto.
- (smulsi3_highpart_no_mq): Add !TARGET_POWER.
-
-Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (final_prescan_insn): Gut, remove and transform to ...
- (alpha_handle_trap_shadows): ... a new function. Handle the entire
- function in one go. Emit RTL for trapb, instead of printf directly.
- (alpha_reorg): New function. Call alpha_handle_trap_shadows.
- (trap_pending): Kill global variable.
- (output_epilog): Don't call final_prescan_insn.
- (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
- * alpha.h (FINAL_PRESCAN_INSN): Remove.
- (MACHINE_DEPENENT_REORG): Define.
- * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
- (trapb): New insn.
-
-Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
-
- Tune Haifa scheduler for Alpha:
- * alpha.h (ISSUE_RATE): Define.
- * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
- EV4 adjustments to EV5.
- * alpha.md: Remove all scaling from function unit delays. Rework
- EV5 function units to match the CPU.
- (umuldi3_highpart): EV5 added the IMULH insn class.
-
-Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (following_call): Fail if the CALL_INSN is an indirect
- call.
-
-Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
-
- * cplus-dem.c (demangle_signature): Don't look for return types on
- constructors. Handle member template constructors.
-
-Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
- * tree.h: Declare them.
-
-Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * configure.in: Handle --with-newlib.
- * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
-
- * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
-
-Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
-
- * config/ptx4.h: Fix typo.
-
-Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * aclocal.m4: Substitute INSTALL.
- * configure: Re-built.
-
-Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
-
- * integrate.c (save_for_inline_copying): Avoid undefined pointer
- operations.
- (expand_inline_function): Likewise.
-
- * dwarf2out.c (output_call_frame_info): Reinstate last change
- using flag_debug_asm check instead of flag_verbose_asm.
-
-Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (output_call_frame_info): Remove last change.
-
-1997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * frame.c (__frame_state_for): Execute the FDE insns until the
- current pc value is strictly bigger than the target pc value.
-
-Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * regclass.c (init_reg_modes): If we can't find a mode for the
- register, use the previous one.
-
-Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
-
- * haifa-sched.c (print_block_visualization): Call fprintf directly,
- don't sprintf through an alloca'ed buffer.
-
-Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
-
- * reload.c (decompose): Always initialize val.base.
-
-Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
-
- * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
- instead of aborting.
- * dwarf2out.c (output_call_frame_info): Call app_enable and
- app_disable to let GNU as accept the generated comments.
-
-Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
-
- * tree.h (get_file_function_name): Add declaration.
- * dwarf2out.c (output_call_frame_info): No need to cast
- get_file_function_name call anymore.
- * profile.c (toplevel): Remove get_file_function_name
- declaration.
- * c-lang.c (finish_file): Ditto.
-
-Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
-
- * Makefile.in (program_transform_name): Let autoconf substitute
- the correct value.
-
-Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (schedule_block): If the first real insn in a
- block has any special notes attached to it, remove them.
-
-Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
-
-Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
-
- * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
-
-Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (check-g77): New test target.
- (CHECK-TARGETS): Add check-g77.
-
-Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (rest_of_compilation): Defer all non-nested inlines.
-
-Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
-
- * flow.c (print_rtl_with_bb): Cast alloca return value for
- in_bb_p.
-
-Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
-
- * i386.h (RETURN_ADDR_RTX): New definition that works for
- __builtin_return_address(0) and -fomit-frame-pointer.
-
-Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
-
- Bring over from FSF.
- Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * mips.c (function_arg): Handle passing a struct
- containing a double in a DFmode register without the PARALLEL.
-
-Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * pexecute.c: Use spawn if __CYGWIN32__.
-
- * pexecute.c: Include "config.h" first, as per autoconf manual
- (from Paul Eggert <eggert@twinsun.com>).
-
-Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
- optimisation for f/expr.o and f/stb.o.
-
-Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
-
- * cse.c (this_insn_cc0_mode): Initialize.
-
-Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
-
- * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
-
- * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
-
-Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
- that pair will dual-issue on the 21164 and plus+beq won't.
- (bne): Likewise for cmpeq+beq.
-
-Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
-
- * except.c (find_exception_handler_labels): Correct argument to free.
-
-Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * except.c (find_exception_handler_labels): Free LABELS when we're
- done.
-
-Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * flow.c (find_basic_blocks): Mark calls as potentially jumping
- to the EH labels.
-
-Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: Substitute for "install" too.
- * configure: Rebuilt.
-
-Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
-
- * Makefile.in (bootstrap-lean, compare-lean): New targets.
-
-Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
-
- * alias.c (base_alias_check): Two symbols can conflict if they
- are accessed via AND.
- (memrefs_conflict_p): Likewise.
-
- * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
- after flushing argument registers to the stack.
-
- * Makefile.in (mostlyclean): Remove .regmove files.
-
-Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (__throw): Fix thinko.
-
-Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
-
- * cplus-dem.c (demangle_template): Add new parameter. Handle new
- template-function mangling.
- (consume_count_with_underscores): New function.
- (demangle_signature): Handle new name-mangling scheme.
-
-Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * flow.c (print_rtl_with_bb): Cast alloca return values for variables
- start and end.
-
-Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
-
- * frame.c: Remove last change.
- * dwarf2.h: Remove last change.
- * tree.h: Add declarations of DWARF2 unwind info support
- functions.
-
-Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
- * tree.h (built_in_function): Likewise.
- * expr.c (expand_builtin): Likewise.
- * except.h: Likewise.
- * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
- * libgcc2.c (copy_reg): New fn.
- (__throw): Use it.
-
-Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
-
- * c-typeck.c (build_binary_op): Warn about comparing signed vs
- unsigned if -W is specified and -Wno-sign-compare is not.
- * c-decl.c (warn_sign_compare): Initialize to -1.
- (c_decode_option): -Wall no longer implies -Wsign-compare.
-
-Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * frame.c: Include gansidecl.h for PROTO.
- * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
- defined. Don't declare dwarf2out_cfi_label here.
- * dwarf2.h: Add declarations of DWARF2 unwind info support
- functions.
- * m68k.c: Include dwarf2.h.
- (output_function_prologue): Add dwarf2 support.
- * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
- (INCOMING_FRAME_SP_OFFSET): Likewise.
-
- * integrate.c (expand_inline_function): Make sure there is at
- least one insn that can be used as an insertion point.
-
-Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
-
-Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
-
- Bring over from FSF.
-
- Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
-
- * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
- (get_pc_via_rdpc): Renamed from get_pc_sp64.
- * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
-
- Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
-
- * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
- (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
- -malign-functions=.
- (sparc_align_{loops,jumps,funcs}_string): Declare.
- (sparc_align_{loops,jumps,funcs}): Declare.
- (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
- (FUNCTION_BOUNDARY): Use sparc_align_funcs.
- (STACK_BIAS): Define.
- (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
- test.
- (SPARC_SETHI_P): New macro.
- (CONST_OK_FOR_LETTER_P): Use it.
- (ASM_OUTPUT_ALIGN_CODE): Define.
- (ASM_OUTPUT_LOOP_ALIGN): Define.
- * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
- (sparc_align_{loops,jumps,funcs}): New globals.
- (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
- -malign-functions=.
- (move_operand): Use SPARC_SETHI_P.
- (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
- perform test.
- (arith11_double_operand): Likewise.
- (arith10_double_operand): Likewise.
- (finalize_pic): Finish sparc64 support.
- (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
- 64 bit constants if able.
- (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
- (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
- ! TARGET_FPU.
- * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
- (get_pc_sp32): Use for sparc64 as well.
- (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
- (sethi_di_sp64_const): Likewise.
- (movtf_cc_sp64): Check TARGET_HARD_QUAD.
- (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
- (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
-
- Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
-
- * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
- * sparc/linux.h (COMMENT_BEGIN): Likewise.
- * sparc/linux64.h (COMMENT_BEGIN): Likewise.
-
- Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
-
- Add sparc64 linux support.
- * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
- to xm_file list on 32-bit sparc-linux.
- * sparc/xm-sp64.h: New file.
- * sparc/linux64.h: New file.
- * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
- Don't include xm-sparc.h.
- * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
- * glimits.h (LONG_MAX): Handle sparc64.
-
- Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
-
- * sparc/sysv4.h (ASM_COMMENT_START): Delete.
- * sparc.h (ASM_COMMENT_START): Define.
- * sparc.c (output_function_prologue): Use it.
- (sparc_flat_output_function_{epi,pro}logue): Likewise.
-
- Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
-
- * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
- use sparc.h's copies.
- * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
- ascii form as well.
-
- Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * sparc.c (dwarf2out_cfi_label): Add declaration.
- (save_regs, output_function_prologue): Remove cast for it.
- (sparc_flat_{save_restore,output_function_prologue): Likewise.
- ({save,restore}_regs): No longer inline.
-
-Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (make_range): Correctly handle cases of converting
- from unsigned to signed type.
-
-Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * fold-const.c (merge_ranges): Make sure that if one range is subset
- of another, it will always be the second range. Correct (+,-) case to
- account for this.
-
-Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * final.c (final_end_function): Also do dwarf2 thing if
- DWARF2_DEBUGGING_INFO.
- (final_start_function): Likewise.
-
-Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
-
- * expmed.c (expand_divmod): If compute_mode is not the same as
- mode, handle the case where convert_modes() causes op1 to no
- longer be a CONST_INT.
-
- * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
- note holding get_jump_flags() calculation to all JUMP_INSNs.
- * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
- * rtl.c (reg_note_name): Add new note types.
-
-Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
-
- * rtlanal.c (computed_jump_p): Fix typo in last change.
-
-Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * loop.c (indirect_jump_in_function_p): Return 0
- by default.
-
-Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
-
- * rs6000/xm-rs6000.h: Fix thinko in last change.
- * rs6000/xm-sysv4.h: Likewise.
-
-Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
-
-Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
-
- * reg-stack.c (find_blocks): Fix thinko in last change.
-
-1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.c (output_function_prologue): Add dwarf2 support.
-
- * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
- INCOMING_FRAME_SP_OFFSET): New definitions.
-
-Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
-
- * combine.c (try_combine): Use NULL_RTX instead of '0' where
- appropriate in calls to gen_rtx().
- * cse.c (cse_main): Likewise.
- * emit-rtl.c (gen_label_rtx): Likewise.
- * expr.c (init_expr_once): Likewise.
- * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
- sched_analyze, init_rgn_data_dependences,
- compute_block_backward_dependences): Likewise.
- * sched.c (schedule_insns): Likewise.
- * varasm.c (immed_double_const): Likewise.
-
- * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
- SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
-
-Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
-
- * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
- (MULTILIB_DEFAULTS): Define.
- (ASM_SPEC, CPP_SPEC): Handle -mcoff.
- (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
- (LIBGCC_SPEC): Likewise.
- (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
- (SUBTARGET_SWITCHES): Add -mcoff and -melf.
- * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
- (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
- (EXTRA_PARTS, TAROUTOPTS): Delete.
- (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
- (MULTILIB_OPTIONS): Define.
- (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
- (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
-
-Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (loop_number): Delete function. Change all references
- to use uid_loop_num array.
- * loop.h (loop_number): Delete declaration.
- * unroll.c (unroll_loop): Change "loop_number" references to
- use uid_loop_num instead.
-
- * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
- conditional.
- (loop_unroll_iter): Remove unused variable and all references.
- (loop_optimize): Always allocate and clear space for loop_unroll_factor.
- (insert_bct): Fix minor formatting problems.
- * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
- (loop_unroll_iter): Removed unused decl.
- * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
- Always record the unrolling factor.
-
- * cse.c (simplify_relational_operation): Set h0u just like h0s.
- Similarly for h1u and h1s.
-
- * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
- (find_basic_blocks): Use computed_jump_p to determine if a
- particular JUMP_INSN is a computed jump.
- * reg-stack.c (find_blocks): Use computed_jump_p to determine
- if a particular JUMP_INSN is a computed jump.
- * rtlanal.c (jmp_uses_reg_or_mem): New function.
- (computed_jump_p): Likewise.
- * rtl.h (computed_jump_p): Declare.
- * genattrtab.c (pc_rtx): Define and initialize.
- * loop.c (loop_optimize): Always determine if the current
- function has a computed jump.
- (indirect_jump_in_function_p): Use computed_jump_p to determine
- if a particular JUMP_INSN is a computed jump.
-
- * loop.c (fix_bct_param): Delete unused function.
- (check_bct_param): Likewise.
-
-Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * frame.c (__deregister_frame): Check properly for initialized object.
-
-Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
-
-Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * jump.c (thread_jumps): check can_reverse_comparison_p before
- threading a reversed-condition jump.
-
- * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
- * haifa-sched.c (update_flow_info): Likewise.
-
-Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (BOOT_CFLAGS): Use -O2.
-
- * configure.in (strtoul, bsearch): Have autoconf check for these
- functions.
- * configure, config.in: Rebuilt.
-
- * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
- * mips/mips.h (alloca): Likewise.
- * rs6000/xm-rs6000.h (alloca): Likewise.
- * rs6000/xm-sysv4.h: Likewise.
-
-Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
- * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
- (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
-
- * except.c (end_eh_unwinder): Subtract 1 from return address.
- * libgcc2.c (__throw): Likewise.
- (find_exception_handler): Don't change PC here. Compare end with >.
-
-Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.c (compute_register_save_size): Correct register
- number.
- * v850.md (save_interrupt, return_interrupt): Correct
- register number.
- * v850/lib1funcs.asm (save_interrupt): Correct register number.
- (return_interrupt): Use stack pointer, not element pointer.
-
-1997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * configure.in, configure: Make sure to create the stage* and include
- symbolic links in each subdirectory.
-
-Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (reload_peepholes): Don't allow addresses with side
- effects for the memory operand.
-
-Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (find_exception_handler): Subtract one from our PC when
- looking for a handler, to avoid hitting the beginning of the next
- region.
-
- * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
-
-Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
-
- * mips/abi64.h (LONG_MAX_SPEC): Define.
- * mips.h (LONG_MAX_SPEC): Define.
- (CPP_SPEC): Include long_max_spec.
- (EXTRA_SPECS): Include long_max_spec.
-
-Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
-
- * v850.c (construct_save_jarl): Fix thinko in last change.
-
-Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (find_exception_handler): Not found is -1.
-
- * integrate.c (expand_inline_function): Move expand_start_bindings
- after expanding the arguments.
-
-Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (expand_expr): Remove previous incorrect change.
- If target and slot has no DECL_RTL, then call mark_addressable
- again for the slot after we give it RTL.
-
-Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
-
- * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
- again for the slot after we give it RTL.
-
-Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.c (register_is_ok_for_epilogue,
- pattern_is_ok_for_epilogue, construct_restore_jr,
- pattern_is_ok_for_prologue, construct_save_jarl): New functions.
-
- * v850.h (pattern_is_ok_for_prologue,
- pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
- predicates.
-
- * v850.md: Replace prologue and epilogue patterns with a
- match_parallel pattern.
-
-Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
-
- * aclocal.m4: Add replacement for AC_PROG_INSTALL.
- * configure.in: Use EGCS_PROG_INSTALL.
-
-Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
-
- * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
- extern inline function.
-
-Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
-
- * dwarf2out.c (reg_loc_descriptor): Fix prototype.
- (concat_loc_descriptor): New function.
- (loc_descriptor): Call it.
- (add_AT_location_description): Also elide the descriptor if both
- halves of a CONCAT are pseudos.
- (add_location_or_const_value_attribute): Recognize CONCAT too.
-
-Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
-
- * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
- out-or-range reg_offset.
- (output_epilog): Likewise.
-
-Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
-
- * cse.c (simplify_relational_operation): If MODE specifies a
- mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
- is derived from the sign bit of the low word.
-
-Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
-
- * dwarf2.h: Add DW_CFA_GNU_args_size.
- * frame.c (execute_cfa_insn): Likewise.
- * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
- (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
- (dwarf2out_frame_debug): If this isn't a prologue or epilogue
- insn, hand it off to dwarf2out_stack_adjust.
- (dwarf2out_begin_prologue): Initialize args_size.
- * frame.h (struct frame_state): Add args_size.
- * libgcc2.c (__throw): Use args_size.
- * final.c (final_scan_insn): If we push args, hand off all insns
- to dwarf2out_frame_debug.
- * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
-
- * dwarf2out.c dwarf2out_frame_debug): Fix typo.
- Handle epilogue restore of SP from FP.
- * emit-rtl.c (gen_sequence): Still generate a sequence if the
- lone insn has RTX_FRAME_RELATED_P set.
-
- * frame.c (extract_cie_info): Handle "e" augmentation.
- * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
- absence of UNALIGNED_*_ASM_OP.
- (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
- (output_call_frame_info): Use "e" instead of "z" for augmentation.
- Don't emit augmentation fields length.
- (dwarf2out_do_frame): Move outside of #ifdefs.
- * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
- opcodes.
-
- * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
- * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
- * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
- * sparc/sun4gas.h: New file.
- * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
-
- * collect2.c (write_c_file_stat, write_c_file_glob): Declare
- __register_frame_table and __deregister_frame.
-
-1997-09-15 Brendan Kehoe <brendan@cygnus.com>
-
- * except.c (find_exception_handler_labels): Use xmalloc instead of
- alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
- in some cases.
-
-Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in: Various changes to build info files
- in the object tree rather than the source tree.
-
-Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
-
- * fixinc.math: New file to fix math.h on some systems.
- * configure.in (freebsd, netbsd): Use fixinc.math on these
- systems.
- * configure: Rebuilt.
-
-Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
-
- * regmove.c (regmove_optimize): If we end up moving the
- original insn due to lifetime overlaps, make sure to move
- REG_NOTES too.
-
-Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
-
-Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (add_branch_dependences): Make each insn in
- a SCHED_GROUP_P block explicitly depend on the previous insn.
-
-Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.h: Prototype dwarf2 hooks.
- * expr.c: Adjust.
-
-Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
-
- * configure.in (native_prefix): Delete.
- (mips-dec-netbsd): Don't set prefix.
- (*linux*): Don't set prefix.
-
-Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
-
- * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
- defined. If not defined, include <sys/varargs.h> if
- HAVE_SYS_VARARGS_H is defined.
- * configure.in: Test for varargs.h and sys/varargs.h.
- * configure: Regenerate with autoconf.
- * config.in: Regenerate with autoheader.
-
- * cpplib.c (quote_string): Cast first arg of sprintf call
- from "unsigned char *" to "char *".
- (output_line_command): Ditto.
- (macroexpand): Ditto.
- (do_line): Cast atoi arg from "unsigned char *" to "char *".
-
-Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
- * Makefile.in (compare): Exit with nonzero status if there
- are comparison failures. Note which files failed the
- comparison test in .bad_compare.
-
-Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
-
-Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
-
- * Makefile.in (LN, LN_S): New macros, use where appropriate.
- * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
- * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
- * configure: Regenerated.
-
-Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (strength_reduce): Fix typo.
-
-Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
-
- * m88k/m88k.c (struct option): Rename to struct options.
- * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
- * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
- * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
- __DOLPHIN__ or sysV88.
-
-Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
-
- * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
- create new subreg.
-
-Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
-
- * config.sub: Accept 'amigados' for backward compatability.
-
-Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * Makefile.in (testsuite/site.exp): New target.
- (check-gcc, check-g++): Depend on testsuite/site.exp.
- Don't stop for failure.
-
-Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
- if DWARF2_UNWIND_INFO.
-
-Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- Add support for exception handling using DWARF 2 frame unwind info.
- Currently works on SPARC and MIPS, and almost on x86.
-
- * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
- next_stack_level, in_reg_window): Helper fns.
- (__throw): Implement for DWARF2_UNWIND_INFO.
-
- * expr.c (expand_builtin): Handle builtins used by __throw.
- * tree.h (enum built_in_function): Add builtins used by __throw.
- * c-decl.c (init_decl_processing): Declare builtins used by __throw.
- * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
- * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
- (expand_builtin_extract_return_addr): Likewise.
- (expand_builtin_frob_return_addr): Likewise.
- (expand_builtin_set_return_addr_reg): Likewise.
- (expand_builtin_eh_stub): Likewise.
- (expand_builtin_set_eh_regs): Likewise.
- (eh_regs): Choose two call-clobbered registers for passing back values.
-
- * frame.c, frame.h: New files for parsing dwarf 2 frame info.
- * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
- (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
- (stmp-multilib): Likewise.
- ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
-
- * except.c: #include "defaults.h".
- (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
- (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
- (register_exception_table_p): New fn.
- (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
- (end_eh_unwinder): Likewise.
-
- * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
- call __register_frame and __deregister_frame as needed.
- * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
- * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
- EH_FRAME_SECTION_ASM_OP.
- * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
- * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
- (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
-
- * dwarf2out.c (output_call_frame_info): If no support for
- EXCEPTION_SECTION, mark the start of the frame info with a
- collectable tag.
- * collect2.c (frame_tables): New list.
- (is_ctor_dtor): Recognise frame entries.
- (scan_prog_file): Likewise.
- (main): Pass -fno-exceptions to sub-compile. Also do collection
- if there are any frame entries.
- (write_c_file_stat): Call __register_frame_table and
- __deregister_frame as needed.
- (write_c_file_glob): Likewise.
-
- * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
- Also require unaligned reloc support.
- * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
- * sparc/sysv4.h: Not here.
-
- * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
- * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
- (dwarf2out_finish): Don't call dwarf2out_frame_finish.
-
- * libgcc2.c (L_eh): Reorganize, moving code shared by different
- EH implementations to the top.
- (find_exception_handler): Split out. Start from 0. Compare against
- end with >=.
- (__find_first_exception_table_match): Use it.
- * except.c (output_exception_table): Don't do anything if there's
- no table. Don't output a first entry of zeroes.
- (eh_outer_context): Adjust properly.
- (add_eh_table_entry): Use xrealloc.
- * toplev.c (compile_file): Just call output_exception_table.
-
-Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
-
- * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
-
-Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
-
- * except.c (eh_outer_context): Do masking using expand_and.
-
-Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
-
- Add port done awhile ago for the ARC cpu.
- * arc/arc.h: New file.
- * arc/arc.c: New file.
- * arc/arc.md: New file.
- * arc/initfini.c: New file.
- * arc/lib1funcs.asm: New file.
- * arc/t-arc: New file.
- * arc/xm-arc.h: New file.
- * ginclude/va-arc.h: New file.
- * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
- * ginclude/varargs.h: Likewise.
- * Makefile.in (USER_H): Add va-arc.h.
- * configure.in (arc-*-elf*): Recognize.
- * longlong.h: Add ARC support.
-
-Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
-
- * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
- when clearing non-BLKmode data.
-
-Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
- * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
-
- * xm-m88k.h (USG): Only define if it hasn't already been defined.
-
- * Makefile.in (risky-stage1): Delete gratutious whitespace.
-
- * Makefile.in (clean): Delete libgcc1-test.
-
- * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
-
-Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
- template.
-
-Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * dwarf2out.c (output_call_frame_info): Call named_section.
-
-Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (print_value): Fix last change.
-
-Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
- write_symbols.
-
-Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * mips.c (function_prologue): Set up the CFA when ABI_32.
-
- * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
- for dwarf2 unwind info.
- (output_function_prologue, sparc_flat_output_function_prologue): Same.
-
- * final.c (final_end_function): Check dwarf2out_do_frame instead
- of DWARF2_DEBUG for dwarf2 unwind info.
- (final_scan_insn): Likewise.
- (final_start_function): Likewise. Initialize dwarf2 frame debug here.
- (final): Not here.
-
- * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
- count > 0.
-
- * varasm.c (exception_section): Check EXCEPTION_SECTION first.
-
-Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (ASM_SPEC): Pass on target processor.
- (CPP_PREDEFINES): Only define if not already specified.
- (TARGET_VERSION): Only define if not already specified.
- (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
- processor.
- (EXTRA_SWITCHES): Extra entries in the switches array.
- (TARGET_DEFAULT): Set default target processor.
-
-Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
- cases, add %# and %/, and add : to make them into extended asms.
-
-Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
-
- * alias.c (init_alias_analysis): Clean up incompatible pointer
- type warning in bzero.
- * regmove.c (regmove_optimize): Ditto.
- * haifa-sched.c (find_rgns): Ditto.
-
- * haifa-sched.c (print_value): Clean up ptr->int cast
- warnings.
-
-Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
-
- * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
- * install.texi (Configurations): Ditto.
- * config.sub: Ditto.
-
-Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
-
- * Makefile.in (sdbout.o): Depend on insn-config.h.
-
-Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
- For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
-
-Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
- prologue insn, only the first elt is significant.
- (output_call_frame_info): For exception handling, always use 4-byte
- fields as specified by the dwarf2 spec.
- Don't skip trivial FDEs.
-
-Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
-
- * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
- for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
- when op1_is_pow2.
-
-Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
-
- * final.c (shorten_branches): During first pass, assume worst
- possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
-
- * Makefile.in (distclean): Remove various things left around
- by running the testsuite.
-
-Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * configure.in (out_file): Emit definition to config.status in order
- to have a defined value for configure.lang.
- * configure: Re-built.
-
-Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
-
- * configure.in: Make symlink to as-new rather than as.new. Similarly
- for ld-new.
- * configure: Rebuilt.
-
-Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
-
- * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
-
-Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
-
- * sparc/sparc.md: Add ultrasparc scheduling support.
- * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
-
-Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
- as initial value for real_label_map.
- (copy_for_inline): Likewise.
-
-Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sched.c (update_flow_info) When looking if to set found_split_dest
- or found_orig_dest, look at all parts of a PARALLEL.
- * haifa-sched.c (update_flow_info): Likewise.
-
-Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
-
- * v850: New directory for v850 port.
- * v850/lib1funcs.asm: New file.
- * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
- * ginclude/va-v850.h: New file.
- * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
- * configure.in (mn10200-*-*): New target.
- * configure: Rebuilt.
- * config.sub: Handle v850-elf.
- * Makefile.in (USER_H): Add va-mn10200.h.
- * invoke.texi: Document v850 stuff.
-
-Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
-
- * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
- has integer TYPE_{MAX,MIN}_VALUE before using them.
-
- * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
- __HPUX_ASM__ versions.
-
-Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
-
- * install.sh: Delete duplicate install script.
-
-Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
-
- * reg-stack.c (subst_stack_regs): Pop the stack register for a
- computed goto which sets the same stack register.
-
- * reg-stack.c (compare_for_stack_reg): Swap only if the source and
- destination are both on the regstack.
- (subst_stack_regs_pat): Put the destination at the top of the regstack.
-
-Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (nonlocal_goto_receiver): Define.
-
- * profile.c (output_arc_profiler): Check next_insert_after for non
- NULL before deferencing it.
-
- * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
-
-Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
-
- * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
-
-Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
-
- * toplev.c (rest_of_compilation): For passes starting with
- flow_analysis, use print_rtl_with_bb instead of print_rtl.
-
- * print-rtl.c (print_rtl_single): Print a single rtl value to a
- file.
-
- * flow.c (print_rtl_with_bb): Print which insns start and end
- basic blocks. For the start of a basic block, also print the live
- information.
-
-Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
-
- * toplev.c (main): Change #elif to #else/#ifdef
-
- * tlink.c: Include ctype.h.
- * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
-
-Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
-
- * bitmap.c: Conditionally include stdlib.h.
- (free): Provide a declaration if NEED_DECLARATION_FREE.
-
-Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
-
- * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
-
-Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
-
- * profile.c (output_arc_profiler): Verify next_insert_after is an
- INSN before and after skipping a stack pop.
-
-Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (shorten_branches): Don't count the lengths of deleted
- instructions.
-
-Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
-Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
-
- * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
- two bitmaps ANDed together.
- (bitmap_print): Declare.
-
- * bitmap.c (function_obstack): Don't declare any more.
- (bitmap_obstack): Obstack for allocating links from.
- (bitmap_obstack_init): New static to say whether to initialize
- bitmap_obstack.
- (bitmap_element_allocate): Use bitmap_obstack to allocate from.
- (bitmap_release_memory): Free all memory allocated from
- bitmap_obstack.
-
- * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
- EXECUTE_IF_AND_IN_BITMAP.
-
-Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
-
- * alias.c (true_dependence): Address with AND can alias scalars.
- (anti_dependence, output_dependence): Likewise.
-
- * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
-
-Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
-
- * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
- mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
- sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
- definitions. Use -qrtems instead of -mrtems.
-
-Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
-
- * xm-sco5.h (sys_siglist): Define.
- (SYS_SIGLIST_DECLARED): Likewise.
-
-Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
-
- * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
-
-Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
-
- * except.c (eh_outer_context): Expand masking operation using
- expand_binop.
-
-Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
-
- * alpha.md (floatdisf2-1): New pattern.
-
-Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
-
- * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
- * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
- * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
- * gcc.texi: Note that if you define sys_siglist that you should
- also define SYS_SIGLIST_DECLARED.
-
- * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
- are relative to the next instruction, not the current instruction.
-
-Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
-
- * local-alloc.c (contains_replace_regs): New function.
- (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
- verify that there is no existing REG_EQUIV note, and add a call to
- contains_place_regs.
-
-Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
- (STARTFILE_SPEC): Always use crtbegin.o%s
- (ENDFILE_SPEC): Always use crtend.o%s.
-
-Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
-
- * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
- is passed in.
- * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
- SFmode for 64 bit hosts.
-
-Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
-
- * fixincludes: Permits spaces between # and define. Discard C++
- comments in sys/pci.h on HP/UX 10.20.
-
-Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for snapshot.
-
- * pa.c (restore_unscaled_index_insn_codes): New function.
- (record_unscaled_index_insn_codes): Likewise.
- (output_function_prologue): Call restore_unscaled_index_insn_codes.
- (output_function_epilogue): Free memory for unscaled_index_insn_codes.
- (pa_reorg): Call record_unscaled_index_insn_codes.
-
- * haifa-sched.c (move_insn): Handle notes correctly for insns
- with SCHED_GROUP_P set.
-
-Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * alpha/xm-linux.h (USE_BFD): Undef before define.
-
-Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (cse_insn): Don't record BLKmode values.
-
-Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
-
- * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
-
-Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
-
- * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
- * collect2.c (sys_errlist): Likewise.
- * cpplib.c (sys_errlist): Likewise.
- * gcc.c (sys_errlist): Likewise.
- * protoize (sys_errlist): Likewise.
- * configure.in: Check for strerror.
- * xm-freebsd.h (HAVE_STRERROR): Remove definition.
- * xm-gnu.h (HAVE_STRERROR): Likewise.
- * xm-linux.h (HAVE_STRERROR): Likewise.
- * xm-netbsd.h (HAVE_STRERROR): Likewise.
- * xm-bsd386.h (HAVE_STRERROR): Likewise.
- * xm-cygwin32.h (HAVE_STRERROR): Likewise.
- * xm-dos.h (HAVE_STRERROR): Likewise.
- * xm-mingw32.h (HAVE_STRERROR): Likewise.
- * xm-pa.h (HAVE_STRERROR): Likewise.
- * xm-papro.h (HAVE_STRERROR): Likewise.
- * xm-sysv4.h (HAVE_STRERROR): Likewise.
- * configure, config.in: Rebuilt.
-
- * Makefile.in: Add several missing "else true" clauses.
-
- * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
- * mips-tfile.c: Likewise.
- * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
- * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
- * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
- * configure.in: Check for sys_siglist declaration.
- * configure, config.in: Rebuilt.
-
-Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
-
- * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
- m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
- sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
- * i960/i960.h: Added SUBTARGET_SWITCHES macro.
- * rs6000/sysv4.h (extra_subtarget_switches): Added new
- macro EXTRA_SUBTARGET_SWITCHES.
- * configure.in (sh*-*-rtems*): New target.
- * sh/rtems.h: New file.
- * sh/sh.h: Added SUBTARGET_SWITCHES macro.
- * configure: Rebuilt.
-
-Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
-
- * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
-
-Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md: Make DF fused-add operations pay attention to
- -mno-fused-add.
-
-Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
-
- * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
-
-Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (reload_peepholes): Make sure operand is a REG before
- examining REGNO. Allow general registers too.
-
-Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
-
- * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
-
-Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
-
- * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
- to reallocate abbrev_die_table.
-
-Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
-
-1997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * Makefile.in (config.status): Depend on version.c
-
- * expr.h (insn_gen_function): Reenable prototype.
-
- * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
- first parameter.
-
-Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
-
- * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
-
-Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for latest snapshot.
-
- * bc-optab.c: Conditionally include stdlib.h.
- (free): Provide a declaration if NEED_DECLARATION_FREE.
- * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
- * rtl.h (free): Remove declaration.
- * tree.h (free): Remvoe declaration.
-
- * configure: Rebuilt.
-
-Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
-
- * flags.h (flag_move_all_movables): Declare.
- (flag_reduce_all_givs): Likewise.
- * loop.c (move_movables): Handle flag_move_all_movables.
- (strength_reduce): Handle flag_reduce_all_givs.
- * toplev.c (flag_move_all_movables): Define.
- (flag_reduce_all_givs): Likewise.
- (f_options): Add -fmove-all-movables and -freduce-all-givs.
- * invoke.texi: Document new options, including alias stuff that
- wasn't included last time.
-
-Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
-
- * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
- * t-mn10200: Ditto.
- * t-vxsparc: Ditto.
- * t-vxworks68: Ditto.
- * t-vxworks960: Ditto.
- * t-vx29k: Ditto.
-
-Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
- if not already defined, and USE_C_ALLOCA not defined.
-
-Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
-
- * config.guess: Replace with script that uses ../config.guess.
-
- * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
- if USE_GNULIBC_1 is not defined.
-
-Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
- * config.guess: Recognize alpha-linux-gnulibc1.
- * configure.in (alpha-*-linux-gnulibc1): New target.
- (alpha-*-linux-gnu*): Don't build crtbegin/end.
-
-Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
- last change.
-
-Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
-
- * loop.c (combine_movables): Earlier insns don't match later ones.
-
-Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * config/linux.h (CC1_SPEC): Define it only if not defined.
-
- * config/m68k/linux.h (CC1_SPEC): Undefine it before include
- <linux.h>
-
- * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
- USE_GNULIBC_1 is not defined.
-
- * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
-
- * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
- as 1 if USE_GNULIBC_1 is not defined.
-
-Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
-
- * reorg.c (dbr_schedule): Allow current_function_return_rtx
- to be something other than a REG.
- * function.c (expand_function_end): Fix current_function_return_rtx
- if it was a pseudo.
-
- * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
- * x-netbsd: Likewise
- * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
- (INSTALL_HEADERS): Delete.
- * x-dguxbcs: Likewise.
- * x-hp3bsd44: Likewise
- * x-pa: Likewise.
-
-Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * i386.md (pop): pop increments the stack pointer.
- (prologue_set_stack_ptr): New pattern.
- * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
- instead of subsi3.
-
-Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
- address where an offsettable address is required.
-
-Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
-
- * loop.c (check_final_value): Don't miss a biv increment in a
- parallel.
-
-Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
-
- * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
- TYPE_DECL_IS_STUB instead of DECL_NAME.
-
-Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
-
-Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
-
- * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
-
-Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
- (find_post_sched_live): Likewise.
-
- * haifa-sched.c (schedule_block): Remove old code to get arguments
- from hard regs into pseudos early.
-
-Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for new snapshot.
-
- * local-alloc.c (update_equiv_regs): All the target to reject
- promotion of some REG_EQUAL to REG_EQUIV notes.
- * pa.h (DONT_RECORD_EQUIVALENCE): Define.
-
- * pa.c (secondary_reload_class): (mem (mem ... )) does not need
- secondary reloads.
-
- * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
- store of the argument registers.
-
-Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
-
- * fold-const.c (multiple_of_p): New function.
- (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
-
-Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
-
- * expr.h (insn_gen_function): Temporarily remove prototype.
-
-Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
- filenames. Use sed to extract base filename for install.
-
-Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
-
- * unroll.c (find_splittable_givs): Only share if two givs have the
- same add and multiply values.
-
-Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
- * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
-
-Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
- around branch tables.
- * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
- and .end_brtab directives if TARGET_GAS.
-
-Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
-
- * alias.c (true_dependence): Pass x_addr not x to varies.
-
- * acconfig.h (NEED_DECLARATION_CALLOC): Add.
- * configure.in: Add GCC_NEED_DECLARATION call for calloc.
- * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
- declarations.
- * config.in, configure: Regenerate.
-
-Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
-
- * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
- LO_SUM.
- (record_set): Handle LO_SUM like PLUS.
- (init_alias_analysis): When following chains of base addresses,
- do not stop on reaching a hard register.
-
-Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump for new snapshot.
-
-Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
-
- * alpha.h (ARCH_ASM_FILE_START): Define.
- (ASM_FILE_START): Use ARCH_ASM_FILE_START.
- * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
-
-Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (install-common): Put gcov comment at start of line.
-
-Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
-
- * alias.c (init_alias_analysis): When simplifying the reg_base_value
- array, simplify entries for hard registers too.
-
-Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
-
- * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
- list.
-
-Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
-
- * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
- block_stack before dereferencing it.
-
-Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
-
-Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * cplus-dem.c: Add 'extern' to prepends_underscore.
-
-Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
- (get_issue_rate): Delete.
- * pa.h (ISSUE_RATE): Define.
-
- * configure.in: Turn on haifa by default for the PA.
- * configure: Rebuilt.
- * pa.c (override_options): Accept -mschedule=7200 option.
- (pa_adjust_cost): No longer need to scale costs for newer
- processors.
- * pa.h (enum processor_type): Add PROCESSOR_7200.
- * pa.md: Revamp scheduling parameters to work better with
- haifa. Add scheduling parameters for the 7200.
-
- * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
- insns too.
- (schedule_block): When adjusting basic_block_{head,end}, account
- for movement of SCHED_GROUP_P insns too.
-
- * haifa-sched.c (debug_dependencies): Fix thinko.
-
- * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
- (site.exp, check, check-g++, check-gcc): New targets.
-
- * haifa-sched.c: Make lots of variables static.
-
-Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * expr.h, real.h: Finish prototyping.
-
-Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
- reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
- * reload1.c: Undo bugfix from Aug 11.
-
-Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
-
- * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
- quotes around the name.
- * configure: Regenerate.
-
-Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (stmp-multilib-sub): Fix typo in last change.
-
-Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
- to sub-makes to avoid building more passes than the user might have
- requested on the command line.
-
-Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
-
- * configure.in: Expurgate `broken_install' (install is
- autoconfed).
-
- * configure.lang: Substitute autoconfed ${INSTALL} (not currently
- relevant).
-
-Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (is_power_of_2, is_conditional_branch): Delete unused
- functions and declarations.
- (analyze_loop_iterations): Use condjump_p.
- (insert_bct): Likewise. Use exact_log2.
-
-Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
-
- * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
- (schedule_region): Likewise.
- (schedule_insns): Likewise.
-
- * PROJECTS: Update with Haifa stuff.
-
-Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Change the version string to look like:
- egcs-2.90.00 970814 (gcc2-970802 experimental).
-
- * loop.c (is_conditional_branch): Make definition match declaration.
-
- * gcc.c: Take out experimental snapshot warning message.
-
-Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
-
- * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
- print out the names of the notes. Print out the name of the insn
- that is not a note, and not an {,CALL_,JUMP_}INSN.
-
-Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
- again for the slot after we give it RTL.
-
-Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * configure.in (haifa configury): Fix typo.
- * configure: Regenerate.
-
-Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
-
- * version.c: Bump version to "gcc-3.0.0 970802 experimental".
-
- * gcc.info*: Rebuilt.
-
- * COPYING.g77, README.g77: New files.
- * real.c (ereal_unto_float, ereal_unto_double): New functions.
- * real.h (ereal_unto_float, ereal_unto_double): Declare them.
- (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
-
-Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
-
- * Integrate Haifa instruction scheduler.
- * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
- to sched with $(SCHED_CFLAGS.
- * configure.in: Handle --enable-haifa.
- * configure: Rebuilt.
- * flags.h: Add new flags for haifa instruction scheduler.
- * genattrtab.c (expand_units): For haifa, don't subtract one
- when computing blockage.
- * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
- (flag_schedule_speculative): Ditto.
- (flag_schedule_speculative_load): Ditto.
- (flag_schedule_speculative_load_dangerous): Ditto.
- (flag_schedule_reverse_before_reload): Ditto.
- (flag_schedule_reverse_after_reload): Ditto.
- (flag_branch_on_count_reg): Ditto.
- (f_options): Add Haifa switches.
- (main): Turn off some Haifa options if appropriate macro is
- defined. Process Haifa switches.
- * unroll.c (iteration_info): No longer static, since Haifa
- scheduler uses it.
- (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
- * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
- * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
- * loop.h (loop_initial_value,loop_unroll_iter): New globals.
- * loop.c (loop_optimize): If HAIFA is defined, allocate additional
- storage for the Haifa scheduler.
- (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
- LABEL_NEXTREF.
- (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
- are defined, call analyze_loop_iterations and insert_bct to use
- countdown loops.
- (record_giv): Refine test for jumps out of loops if HAIFA is
- defined.
- (analyze_loop_iterations): New function to identify if we can use
- a countdown loop.
- (insert_bct): Insert countdown loop.
- (instrument_loop_bct): Low level code to insert countdown loop.
- (loop_number): Calculate UID of loop.
- (indirect_jump_in_function_p): Return true if an indirect jump is
- in the function.
- (is_power_of_2): Return true if value is a power of 2.
- (is_conditional_branch): Return true if insn is a conditional
- jump.
- (fix_bct_param): Process -fbct-{min,max}-N switches.
- (check_bct_param): Return true if loop should be instrumented.
- * loop.c (loop_initial_value,loop_unroll_iter): New globals.
- (loop_optimize): Initialize.
- (get_condition_for_loop): Ditto.
- * loop.c (strength_reduce): Inside of code that uses #ifdef
- HAVE_decrement_and_branch_on_count code, test it to make sure the
- condition is true.
- (instrument_loop_bct): Ditto.
- * haifa-sched.c: New file.
-
-
- * Integrate regmove pass.
- * Makefile.in (OBJS): Add regmove.o
- (regmove.o): Add dependencies.
- * flow.c (find_use_as_address): No longer static.
- * rtl.h (find_use_as_address): Declare.
- * toplev.c (regmove_dump, flag_regmove): Define.
- (f_options): Add -fregmove.
- (regmove_dump_file, regmove_time): Define.
- (fatal_insn): Close the regmove dump file.
- (compile_file): Initialize regmove_time; open/close the regmove dump
- file as needed. Print regmove time as needed.
- (rest_of_compilation): Run regmove pass if requested, dump
- RTL after regmove if requested.
- (main): If -O2 or more, turn on regmove. Handle dump switches.
- * regmove.c: New file.
-
-Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
-
- * Integrate tlink patch from jason@cygnus.com
- * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
- (process_command): Increment n_switches for them. Don't discard
- their args. Validate them.
- (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
- From Rohan Lenard.
- (process_command): Set include_prefixes from COMPILER_PATH.
- (main): Set COLLECT_GCC_OPTIONS sooner.
- * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
- * tlink.c, hash.c, hash.h: New files.
- * Makefile.in (USE_COLLECT2): Always use collect2.
- (collect2): Depend on and link in hash.o and tlink.o.
- (tlink.o, hash.o): Add dependencies.
-
-Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
-
- * Integrate alias analysis changes from jfc@mit.edu
- * Makefile.in (OBJS): Add alias.o
- (alias.o): Add dependencies.
- * alias.c: New file.
- * sched.c: Remove alias analysis code. It lives in alias.c now.
- (sched_analyze_2): Add new arguments to true_dependence.
- (schedule_insns): Always call init_alias_analysis.
- * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
- mark return value from such functions as a pointer and keep track of
- them for alias analysis. If a return value from a function is a
- pointer, mark it as such.
- * combine.c (distribute_notes): Handle REG_NOALIAS.
- * cse.c (struct write_data): Delete. No longer needed.
- (invalidate): Don't call set_nonvarying_address_components anymore.
- Use true_dependence to decide if an entry should be removed from
- the hash table.
- (invalidate_memory): Remove WRITES argument, simplify appropriately.
- Fix all callers.
- (note_mem_written): Similarly for WRITE_PTR argument.
- (invalidate_from_clobbers): Similarly for W argument.
- (invalidate_for_call): Remove memory elements from the hash table.
- (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
- (cse_rtx_varies_p): New function. Derived from old
- cse_rtx_addr_varies_p.
- (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
- Don't call note_mem_written anymore. Stack pushes invalidate the stack
- pointer if PUSH_ROUNDING is defined. No longer need to call
- cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
- (skipped_writes_memory): Remove variable.
- (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
- (invalidate_skipped_block): Simplify for new alias analysis code.
- (cse_set_around_loop): Likewise.
- (cse_main): Call init_alias_analysis.
- * flags.h (flag_alias_check, flag_argument_noalias): Declare.
- * toplev.c (flag_alias_check, flag_argument_noalias): Define.
- (f_options): Add new alias checking arguments.
- (main): Set flag_alias_check when optimizing.
- * local_alloc (validate_equiv_mem_from_store): Add new arguments
- to true_dependence.
- (memref_referenced_p): Likewise.
- * loop.c (NUM_STORES): Increase to 30.
- (prescan_loop): Only non-constant calls set unknown_address_altered.
- (invariant_p): Add new arguments to true_dependence.
- (record_giv): Initialize unrolled and shared fields.
- (emit_iv_add_mult): Call record_base_value as needed.
- * loop.h (struct induction): Add unrolled and shared fields.
- * unroll.c (unroll_loop): Call record_base_value as needed.
- (copy_loop_body): Likewise.
- (final_biv_value): Likewise.
- (final_giv_value): Likewise.
- (find_splittable_regs): Likewise. Only create one new pseudo
- if we have multiple address GIVs that were combined with the same
- dst_reg GIV. Note when a new register is created due to unrolling.
- * rtl.c (reg_note_name): Add REG_NOALIAS.
- * rtl.h (enum reg_note): Similarly.
- (rtx_varies_p, may_trap_p, side_effects_p): Declare.
- (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
- (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
- (true_dependence, read_dependence, anti_dependence): Likewise.
- (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
- (mark_user_reg, mark_reg_pointer): Likewise.
-
-
- * Integrate reload bugfix from Wilon which enables the PA port
- to bootstrap again.
- * reload1.c (reload): Sum needs for both OPADDR_ADDR and
- OPERAND_ADDRESS when computing how many registers an insn needs.
- (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
- conflict.
- (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
- OPADDR_ADDR reload.
- (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
- in reload_reg_use_in_op_addr do not reach the end.
- do not reach the end.
- (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
- RELOAD_FOR_OPERAND_ADDRESS.
-
-Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
-
- * egcs project officially starts.
-
-Local Variables:
-add-log-time-format: current-time-string
-End:
diff --git a/gcc/ChangeLog.Cygnus b/gcc/ChangeLog.Cygnus
deleted file mode 100755
index 212eb15..0000000
--- a/gcc/ChangeLog.Cygnus
+++ /dev/null
@@ -1,3393 +0,0 @@
-Mon Oct 18 23:25:10 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
-
- * config/arm/t-thumb-elf (EXTRA_MULTILIB_PARTS): Ensure crtbegin.o
- and crtend.o are multilibbed.
-
-Wed Mar 10 19:56:20 1999 Jeff Johnston <jjohnstn@cygnus.com>
-
- * config/d10v/d10v.h (LIB_SPEC): Added -lnosys to default libraries
- to include stubs for OS routines not provided by newlib.
-
-1999-02-25 Jim Lemke <jlemke@cygnus.com>
-
- * config/rs6000/sysv4.h: Add -mmpc860c0[=num] option.
- * invoke.texi: Add -mmpc860c0[=num] option.
-
-Mon Mar 1 17:14:25 1999 Jim Wilson <wilson@cygnus.com>
-
- * flow.c (merge_blocks): Disable when flag_exceptions is true.
-
-Wed Feb 10 18:22:55 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * config/rs6000/rs6000_output_load_toc_table: Fix the bug (comma
- usage).
-
-Fri Feb 5 16:21:01 1999 Michael Meissner <meissner@cygnus.com>
-
- * system.h (abort): Add missing comma to error message so filename
- is not part of the format string.
-
- * rs6000.md (movdf_hardfloat32): Add support for non offsetable
- load of fp value into integer register support.
-
-Fri Feb 5 14:26:48 1999 Michael Meissner <meissner@cygnus.com>
-
- * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mbranch-cost=n
- support.
- (BRANCH_COST): Ditto.
- (rs6000_branch_cost{,_string}): New externals for altering branch
- costs.
-
- * config/rs6000/rs6000.c (rs6000_branch_cost{,_string}): New
- externals for altering branch costs.
- (rs6000_override_options): Add support for -mbranch-cost=n.
-
- * invoke.texi (-mbranch-cost=n): New option description.
-
-Fri Feb 5 13:28:55 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * invoke.texi (-m{no-}sched-{epilog,prolog}): New options
- documentations
-
- * config/rs6000/rs6000.md (prologue, epilogue,
- move{si,di}_{from,to}_cr, load{si,di}_svr4_relocatable_toc,
- loadsi_svr4_toc, load{si,di}_nonsvr4_toc): New define_expand and
- define_insn for scheduling prologue/epilogue.
-
- * config/rs6000/rs6000.h (MASK_SCHED_PROLOG,
- MASK_SCHED_EPILOG, TARGET_SCHED_PROLOG, TARGET_SCHED_EPILOG):
- New macros for new options.
- (TARGET_SWITCHES): Add new options description for scheduling
- prologue/epilogue.
- (rs6000_expand_prologue, rs6000_expand_epilogue): New
- functions defintion.
-
- * config/rs6000/rs6000.c (rs6000_expand_prologue,
- rs6000_expand_epilogue, rs6000_output_prolog,
- rs6000_output_epilog): New functions for scheduling
- prologue/epilogue.
-
- (rs6000_output_load_toc_table, rs6000_allocate_stack_space,
- output_prolog, output_epilog): New cygnus local function
- implementations.
-
-Fri Feb 5 13:12:13 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * Makefile.in (check-consistency): New makefile entry for
- GCC compilers consistency testing.
-
-Thu Feb 4 10:08:11 1999 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (CPP_SPEC): Define __AM33__ when in am33 mode.
-
-Wed Feb 3 13:22:11 1999 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (height reduction patterns): Add missing earlyclobbers for
- case where the pattern is not split before regalloc.
-
-Tue Feb 2 20:29:34 1999 Catherine Moore <clm@cygnus.com>
-
- * configure.in (arm-*-oabi): Support.
- (thumb-*-oabi): Support.
- * configure: Regenerate.
- * config/arm/telf-oabi.h: New file.
- * config/arm/telf.h (ASM_OUTPUT_DWARF2_ADDR_CONST):
- Don't use user_label_prefix.
- * config/arm/thumb.h (ASM_SPEC): Conditionally define.
- * config/arm/unknown-elf-oabi.h: New file.
-
-Mon Feb 1 15:05:57 1999 Dave Brolley <brolley@cygnus.com>
-
- * cppfiles.c (find_include_file): Use open_include_file_name instead
- of calling open directly.
-
-Mon Feb 1 11:39:25 1999 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.md: Add attribute 'delay_type'.
- Add delay slot specification.
- Add delay_type attributes to insns with non default type.
- Enable multiplication patterns: mulsidi3 umulsidi3 mulsihi3
- umulsihi3 mulsi3
- Add delayed branch print operands.
-
- * config/fr30/fr30.c (fr30_print_operand): Add codes '#' and 'p'
- to handle delayed branched and hi/lo register pair respectively.
-
- * config/fr30/fr30.h (PRINT_OPERAND_PUNCT_VALID_P): Define for
- '#'.
- (DWARF_LINE_MIN_INSTR_LENGTH): Set to 2.
-
- * config/fr30/t-fr30 (LIB1ASMFUNCS): Remove _mulsi3.
- * config/fr30/lib1funcs.asm: Remove mulsi3 function.
-
-1999-01-31 Michael Meissner <meissner@cygnus.com>
-
- * config/rs6000/t-vxworks: New file to suppress building libc
- routines under VxWorks.
-
- * configure (powerpcle-wrs-vxworks): Add new configuration.
- (powerpc{,le}-*-vxworks*): Include rs6000/t-vxworks.
-
- * config/rs6000/vxppc.h ({CPP,LIB,LINK,STARTFILE,ENDFILE}_SPEC,
- CPP_PREDEFINES): Remove definitions.
- ({CPP_OS_DEFAULT,LIB_DEFAULT,STARTFILE_DEFAULT,ENDFILE_DEFAULT,
- LINK_START_DEFAULT,LINK_OS_DEFAULT,CPP_ENDIAN_BIG,
- CPP_ENDIAN_LITTLE}_SPEC, CPP_PREDEFINES): Define.
-
- * config/rs6000/vxppcle.h: New little endian VxWorks support file.
-
- * invoke.texi (-mvxworks): Document.
-
- * config/rs6000/sysv4.h (CPP_OS_VXWORKS_SPEC): Define CPU_FAMILY
- as PPC and define CPU.
- (TARGET_SWITCHES): Add -mvxworks switch to control whether or not
- the target is VxWorks. If EXTRA_SUBTARGET_SWITCHES is defined, it
- provides additional switches from a subtarget that includes
- sysv4.h.
- (SUBTARGET_EXTRA_SPECS, *_SPEC): Add -mvxwork support.
- (USER_LABEL_PREFIX): Undef before including svr4.h.
- (ASM_DECLARE_FUNCTION_NAME): Use asm_fprintf to get the current
- user prefix in front of the name.
- (ASM_OUTPUT_INTERNAL_LABEL_PREFIX): Use asm_fprintf to get the
- current internal label prefix in front of the name.
- (ASM_OUTPUT_LABELREF): Ditto.
- ({USER_LABEL,LOCAL_LABEL,REGISTER,IMMEDIATE}_PREFIX): Define.
- (SUBTARGET_OVERRIDE_OPTIONS): Don't set rs6000_wchar_type{,_size}.
- (RELATIVE_PREFIX_NOT_LINKDIR): Disable AIX specific support.
- (WCHAR_*): Set wchar_t to be an int as per standard, not unsigned
- short.
- (CPP_SYSV_SPEC): Define _SOFT_FLOAT on machines that use software
- floating point.
- (CC1_SPEC, LINK_TARGET_SPEC): Fix typos.
-
- * config/rs6000/eabi-ci.asm (___{C,D}TOR_LIST__): Add
- -fleading-underscore support.
-
- * config/rs6000/eabi-cn.asm (___{C,D}TOR_END__): Ditto.
-
- * config/rs6000/eabi.asm (__eabi): Don't use FUNC_START/FUNC_END,
- always use __eabi, even for libraries compiled with
- -fleading-underscore.
-
- * ginclude/ppc-asm.h (FUNC_START): Make sure label for function
- start uses FUNC_NAME.
- (FUNC_{START,END,NAME}): Prepend the macro __USER_LABEL_PREFIX__
- into function names.
-
- * config/rs6000/t-ppcgas (MULTILIB_{OPTIONS,DIRNAMES}): Add new
- multilibs that use -fleading-underscore.
-
- * config/rs6000/rs6000.c (rs6000_wchar_type{,_size}): Remove,
- variables are no longer used.
-
- * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Explicitly pass
- -oformat elf32-powerpcle if -mcall-i960-old.
-
-1999-01-31 Michael Meissner <meissner@cygnus.com>
-
- * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Add
- support for -mcall-i960-old. The -mcall-i960-old option now sets
- -mno-bit-word. If -mcall-i960-old, make wchar_t be an int.
- (WCHAR_TYPE{,_SIZE}): If -mcall-i960-old, make wchar_t be an int.
- (CPP_SYSV_SPEC): Ditto
- (NO_BUILTIN_WCHAR_TYPE): Define, wchar_t is a variable type.
- (rs6000_wchar_type{,_size}): New globals to hold type string and
- size for wchar_t.
- (ASM_SPEC): If -mcall-i960-old, pass -mlittle.
- (TARGET_FLAGS): Add -m{,no-}bit-word to control whether bitfields
- can cross word boundaries or not, independent of whether they
- cause the structure to take on the base type's alignment.
- (BITFIELD_NBYTES_LIMITED): Depend on whether -m{,no-}bit-word was
- passed.
-
- * config/rs6000/rs6000.c (rs6000_wchar_type{,_size}): Provide
- externals if NO_BUILTIN_WCHAR_TYPE is defined.
-
- * cccp.c (toplevel): If NO_BUILTIN_WCHAR_TYPE is defined, do not
- define wide char support.
- (main): Ditto.
- (special_symbol): Ditto.
- (initialize_builtins): Ditto.
-
- * cpplib.c (toplevel): If NO_BUILTIN_WCHAR_TYPE is defined, do not
- define wide char support.
- (special_symbol): Ditto.
- (initialize_builtins): Ditto.
-
- * config/rs6000/t-ppcgas (MULTILIB_*): Add multilib for
- -mcall-i960-old.
-
- * invoke.texi (-mcall-960-old, -m(no-)bit-word): New options
- description.
-
-Sat Jan 30 19:40:16 1999 Jim Wilson <wilson@cygnus.com>
-
- * fold-const.c (fold): Don't pass MINUS_EXPR to
- reduce_expression_tree_depth.
-
-Thu Jan 28 01:08:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (find_related): Check if a register belonging to a set
- of related values is clobbered in an insn where it is also used.
- (optimize_related_values_1): Handle REG_UNUSED notes.
- (optimize_related_values): Likewise.
-
-Tue Jan 26 12:42:06 1999 Jim Wilson <wilson@cygnus.com>
-
- * flow.c (merge_blocks): Don't call squeeze_notes if start == end.
-
-1999-01-25 Nick Clifton <nickc@cygnus.com>
-
- * config/generic/generic.md: Add description of backend's
- responsibility to fill unfilled delay slots with NOPs.
-
-Fri Jan 22 07:50:33 1999 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (DRIVER_DEFINES): Fix accidental breakage of
- TOOLDIR_BASE_PREFIX.
-
-Thu Jan 21 18:11:27 1999 Richard Henderson <rth@cygnus.com>
-
- * expr.c (emit_push_insn): Fix typo.
-
-Thu Jan 21 02:54:27 1999 Jeffrey A Law (law@cygnus.com)
-
- * lcm.c (pre_lcm, pre_rev_lcm): Update comments to reflect reality.
-
- * flow.c (merge_blocks): When searching for EH notes in a block,
- quit when we hit the end of the block. Don't merge with the
- exit block if the predecessor has an EH note. Also leave any
- CODE_LABEL in its original position when merging with the exit
- block.
-
-Wed Jan 20 15:30:00 1999 Dave Brolley <brolley@cygnus.com>
-
- * configure.in: Turn on --enable-c-mchar by default.
- * configure: Regenerate.
-
-Tue Jan 19 05:40:26 1999 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (merge_blocks): Don't merge a block with the epilogue if
- the block consists of just a JUMP_INSN.
-
- * flow.c (merge_blocks): Allow limited merging with the last basic
- block.
-
- * Makefile.in (libgcc2.a, LIB2FUNCS_EH): Remove -O0. Resyncs code
- with net version.
-
-Sat Jan 16 01:06:16 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (mem_set_in_block): Deleted.
- (mem_first_set, mem_last_set): Deleted.
- (modify_mem_list): New variable.
- (mems_conflict_for_gcse_p): New function.
- (gcse_mems_conflict_p, gcse_mem_operand): New variables.
- (load_killed_in_block_p): New function.
- (oprs_unchanged_p): Use load_killed_in_block_p.
- (oprs_not_set_p, expr_killed_p): Likewise.
- (compute_transp): Do not pessimize memory references.
- (record_last_mem_set_info): Keep a list of all instructions which
- can modify memory for each basic block.
- (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
- (gcse_main): Initialize & finalize alias analysis.
- (alloc_gcse_mem): Allocate space for modify_mem_list array.
- (free_gcse_mem): Free the modify_mem_list array.
- (compute_hash_table): Clear modify_mem_list.
- (reset_opr_set_tables): Likewise.
-
- * gcse.c (invalidate_nonnull_info): Remove unused variables.
-
- * pa.h (EXTRA_CONSTRAINT): Handle 'S'.
-
- * pa.md (fused multiply): Add variants which reduce height for the
- fused multiply, but which still generate 2 insns.
- (fnegabs): Similarly.
-
- * pa.md (return, return_internal): Use bve for PA2.0.
-
- * pa.md (subsi3): Turn into an expander. Create two anonymous
- patterns. One for PA2.0 one for PA1.x. Use mtsarcm for PA2.0.
-
-1999-01-15 Brendan Kehoe <brendan@cygnus.com>
-
- * system.h (abort): Adjust where to report bugs as a cygnus-local
- change.
-
-Fri Jan 15 10:40:37 1999 Nick Clifton <nickc@cygnus.com>
-
- * configure.in: Remove inclusion of libgloss.h from fr30 target as
- it is no longer needed.
- * configure: Regenerate.
-
-1999-01-14 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * config/i960/i960.h (TARGET_FLAG_MOVE_COALESCENCE,
- TARGET_MOVE_COALESCENCE, and TARGET_SWITCHES): Definitions for new
- options `-mmove-coalescence' and `-mno-move-coalescence'.
- (INIT_EXPANDERS, init_expanders): Definitions for i960 insn
- expanders.
-
- * config/i960/i960.c (i960_const0_r12r13, i960_const0_r12r15): New
- static variables for making move coalescence.
- (machine_function): New structure describing machine status for
- expanders.
- (i960_save_machine_status, i960_restore_machine_status,
- i960_init_expanders): New functions for work with machine status.
- (emit_move_sequence, i960_output_move_double_zero,
- i960_output_move_quad_zero): New code for coalescing move
- instructions.
-
- * invoke.texi (-mmove-coalescence, -mno-move-coalescence): New
- options description.
-
-1999-01-13 Nick Clifton <nickc@cygnus.com>
-
- * ginclude/va-fr30.h (va_arg): Handle structures specially.
- (va_aggregate_p): New macro: Detect structures based on their
- type.
-
- * config/fr30/fr30.h: (MUST_PASS_IN_STACK): Define: All
- structures must now be passed on the stack.
- (DEFAULT_PCC_STRUCT_RETUR): Define.
-
-Mon Jan 11 11:42:07 1999 Jeffrey A Law (law@cygnus.com)
-
- * pa.md: Add real PA8000 scheduling information.
-
- * pa.c (adjust_cost): No cost adjustments needed for PA8000.
- (following_call): Always return zero for the PA8000.
-
- * pa.h (REG_ALLOC_ORDER): Rework.
-
-1999-01-11 Nick Clifton <nickc@cygnus.com>
-
- * configure.in: Add extra_parts for FR30 target to build C++
- contructor and destructor code.
- * configure: Regenerate.
- * config/fr30/t-fr30: Add rules to build crti.o and crtn.o.
- * config/fr30/fr30.h (STARTFILE_SPEC): Add crti.o and crtbegin.o.
- (ENDFILE_SPEC): Add crtend.o and crtn.o.
- * config/fr30/crti.asm: New file: Stack frame creation code for
- .init amd .fini sections.
- * config/fr30/crtn.asm: New file: Stack frame removal code for
- .init and .fini sections.
-
-Sun Jan 10 16:58:23 1999 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (HAVE_PRE_INCREMENT): Disable on the PA8000, except for
- prologue/epilogue sequences.
- (HAVE_PRE_DECREMENT, HAVE_POST_INCREMENT): Likewise.
- HAVE_POST_DECREMENT): Likewise.
-
- * pa-hpux10.h, pa-hpux11.h (ASM_FILE_START): Fix minor logic error.
-
- * pa.h (ISSUE_RATE): Refine for the PA8000.
-
-Thu Dec 31 16:03:59 1998 Michael Meissner <meissner@cygnus.com>
-
- * d10v.c ({gpr,accum}_operand): Rewrite December 17th change to
- work better during the reload phase if we have run out of
- registers.
- (reg_or_0_operand): Call gpr_operand for non-integer constants.
- (arith16_operand): Ditto.
- (arith_4bit_operand): Ditto.
- (arith_nonnegative_operand): Ditto.
- (arith32_operand): Ditto.
- (arith64_operand): Ditto.
- (arith_lower0_operand): Ditto.
-
-1998-12-24 Gavin Romig-Koch <gavin@cygnus.com>
-
- * config/mips/mips.c (override_options): For TARGET_MIPS16 force
- mips_align_loops to 0.
-
-1998-12-23 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.h (FUNCTION_PROFILER): Define.
-
- * config/arm/arm.c (arm_asm_output_label): Use variable
- 'user_label_prefix' rather than macro USER_LABEL_PREFIX.
-
- * config/arm/t-thumb-elf: Add multilib option for leading
- underscores.
-
- * config/arm/telf.h (USER_LABEL_PREFIX): Default to no leading
- underscore.
- (ASM_OUTPUT_DWARF2_ADDR_CONST): Use variable 'user_label_prefix'
- rather than macro USER_LABEL_PREFIX.
-
-Wed Dec 23 10:03:26 1998 Michael Tiemann <tiemann@holodeck.cygnus.com>
-
- * config/generic/generic.h: Remove space before paren in
- LOAD_EXTEND_OP macro.
-
-1998-12-18 Nick Clifton <nickc@cygnus.com>
-
- * config/generic/generic.md: Remove contraints from the
- define_expand versions of negsi and one_cmpl.
-
-Fri Dec 18 12:09:17 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.md: Fix define_expands that were using
- constraints to work without constraints, since they are not
- supported.
-
-1998-12-18 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/lib1funcs.asm: Only use 32 division operations, not 33.
-
-1998-12-17 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/lib1funcs.asm: Use macro to generate body of divide
- and modulo functions.
-
-1998-12-17 Michael Meissner <meissner@cygnus.com>
-
- * d10v.c ({gpr,accum}_operand): Always check whether a hard
- register is valid, instead of just passing the buck to
- register_operand before the reload pass.
-
-1998-12-17 Gavin Romig-Koch <gavin@cygnus.com>
-
- * config/mips/abi64.h (LONG_MAX_SPEC): Handle -mabi=eabi.
-
-1998-12-16 Nick Clifton <nickc@cygnus.com>
-
- * ginclude/va-fr30.h (va_arg): Fix definition to work with small
- types and irregularly sized types.
-
- * config/fr30/fr30.h (FRAME_POINTER_REQUIRED): Use a frame pointer
- for varags functions.
- (FUNCTION_ARGS): Also check MUST_PASS_IN_STACK().
- (FUNCTION_ARGS_PASS_BY_REFERENCE): Define.
-
- * config/fr30/fr30.c (fr30_num_arg_regs): Return 0 if the type
- satisifies MUST_PASS_IN_STACK().
-
- * config/fr30/fr30.md (enter_func): Fix pattern to match real
- behaviour of the insn.
-
-Tue Dec 15 14:09:40 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/generic/generic.md: Add comments for required patterns
- plus how to use a fixed condition code register.
-
-1998-12-15 Gavin Romig-Koch <gavin@cygnus.com>
-
- * config/mips/mips.h (GAS_ASM_SPEC): Pass mabi to gas.
- (ABI_GAS_ASM_SPEC,abi_gas_asm_spec): New.
- (EXTRA_SPECS): Added ABI_GAS_ASM_SPEC,abi_gas_asm_spec.
-
-Mon Dec 14 19:22:58 1998 Jim Wilson <wilson@cygnus.com>
-
- * d30v/d30v.c (move_input_operand, move_output_operand): Accept
- ADDRESSOF as valid memory operand address.
-
-1998-12-14 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.c (print_operand): Fix LTU and GEU opcodes.
- (print_operand): Add 'A' operator to print a signed byte value as
- an unsigned byte value.
- (fr30_notice_update_cc): Function removed.
-
- * config/fr30/fr30.h (TRAMPOLINE_TEMPLATE): Define.
- (TRAMPOLINE_SIZE): Define.
- (INITIALIZE_TRAMPOLINE): Define.
- (NOTICE_UPDATE_CC): Undefine.
-
- * config/fr30/fr30.md: Switch over from using cc0 to using reg 16
- as a fixed condition code register.
- Remove the "cc" attribute.
- (movqi_internal): Use 'A' operator to get an unsigned version of a
- signed byte value.
-
-Mon Dec 14 17:08:17 1998 Jim Wilson <wilson@cygnus.com>
-
- * regmove.c (REL_USE_HASH): Use unsigned HOST_WIDE_INT instead of
- unsigned.
-
-1998-12-13 Nick Clifton <nickc@cygnus.com>
-
- * configure.in: Add inclusion of libgloss.h
-
- * config/generic/generic.md (movsi_internal): Improve defintion to
- include multiple alternatives and add comment explaining why this
- is desireable.
-
- * config/fr30/fr30.h (STARTING_FRAME_OFFSET): Change value to 0.
-
- * config/fr30/fr30.md (movqi_internal): Accept any integer value,
- not just QI values.
- (call): Only allows MEMs in REGs.
-
- * config/fr30/fr30.c (fr30_function_args_partial_nregs): Fix to
- work properly.
-
-1998-12-12 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/lib1funcs.asm: Fix divide routines.
- * config/fr30/fr30.h: Rework frame pointer elimination.
- * config/fr30/fr30.c: Rework frame pointer elimination.
- * config/fr30/fr30.md: Rework use of cc0.
-
-1998-12-11 Nick Clifton <nickc@cygnus.com>
-
- * config/generic/generic.md: Do not use memory_operand() to test
- for memory references when performing a define_expand() as it will
- miss invalid memory constructs.
-
- * config/fr30/fr30.md: Force MEMs for Qi and HI mode moves to be
- loaded into a reg.
- Check peephole conversions of push and pop sequences to make sure
- that the registers are in ascending order.
-
- * config/fr30/fr30.c (fr30_check_multiple_regs): New function -
- Check registers are in ascending order.
-
- * config/fr30/fr30.h (ENDFILE_SPEC): Add link with simulator library.
- Add prototype for fr30_check_multiple_regs().
-
- * config/fr30/lib1funcs.asm: Basic implemenation of divide and
- modulo funcitons.
-
-1998-12-10 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.md: Add pattern for "enter" insn.
- * config/fr30/fr30.c: Use enter insns as part of function
- prologue.
-
- * config/generic/generic.c (generic_setup_incoming_varargs): New
- stub function.
- * config/generic/generic.h: (SETUP_INCOMING_VARARGS): Define.
-
- * config/fr30/t-fr30: Remove _negsi2 and _one_cmplsi2 functions.
- * config/fr30/lib1funcs.asm: Remove stubs for negsi2 and
- one_cmplsi2. Make other stubs generate an abort.
-
- * config/fr30/fr30.h: Create a new fake hard register for the
- argument pointer.
- (INITIAL_ELIMINATION_OFFSET): Fix to cope with Fr30 frame layout.
- (SETUP_INCOMING_VARARGS): Define to call fr30_steup_incoming_varargs().
- (STRICT_ARGUMENT_NAMING); Define as false.
- (PREDICATE_CODES): Add low_register_operand().
-
- * config/fr30/fr30.md: Add peephole for va_arg() load insns. Not
- working yet.
- Add peepholes for pushing low registers.
- Add patterns for: negsi2 and one_cmplsi2
- Add grunge reload pattern for computing stack addresses.
-
- * config/fr30/fr30.c: Improve stack layout comment.
- (MUST_SAVE_FRAME_POINTER): Also save FP if frame_pointer_needed is
- true.
- (fr30_expand_prologue): Push arguments into pretend argument area.
- (fr30_setup_incoming_varags): New function: compute size of
- pretend argument area.
- (low_register_operand): New predicate: Return true if argument is
- a hard register in the range 0 to 7.
-
- * Makefile.in: Export va-fr30.h to gcc's include directory.
- * ginclude/varargs.h: Include va-fr30.h if __fr320__ is defined.
- * ginclude/stdarg.h: Include va-fr30.h if __fr320__ is defined.
- * ginclude/va-fr30.h: Varargs implemenation for the FR30.
-
- * config/arm/arm.h (TARGET_OPTIONS): Fixup egcs merge problem.
-
-1998-12-08 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.md: Add missing (MEM:SI ...) around memory
- references!
- (reload_frame_pointer_add): New pattern to cope with implicit
- assumption built into reload.
- (stack_pointer_store, frame_pointer_store): swap order of operands.
-
- * config/fr30/fr30.c (fr30_expand_epilogue): Pop frame pointer if
- it was pushed during the prologue.
-
-Sun Dec 6 03:40:07 1998 Jeffrey A Law (law@cygnus.com)
-
- * fold-const.c (reduce_expression_tree_depth): Set TREE_CONSTANT on
- new expressions we create, if applicable.
-
-Fri Dec 4 23:10:36 1998 Jeffrey A Law (law@cygnus.com)
-
- * fold-const.c (fold): Call reduce_expression_tree_depth for
- simple associative operators.
- (reduce_expression_tree_depth): New function.
-
-1998-12-04 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.md: Improve support for small memory model.
-
- * Fixed branch length calculations.
-
-1998-12-03 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.h: Add -msmall-model command line switch.
-
- Define r0 as a fixed register for use by the .md patterns.
-
- Undefine MACHINE_DEPENDENT_REORD.
-
- * config/fr30/fr30.md: Use r0 as a scratch register for branches and
- jumps.
-
- Use LDI:20 instead of LDI:32 to load addresses if TARGET_SMALL_MODEL
- is enabled.
-
- * config/fr30/fr30.c: Delete fr30_reorg() function.
-
-1998-12-02 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.h: Undefine STARTFILE_SPEC and ENDFILE_SPEC.
- * config/fr30/fr30.md: Enable the generation of the LDI:20
- instruction.
-
-Wed Dec 2 01:18:53 1998 Richard Henderson <rth@cygnus.com>
-
- * flow.c (merge_blocks): Call squeeze_notes.
-
-Tue Dec 1 15:29:17 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.md (movsi_register_store): Allow ADDRESSOF
- stores.
- (branch_true, branch_false): Use comparision_operator to ensure
- that an operator is actually present in the RTL.
- (jump, branch): Reduce distance calculation to cope with
- inaccuracies in insn length calculations.
-
- * config/fr30/fr30.c (fr30_print_operand): Add 'R' operand to
- print a MEM as if it were a REG.
- Add folding to the file.
-
- * config/fr30/fr30.h: Add folding to the file.
-
-Tue Dec 1 11:59:12 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.md (trap_if): Another typo in !GENERATE_BRANCHLIKELY case.
-
-Mon Nov 30 17:05:59 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.md (trap_if): Fix typo in !GENERATE_BRANCHLIKELY case.
-
-Fri Nov 27 18:40:10 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (mulsidi3_i, umulsidi3_i): Make rtl describe operation
- correctly independent of endianness.
- (mulsidi3, umulsidi3): Now define_insn. Hide details that
- confuse the optimizers.
- (mulsidi3+1, umulsidi3+1): New define_split.
-
-1998-11-25 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/t-fr30 (LIB1ASMFUNCS): Add _one_cmplsi2.
-
- * config/fr30/lib1funcs.asm (__one_cmplsi2): New function stub.
-
- * config/fr30/fr30.h (MACHINE_DEPENDENT_REORG): Define and set to
- fr30_reorg().
-
- * config/fr30/fr30.c (fr30_reorg): New function - detect illegal
- jump insns created by jump2 pass of gcc and correct them.
-
-Thu Nov 26 00:49:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (udivsi3_i1, divsi3_i1, umulhisi3_i, mulhisi3_i): Name.
- (smulsi3_highpart_i): Name.
- (udivsi3): Wrap emitted insns in REG_LIBCALL / REG_RETVAL notes.
- (divsi3, mulhisi3, umulhisi3, mulsidi3, umulsidi3): Likewise.
- (smulsi3_highpart, umulsi3_highpart): Likewise.
-
-Tue Nov 24 17:58:29 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.md (jump): Support jumps to code outside +/-
- 255 byte range.
-
-Tue Nov 24 14:03:17 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.h (TARGET_OPTIONS): Fix merge problem.
-
-Tue Nov 24 00:34:17 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (hoist_expr_reaches_here_p): Make sure to check all paths.
-
-Mon Nov 23 17:24:24 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.c (override_options): Use tilde, not minus to
- invert a bitfield!
-
-Sun Nov 22 20:33:20 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.md (DImode div and mod insns):Fix typos.
-
- * z8k.c (struct option): Add new "description field".
-
- * z8k.h (EXTRA_CONSTRAINT): Do not call abort.
- (REG_OK_FOR_INDEX_P): Define with a value.
- (OPTIMIZATION_OPTIONS): Add new parameter.
-
- * mips.md (moddi3): Fix typo.
-
-Fri Nov 20 14:51:42 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/fr30/fr30.h: Make MDL and MDH be fixed until the multiply
- patterns can be fixed.
-
- * config/fr30/fr30.c (sp_displacement_operand): Fix range to be
- 0 -> 60 not 0 -> 64.
- Add %b and %B output operand operators to generate condition
- codes.
-
- * config/fr30/fr30.md: Fix branch patterns to use correct
- condition mnemonics.
- Rewrite conditional branches to support both long branches and
- short branches.
-
- * config/fr30/t-fr30: Define mutlipy and divide functions for
- libgcc1-asm.a
-
- * config/fr30/lib1funcs.asm: Assembler code for multiply and
- divide functions.
-
-Thu Nov 19 13:33:07 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/pe.h: Define USER_LABEL_PREFIX as "_"
-
-Wed Nov 18 14:40:34 1998 Jim Wilson <wilson@cygnus.com>
-
- * configure.in: Add configury for mips-lsi-elf.
- * configure: Regenerate.
- * config/mips/t-lsi: New file.
-
- * range.c (live_range): Fix size arg to insn_ruid bzero call.
- Check INSN_UID before storing into insn_ruid array.
-
-Wed Nov 18 10:57:49 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.md: Fix define_split for sasf insns, so that it
- will not generate bad code if the source and destination registers
- are the same.
-
-Mon Nov 16 09:46:46 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/d10v/d10v.c (print_operand_memory_reference): Surround
- user symbols with parentheses in order to distinguish them from
- register names.
-
- * config/generic/generic.md (movdf, movdf_internal): Commented out
- these patterns since they are optional.
-
-Fri Nov 13 10:14:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (optimize_related_values_1): Reject optimization if
- offset for rel_base_reg_user would be to large.
-
-Fri Nov 13 04:36:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (rel_record_mem): Don't do anything if the register
- already has an invalidate_luid.
-
-Thu Nov 12 16:44:23 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/generic/generic.md: Fix comment describing epilogue
- pattern.
-
- * config/generic/generic.h: Add required definitions of
- ASM_OUTPUT_CHAR, ASM_OUTPUT_SHORT and ASM_OUTPUT_INT.
-
-Thu Nov 12 23:02:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (invalidate_related): Don't do anything if the register
- already has an invalidate_luid.
- (optimize_related_values): Don't update death field if
- invalidate_luid field is set.
-
-Sat Oct 31 18:10:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (secondary_reload_class): No secondary register is needed
- when copying sp+X into any of extended registers.
-
-Fri Oct 30 14:51:26 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (languages): Add missing ";;" in case statement.
-
-Thu Oct 29 19:08:12 1998 Jim Wilson <wilson@cygnus.com>
-
- * d10v/d10v.c (d10v_split_logical_op): If reload_completed, create
- REGs instead of SUBREGS.
-
-Wed Oct 28 23:05:17 1998 Jeffrey A Law (law@cygnus.com)
-
- * invoke.texi: Add new alignment options for MIPS targets.
- * tm.texi (FUNCTION_BOUNDARY_MAX_SKIP): Document new target macro.
- * varasm.c (FUNCTION_BOUNDARY_MAX_SKIP): Provide a default value.
- (assemble_start_function): Use ASM_OUTPUT_MAX_SKIP_ALIGN if defined.
- * mips.c: Add new variables for alignment and maximum skip support.
- (override_options): Handle alignment and maximum skip arguments.
- * mips.h (SUBTARGET_TARGET_OPTIONS): Add new alignment and maximum
- skip options.
- (FUNCTION_BOUNDARY, LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Use
- alignment and maximum skip values computed in override_options.
- (FUNCTION_BOUNDARY_MAX_SKIP): Define.
- (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
-
-Wed Oct 28 15:29:56 1998 Jim Wilson <wilson@cygnus.com>
-
- * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
-
-Tue Oct 27 17:02:21 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/generic/generic.md: Commented out some unecessary patterns.
-
-Tue Oct 27 15:09:42 1998 Nick Clifton (nickc@cygnus.com)
-
- Merge in arm-elf related changes from EGCS:
-
- * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
- targets.
-
- * configure: Regenerated.
-
- * config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
- USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX. Make other macro
- definitions conditional on their not having been already defined.
-
- * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
- and .type directives, and add "(PLT)" qualification to function
- calls.
-
- * config/arm/linux.h: Deleted. This file is now superceeded by
- either linux-elf.h or linux-aout.h.
-
- * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
- (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
- support).
- Move definitions from old linux.h file here.
-
- * config/arm/elf.h: Now contains only generic ARM/ELF support.
-
- * config/arm/linux-aout.h: Support for Linux with a.out.
-
- * config/arm/linux-elf.h: New file. Support for Linux with ELF.
-
- * config/arm/linux-elf26.h: New file. Support for Linux with ELF
- using the 26bit APCS.
-
- * config/arm/unknown-elf.h: New file. Support for OS'es other
- than Linux with ELF.
-
- * config/arm/coff.h: Include aout.h for basic assembler macros.
-
- * config/arm/arm.h: Make macro definitions conditional on their
- not having been already defined.
-
-Thu Oct 22 16:28:42 1998 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c reload.c reload.h: Install Bernd's reload patches on
- this branch for testing.
-
-Wed Oct 21 15:14:35 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/generic/t-generic: Add definitions of CROSS_LIBGCC1 and
- LIB2FUNCS_EXTRA.
- Add (commented out) MULTILIB support.
-
- * config/generic/generic.c (generic_compute_frame_size): New function stub.
- (generic_print_operand_address): New function stub.
- (generic_print_operand): New function stub.
-
- * config/generic/generic.h: Add forward declarations of structure types
- for use in exported function prototypes.
- Remove *note constructs.
- Document --help strings.
- Fix conflicts between names of args to macros and references to those
- names in the accompanying text.
- REG_CLASS_CONTENTS: Define ALL_REGS class in terms of FIRST_PSEUDO_REGISTER.
- Uncomment definitions which must be present oin order for cc1 to build.
- RETURN_VALUE_REGNUM: New register macro - the number of a register
- that holds a scalar function's return value.
-
-Wed Oct 21 11:43:46 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850ea.h (MASK_US_BIT_SET): Change value to 0x1000
- to avoid clash with MASK_NO_APP_REGS.
- (MASK_US_BIT_SET): Change value to 0x2000 to avoid clash with
- MASK_NO_DISABLE_CALLT.
-
- * config/v850/v850.c (construct_dispose_instruction): Obey setting
- of TARGET_DISABLE_CALLT.
- (construct_prepare_instruction): Obey setting of TARGET_DISABLE_CALLT.
-
-Mon Oct 19 14:31:56 1998 Nick Clifton <nickc@cygnus.com>
-
- * configure.in: Add FR30 target.
- * configure: Add FR30 target.
- * config.sub: Add FR30 target.
- * config/fr30: New directory.
- * config/fr30/fr30.c: New target specific C source.
- * config/fr30/fr30.h: New target specific header file.
- * config/fr30/fr30.md: New target specific machine description.
- * config/fr30/xm-fr30.h: New target specific cross make header.
- * config/fr30/t-fr30: New target specific makefile fragment.
-
- * config/m32r/m32r.h (TARGET_SWITCHES, TARGET_OPTIONS): Document m32r
- specific command line switches.
-
-Mon Oct 19 14:05:30 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (nonnull_local, nonnull_killed): New file static variables.
- (invalidate_nonnull_info): New functions
- (delete_null_pointer_checks): Likewise.
- * toplev.c (rest_of_compilation): Call delete_null_pointer_checks
- immediately before and after the first CSE pass.
-
-Mon Oct 19 07:33:00 1998 Catherine Moore <clm@cygnus.com>
-
- * config/rs6000/sysv4.h (CPP_SPEC): Define _SOFT_FLOAT
- if -msoft-float.
-
-Sun Oct 18 14:57:03 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (compute_transpout): New function.
- (insert_insn_end_bb): New argument PRE. All callers changed. Make
- some sanity checks conditional on value of PRE.
- (transp, comp, antloc): Renamed from pre_transp, pre_comp, pre_antloc.
- Replace all references.
- (hoist_transp, hoist_comp, hoist_antloc): Delete. Change all references
- to transp, comp and antloc respectively.
- (transpout): New bitmap.
- (alloc_pre_mem, alloc_hoist_mem): Allocate transpout.
- (free_pre_mem, free_hoist_mem): Deallocate transpout.
- (compute_pre_data): Compute pre_transpout.
- (compute_code_hoist_data): Likewise.
- (hoist_code): We can not hoist an expression into a block if the
- expression is not in tranpout for the block.
-
-Fri Oct 16 10:47:53 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
- (TARGET_OPTIONS): Add --help documentation.
-
-Thu Oct 15 13:44:30 1998 Jim Wilson <wilson@cygnus.com>
-
- * d30v/d30v.c (d30v_eh_epilogue_sp_ofs): New variable.
- (d30v_stack_info): Correct calculation for link_offset.
- (d30v_function_epilogue): Don't clear d30v_return_addr_rtx here.
- (d30v_expand_epilogue): Use d30v_epilogue_sp_ofs.
- (struct machine_function): New type.
- (d30v_save_machine_status, d30v_restore_machine_status,
- d30v_init_expanders): New functions.
- (d30v_return_addr): Call push_topmost_sequence, pop_topmost_sequence.
- * d30v/d30v.h (INCOMING_RETURN_ADDR_RTX): Change VOIDmode to Pmode.
- (INIT_EXPANDERS): New macro.
- (d30v_init_expanders, d30v_eh_epilogue_sp_ofs): Add declarations.
- * d30/d30v.md (eh_epilogue): New. Set d30v_eh_epilogue_sp_ofs.
-
-Wed Oct 14 21:38:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (optimize_related_values): Check if cc0 is set.
-
- * regmove.c (optimize_related_values): Fix problem with multiple
- related values in single insn.
-
-Tue Oct 13 12:25:24 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.c: Synchronised with egcs.
-
- * config/v850/v850.md: Synchronised with egcs.
-
- * config/m32r/m32r.md (sne): Only accept unsigned 16bit integers.
-
-Tue Oct 13 07:55:04 1998 Catherine Moore <clm@cygnus.com>
-
- * config/arm/elf.h: Fix typo.
- * config/arm/telf.h: Ditto.
-
-Mon Oct 12 22:57:24 1998 Jeffrey A Law (law@cygnus.com)
-
- * sparc.h: Fix minor merge lossage in 64bit sparc support.
-
-Mon Oct 12 14:10:48 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.c: Fix CYGNUS LOCAL markers.
-
- * config/arm/arm.c (arm_override_options): Add initialisation of
- arm_ld_sched boolean.
-
- Fix CYGNUS LOCAL markers.
-
- * config/arm/arm.md: Add ldsched attribute and use in computing
- functional units.
-
- Fix CYGNUS LOCAL markers.
-
- Replace (reg 24) with (reg:CC 24).
-
- * config/arm/arm.h: Add export of arm_ld_sched.
-
-Mon Oct 12 09:21:32 1998 Catherine Moore <clm@cygnus.com>
-
- * config/arm/elf.h (MAKE_DECL_ONE_ONLY): Define.
- (UNIQUE_SECTION_P): Define.
- (UNIQUE_SECTION): Define.
- * config/v850/v850.c (print_operand): Extend meaning
- of 'c' operands to support .vtinherit.
-
-Sun Oct 11 03:20:26 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (hppa_legitimize_address): Handle full offsets for PA2.0
- FP loads and stores.
- * pa.h (TARGET_PARISC_2_0): Define.
- (TARGET_SWITCHES): Add -mpa-risc-2-0, -mno-pa-risc-2-0.
- (GO_IF_LEGITIMATE_ADDRESS): Handle full offsets for PA2.0 FP loads
- and stores.
- (LEGITIMIZE_RELOAD_ADDRESS): Similarly.
- * pa.md: Add several new PA2.0 patterns. Split a few of the
- fix/float patterns into define_expands and define_insns.
- * pa-hpux10.h (ASM_FILE_START): Emit .level pa2.0 if generating
- PA2.0 opcodes.
- * pa-hpux11.h (ASM_FILE_START): Likewise.
-
-Thu Oct 8 17:06:15 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/elf.h (DWARF_DEBUGGING_INFO): Define.
- (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
- (ASM_OUTPUT_DWARF_ADDR_CONST): Redfeine to work for Dwarf-1.
-
- * config/arm/telf.h (DWARF_DEBUGGING_INFO): Define.
- (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
- (ASM_OUTPUT_DWARF_ADDR_CONST): Redfeine to work for Dwarf-1.
- (ASM_OUTPUT_DEF): Define.
-
-Thu Oct 8 11:02:06 1998 Jim Wilson <wilson@cygnus.com>
-
- * d30v.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu):
- Add (eq:SI ... (const_int 1)) around operand 1.
- (setcc_internal): Likewise.
- (decscc): Likewise for operand 2.
- (incscc): Switch operands 1 and 2, then likewise for operand 1.
-
-Thu Oct 8 10:59:42 1998 Nick Clifton <nickc@cygnus.com>
-
- * d30v.c (d30v_emit_cond_move): Generate pattern that can be
- matched by the new setcc_internal pattern.
-
- * tree.h: Remove (unused) data_area field of struct
- tree_decl.
-
- * c-decl.c (duplicate_decls): Remove code to copy data_area
- field of struct tree_decl.
- (start_decl): Remove invocation of SET_DEFAULT_SECTION_NAME.
- (start_function): Add invocation of SET_DEFAULT_DECL_ATTRIBUTES.
-
- * tm.texi (SET_DEFAULT_SECTION_NAME): Remove definition of
- this unused macro.
-
-Wed Oct 7 02:39:12 1998 Richard Henderson <rth@cygnus.com>
-
- * gcse.c (insert_insn_end_bb): When a call ends a bb, insert
- the new insns before the argument regs are loaded.
-
-Tue Oct 6 10:59:15 1998 Catherine Moore <clm@cygnus.com>
-
- * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
- check for flag_function_sections.
-
-Mon Oct 5 09:59:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in: Remove CYGNUS LOCAL markers for unlibsubdir changes.
-
-Fri Oct 2 16:58:37 1998 Nick Clifton <nickc@cygnus.com>
-
- * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
- call abort if the function is already defined.
-
-Thu Oct 1 17:59:03 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.c: Import changes from egcs.
-
-Wed Sep 30 10:41:21 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.md: Replace 'memory_operand' with
- 'indirect_operand' in set1, not1 and clr1 patterns.
-
- * config/v850/v850.c (compute_register_save_size): Detect when
- out-of-line helper functions will be used to create function
- prologues, and allow for their affect on the frame size.
-
- * config/v850/v850.h (EXTRA_SWITCHES): Default the contents of this
- macro to empty.
-
- * config/v850/lib1funcs.asm: Add type attributes for callt
- functions.
-
-Tue Sep 29 09:36:33 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/d30v/libgcc1.asm: Fixinstruction ordering conflicts
- detected by recent changes in the assembler.
-
-Mon Sep 28 13:20:44 1998 Catherine Moore <clm@cygnus.com>
-
- * configure.in: Add CYGNUS LOCAL markers.
- * config/arm/aout.h: Ditto.
- * config/arm/arm.h: Ditto.
- * config/arm/t-arm-elf: Ditto.
- * config/arm/t-thumb-elf: Ditto.
-
-Fri Sep 15 16:00:00 1998 Jim Wilson <wilson@cygnus.com>
-
- * reload1.c (reload): Use reload_address_index_reg_class and
- reload_address_base_reg_class when setting caller_save_spill_class.
- * config/arm/arm.md (insv): Add comment. In CONST_INT case, and
- operand3 with mask before using it.
-
-Wed Sep 23 16:35:17 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.h (enum reg_class): Add NONARG_LO_REGS
- support.
- (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
- PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
- (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
- completes. Re-enable HImode REG+OFFSET addresses.
- (LEGITIMIZE_RELOAD_ADDRESS): Define.
-
-Wed Sep 23 20:42:54 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (optimize_related_values_1): Set use->insn when emitting
- the linking insn before the final 'use' for a register that does not
- die within the scope of the optimization.
-
-Tue Sep 22 10:01:21 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/generic/generic.h: Update description of HANDLE_PRAGMA
- and add description of HANDLE_PRAGMA_PACK_PUSH_POP.
-
-Mon Sep 21 15:04:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (count_sets): New function.
- (gen_add3_insn): If single instruction add fails and source and
- destination register are different, try a move / add sequence.
- (rel_use_chain): New member match_offset.
- (optimize_related_values_1): Set it, and use it to avoid linking
- chains when this requires more than one instruction for the add.
- (add_limits): New file scope array.
- (optimize_related_values): Initialize it.
-
-Mon Sep 21 14:55:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * regmove.c (optimize_related_values_1): Don't use rel_base->reg
- for a chain that needs an out-of-range offset.
- Take setting of rel_base_reg_user into account when deciding
- if there are enough registers available.
-
-Fri Sep 18 11:54:03 1998 Catherine Moore <clm@cygnus.com>
-
- * config/elfos.h: Modify prefixes for UNIQUE_SECTION_NAME.
- * config/svr4.h: Likewise.
- * config/mips/elf.h: Likewise.
- * config/mips/elf64.h: Likewise.
-
-Fri Sep 18 09:44:55 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
- PREDICATE_CODES.
-
- * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
- patterns.
-
- * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
- operators.
- (block_move_call): New function: Call a library routine to copy a
- block of memory.
- (m32r_expand_block_move): New function: Expand a "movstrsi"
- pattern into a sequence of insns.
- (m32r_output_block_move): New function: Expand a
- "movstrsi_internal" pattern into a sequence of assembler opcodes.
-
-Wed Sep 16 14:13:38 1998 Stan Cox <scox@cygnus.com>
-
- * i386-coff.h (DBX_DEBUGGING_INFO): Added.
-
-Wed Sep 16 12:09:12 1998 Catherine Moore <clm@cygnus.com>
-
- * flags.h: Add flag_data_sections.
- * toplev.c: Add option -fdata-sections. Add flag_data_sections.
- (compile_file): Error if flag_data_sections not supported.
- * varasm.c (assemble_variable): Handle flag_data_sections.
-
-Tue Sep 15 16:41:00 1998 Michael Tiemann <michael@impact.tiemann.org>
-
- * fold-const.c (fold): Fix typo in COND_EXPR handling code.
- (invert_truthvalue): Enable truthvalue inversion for
- floating-point operands if -ffast-math.
-
- * regmove.c (find_related): We also have to track expressions that
- are just naked registers. Otherwise, we burn one register to
- prime the related values, and we'll also miss the second (but not
- subsequent) opportunities to use related values.
-
- * lcm.c (compute_antinout): Start by setting all bits in
- OLD_CHANGED, not NEW_CHANGED.
- (compute_earlyinout): Ditto.
-
- * lcm.c (compute_redundant): Free temp_bitmap when we're done with
- it.
-
- * libgcc1.c (__abssf2, __absdf2): New libcalls.
- * Makefile.in (LIB1FUNCS): Add code for new ABS libcalls.
- * optabs.c (init_optabs): Intialize abs_optabs to use ABS
- libcalls.
-
-Tue Sep 15 17:09:49 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (SECONDARY_INPUT_RELOAD_CLASS): Add special case for FPSCR.
- (GO_IF_LEGITIMATE_ADDRESS): Allow indexed addressing for PSImode
- after reload.
- (LEGITIMIZE_RELOAD_ADDRESS): Don't operate on
- RELOAD_FOR_INPUT_ADDRESS for PSImode.
- * sh.md (movpsi): New expander.
- (fpu_switch): Add r/r and m/r alternatives. Move r/m before
- c/m. Add insn predicate.
-
-Tue Sep 15 09:47:50 1998 Catherine Moore <clm@cygnus.com>
-
- * config/arm/aout.h: Check if ASM_DECLARE_FUNCTION_NAME
- already declared.
- * config/arm/elf.h (TYPE_ASM_OP): Define.
- (SIZE_ASM_OP): Define.
- (TYPE_OPERAND_FMT): Define.
- (ASM_DECLARE_RESULT): Define.
- (ASM_DECLARE_FUNCTION_NAME): Define.
- (ASM_DECLARE_OBJECT_NAME): Define.
- (ASM_FINISH_DECLARE_OBJECT): Define.
- (ASM_DECLARE_FUNCTION_SIZE): Define.
- (ASM_OUTPUT_SECTION_NAME): Change default to "ax".
- * config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Change
- default to "ax".
-
-Mon Sep 14 09:39:28 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (compute_preds_succs): Only split edges when the last insn
- in the basic block is a conditional branch.
- (merge_blocks): Do not merge a block with a tablejump with anything.
-
-Tue Sep 8 21:36:59 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (pre_insert): Fix thinko.
-
-Mon Sep 7 23:50:56 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (rs6000_override_options): Add -mcpu=740 as a place
- holder.
-
-Thu Sep 3 18:16:16 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (rs6000_override_options): Add -mcpu=750 as a place
- holder.
-
-Thu Sep 3 23:33:57 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * rtl.h (push_obstacks_nochange, end_temporary_allocation): Declare.
- * regmove.c (obstack.h): Include.
- (REL_USE_HASH_SIZE, REL_USE_HASH, rel_alloc, rel_new): Define.
- (struct related, struct related_baseinfo, struct update): New structs.
- (struct rel_use_chain, struct rel_use): Likewise.
- (regno_related, rel_base_list, unrelatedly_used): New variables.
- (related_obstack): Likewise.
- (regclass_compatible_p, lookup_related): New functions.
- (rel_build_chain, rel_record_mem, invalidate_related): Likewise.
- (find_related, chain_starts_earlier, chain_ends_later): Likewise.
- (optimize_related_values_1, optimize_related_values_0): Likewise.
- (optimize_related_values): Likewise.
- (regmove_optimize): Use regclass_compatible_p.
- Call optimize_related_values.
-
-Wed Sep 2 19:00:17 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (pre_insert): Do not insert an expression into the same
- block more than once.
- * lcm.c (compute_antinout): Avoid useless computations when the
- global properties of the current block's successors have not changed.
- (compute_earlyinout): Similarly.
-
-Tue Sep 1 11:30:33 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
- * config/m32r/m32r.h: Make register 17 be fixed.
-
-Mon Aug 31 11:29:15 1998 Catherine Moore <clm@cygnus.com>
-
- * config/arm/elf.h: Rework constructor/destructor support.
- * config/arm/telf.h: Likewise.
- * config/arm/t-arm-elf: New file.
- * config/arm/t-thumb-elf: New file.
- * configure.in: Change tmake_file to t-arm-elf for
- arm-elf and to t-thumb-elf for thumb-elf.
- * configure: Rebuild.
-
-Mon Aug 31 09:53:24 1998 Jeffrey A Law (law@cygnus.com)
-
- * range.c (live_range): Do not perform LRS on phony loops.
-
- * mn10300.md (widening multiplies): Fix order of output operands
- in assembler template.
-
- * range.c (range_finish): Start block 0 at the first CODE_LABEL or
- real insn.
-
-Wed Aug 26 17:13:37 1998 Tom Tromey <tromey@cygnus.com>
-
- * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
- * gthr-qt.h: New file.
- * frame.c (init_object_mutex): New function.
- (init_object_mutex_once): Likewise.
- (find_fde): Call it.
- (__register_frame_info): Likewise.
- (__register_frame_info_table): Likewise.
- (__deregister_frame_info): Likewise.
- * configure.in: Recognize `qt' as a thread package. Add
- appropriate -I option to gthread_flags when using qt.
- * configure: Rebuilt.
-
-Wed Aug 26 16:22:51 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (rest_of_compilation): Enable LRS at -O2 and higher for
- systems which prefer stabs debug symbols.
- * invoke.texi: Restore lost LRS docs. Note LRS is enabled at -O2
- and higher for some systems.
-
- * toplev.c (rest_of_compilation): Run recompute_reg_usage before
- LRS, not after.
-
-Wed Aug 26 09:30:59 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
- already contains the return address.
-
- * cse.c (equiv_constant): Cope with gen_lowpart_if_possible()
- returning 0.
-
-Wed Aug 26 11:18:57 1998 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.md (lshrsi3_internal2+2): Fix type-o.
-
-Tue Aug 25 11:38:21 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
- as an ordinary operand.
-
-Sat Aug 22 00:11:51 1998 Jeffrey A Law (law@cygnus.com)
-
- * rs6000.md (movdf_softfloat32): Accept any valid memory
- address.
-
-Fri Aug 21 14:19:52 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (movdi, movdf): When using movu to load the high half
- of a DImode/DFmode value, do not forget to also load the load half.
-
-Thu Aug 20 15:04:28 1998 Michael Meissner <meissner@cygnus.com>
-
- * d30v.h (ASM_GENERATE_INTERNAL_LABEL): Remove definition, svr4.h
- supplies an appropriate one.
-
- * d10v.c: Include system.h, not stdio.h to get sys/param.h pulled
- in before rtl.h in case the system defines MIN and MAX.
- * d30v.h: Ditto.
-
-Wed Aug 19 11:57:57 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
-
-Tue Aug 18 10:02:53 1998 Catherine Moore <clm@cygnus.com>
-
- * config/arm/elf.h: Define ASM_SPEC and LINK_SPEC.
-
-Wed Aug 12 14:12:40 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
- OFFSET addressing.
-
- * config/arm/m32r.md (sne): Only generate xor insns when the
- constant is unsigned.
-
-Wed Aug 12 12:09:54 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (hpux11 support): Move it before the default hpux
- case to avoid using the generic hpux config files for hpux11.
- * configure: Rebuilt.
-
-Wed Aug 12 12:47:50 1998 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
- VAR_DECL's in gp addressable sections.
-
-Wed Aug 12 09:02:55 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.c (m32r_not_same_reg): New function. Returns
- true iff its two arguments are rtx's that refer to different
- registers.
-
- * config/m32r/m32r.h (PREDICATE_CODES): Add m32r_not_same_reg().
-
- * config/m32r/m32r.md (andsi3, iorsi3, xorsi3): Use
- m32r_not_same_reg() rather than rtx_equal_p().
-
-Tue Aug 11 09:15:23 1998 Nick Clifton <nickc@cygnus.com>
-
- * tm.texi (SET_DEFAULT_SECTION_NAME): Add CYGNUS LOCAL markers.
-
-Mon Aug 10 11:36:04 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.h: Add prototypes for some exported functions.
-
- Remove spurious CYGNUS LOCAL markers, and add required CYGNUS
- LOCAL markers.
-
- Define HANDLE_PRAGMA and SET_DEFAULT_SECTION_NAME macros and the
- enums used by the code in v850.c that implements them.
- New enums: v850_pragma_state, v850_pragma_type, GHS_section_kind.
-
- * config/v850/v850.c: Add prototypes for functions not prototypes
- in v850.h.
-
- Add default cases to some switch statements, in order to eliminate
- warning messages when compiled with -Wall.
-
- Add support for sda, tda and zda attributes. Moved here from
- c-decl.c. Add code to implement some GHS pragmas.
- New functions: push_data_area, pop_data_area, v850_handle_pragma,
- mark_current_function_as_interrupt, parse_ghs_pragma_token,
- v850_set_default_section_name.
-
-Fri Aug 7 17:25:29 1998 Nick Clifton <nickc@cygnus.com>
-
- * c-decl.c (duplicate_decls): Copy data area from old decl into
- new decl.
- (start_decl): Add use of SET_DEFAULT_SECTION_NAME, if defined.
- (start_function): Add use of SET_DEFAULT_SECTION_NAME, if defined.
-
- * c-lex.c (check_newline): Call HANDLE_PRAGMA before
- HANDLE_SYSV_PRAGMA if both are defined. Generate warning messages
- if unknown pragmas are encountered.
- (handle_sysv_pragma): Interpret return code from
- handle_pragma_token (). Return success/failure indication rather
- than next unprocessed character.
-
- * c-pragma.c (handle_pragma_token): Return success/failure status
- of the parse.
-
- * c-pragma.h: Change prototype of handle_pragma_token().
-
- * tm.texi (HANDLE_PRAGMA): Document the use of HANDLE_PRAGMA when
- USE_CPPLIB is enabled.
- (SET_DEFAULT_SECTION_NAME): New macro. Allows backend to setup
- the section name of a decl when it is created.
-
- * tree.h (DECL_DATA_AREA): New macro. Accesses data_area field of
- a decl
- (struct tree_decl): Add new field 'data_area'.
-
- * varasm.c: (handle_pragma_weak): Only create this function if
- HANDLE_PRAGMA_WEAK is defined.
-
-Mon Aug 3 08:00:00 1998 Catherine Moore <clm@cygnus.com>
-
- * configure.in: Support arm-*-elf and thumb-*-elf.
- * configure: Regenerate.
-
-Fri Jul 31 16:13:04 1998 Catherine Moore <clm@cygnus.com>
-
- * config/arm/elf.h: New file.
- * config/arm/telf.h: New file.
- * config/arm/aout.h: Check if ASM_FILE_START previously
- defined.
- * config/arm/arm.h: Check if STRUCTURE_SIZE_BOUNDARY
- previously defined.
-
-Fri Jul 31 16:00:41 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * mips.md (mulsi3_mult3): Add TARGET_MIPS5400 to condition.
- (muls_r5400, msac_r5400): Don't disparage output-LO alternative.
- (msac_r5400): Use "*d" for accumulator, to give preference to LO
- initially but not during reload.
- (muls_r5400_di, msac_r5400_di, xmulsi3_highpart_5400,
- xmulsi3_neg_highpart_5400): Fix typo, SIGN_EXTRACT for
- SIGN_EXTEND.
- (macc_r5400_di): Absorb into mul_acc_64bit_di.
- (mul_acc_64bit_di): Don't use match_dup for accumulator, use "0"
- constraint.
- * t-vr5000 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add VR5400
- options.
-
-Fri Jul 31 10:23:55 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
- labels with .debugsym if no parallel insns.
-
-Fri Jul 31 09:45:07 1998 Nick Clifton <nickc@cygnus.com>
-
- * reload1.c (init_reload): On SMALL_REGISTER_CLASSES machines,
- when searching for a reload_address_reg_class, avoid fixed
- registers as well as argument registers.
-
-Wed Jul 29 11:47:10 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
- constraint from second alternative.
-
-Tue Jul 28 18:54:28 1998 Stan Cox <scox@cygnus.com>
-
- * sp86x-aout.h (HAVE_ATEXIT): New macro.
-
-Tue Jul 28 11:12:46 1998 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * cse.c (cse_insn): Enable subsitution inside libcall only for REG,
- SUBREG, MEM.
- * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.
-
-Fri Jul 24 14:22:39 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (am33 movqi, movhi, movsi, movsf): Handle CONST_DOUBLE.
-
-Fri Jul 24 11:17:04 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
- strings as the insertion of USER_LABEL_PREFIX.
- * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
- valid code.
- * config/arm/thumb.md: Use %_ as a prefix to gcc library function
- calls.
-
-Thu Jul 23 13:16:29 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
-
-Thu Jul 23 11:12:06 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * expr.c (expand_expr): Expand RETURN_EXPR.
-
-Wed Jul 22 21:43:54 1998 Stan Cox <scox@cygnus.com>
-
- * longlong.h (count_leading_zeros): Sparclite scan instruction was
- being invoked incorrectly.
-
- * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
- * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE):
- Add -pg support.
- * i386/win32.h: New file. Hybrid mingw32.h/cygwin32.h configuration.
-
-Wed Jul 22 18:40:00 1998 Catherine Moore <clm@cygnus.com>
-
- * dwarf2out.c (output_aranges): Call stripattributes
- for TEXT_SECTION references.
- (output_line_info): Likewise.
-
-Tue Jul 21 23:42:34 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (print_operand_address): Handle POST_INC.
- * mn10300.h (HAVE_POST_INCREMENT): Define.
- (GO_IF_LEGITIMATE_ADDRESS): Handle POST_INC for the am33.
- (GO_IF_MODE_DEPENDENT_ADDRESS): POST_INC is mode dependent.
-
-Mon Jul 20 16:40:31 1998 Dave Brolley <brolley@cygnus.com>
-
- * cpplib.c (cpp_handle_option): More fixes for cplusplus_comments.
-
-Mon Jul 20 15:09:54 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * mips.md (attribute "type"): Add new value "frsqrt".
- (function unit specs): Handle frsqrt like fsqrt, except if r5400.
- (sqrtsf2+1 et al): Use frsqrt type for rsqrt.FMT instructions.
- (function unit "memory"): Treat r5400 like r5000.
- (function unit "imuldiv"): Set costs for r5400. Delete a
- duplicated entry.
- (function units "adder", "divide"): Don't use for r5400.
- (function unit "alu_5400"): Don't use for imul or idiv
- instructions; do use for arith, darith, move, icmp, nop. Adjust
- issue delay.
-
-Fri Jul 17 11:16:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (LIMIT_RELOAD_CLASS): Refine for the am33.
-
- * mn10300.h (zero_ereg): Delete declaration for unused variable.
- (MODES_TIEABLE_P): Provide am33 aware version.
-
- * mn10300.md (movqi, movhi): Provide am33 versions which allow
- ADDRESS_REGS to be used as destinations.
- (umulsidi3, mulsidi3): Do not accept immediate operands.
-
- * mn10300.h (HARD_REGNO_MODE_OK): Address registers can hold HImode
- and QImode objects on the am33.
-
-Thu Jul 16 14:50:58 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (movXX): Use movu when profitable.
-
- * mn10300.c (expand_epilogue): Fix thinko in previous change.
-
- * mn10300.md (umulsidi3, mulsidi3): New am33 patterns.
-
- * mn10300.c (count_tst_insns): Count tst insns for EXTENDED_REGS
- as well as clearing an EXTENDED_REGS register.
- (expand_prologue): Set up zero_areg and zero_dreg if we can optimzie
- comparisons or sets of EXTENDED_REGS against zero.
- (output_tst): Heandle optimizing for extended regs.
-
- * mn10300.h (REGISTER_MOVE_COST): Define appropriately for the am33.
-
- * mn10300.md (am33 logicals): New patterns.
- (am33 zero and sign extension): New patterns.
- (am33 shifts): New patterns.
-
-Tue Jul 14 14:15:30 1998 Nick Clifton <nickc@cygnus.com>
-
- * gcc.c: Remove ANSI-C ism from --help code.
-
- * toplev.c: Support --help with USE_CPPLIB.
-
-Tue Jul 14 10:57:43 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (am33 mulsi): New pattern.
- (am33 tstqi, tsthi): New patterns.
-
- * mn10300.md (movXX patterns): Optimize loading zero into an
- extended register if we know a data or address register already
- has the value zero in it.
-
- * mn10300.h (TARGET_SWITCHES): Turn off -mmult-bug for the am33.
-
- * mn10300.md (subsi3, am33 version): Fix code generation when
- operands0 and operands2 are the same register.
-
-Mon Jul 13 21:45:17 1998 Jeffrey A Law (law@cygnus.com)
-
- * expr.c (expand_builtin): Do not warn for targets which do not
- support CONSTANT_P_RTX. Temporary patch until next merge
-
-Mon Jul 13 11:10:15 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850ea.h (EXTRA_SWITCHES): Document these switches.
- * config/v850/v850e.h (EXTRA_SWITCHES): Document these switches.
- * config/v850/v850.h (TARGET_OPTIONS, TARGET_SWITCHES,
- EXTRA_SWITCHES): Document these switches.
-
- * cccp.c (main): Add support for parsing --help.
- (display_help): New function: display command line switches.
-
- * cpplib.c (cpp_handle_option): Add support for parsing --help.
- (display_help): New function: display command line switches.
-
- * gcc.c (main): Add support for parsing --help, and passing it on
- to the sub-processes invoked by gcc.
- (display_help): New function: display comman line switches.
-
- * tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
- 'description' field added to structure.
-
- * toplev.c: Add support for parsing --help.
- Add documentation strings to command line option tables.
- (display_help): New function: display comman line switches.
-
-Mon Jul 13 11:18:58 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c: Add rough am33 support.
- * mn10300.md: Likewise.
- * mn10300.h: Likewise.
- * t-mn10300: Likewise.
-Mon Jul 13 11:10:15 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/semi.h (USER_LABEL_PREFIX): Change to "" to match
- FSF sources.
-
- * config/arm/tcoff.h (USER_LABEL_PREFIX): Change to "" to match
- change to semi.h
-
-Sun Jul 12 13:34:23 1998 Michael Meissner <meissner@cygnus.com>
-
- * jump.c (duplicate_loop_exit_test): Fix typo in last change.
-
-Sat Jul 11 02:59:08 1998 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
- and structure attribute flags to MEMs generated.
- (splits for sign-extended HI & QI mode from memory): Also propagate
- the volatile flag.
-
-Sat Jul 11 01:18:33 1998 Jeffrey A Law (law@cygnus.com)
-
- * jump.c (duplicate_loop_exit_test): Avoid out of bounds access
- to the reg info virtual array.
-
-Thu Jul 9 10:49:08 1998 Jeffrey A Law (law@cygnus.com)
-
- * arm/tpe.h (JUMP_TABLES_IN_TEXT_SECTION): Define with a value.
- * i386/i386elf.h: Likewise.
- * i386/rtemself.h: Likewise.
- * z8k/z8k.h: Likewise.
-
- * Makefile.in: Fix minor merge lossage which caused incorrect
- dependencies.
-
-Wed Jul 8 23:37:59 1998 Jeffrey A Law (law@cygnus.com)
-
- * d30v.h (STDIO_PROTO): Likewise.
-
-Wed Jul 8 16:53:37 1998 Jim Wilson <wilson@cygnus.com>
-
- * range.c (range_print_flags): Add static to definition.
-
-1998-07-08 Vladimir N. Makarov <vmakarov@cygnus.com>
-
- * config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
- stubs.
-
- * toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
- options.
- * c-decl.c (warn_long_long): Define.
- (c_decode_option): Parse -Wlong-long, -Wno-long-long options.
- (grokdeclarator): Add flag `warn_long_long' as guard for
- warning "ANSI C does not support `long long'".
- * invoke.texi: Add description of options -Wlong-long,
- -Wno-long-long.
- * gcc.1: The same as above.
-
-Wed Jul 8 09:45:22 1998 Nick Clifton <nickc@cygnus.com>
-
- * haifa-sched.c (debug_ready_list): Remove static qualifier, so
- that it can be called from machine back ends.
-
- * libgcc1-test.c: Remove duplicate prototype for memcpy().
-
- * config/arm/arm.c (arm_override_options): Reference 'flags'
- rather than 'tune_flags'.
-
-Wed Jul 8 03:22:22 1998 Jeffrey A Law (law@cygnus.com)
-
- * Merge from egcs snapshot 19980707.
-
-Mon Jul 6 09:32:14 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/tpe.h (REDO_SECTION_INFO_P): Define.
-
- * config/arm/thumb.c (thumb_override_options): Warn about and
- ignore '-fpic'.
-
- * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
- version.
-
-Thu Jul 2 08:11:00 1998 Catherine Moore <clm@cygnus.com>
-
- * haifa-sched.c (alloc_EXPR_LIST): Change to use
- unused_expr_list.
-
-Mon Jun 29 12:15:00 Catherine Moore <clm@cygnus.com>
-
- * config/sparc/lb1spc.asm (.udiv, .div) Replace routines.
-
-1998-06-26 Michael Meissner <meissner@cygnus.com>
-
- * m32r.h (LOOP_TEST_THRESHOLD): If loop unrolling and saving
- space, don't suppress moving the loop test from top to the bottom.
-
-Thu Jun 25 09:53:24 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
- noticed by grahams@rcp.co.uk.
-
-Wed Jun 24 10:39:32 1998 Stan Cox <scox@cygnus.com>
-
- * sparc.md (sethi_di_sp32): Swap registers if we are
- compiling in little endian mode.
-
- * sparc.h (CPP_ENDIAN_SPEC, LIBGCC2_WORDS_BIG_ENDIAN): Check for
- mlittle-endian-data in addition to mlittle-endian.
-
- * sp86x-aout.h (ASM_SPEC, SUBTARGET_SWITCHES): -mlittle-endian-data
-
- * ginclude/va-d30v.h (va_arg): struct args < 4 bytes must be offset.
-
-Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * reload.c (find_reloads): Fix check for failure to match any
- alternative, to account for Mar 26 change in initial "best" cost.
-
-Tue Jun 23 14:20:57 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/d30v/d30v.h (FIXED_REGISTERS): Remove reference to return
- address register.
- (CALL_USED_REGISTERS): Ditto.
-
-Tue Jun 23 16:42:29 1998 Dave Brolley <brolley@cygnus.com>
-
- * cpplib.c (open_include_file_name): Mark as local change.
-
-Mon Jun 22 10:30:00 1998 Catherine Moore <clm@cygnus.com>
-
- * varasm.c (assemble_variable): Emit alignment warning.
-
-Sat Jun 20 04:10:50 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.h (MD_SCHED_{VARIABLE_ISSUE,INIT,REORDER}): Define.
- (m32r_sched_{variable_issue,init,reorder}): Add declarations.
-
- * m32r.c (m32r_sched_odd_word_p): New global to keep track of
- whether we are on an odd word or even word.
- (m32r_adjust_priority): Optimize slightly.
- (m32r_sched_init): New function to zero m32r_sched_odd_word_p.
- (m32r_sched_reorder): New function to reorder the ready list based
- the instruction sizes. Move long instructions before short ones,
- except if we are on an odd word boundary.
- (m32r_sched_variable_issue): New function to keep track of whether
- we are on an odd byte boundary.
-
-Fri Jun 19 21:33:21 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.h (whole file): Align \'s to column 72.
- (*_SPEC): Use EXTRA_SPECS to move cpu dependent stuff down into
- {ASM,CPP,CC1,LINK,STARTFILE,ENDFILE}_CPU_SPEC.
- (TARGET_SWITCHES): Add support for new debug switches
- -missue-rate={1,2} and -mbranch-cost={1,2}. Add
- SUBTARGET_SWITCHES for cpu dependent switches.
- (TARGET_OPTIONS): Add support cpu dependent switches.
- (MULTILIB_DEFAULTS): Ditto.
- (OVERRIDE_OPTIONS): Ditto.
- (OPTIMIZATION_OPTIONS): Ditto.
- ({FIXED,CALL_USED}_REGISTERS): Ditto.
- (REG_ALLOC_ORDER): Ditto.
- (CONDITIONAL_REGISTER_USAGE): Ditto.
- (REG_CLASS_CONTENTS): Ditto.
- (GPR_P): Ditto.
- ({,ADDITIONAL_}REGISTER_NAMES): Ditto.
- (M32R_MODEL_DEFAULT): Wrap inside #ifndef/#endif.
- (SDATA_DEFAULT_SIZE): Ditto.
- (IN_RANGE_P): New macro to test if something is in a range of
- values.
- (INT8_P): Recode to use IN_RANGE_P.
- ({,CMP_,U}INT16_P): Ditto.
- (UPPER16_P): Ditto.
- (UINT{24,5}_P): Ditto.
- (INT32_P): Ditto.
- (INVERTED_SIGNED_8BIT): Ditto.
- ({ACCUM,CARRY}_P): New macros for accumulator and carry.
- (BRANCH_COST): Set to 1/2 depending on -mbranch-cost={1,2}.
- (ENABLE_REGMOVE_PASS): Delete, no longer used.
- (ASM_OUTPUT_ALIGNED_LOCAL): Ditto.
- (ISSUE_RATE): Set to 1/2 depending on -missue-rate={1,2}.
- (DWARF2_DEBUGGING_INFO): Define.
- (whole file): Group most of the m32rx specific stuff together
- using the subtarget support. Define the various specs
- {ASM,CPP,CC1,LINK,STARTFILE,ENDFILE}_CPU_SPEC.
-
-Thu Jun 18 09:03:31 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.c ({internal_,}reg_or_eq_int16_operand): New functions to
- return whether an operand is suitable for == operations.
- (gen_compare): Remove support for handling S<op> operations, just
- handle branches.
-
- * m32r.h (PREDICATE_CODES): Add new predicate functions.
- ({internal_,}reg_or_eq_int16_operand ): Add declarations.
- (gen_compare): Remove argument saying to produce S<op> operations
- instead of a branch.
-
- * m32r.md (b{eq,ne,lt,le,gt,ge,ltu,leu,gtu,geu}): Update
- gen_compare calls.
- (s{eq,ne,lt,le,gt,ge,ltu,leu,gtu,geu}): Recode to present the
- operation as a distinct RTL until splitting so that the
- optimization passes generate better code.
- (abs{df,sf}2): Define, so that we can make fabs(-0.0) return 0.0.
-
-Wed Jun 17 15:12:00 1998 Catherine Moore <clm@cygnus.com>
-
- * reload1.c (spill_hard_reg): Check mode of register when
- spilling from scratch_list.
-
-Wed Jun 17 14:55:50 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
- addressing when one register is the frame pointer or stack
- pointer. Disallow REG+CONST addressing in HI mode.
-
- * config/arm/arm.h (CANONICALIZE_COMPARISON): Preserve OP1.
-
-Tue Jun 16 20:50:37 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.c (m32r_adjust_{cost,priority}): New functions to adjust
- scheduler cost and priority information.
- (direct_return): Don't test -mdebug any more.
-
- * m32r.h (m32r_adjust_{cost,priority}): Declare.
- (m32r_address_cost): Correctly spell function in prototype.
- (ADJUST_{COST,PRIORITY}): Define to call the appropriate function.
-
-Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
-
- * cpplib.h (__GCC_CPPLIB__): Add header guard.
- * cpplib.c (open_include_file_name): New function.
- (open_include_file): Call open_include_file_name instead of open.
-Fri Jun 12 00:03:23 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.h (OPTIMIZATION_OPTIONS): Turn on -fregmove if -O1. If
- -Os, turn on -fomit-frame-pointer and -fno-strength-reduce.
- (CAN_DEBUG_WITHOUT_FP): No longer define, so we don't confuse the
- debugger.
- (TARGET_FLAGS): Remove -mold-compare support.
-
- * m32r.c (gen_compare): Rewrite to be more general. Take an
- extra argument to give the output register for scc operations or
- the label to jump to for bcc operations. Fix typo for LEU & GTU
- of constants.
- (internal_reg_or_{cmp_int16,uint16}_operand): Same as the function
- without the internal_ prefix, except mode argument is an enum.
- (internal_reg_or_zero_operand): Ditto.
-
- * m32r.h (gen_compare): Add new argument to prototype.
- (PRESERVE_DEATH_INFO_REGNO_P): Delete, no longer needed after
- June 11 regmove.c change.
-
- * m32r.md (cmp_eqsi_insn): Make a define_expand instead of a
- define_insn.
- (cmp_ne_small_const_insn): Delete, no longer used.
- (b{eq,ne,lt,le,gt,ge,ltu,leu,gtu,geu}): Rework for gen_compare
- changes.
- (s{eq,ne,lt,le,gt,ge,ltu,leu,gtu,geu}): Define patterns.
- (movsicc): Delete, no longer used.
- (peephole): Delete, no longer needed after June 11 regmove.c
- change.
-
-Tue Jun 9 21:05:45 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (override_options): Handle -mschedule=8000.
- (pa_reorg): Do not try to combine independent instructions into
- a single instruction for the PA8000.
- * pa.h (processor_type): Add PROCESSOR_8000.
- * pa.md: Add "8000" cpu attribute. Treat the PA8000 like the
- PA7100 temporarily.
-
-Tue Jun 9 14:13:37 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/t-v850 (TCFLAGS): Add assembler options to catch
- signed and unsigned overflows.
-
- * config/v850/lib1funcs.asm (__callt_save_interrupt): Use 'addi
- 16,sp,sp' instead of 'add 16,sp'. Patch cpurtesy of: Biomedin
- <glctr@abc.it>
-
-Thu Jun 4 15:14:04 1998 Michael Meissner <meissner@cygnus.com>
-
- * jump.c (duplicate_loop_exit_test): Remove May 19th code not
- duplicating the loop exit test at the bottom, but keep the part
- about testing LOOP_TEST_THRESHOLD.
-
- * m32r.h (LOOP_TEST_THRESHOLD): If -Os, use 2 instead of 30.
- (PREDICATE_CODES): Add extend_operand.
- (extend_operand): Declare.
-
- * m32r.c (extend_operand): New function to return true if an
- operand can be used in a sign/zero_extend operation.
-
- * m32r.md (zero_extend*): Use extend_operand.
- (sign_extend{qisi,qihi,hisi}2): Rewrite so sign_extend is
- available until after reload is done.
-
-Tue Jun 2 00:54:38 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (rest_of_compilation): Only perform block merging for
- -O2 and above.
-
-Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
-
- * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
-
- * varasm.c (assemble_variable): Augment alignment warning.
-
-Sun May 31 01:02:05 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c (process_command): Use concat instead of effectively
- open-coding it.
-
-Sun May 31 10:37:49 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.c (gen_compare): Fix last change to swap GT/GTU/LE/LEU
- arguments if both are registers. Don't convert GTU/LEU of a
- negative value into GEU/LTU.
-
-Fri May 29 14:31:39 1998 Ken Raeburn <raeburn@cygnus.com>
- Jeff Law <law@cygnus.com>
-
- (mulsi_r5400, macc_r5400): Delete patterns.
- (muls_r5400, msac_r5400, muls_r5400_di): Rewrite.
- (macc_r5400_di, msac_r5400_di): Likewise.
- (xmulsi3_highpart_5400): Likewise.
- (xmulsi3_neg_highpart_5400): Likewise.
-
-Fri May 29 13:36:17 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.c (gen_compare): Cmpui takes a signed 16 bit value, not
- unsigned.
- * m32r.md (cmp_ltusi_insn): Ditto.
-
- * m32r.c (gen_compare): If the first compare value is not a
- register, force it into a register. If the second compare value
- is not a register or a constant integer, force it into a
- register.
-
- * m32r.md (cmpsi): Only allow registers or signed 16 bit values
- for the second argument.
-
-Thu May 28 13:20:25 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (pre_delete): Fix code to determine the mode of
- the reaching pseudo register.
- (hoist_code): Likewise.
-
- * Simple block merging optimization pass.
- * flow.c (merge_blocks): New function.
- * toplev.c (rest_of_compilation): Call merge_blocks after each
- jump optimization pass, except for the last one.
-
-Thu May 28 13:47:18 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.c (gen_compare): Convert LE/LEU/GT/GTU of a constant into
- LT/LTU/GE/GEU with the constant+1.
-
-Wed May 27 09:04:36 1998 Gavin Koch <gavin@cygnus.com>
-
- * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
-
-Tue May 26 20:38:27 1998 Stan Cox <scox@equinox.cygnus.com>
-
- * config/sparc/sp86x-elf.h (TARGET_LITTLE_ENDIAN_DATA): New.
- (INIT_SECTION_ASM_OP): Undef so __main constructor invocation is used.
-
-Tue May 26 14:48:50 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.c (v850_output_aligned_bss): use
- ASM_DECALRE_OBJECT_NAME if it is available.
-
-Tue May 26 09:28:07 1998 Catherine Moore <clm@cygnus.com>
-
- * config/sparc/lb1spc.asm (.urem, .rem) Replace routines.
-
-Fri May 22 23:46:37 1998 Jim Wilson <wilson@cygnus.com>
-
- * gcc.c (make_relative_prefix): Call obstack_1grow with '\0'.
-
-Thu May 21 14:37:15 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/README-interworking: Add note about ignoring linker
- warning message when --support-old-code is used.
-
-Tue May 19 18:28:47 1998 Jim Wilson <wilson@cygnus.com>
-
- * config/generic/xm-generic (NO_STAB_H): Delete reference.
- * config/d30v/xm-d30v.h (NO_STAB_H): Delete reference.
-
-Tue May 19 15:38:48 1998 Michael Meissner <meissner@cygnus.com>
-
- * stmt.c (expand_end_loop): Instead of using a hard-coded 30 for
- the number of insns, use LOOP_TEST_THRESHOLD.
-
- * jump.c (duplicate_loop_exit_test): Use LOOP_TEST_THRESHOLD for
- decided how many instructions to duplicate. If optimizing for
- space, don't duplicate the loop exit test at the top.
-
- * expr.h (LOOP_TEST_THRESHOLD): Define if not defined.
-
- * tm.texi (LOOP_TEST_THRESHOLD): Document.
-
-Tue May 19 10:27:15 1998 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (compute_preds_succs): Do not split more than one edge
- into any basic block.
-
-Mon May 18 15:28:26 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/lib1funcs.asm: Add .text pseudo op to start of
- ___udivsi3.
-
- * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
- underscores for the prefixes to the names of the maths functions.
-
- * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE for
- parameters passed in memory. Add a comment explaining why.
-
-Mon May 18 00:21:53 1998 Jeffrey A Law (law@cygnus.com)
-
- * c-lex.c (check_newline): Remove old CYGNUS LOCAL code that
- is no longer needed.
-
-Sun May 17 20:57:01 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.h (PREDICATE_CODES): Add seth_add3_operand, int8_operand,
- and uint16_operand.
- (int8_operand): Add declaration.
-
- * m32r.c (int8_operand): Return true if value is a signed 8 bit
- constant int.
- (m32r_expand_prologue): Remove duplicate setting of gmask.
- (direct_return): Return true if we have no stack to allow jmp lr
- to be used as a return.
-
- * m32r.md ({and,ior,xor}si3): If -Os and we have a 8 bit immediate
- constant and different registers, emit two short instructions
- instead of a long instruction. Also don't accept integer
- arguments greater than 16 bits initially, to give those values a
- chance at CSE.
- (return): Add return pattern.
-
-Fri May 15 19:30:29 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.md (mov{si,sf}_insn): Correct attributes for load/store
- with inc/dec.
-
-Fri May 15 14:55:45 1998 Nick Clifton <nickc@cygnus.com>
-
- * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
- function parameter passed in memory.
-
-Thu May 14 14:37:26 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/README-interworking: Document dlltool support for
- interworking.
-
- * config/arm/lib1thumb.asm: Add labels to help disassembler
- distinguish between ARM and Thumb code.
- Fix _interwork_call_via_ip.
- * config/arm/lib1funcs.asm: Ditto.
-
-Thu May 14 13:27:07 1998 Jim Wilson <wilson@cygnus.com>
-
- * global.c (undo_live_range): Use PUT_REG_NOTE_KIND instead of
- REG_NOTE_KIND.
-
-Wed May 13 22:45:53 1998 Michael Meissner <meissner@cygnus.com>
- Jeff Law <law@cygnus.com.
-
- * Makefile.in (OBJS): Add range.o
- (clean rules): Delete *.range.
- (toplev.o): Depend on range.h.
- (dbxout.o, global.o): Likewise.
- (final.o): Depend on bitmap.h, range.h, except.h, and function.h.
- (range.o): Add dependencies.
- * range.c, range.h: New files.
- * dbxout.c: Include "range.h".
- (range_current, range_max_number_for_parms): New static variables.
- (range_max_number): New global variable.
- (dbxout_symbol_name): New argument "live_range_p". All callers
- changed.
- (dbxout_live_range_alias): New function.
- (dbxout_live_range_parms): Likewise.
- (dbxout_symbol_location): Call dbxout_live_range_alias.
- (dbxout_symbol_name): If live_range_p, then output LRS
- debug symbol extensions.
- (dbxout_parms): Handle LRS optimizations.
- (dbxout_really_begin_function): Keep track of range_max_number at
- function entry (so we can properly output ranges for parameters).
- (dbxout_function): Call dbxout_live_range_parms.
- * final.c: Include "function.h", "range.h", "bitmap.h" and "obstack.h".
- (block_nodes): New global.
- (rtl_obstack, range_max_number): Declare.
- (struct block_seq): New structure for blocks.
- (pending_blocks): Now a struct block_seq *.
- (init_final): Fix allocation of pending_blocks.
- (final): Call identify_blocks to get the block nodes for the current
- function. When finished, free space allocated for block_nodes.
- (final_scan_insn): Handle LRS notes. Various fixes for change in
- pending_blocks structure.
- * flags.h (flag_live_range): Declare new variable.
- (flag_live_range_gdb, flag_live_range_scope): Likewise.
- * function.c (reorder_blocks): Revamp to track blocks created by LRS
- optimizations.
- * global.c: Inlcude obstack.h and range.h.
- (global_obstack): New obstack for use in global allocation.
- (reg_live_ranges, save_reg_renumber): New static variables.
- (CLEAR_CONFLICT): Define.
- (record_conflits): Now accepts int* as first argument. All callers
- changed.
- (undo_live_range, global_init): New functions.
- (global_alloc): Split into two functions, global_init and global_alloc.
- Try to allocate LRS copies first, then fall back to normal allocation
- order. If some LRS copies did not get hard regs, then undo some live
- ranges. Free the global_obstack when finished.
- (global_init): Allow multiple calls. Only allocate space on the first
- call. Allocate stuff on the global obstack instead of with alloca.
- (allocno_compare): Handle LRS copies.
- (global_conflicts): block_start_allocnos is an int * now. Allocate
- space on the global obstack. Remove conflicts between LRS copies from
- LRS base registers.
- (find_reg): For an LRS copy, try to allocate it in the same reg as
- another LRS copy.
- * output.h: Declare block_nodes.
- * regclass.c ({pref,alt}class_buffer): New statics to hold buffers
- allocate_reg_info allocates for {pref,alt}class_buffer.
- (regclass): Use {pref,alt}class_buffer to initialize
- {pref,alt}class.
- (allocate_reg_info): Allocate buffers for the preferred and alter
- register class information.
- * regs.h (struct reg_n_info): Add fields for LRS info.
- (REG_N_RANGE_CANDIDATE, REG_N_RANGE_COPY_P): New accessor macros.
- * toplev.c: Include range.h.
- (live_range_dump, flag_live_range): New variables.
- (flag_live_range_gdb, flag_live_range_scope): Likewise.
- (live_range_time): Likewise.
- (f_options): Add LRS options.
- (compile_file): Call init_live_range. Clean the .range dump file
- if necessary. Print time spent in LRS.
- (rest_of_compilation): Optimize live ranges if requested. Free basic
- block info and regsets when finished with the current function. Also
- call init_live_range to reinitialize LRS.
- (main): Perform LRS dumps is requested.
-
-Tue May 12 23:23:25 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.c (move_src_operand): Reject loads with PRE_INC or PRE_DEC.
- (move_dest_operand): Reject stores with POST_INC.
- (m32r_print_operand): Change abort calls into fatal_insn calls.
- (m32r_print_operand_address): Ditto.
-
- * m32r.h (EXTRA_CONSTRAINT): 'S' is now for stores with PRE_INC or
- PRE_DEC. 'U' is now for loads with POST_INC.
- (HAVE_PRE_{INC,DEC}REMENT): Define.
- (HAVE_POST_INCREMENT): Ditto.
- (PUSH_POP_P): Delete, no longer used.
- (LOAD_POSTINC_P): Recognize loads with POST_INC.
- (STORE_PREINC_PREDEC_P): Recognize stores with PRE_{INC,DEC}.
- (GO_IF_LEGITIMATE_ADDRESS): Recognize loads with POST_INC, and
- stores with PRE_{INC,DEC}.
-
- * m32r.md (movsi_insn): Separate loads with POST_INC from stores
- with PRE_{DEC,INC}. Emit push/pop if pushing/poping stack
- pointer.
- (movsf_insn): Allow memory loads to have POST_INC, and stores to
- have PRE_{DEC,INC}.
-
-Mon May 11 11:34:17 1998 Jeffrey A Law (law@cygnus.com)
-
- * egcs -> gcc merge. See ChangeLog.egcs & ChangeLog.12 for
- details.
-
- * lcm.c (compute_latein, compute_firstin): Fix thinko.
-
-Mon May 11 07:33:27 1998 Michael Meissner <meissner@cygnus.com>
-
- * lcm.c (compute_latein): Fix typo.
-
-Mon May 11 02:36:22 1998 Jeffrey A Law (law@cygnus.com)
-
- * lcm.c (compute_latein): Avoid mis-compiling latein for the
- last block.
- (compute_firstout): Similarly, but for the first block.
- (compute_isoinout): Solve as a backward dataflow problem.
- (compute_rev_isoinout): Simlarly, but solve as a forward problem.
-
-Sun May 10 11:03:03 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (compute_hash_table): Delete unused "f" parameter.
- (compute_set_hash_table, compute_expr_hash_table): Likewise.
- (one_classic_gcse_pass, one_cprop_pass): Likewise.
- (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
- (hoist_code): Remove unused variable "changed".
- (insert_insn_end_bb): Wrap "note" parameter inside #ifdef HAVE_cc0.
- (mark_call): Remove unused "pat" parameter.
-
- * lcm.c (compute*): Remove either s_preds or s_succs, whichever
- is unused. All callers changed.
- (compute_rev_redundant, compute_rev_optimal): Delete unused functions.
- (pre_lcm, pre_rev_lcm): Delete unused parameter "comp".
- * basic-block.h (pre_lcm, pre_rev_lcm): Update declarations.
- * gcse.c (compute_pre_data): Corresponding changes.
-
-Thu May 7 16:20:59 1998 Gavin Koch <gavin@cygnus.com>
-
- * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
- ASM_OUTPUT_WEAK_ALIAS): Define.
- * config/mips/elf64.h: Same.
- * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
- ASM_WEAKEN_LABEL): Removed.
-
-Tue May 5 14:28:53 1998 Jim Wilson <wilson@cygnus.com>
-
- * elfb4100.h, elfb4300.h, elfb4320.h, elfb4900.h, elfb5000.h,
- elfl4100.h, elfl4300.h, elfl4320.h, elfl4900.h, elfl5000.h
- (MULTILIB_DEFAULTS): Move definition after elf64.h include.
-
-Mon May 4 09:00:56 1998 Jeffrey A Law (law@cygnus.com)
-
- * lcm.c: New file with generic partial redundancy elimination
- and lazy code motion support.
- * Makefile.in: Corresponding changes.
- * basic-block.h (pre_lcm): Declare.
- (pre_rev_lcm): Likewise.
- * gcse.c: Remove various static variables no longer needed.
- (alloc_pre_mem): Only allocate space for local properties, redundant,
- optimal and a scratch bitmap.
- (free_pre_mem): Simlarly.
- (compute_pre_antinout): Deleted.
- (compute_pre_earlyinout, compute_pre_delayinout): Likewise.
- (compute_pre_latein, compute_pre_isoinout): Likewise.
- (compute_pre_optimal, compute_pre_redundant): Likewise.
- (compute_pre_data): Call pre_lcm.
-
-Thu Apr 30 16:07:02 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.h (ASM_OUTPUT_ALIGNED_BSS): Call v850_output_aligned_bss().
- * config/v850/v850.c (v850_output_aligned_bss): New
- function. Preserve alignment information when emitting symbols
- into the bss section.
- (v850_output_bss): Function removed.
-
-Wed Apr 29 16:18:40 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.h (ASM_OUTPUT_SOURCE_LINE): Use .debugsym instead of
- creating a label if -Os to prevent extra NOPs.
-
-Tue Apr 28 11:10:10 1998 Mark Alexander <marka@cygnus.com>
-
- * config/sparc/t-sp86x (MULTILIB_OPTIONS): Remove big-endian.
- (MULTILIB_DIRNAMES): Add "little" for brevity.
-
-Mon Apr 27 17:07:09 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Use
- frame_pointer_rtx rather than FRAME_POINTER_REGNUM.
-
-Sun Apr 26 17:04:11 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.c (conditional_move_operand): Silence a debug message.
-
-Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
- pointer as second register in REG+REG pair.
-
-Thu Apr 23 12:13:36 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.c (expand_prologue): Only generate callt using
- insns if TARGET_DISABLE_CALLT is not defined.
-
-Wed Apr 22 17:53:04 1998 Stan Cox <scox@equinox.cygnus.com>
-
- * sparc.c (sparc_override_options): New option name -mcpu=sparclite86x.
-
-Wed Apr 22 17:23:07 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.h (TARGET_M32R): New macro.
- (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
-
- * m32r.c ({small,long}_insn): New predicates.
-
- * m32r.md (insn_size): New attribute.
- ({,rev_}branch_insn): Add .s qualifier to branches believed to be
- short.
- (m32r): New attribute.
- (small_sequence,long_group): Add initial framework for instruction
- grouping.
-
- * m32r.h (ASM_SPEC): Add -O to the assembler arguments if we are
- compiling for the m32rx and optimizing.
-
- * m32r.md (m32rx{,_pipeline}): New attributes.
- (small_parallel): Add initial framework for instruction grouping.
-
- * rtl.def (GROUP_{PARALLEL,SEQUENCE}: Add new insns.
-
-Mon Apr 20 13:31:17 1998 Dave Brolley <brolley@cygnus.com>
-
- * stmt.c (mark_seen_cases): Needs to be external linkage for Chill.
-
-Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
-
- * i386.c: Include expr.h to get the change_address prototype
- declared.
-
-Sat Apr 18 23:37:59 1998 Stan Cox <scox@equinox.cygnus.com>
-
- * configure.in: Added sparc86x.
- * configure: Regenerate.
-
- * sparc.h (TARGET_CPU_{hypersparc,sparc86x},
- PROCESSOR_{HYPERSPARC,SPARC86X}): Added for sparc86x/hypersparc.
- (ADJUST_COST): Call hypersparc_adjust_cost.
-
- * sparc.c (hypersparc_adjust_cost): Added for sparc86x/hypersparc.
-
- * sparc.md (define_function_unit): Added for sparc86x/hypersparc.
- (define_attr "cpu"): Added hypersparc/sparc86x.
-
- * (t-sp86x, sp86x-elf.h, sp86x-aout.h: Added for sparc86x.
-
-Thu Apr 16 22:38:23 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (dump_sbitmap, dump_sbitmap_vector): Move these into
- flow.c.
-
-Tue Apr 14 14:10:43 1998 Dave Brolley <brolley@cygnus.com>
-
- * toplev.c: Call init_parse using new interface.
-
- * c-lex.c (init_parse): Now returns char* containing the filename.
-Mon Apr 13 11:31:29 1998 Michael Meissner <meissner@cygnus.com>
-
- * m32r.h (HAIFA_P): Define as 1/0 depending on whether the Haifa
- scheduler was selected.
- (ISSUE_RATE): Define as 2.
-
- * configure.in (enable_haifa): Switch m32r to Haifa by default.
- * configure: Regenerate.
-
-Sun Apr 12 13:35:49 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (gcse_main): Run code hoisting if optimizing for
- code space.
-
-1998-04-10 Ken Raeburn <raeburn@cygnus.com>
-
- * config/arm/thumb.h, config/d10v/d10v.h,
- config/generic/generic.h, config/z8k/z8k.h (MEMORY_MOVE_COST):
- Updated to show extra args, currently ignored. See my 16-Mar
- change.
- * config/d30v/d30v.h (MEMORY_MOVE_COST): Likewise.
-
-Fri Apr 10 15:38:21 1998 Jim Wilson <wilson@cygnus.com>
-
- * config/i386/i386elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Delete.
- * configure.in (i[34567]86-*-elf*): Add ${xm_file} and xm-svr4.h to
- xm_file list.
-
-Fri Apr 10 10:42:42 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.md: Add trailing newline.
-
- * rtl.c (read_skip_spaces): Prevent infinite loops upon
- encountering unterminated comments.
-
- * config/arm/aout.c: Add CYGNUS LOCAL markers.
- * config/arm/riscix.h: Add CYGNUS LOCAL markers.
- * config/arm/riscix1-1.h: Add CYGNUS LOCAL markers.
- * config/arm/semiaof.h: Add CYGNUS LOCAL markers.
- * config/arm/t-linux: Add CYGNUS LOCAL markers.
- * config/arm/thumb.h: Remove CYGNUS LOCAL markers.
- * config/arm/thumb.c: Remove CYGNUS LOCAL markers.
-
-Thu Apr 9 16:26:53 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.md: Add CYGNUS LOCAL markers.
- * config/m32r/m32r.c: Add CYGNUS LOCAL markers.
- * config/m32r/m32r.h: Add CYGNUS LOCAL markers.
- * config/m32r/t-m32r: Add CYGNUS LOCAL markers.
-
- * config/arm/README-interworking: Added note about DLLs not
- working.
-
- * config/arm/arm.c: Add CYGNUS LOCAL markers.
- * config/arm/arm.h: Add CYGNUS LOCAL markers.
- * config/arm/arm.md: Add CYGNUS LOCAL markers.
- * config/arm/coff.h: Add CYGNUS LOCAL markers.
- * config/arm/semi.h: Add CYGNUS LOCAL markers.
- * config/arm/t-bare: Add CYGNUS LOCAL markers.
- * config/arm/lib1funcs.asm: Add CYGNUS LOCAL markers.
-
-Thu Apr 9 12:57:05 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
- * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
- COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
- (build_expr_wfl): New prototype declaration.
- * tree.c (build_expr_wfl): New function, to build
- EXPR_WITH_FILE_LOCATION nodes.
- (copy_node): Don't zero TREE_CHAIN if copying a
- EXPR_WITH_FILE_LOCATION node.
- * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
- * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
-
-Thu Apr 9 12:14:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (loop_optimize): Call init_alias_analysis immediately after
- reg_scan.
-
- * configure.in: Kill mpw.
- * config.sub: Likewise.
-
-Wed Apr 8 15:08:57 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in m68010-adobe-scout): Delete obsolete local config.
- (m68k-apollo-sysv, m68k-tandem-*, m68*-netx,vxworks*): Likewise.
- (mips-ncd-elf*, powerpc-*-netware*): Likewise.
- * config.sub: Kill "scout" references.
-
- * configure.in: Completely disable objc unless --enable-objc is
- specified at configure time.
- * objc/Make-lang.in: Remove CYGNUS LOCAL hack.
-
- * configure.in: Reorganize local configurations to make
- merging with egcs easier.
-
- * gcc.c (process_command): putenv only takes a single argument.
-
- * gcse.c: Include "system.h".
- * Makefile.in (gcse.o): Add missing dependencies.
-
-Mon Apr 6 11:29:34 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (pre_expr_reaches_here): First argument is the starting
- basic block; add new arg check_pre_comp. All callers changed.
- If !check_pre_comp, then do not require the expression to be set
- in the starting basic block.
- (pre_insert): Do not insert an expression if it does not reach
- any deleted occurences of the expression.
-
-Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
-
- * combine.c (can_combine_p): Include successor in volatile test.
-
-Fri Apr 3 15:59:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (run_jump_opt_after_gcse): Renamed from gcse_jumps_altered.
- All references changed.
- (gcse_main): If we split any edges, then run jump optimizations
- after gcse.
-
-Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.h: Add super interworking support.
- * config/arm/thumb.c: Add super interworking support.
- * config/arm/thumb.md: Add super interworking support.
- * config/arm/tpe.h: Add super interworking support.
- * config/arm/lib1funcs.asm: Add interworking support.
- * config/arm/lib1thumb.asm: Add super interworking support.
- * config/arm/t-pe: Add super interworking support.
- * config/arm/t-semi: Add interworking support.
- * config/arm/t-thumb: Add interworking support.
- * config/arm/t-pe-thumb: Add super interworking support.
- * config/arm/README-interworking: New file.
-
-Mon Mar 30 09:22:16 1998 Jeffrey A Law (law@cygnus.com)
-
- * mips.md (rotrsi3): Use GEN_INT instead of gen_rtx (CONST_INT).
- (rotrdi3): Likewise.
-
-Mon Mar 30 12:27:21 1998 Nick Clifton <nickc@cygnus.com>
-
- * invoke.texi (ARM Options): Removed spurious @end table marker.
-
- * config/m32r/m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint
- to perfoirm the equivalent of a negated 'I' constraint.
-
- * config/m32r/m32r.md (cmp_ne_small_const_insn): Use 'S'
- constriant rather than 'I' since the value is negated.
-
-Sat Mar 28 13:03:22 1998 Nick Clifton <nickc@cygnus.com>
-
- * invoke.texi: Document more ARM and Thumb options.
-
-Fri Mar 27 16:15:29 1998 Michael Meissner <meissner@cygnus.com>
-
- * gcc.c (make_relative_prefix): If argv[0] does not contain a
- directory separator, look up the name in the PATH environment
- variable.
-
-Wed Mar 25 13:50:16 1998 Dave Brolley <brolley@cygnus.com>
-
- * cccp.c: Restore chill support.
-
-Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
-
- * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
-
- * collect2.c (find_a_file): Add debugging.
- (find_a_file): Test for win32 style absolute paths if
- DIR_SERPARATOR is defined.
- (prefix_from_string): Add debugging.
- (main): Test for debug command line switch at start of program
- execution.
- (main): Use GET_ENVIRONMENT rather than getenv().
-
-Sun Mar 22 16:15:45 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/tpe.h (ASM_DECLARE_FUNCTION_NAME): Include
- .thumb_func directive in function header.
-
-Fri Mar 20 09:32:46 1998 Nick Clifton <nickc@cygnus.com>
-
- * objc/Make-lang.in: Apply patch from Geoff Noer (noer@cygnus.com)
- to allow cygwin32 native toolchain builds via canadian crosses.
-
- * objc/Makefile.in: Apply patch from Geoff Noer (noer@cygnus.com)
- to allow cygwin32 native toolchain builds via canadian crosses.
-
- * Makefile.in: Apply patch from Geoff Noer (noer@cygnus.com) to
- allow cygwin32 native toolchain builds via canadian crosses.
-
- * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
-
-Fri Mar 20 09:27:06 1998 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (CPP_SPEC): Finish last change.
-
-Thu Mar 19 22:33:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in (hppa1.1-hp-hpux11): Use pa-hpux11.h
- (hppa1.0-hp-hpux11): Likewise.
- * pa/pa-hpux11.h: New file.
-
- * pa.h (CPP_SPEC): If !ansi, then define __STDC_EXT__.
-
-Thu Mar 19 13:45:28 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/i386/xm-cygwin32.h (GET_ENVIRONMENT): Patch resubmitted,
- since it appears to have been lost in the shuffle....
-
- * config/arm/thumb.c (arm_valid_machine_decl_attribute): Copied
- from arm.c for thumb-pe builds.
-
- * config/arm/t-pe-thumb: New file: makefile fragement for thumb-pe
- build.
-
- * config/arm/tpe.h: New file: PE support for thumb-pe build.
-
-Thu Mar 19 09:14:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: Handle hpux11 just like hpux10 for now.
-
-Wed Mar 18 11:21:16 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/i386/xm-cygwin32.h (GET_ENVIRONMENT): Do not call
- cygwin32_posix_path_list_p with a NULL or empty path.
-
-Wed Mar 18 09:33:13 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/thumb.c (arm_valid_machine_decl_attribute): New
- function for thumb-pe support.
-
- * configure.in: Add thumb-pe target.
-
- * configure: Add thumb-pe target.
-
- * config.sub (maybe_os): Add thumb-pe target.
-
-Mon Mar 16 16:24:45 1998 Michael Meissner <meissner@cygnus.com>
-
- * gcc.c (make_relative_prefix): If directory is the same as
- expected, or there are no directory separators, don't create a
- relative pathname.
-
-Fri Mar 13 17:55:04 1998 Michael Meissner <meissner@cygnus.com>
-
- * i386/cygwin32.h (GET_ENVIRONMENT): Delete from here.
- * i386/xm-cygwin32.h (GET_ENVIRONMENT): Move to here.
- Initialize variable if not a posix style pathname.
-
-Fri Mar 13 17:54:04 1998 Michael Meissner <meissner@cygnus.com>
-
- * gcc.c (DIR_UP): If not defined, define as "..".
- (standard_bindir_prefix): New static, holds target location to
- install binaries.
- (split_directories): New function to split a filename into
- component directories.
- (free_split_directories): New function, release memory allocated
- by split_directories.
- (make_relative_prefix): New function, make a relative pathname if
- the compiler is not in the expected location.
- (process_command): Use GET_ENVIRONMENT to read GCC_EXEC_PREFIX.
- If GCC_EXEC_PREFIX was not specified, see if we can figure out an
- appropriate prefix from argv[0].
-
- * Makefile.in (gcc.o): Define STANDARD_BINDIR_PREFIX.
-
-Fri Mar 13 11:49:49 1998 Stan Cox <scox@equinox.cygnus.com>
-
- * config/i386/cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
- style environment paths.
-
-Thu Mar 12 16:22:03 1998 Stan Cox <scox@cygnus.com>
-
- * sparc/liteelf.h (MULDI3,DIVDI3,UDIVDI3,MODDI3,UMODDI3)_LIBCALL:
- Undefine solaris library routines.
-
-Thu Mar 12 13:21:38 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.md (movsi, movhi, movhi_insn_arch4,
- movho_insn_littleend, movhi_insn_bigend): Use
- ok_integer_or_other().
- (movhi_insn_arch4): Swap order of 2nd and 3rd alternatives to
- avoid problem in reload.
-
- * config/arm/arm.c: (find_barrier_insn): Return barrier insn, if
- found, rather than insn after the barrier.
- (ok_integer_of_other): New function, to avoid duplication in md
- file.
-
- * config/arm/arm.h: Add prototype for ok_integer_or_other().
-
-Wed Mar 11 14:28:30 1998 Jeffrey A Law (law@cygnus.com)
-
- * toplev.c (compile_file): Print out gcse time.
-
- * toplev.c (rest_of_compilation): Only rerun jump optimizations
- after gcse if gcse changes some jumps.
-
-Wed Mar 11 15:21:52 1998 Michael Meissner <meissner@cygnus.com>
-
- * haifa-sched.c (schedule_insns): Remove debug statement.
-
-Wed Mar 11 15:44:54 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips/mips.h (MASK_DEBUG_E): Redefine to zero.
-
-Tue Mar 10 12:20:57 1998 Stan Cox <scox@rtl.cygnus.com>
-
- * sparc/liteelf.h (PREFERRED_DEBUGGING_TYPE): Make dwarf2
- the default debugging type.
-
-Mon Mar 9 16:29:34 1998 Michael Meissner <meissner@cygnus.com>
-
- * expr.c (expand_builtin): Add __builtin_expect code back in.
- * rs6000.c (ccr_bit,print_operand): Ditto.
-
-Mon Mar 9 14:24:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * t-sh (MULTILIB_OPTIONS): Add m4-single-only.
- (MULTILIB_MATCHES): Remove m3e=m4-single-only.
-
-Sun Mar 8 23:46:29 1998 Stan Cox <scox@equinox.cygnus.com>
-
- * configure, configure.in (sparclite-*-elf*): Added.
- * sparc/liteelf.h: New file.
-
-Sat Mar 7 13:59:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * d10v.h, generic.h (LOOP_ALIGN): Fix comment delimiter.
-
-Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * d10v.h, generic.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
- * arm/thumb.h, i386/i386elf.h, m68k/st2000.h, z8k.h: Likewise.
- * d30v.h: Likewise.
-
-Fri Mar 6 11:35:50 1998 Dave Brolley <brolley@cygnus.com>
-
- * gcse.c (hoist_code): Should return void.
-
-Thu Mar 5 23:45:08 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c: Bring back old classic gcse pass.
- (gcse_main): If optimizing for code size perform classic gcse
- instead of partial redundancy elimination.
-
-Thu Mar 5 09:09:08 1998 Catherine Moore <clm@cygnus.com>
- * config/v850/v850.h: Add option -mdisable-callt.
- * config/v850/v850.md: Don't generate callt instructions if
- -mdisable-callt has been specified.
-
-Thu Mar 5 09:09:08 1998 Catherine Moore <clm@cygnus.com>
-
- * config/v850/lib1funcs.asm (___udivsi3): Don't use r5.
- * config/v850/t-v850: Add -mno-app-regs to target build flags.
- * config/v850/v850.h: Change STATIC_CHAIN_REGNUM from 5 to 20.
- Add option -mno-app-regs. Add CONDITIONAL_REGISTER_USAGE macro.
-
-Thu Mar 5 14:39:45 1998 Fred Fish <fnf@cygnus.com>
-
- * config/d30v/d30v.h: Fix prematurely terminated comment.
-
-Tue Mar 3 09:12:04 1998 Nick Clifton <nickc@cygnus.com>
-
- * toplev.c: Do not generate a <name>.dbr file when dumping RTL
- unless DELAY_SLOTS is defined.
-
-Mon Mar 2 20:06:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * generic.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
- replace with:
- (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
- * d10v.h: Likewise.
- * d30v.h: Likewise.
-
-Wed Feb 25 10:02:19 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.md (movsfcc, movdfcc): Cope with constants that
- cannot be placed into instructions. Patch supplied by Richard
- Earnshaw.
-
-Sun Feb 22 22:05:33 1998 Jeffrey A Law (law@cygnus.com)
-
- * Use lazy code motion to drive placement partially redundant
- expressions and register copies.
- * First implementation of code hoisting pass. Currently
- disabled due to code expansion.
- * gcse.c: (compute_{cprop,pre}_local_properties): Combined into a
- single function. Accepts additional arguments as needed. All
- references updated.
- (cprop_insn, cprop, one_cprop_pass): New arg to determine if jumps
- can/should be altered. All references changed appropriately.
- (insert_insn_end_bb): Renamed from pre_insert_insn.
- (alloc_code_hoist_mem): New function for code hoisting.
- (free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
- (compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
- (hoist_code, one_code_hoisting_pass): Likewise.
- (gcse_main): Put check for setjmp at start of gcse_main and
- generally clean up initialization. Do not allow cprop to
- alter jumps until the last pass. Add appropriate calls to
- code hoisting support (currently #ifdef'd out).
- (compute_local_properties): New function for computing local
- properties for pre, cprop and code hoisting.
- (cprop_insn): Only cprop into jumps if alter_jumps is nonzero.
- (pre_av{invout}, pre_pav{in,out}, pre_pp{in,out}): Delete old pre
- variables.
- (pre_early{in,out}, pre_delay{in,out}, pre_latein): New variables
- for lazy code motion.
- (pre_iso{in,out}, pre_optimal, pre_redundant, temp_bitmap): Likewise.
- (pre_reundant_insns): Likewise.
- (alloc_pre_mem, free_pre_mem): Updated for changes in pre variables.
- (compute_pre_data): Likewise.
- (compute_pre_avinout, compute_pre_ppinout): Deleted.
- (compute_pre_earlyinout): New function for lazy code motion.
- (compute_pre_delayinout, compute_pre_latein): Likewise.
- (compute_pre_isoinout, compute_pre_optimal): Likewise.
- (compute_pre_redundant): Likewise.
- (pre_insert): Rework to only insert expressions at optimal
- computation points as determined by lazy code motion.
- (pre_insert_copies): Rework to only copy expressions where
- necessary for lazy code motion.
- (pre_delete): Rework to delete insns which are redundant at
- not optimally placed.
- (hoist_antloc, hoist_transp, hoist_comp): Variables for code hoisting.
- (hoist_vbe{in,out}, hoist_exprs): Likewise.
- (dominators, post_dominators): Likewise.
-
-Fri Feb 20 15:42:56 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips/t-vr4100 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
- Add mno-mips16 and mips16.
- * mips/elfb4100.h, mips/elfl4100.h (MULTILIB_DEFAULTS) :
- Add "mno-mips16".
-
-Fri Feb 13 14:55:13 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.md: Add peephole optimisation to cope with
- PR14189, pending a better solution.
-
- * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Define in
- order to allow peephole optimisation to work.
-
-Fri Feb 13 02:57:19 1998 J"orn Rennecke <amylaar@cygnus.com>
-
- * d10v.h (DEFAULT_PCC_STRUCT_RETURN) Define as 0.
-
-Wed Feb 11 09:07:22 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.h (ASM_SPEC): Pass on
- --nmo-warn-explicit-parallel-conflicts to the assembler.
-Mon Feb 9 09:53:41 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.c (v850_output_local): Call
- ASM_OUTPUT_ALIGNED_DECL_COMMON rather than ASM_OUTPUT_DECL_LOCAL
- (which is not defined).
-
- * varasm.c (assemble_variable): Ditto.
-
-Fri Feb 6 14:55:28 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850ea.h: Remove multilibing and add -mUS-bit-set
- command line option.
-
- * config/v850/v850e.h: Remove multilibing.
-
- * config/v850/v850.c (ep_memory_offset): Support new command line
- options -msmall-sld and -mUS-bit-set to allow fine tuning of the
- SLD.[BH] offsets.
- * config/v850/v850.h: Ditto.
-
- * config/v850/t-v850: Remove multilibing and replace with single,
- universal build using -mv850 and -msmall-sld command line options.
-
-
-Fri Feb 6 09:19:12 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips/elfb4100.h (DWARF2_DEBUGGING_INFO,PREFERRED_DEBUGGING_TYPE,
- SUBTARGET_ASM_DEBUGGING_SPEC): Define.
- * mips/elfl4100.h (DWARF2_DEBUGGING_INFO,PREFERRED_DEBUGGING_TYPE,
- SUBTARGET_ASM_DEBUGGING_SPEC): Same.
-
-Fri Feb 6 02:53:28 1998 J"orn Rennecke <amylaar@cygnus.com>
-
- * d10v.h (MUST_PASS_IN_STACK): Define.
-
- * d10v/libgcc1.asm (__cmpdi): Fix bug in last change.
-
- * d10v.md (movhi): Don't call force_reg while reloading.
- (movsi): Handle case when reload asks us to use an uneven reg pair.
-
- Undo this change:
- * va-d10v.h (__va_start_common): Add DELTA argument to subtract
- from register number.
- (va_start): Add DELTA argument to __va_start_common call, stdarg
- passes 0, varargs needs to ignore last argument.
-
-Tue Feb 3 15:45:55 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips/elfb4100.h (SUBTARGET_CPP_SPEC): Insure that __mips64
- is defined.
- * mips/elfl4100.h (SUBTARGET_CPP_SPEC): Same.
-
-Sat Jan 31 02:18:52 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (gcse_main): Fix minor typo in critial edge splitting code.
- (pre_insert_insn): Correctly handle inserting code before a switch
- table.
-
-Thu Jan 29 18:29:30 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * config/d30v/d30v.h (LINK_SPEC): Never specify -h.
-
-Wed Jan 28 16:43:49 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.c zero_and_one, emit_cond_move): Add support
- for MVFC instruction.
-
- * config/m32r/m32r.h: Ditto.
-
- * config/m32r/m32r.md: Ditto.
-
-Mon Jan 26 11:20:55 1998 Gavin Koch <gavin@cygnus.com>
-
- * configure.in (mips64vr4100-*-elf*,mips64vr4100el-*-elf*):
- Add abi64.h to the tm_file list.
- * configure: Rebuild.
- * mips/elfb4100.h (MIPS_ABI_DEFAULT,SUBTARGET_CPP_SIZE_SPEC,
- SUBTARGET_CPP_SPEC): Define.
- * mips/elfl4100.h (MIPS_ABI_DEFAULT,SUBTARGET_CPP_SIZE_SPEC,
- SUBTARGET_CPP_SPEC): Define.
-
-Sun Jan 25 21:46:07 1998 Michael Meissner <meissner@cygnus.com>
-
- * va-d10v.h (__va_start_common): Add DELTA argument to subtract
- from register number.
- (va_start): Add DELTA argument to __va_start_common call, stdarg
- passes 0, varargs needs to ignore last argument.
-
- * d10v.c (emit_move_word): Use %. to emit code to access the 0
- register, not hardcoded r0.
-
- * d10v.md (movqi_internal): Use %. to emit code to access the 0
- register, not hardcoded r0.
-
-Fri Jan 23 13:50:42 1998 Jeffrey A Law (law@cygnus.com)
-
- * recog.c (validate_replace_src): Allow replacement in JUMP_INSNs.
- * toplev.c (rest_of_compilation): Run loop optimizations after
- gcse if gcse alters any jumps.
- (flag_classic_gcse): Remove flag and all references.
- * gcse.c: Clean up some comments, remove classic GCSE code,
- variables, comments, etc.
- (gcse_jumps_altered): New variable.
- (gcse_main): Returns an int now. Fix return statements. Return
- zero normally, return nonzero if gcse modifies any jumps.
- (compute_preds_succs): Make sure last insn in the block is a
- JUMP_INSN before passing it to condjump_p.
- (cprop_insn): Handle constant/copy propagation into JUMP_INSNs.
- * jump.c (jump_optimize): Delete (set (pc) (pc)) insns created
- by gcse.
-
-Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
-
- * toplev.c: Add -dM command line option to dump RTL after the
- machine dependent reorganisation pass, if there is one.
- Reorganise RTL dump code, so that only one file handle is
- needed.
-
- * configure.in: Fix indentation of CYGNUS LOCAL markers.
-
- * configure: Add support for thumb-coff.
-
- * toplev.c (lang_options): Add -Wunknown-pragmas and
- -Wno-unknown-pragmas.
-
-Fri Jan 23 11:20:19 1998 Michael Meissner <meissner@cygnus.com>
-
- * d10v.c (override_options): Use GPR_EVEN_P.
- (override_options): Change to new ABI where args are in r0..r3,
- r14 is zero register. Change names of register class to be
- ARG{0,1,2,3}_REGS, not R{2,3,4,5}_REGS, and RETURN_REGS instead of
- R13_REGS.
- (print_operand{,_memory_reference}): Ditto.
- (d10v_stack_info): Ditto.
- (function_{pro,epi}logue): Ditto.
- (emit_move_4words): Make refers_to_regno_p be type correct.
-
- * d10v.h (ARG_{FIRST,LAST}): Change to new ABI where args are in
- r0..r3, r14 is zero register. Change names of register class to
- be ARG{0,1,2,3}_REGS, not R{2,3,4,5}_REGS, and RETURN_REGS instead
- of R13_REGS.
- (GPR_ZERO_REGNUM): Ditto.
- (SAVE_{ACC,GUARD}_REGNUM): Ditto.
- ({FIXED,CALL_USED}_REGISTERS): Ditto.
- (REG_ALLOC_ORDER): Ditto.
- (reg_class): Ditto.
- (REG_CLASS_{NAMES,CONTENTS}): Ditto.
- (STATIC_CHAIN_REGNUM): Ditto.
- ({FUNCTION,LIBCALL}_VALUE): Ditto.
- (FUNCTION_VALUE_REGNO_P): Ditto.
-
- * d10v.md (32-bit shifts): Change to new ABI where args are in
- r0..r3, r14 is zero register. Change names of register class to
- be ARG{0,1,2,3}_REGS, not R{2,3,4,5}_REGS, and RETURN_REGS instead
- of R13_REGS.
-
- * d10v/libgcc1.asm: Change to new ABI where args are in r0..r3,
- r14 is zero register. Change names of register class to be
- ARG{0,1,2,3}_REGS, not R{2,3,4,5}_REGS, and RETURN_REGS instead of
- R13_REGS.
-
- * d10v/scrt0.asm (_start): Zero r14, not r0.
-
-Fri Jan 23 11:20:19 1998 J"orn Rennecke <amylaar@cygnus.com>
-
- * d10v.h (CUMULATIVE_ARGS): Now a typedefed struct.
- * d10v.c (init_cumulative_args): Access the appropriate members of cum.
- (function_arg, setup_incoming_varargs): Likewise.
- (function_arg_advance): When an argument doesn't fit in registers,
- retain the remaining argument regsiters for possible use by
- subsequent arguments.
- * va-d10v.h (__va_list_tag): New three members.
- (__va_start_common, va_arg): Update.
-
- * d10v.c (function_arg_boundary): Alignment for arguments starts
- with an arguemnt size of four bytes.
- (function_arg): No special case for structures > 4 bytes, if they
- fit fully in the remaining argument passing registers, they are
- passed in registers.
- When an argument would exceed the remaining argument passing
- registers, pass it fully on the stack.
- (function_arg_advance): Likewise. In the latter case, mark remaining
- argument passing registers as used.
- (function_arg_partial_nregs): Remove.
- * d10v.h (FUNCTION_ARG_PARTIAL_NREGS): Don't define.
-
- * va-d10v.h (enum __type_class): Remove.
- (va_arg): Update.
-
-Thu Jan 22 10:45:40 1998 Nick Clifton <nickc@cygnus.com>
-
- * configure.in: Add thumb-*-coff target.
-
- * config/arm/thumb.c (number_of_first_bit_set): Only use inline
- attribute when compiling with GCC.
-
- * config/arm/thumb.md (mulsi): Fix PR 14644. Patch supplied by
- Jim Wilson.
-
- * config/arm/arm.c (output_func_epilogue): Fix PR14671 by changing
- the logic for determining when stack unwinding code is needed.
-
-Wed Jan 21 11:01:49 1998 Nick Clifton <nickc@cygnus.com>
-
- * invoke.texi (M32R/D/X Options): Add documentation of -mcond-exec
- option.
-
-Wed Jan 21 08:28:07 1998 Jeffrey A Law (law@cygnus.com)
-
- (gcse_main): If the first call to compute_preds_succs splits edges,
- then call find_basic_blocks again and make another call to
- compute_preds_succs.
-
-Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
-
- * invoke.texi (Optimize Options): -Os documentation.
- * tm.texi (Run-time Target): New argument to OPTIMIZATION_OPTIONS.
- * flags.h: New flag (optimize_size).
- * toplev.c (main): Parse -Os option and set optimize_space
- accordingly.
- * gcc.c (default_compilers), cp/lang-specs.h, ch/lang-specs.h: Define
- __OPTIMIZE_SIZE__ when compiling with -Os.
- * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
- config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
- config/v850/v850.h, config/d10v/d10v.h, config/generic/generic.h
- config/sh/sh.h (OPTIMIZATION_OPTIONS): New SIZE argument to macro.
- * config/i386/i386.c (optimization_options): Accept new SIZE argument.
-
-Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
-
- * config/d30v/d30v.h (OPTIMIZATION_OPTIONS): New SIZE argument to
- macro.
-
-Tue Jan 20 14:13:06 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.md: Add support for conditional execution of
- simple unary operators. Add support for conditional execution of
- addtion of small constants.
-
- * config/m32r/m32r.h: Ditto.
-
- * config/m32r/m32r.c (generate_comparison,
- unary_parallel_operator, emit_unary_cond_exec): Ditto.
-
-Tue Jan 20 12:46:37 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (FOLLOW_BACK_EDGES): Enable.
-
- * gcse.c (dump_occr_list, replace_reg): Likewise.
- (alloc_gcse_mem): Delete unused variables.
- (compute_kill_rd, can_disregard_other_sets): Likewise.
- (find_avail_set, pre_insert_copies, pre_gcse): Likewise.
- (want_to_gcse_p): Add default case for switch statement.
- (oprs_unchanged_p, hash_expr_1, compute_transp): Likewise.
- (expr_equiv_p, oprs_not_set_p, expr_killed_p): Likewise.
- (find_used_regs): Likewise.
- (insert_expr_in_table): Initialize some variables to avoid
- some gcc -Wall warnings.
- (insert_set_in_table, handle_avail_expr): Likewise.
- (handle_avail_expr): Remove some #if 0 code.
-
-Mon Jan 19 16:48:43 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.md: Add conditional execution patterns for
- simple binary operations.
- * config/m32r/m32r.h: Add support for conditional execution
- patterns.
- * config/m32r/m32r.c (conditional_compare_operand,
- binary_parallel_operator, emit_code_exec): New functions to
- implement conditional execution of simple binary operations.
-
-Fri Jan 16 14:30:29 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.md: PR 14644: Fix multiply patterns to prevent
- contraint matching failure when all three registers are the same.
-
-Thu Jan 15 16:41:18 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.h (PREDICATE_CODES): Add declaration of machine
- specific predicates.
- * config/m32r/m32r.md: Add patterns for simple conditional move
- instructions.
-
- * config/m32r/m32r.c (gen_compare): Add support for parallel
- instructions.
- (reg_or_zero_operand): New function.
- (conditional_move_operand): New function.
- (carry_compare_operator): New function.
- (emit_S_clause): New function.
- (emit_cond_move): New function.
-
-Tue Jan 13 17:41:10 1998 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (invalidate): Remove CYGNUS LOCAL patch.
-
-Mon Jan 12 16:35:04 1998 Nick Clifton <nickc@cygnus.com>
-
- * config/v850/v850.md: Removed duplicate entries.
-
-Mon Jan 5 17:22:09 1998 Michael Meissner <meissner@cygnus.com>
-
- * d30v.h (CONST_COSTS): Define as an empty instead of not defining
- it.
-
-Wed Dec 31 12:30:03 1997 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.c (call_address_operand): Remove acceptance of
- constant values and addresses held in registers.
-
-Wed Dec 31 12:26:53 1997 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.md: Add patterns for the CMPZ and CMPEQ
- instructions.
-Tue Dec 30 16:19:47 1997 Michael Meissner <meissner@cygnus.com>
-
- * d30v.c (d30v_return_addr_rtx): New static variable.
- (override_options): Use SPECIAL_REG_P, not ARG_PTR_FIRST.
- (d30v_stack_info): Note where link pointer is stored.
- (d30v_function_epilogue): Reset d30v_return_addr_rtx.
- (d30v_legitimate_address_p): Correctly test r1 for r0+r1
- addressing.
- (d30v_emit_cond_move): Emit code to do a conditional move. If the
- move is just the same as setcc or setcc of the reverse condition,
- just emit that code instead.
- (d30v_return_addr): Insert code to copy return address into a
- temporary before saving it.
-
- * d30v.h (SPECIAL_REG_*): Delete ARG_PTR* macros, replace with
- SPECIAL_REG_* macros.
- ({FIXED,CALL_USED}_REGISTERS): Make registers easier to add new
- registers, by starting each group on a separate line.
- (REG_ALLOC_ORDER): Ditto.
- (REGISTER_NAMES): Ditto.
- (MASK_WORD3): Convert a register number into bitmask for 3rd word
- of REG_CLASS_CONTENTS.
- (*_MASK): Use MASK_WORD3 for each of the special/cr/flag/accum
- registers.
- (REG_CLASS_CONTENTS): Use the *_MASK macros.
- ({,INCOMING_}RETURN_ADDR_RTX): Define.
- (INCOMING_FRAME_SP_OFFSET): Ditto.
- (ELIMINABLE_REGS): Simplify somewhat.
- (d30v_emit_cond_move): Add declaration.
- (d30v_return_addr): Ditto.
-
- * d30v.md (mov{qi,hi,si}cc): Use d30v_emit_cond_move to generate
- conditional moves.
-
-Mon Dec 29 14:09:01 1997 Jim Wilson <wilson@cygnus.com>
-
- * configure.in (enable_fortran): Delete one too many '[' ']' levels.
-
-Mon Dec 29 14:38:50 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * mips/t-vr4100 (LIB2FUNCS_EXTRA): Add mips16.S.
- * mips/t-vr4300: Likewise.
-
-Mon Dec 29 11:39:10 1997 Felix Lee (flee@cygnus.com)
-
- * gcse.c (pre_insert_insn): Deref maybe_cc0_setter only if non-NULL.
-
-Mon Dec 29 11:11:51 1997 Nick Clifton <nickc@cygnus.com>
-
- * config/m32r/m32r.h: Add support for second accumulator register.
-
- * config/m32r/m32r.c: Add support for second accumulator register.
-
-Mon Dec 29 11:06:16 1997 Jeffrey A Law (law@cygnus.com)
-
- * configure.in: Disable fortran by default.
-
-Tue Dec 16 23:08:00 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * d10v.h (REG_OK_FOR_BASE_P): Fix non-strict definition.
-
- * d10v.c (function_arg): Don't pass DImode partially in registers.
- (function_arg_pass_by_reference): Don't pass structs / unions by
- reference.
-
-Tue Dec 16 20:12:39 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * d10v.c (emit_comparison): Use CONSTANT_P to detect constant op1.
- Check it for being a CONST_INT before using its value.
- Use plus_constant_for_output to add to it.
- Fix bug in output template for >= 32767.
-
-Tue Dec 16 11:17:12 1997 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.c (arm_override_options): Force apcs-32 mode if
- interworking is specified.
-
-Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
-
- * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
-
-Fri Dec 12 23:09:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * d10v.c (override_options): Fix regno_reg_class for registers
- 1, 7, 9, 11 and 15.
-
- (d10v_subword): Fix word_num calculation for SUBREG.
-
- (emit_subtract): Carry is ! Borrow.
-
- (emit_comparison): Handle CONSTs.
-
-Fri Dec 12 07:37:49 1997 Michael Meissner <meissner@cygnus.com>
-
- * gcse.c (compute_can_copy): If AVOID_CCMODE_COPIES, don't bother
- calling emit_insn/recog to set if we can copy CCmodes.
-
-Wed Dec 10 11:33:38 1997 Jeffrey A Law (law@cygnus.com)
-
- * gcse.c (compute_can_copy): Don't allow copies for CCmode values
- if AVOID_CCMODE_COPIES is defined.
- * mips.h (AVOID_CCMODE_COPIES): Define.
-
-Mon Dec 8 17:12:47 1997 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.c (all_architectures): Removed processor field.
-
-Wed Dec 3 10:44:25 1997 Gavin Koch <gavin@cygnus.com>
-
- * mips/mips.md (muldi3_r4000): Broaden the output template
- and attribute assignments to handle three operand dmult;
- rename to muldi3_internal2.
- (muldi3): Call the new muldi3_internal2 for R4000, and
- any GENERATE_MULT3 chip.
-
-Tue Dec 2 09:20:50 1997 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/lib1funcs.asm: Add error condition if
- __USER_LABEL_PREFIX__ is not defined.
-
- * config.sub: Add support for Thumb target.
-
- * configure: Add support for Thumb target.
-
-Tue Nov 25 19:10:56 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * Makefile.in (fixproto-defines): New rule.
- (fixhdr.ready): Depend on fixproto-defines.
- (mostlyclean): Remove fixproto-defines.
- (install-common): Don't create a temporary file, install the
- ready-built fixproto-defines.
-
-Tue Nov 25 11:22:11 1997 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.c: Brought up to date with respect to devo and
- branch.
- * config/arm/aout.h: Ditto.
- * config/arm/arm.h: Ditto.
- * config/arm/arm.md: Ditto.
- * config/arm/coff.h: Ditto.
- * config/arm/lib1funcs.asm: Ditto.
- * config/arm/pe.h: Ditto.
- * config/arm/riscix.h: Ditto.
- * config/arm/riscix1-1.h: Ditto.
- * config/arm/semi.h: Ditto.
- * config/arm/semiaof.h: Ditto.
- * config/arm/t-bare: Ditto.
- * config/arm/t-linux: Ditto.
- * config/arm/aout.h: Ditto.
- * config/arm/lib1thumb.asm: Imported from branch.
- * config/arm/t-thumb: Imported from branch.
- * config/arm/thumb.c: Imported from branch.
- * config/arm/thumb.h: Imported from branch.
- * config/arm/tcoff.h: Imported from branch.
- * config/arm/thumb.md: Imported from branch.
- * config/arm/xm-thumb.h: Imported from branch.
-
-Mon Nov 24 17:19:39 1997 Nick Clifton <nickc@cygnus.com>
-
- * config/arm/arm.md: Updated with changes in devo.
- * config/arm/arm.c: Updated with changes in devo.
- * config/arm/arm.h: Updated with changes in devo.
- * config/arm/aout.h: Updated with changes in devo.
- * config/arm/semi.h: Updated with changes in devo.
-
-Sat Nov 22 15:32:00 1997 Nick Clifton <nickc@cygnus.com>
-
- * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
- (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
- (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
- command line arguments to see if an executable is not being
- created, and if so - do not append the suffix.
-
- * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
- driver macro.
-
-Sat Nov 22 01:01:41 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (AR_FOR_TARGET): Clean up "-e" confustion with
- program_transform_name.
- (RANLIB_FOR_TARGET): Likewise.
-
-Tue Nov 11 22:38:02 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * combine.c (nonzero_bits): For paradoxical subregs, take
- LOAD_EXTENDED_OP into account.
-
-Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
-
- * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
- is available elsewhere.
-
-
-Local Variables:
-add-log-time-format: current-time-string
-End:
diff --git a/gcc/ChangeLog.lib b/gcc/ChangeLog.lib
deleted file mode 100755
index 7e03e76..0000000
--- a/gcc/ChangeLog.lib
+++ /dev/null
@@ -1,3781 +0,0 @@
-Wed Jan 1 17:54:47 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
-
- * pexecute.c (pexecute, [_WIN32]): Yes, mask termstat for mingw32.
-
-Mon Dec 22 18:59:34 1997 Pascal Obry <pascal.obry@der.edfgdf.fr>
-
- * pexecute.c (pexecute, [_WIN32]): For mingw32, don't mask termstat.
-
-Sat Dec 13 09:39:32 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * pexecute.c (fix_argv): Remove outer "const" from return type.
- (pexecute): errmsg_arg is pointer to const.
-
-Sat Nov 29 08:06:34 1997 Jan-Jaap van der Heijden <janjaap@student.utwente.nl>
-
- * pexecute.c: Include signal.h for _WIN32.
-
-Wed Nov 26 17:31:44 1997 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
-
- * pexecute.c (pwait): For _WIN32, distinguish whether child process
- caught fatal signal or reported nonzero exit code.
-
-Wed Nov 26 13:24:30 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * choose-temp.c (sys/file.h): Include if HAVE_SYS_FILE_H.
-
-Mon Nov 17 09:07:52 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * choose-temp.c (choose_temp_base): Remove incorrect code for VMS.
-
-Sun Oct 19 10:34:11 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * pexecute.c (fix_argv, pexecute): Cast result of xmalloc.
-
-Sat Oct 18 16:55:18 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * obstack.h (obstack_empty_p): New macro.
-
-Mon Sep 29 12:27:59 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * pexecute.c: Use spawn if __CYGWIN32__.
-
-Wed Sep 10 15:14:20 1997 Jeffrey A Law (law@cygnus.com)
-
- * config.sub: Use "amigaos" instread of "amigados". Still
- recognize "amigados" for backward compatability.
-
-Tue Sep 9 18:23:57 1997 Doug Evans <dje@cygnus.com>
-
- * config.sub: Recognize ARC cpu.
-
-1997-09-09 Richard Kenner Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * config.guess (alpha): Replace CPU-determining program with one
- that's more precise and also supports pca56 and ev6.
- Handle those in returned name.
-
-1997-09-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * config.guess (alpha:OSF1:*:*): For V4.0, get the letter suffix.
-
-1997-09-05 Jeffrey A Law (law@cygnus.com)
-
- * config.sub: Recognize v850-elf.
-
-1997-08-26 Richard Henderson <rth@cygnus.com>
-
- * config.guess (*:Linux:*:*): Recognize alpha-linux-gnulibc1.
-
-1997-08-17 Jeff Law <law@cygnus.com>
-
- * config.sub: Recognize tx39/r3900.
-
-1997-08-08 Paul Eggert <eggert@twinsun.com>
-
- * choose-temp.c, pexecute.c:
- Include "config.h" first, as per autoconf manual.
-
-1997-08-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
-
- * config.sub: Translate -svr4 to -sysv4 and -unixware to -sysv4.2uw.
-
-1997-07-26 Per Bothner <bothner@pogo.gnu.ai.mit.edu>
-
- * config.guess: Recognize SunOS 3.x.
- From Tom Schmidt <tschmidt@micron.com>.
-
-1997-07-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
-
- * getloadavg.c: Test `__unix' along with `unix'.
-
-Sun Jul 20 20:58:43 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * config.guess (alpha*): Run program to see if ev4, ev5, or ev56.
- * config.sub (alphaev5, alphaev56): New CPU types.
-
-Wed Jul 16 10:46:14 1997 Richard Earnshaw <rearnsha@cambridge.arm.com>
-
- * config.guess (arm32:NetBSD:*:*): Canonicalize to normal format
- for ARM systems.
-
-Tue Jul 15 09:13:05 1997 Jim Meyering <meyering@psilocin.gnu.ai.mit.edu>
-
- * getloadavg.c: Add comment describing HAVE_PSTAT_GETDYNAMIC.
-
-1997-07-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
-
- * config.guess (pc:*:*:*): New entry, for DJGPP.
-
-1997-07-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
-
- * config.guess (i?86:UNIX_SV:4.2MP:2.*): Recognize unixware.
-
-1997-07-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
-
- * getloadavg.c [OSF_ALPHA]:
- Include sys/mbuf.h, sys/socket.h, net/route.h.
-
-1997-06-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
-
- * getloadavg.c [__GNU__]: Test for not NeXT.
-
-Fri Jun 27 15:20:29 1997 Scott Christley <scottc@net-community.com>
-
- * config.sub (-mingw32*): New OS.
- * config.guess (i*:MINGW*:*): New case.
- * pexecute.c (fix_argv): New function.
- (pexecute): Win32 but not Cygwin32 needs its arguments fixed.
- Add underscore to cwait function call.
-
-Mon Jun 23 10:51:53 1997 Jeffrey A Law (law@cygnus.com)
-
- * config.sub (mn10200): Recognize new basic machine.
-
-1997-06-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
-
- * config.guess: Add mips-sony-newsos6.
-
-1997-06-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
-
- * config.guess: Use i?86, not i.86.
- Don't test /usr/lib/ldscripts; instead, test whether ld_help_string
- does not contain "supported emulations".
- Use a case statement to distinguish systems when there IS
- "supported emulations".
-
-1997-06-07 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * config.guess (*:Linux:*:*): Always use ${VENDOR}.
-
-1997-06-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
-
- * config.guess (*:Linux:*:*): Don't test for elf_i.86 or m68kelf.
-
- * config.guess (*:Linux:*:*): Recognize sparclinux.
- Don't recognize UNAME_MACHINE = sparc.
- Make the sample program check for libc version
- and handle various machine types.
-
- * config.sub (mipsel*-linux* and mips*-linux*):
- Set `os' to -linux-gnu directly, don't go via -linux.
-
-Mon May 26 12:46:25 1997 Paul Eggert <eggert@twinsun.com>
-
- * getopt.c, getopt.h, getopt1.c: Moved to libc-copy/copies.
-
-Wed May 7 15:17:59 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * config.guess: Recognize either / or - as a machine/suptype
- separator from uname -m to cope with older systems that have the
- older uname. Suggested by Michael Snyder (msnyder@cygnus.com).
-
-Mon May 5 18:05:35 1997 Per Bothner <bothner@frobnitz.gnu.ai.mit.edu>
-
- * config.guess: CLIX patch from Thomas Dickey via
- urs@akk.uni-karlsruhe.de (Urs Janssen).
-
-Thu Apr 17 13:59:13 1997 Per Fogelstrom <pefo@openbsd.org>
-
- * config.guess: Fixes for MIPS OpenBSD systems.
-
-Fri Apr 11 16:39:06 1997 Niklas Hallqvist <niklas@appli.se>
-
- * config.guess: Recognize OpenBSD systems correctly.
-
-Mon Mar 24 15:38:37 1997 Doug Evans <dje@cygnus.com>
-
- * config.sub: Recognize m32r and mn10300 cpus.
-
-Sat Feb 22 22:36:44 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * getloadavg.c [__GNU__] (NeXT, host_self): New macros, to make
- hurd systems use the NeXT code for getting load averages.
-
-Sat Feb 15 19:03:48 1997 Geoffrey Noer (noer@cygnus.com)
-
- * pexecute.c: Remove special cases for cygwin32.
- (pwait): Remove local definition of `pid'.
-
-Wed Jan 15 22:36:59 1997 Jim Meyering <meyering@kropotkin.gnu.ai.mit.edu>
-
- * getloadavg.c [hpux && HAVE_PSTAT_GETDYNAMIC]: Use HPUX's
- pstat_getdynamic function so we don't need any special privileges
- to determine load averages. Patch from Kaveh Ghazi, based on a
- sample implementation from Richard J. Rauenzahn.
- Indent cpp-directives to reflect nesting.
-
-Tue Jan 7 14:29:37 1997 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * config.guess: Add hppa1.1-hitachi-hiuxmpp support, passed along
- by rms.
-
-Sat Jan 4 22:43:21 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * config.guess (*:GNU:*:*): The machine/subtype separator printed
- by uname -m is now `-', not '/'.
-
-Fri Jan 3 08:38:49 1997 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * config.guess (M68*:*:R3V[567]*:*): Use uppercase 'M'.
-
-Tue Dec 31 15:51:13 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * config.guess, config.sub: Recognize mips-unknown-linux-gnu.
-
-Tue Dec 10 09:44:57 1996 Paul Eggert <eggert@twinsun.com>
-
- * choose-temp.c (choose_temp_base): Don't dump core if TMPDIR is empty.
-
- * choose-temp.c (try): Insist that temp dir be searchable.
-
-Sat Dec 7 17:48:02 1996 Dave Love <d.love@dl.ac.uk>
-
- * config.guess (PENTIUM:CPunix:4.0*:*): New case.
-
-Sun Nov 24 19:41:31 1996 Per Bothner <bothner@frobnitz.gnu.ai.mit.edu>
-
- * config.guess: Recognize machten.
- From Eric W. Bates <ericx@vineyard.net>.
-
-Sun Nov 24 18:17:53 1996 Dave Love <d.love@dl.ac.uk>
-
- * config.guess (PENTIUM:CPunix:4.0*:*): New case.
-
-Fri Nov 22 11:44:13 1996 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * config.guess: Undo accidental lowercasing in
- m68k-motorola-sysv regexp.
-
-Wed Nov 20 16:27:37 1996 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
-
- * config.guess, config.sub: Additions for the Fujitsu UXP/V.
- From joda@pdc.kth.se (Johan Danielsson).
-
-Tue Nov 19 13:34:12 1996 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
-
- * getpagesize.h: If no sys/param.h, default to 8k.
- Indent for readability.
-
-Wed Nov 13 14:59:46 1996 Per Bothner <bothner@deneb.cygnus.com>
-
- * config.guess: Patch for Dansk Data Elektronik servers,
- from Niels Skou Olsen <nso@dde.dk>.
-
- For ncr, use /bin/uname rather than uname, since GNU uname does not
- support -p. Suggested by Mark Mitchell <mmitchell@usa.net>.
-
- Patch for MIPS R4000 running System V,
- from Eric S. Raymond <esr@snark.thyrsus.com>.
-
- Fix thinko for nextstep.
-
- Patch for OSF1 in i?86, from Dan Murphy <dlm@osf.org> via Harlan Stenn.
-
- Sat Jun 24 18:58:17 1995 Morten Welinder <terra+@cs.cmu.edu>
- * config.guess: Guess mips-dec-mach_bsd4.3.
-
- Thu Oct 10 04:07:04 1996 Harlan Stenn <harlan@pfcs.com>
- * config.guess (i?86-ncr-sysv*): Emit just enough of the minor
- release numbers.
- * config.guess (mips-mips-riscos*): Emit just enough of the
- release number.
-
- Tue Oct 8 10:37:22 1996 Frank Vance <fvance@waii.com>
- * config.guess (sparc-auspex-sunos*): Added.
- (f300-fujitsu-*): Added.
-
- Wed Sep 25 22:00:35 1996 Jeff Woolsey <woolsey@jlw.com>
- * config.guess: Recognize a Tadpole as a sparc.
-
-Wed Nov 13 00:53:09 1996 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
-
- * config.guess: Don't assume that NextStep version is either 2 or
- 3. NextStep 4 (aka OpenStep 4) has come out now.
-
-Tue Nov 12 18:26:15 1996 Doug Rupp (rupp@gnat.com)
-
- * pexecute.c (vfork): Supply new definition for VMS.
- (pwait): Use waitpid instead of wait for VMS.
-
-Mon Nov 11 23:52:03 1996 David J. MacKenzie <djm@churchy.gnu.ai.mit.edu>
-
- * config.guess: Support Cray T90 that reports itself as "CRAY TS".
- From Rik Faith <faith@cs.unc.edu>.
-
-Fri Nov 8 11:34:58 1996 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * config.sub: Contributions from bug-gnu-utils to:
- Support plain "hppa" (no version given) architecture, reported by
- OpenStep.
- OpenBSD like NetBSD.
- LynxOs is not a hardware supplier.
-
- * config.guess: Contributions from bug-gnu-utils to add support for:
- OpenBSD like NetBSD.
- Stratus systems.
- More Pyramid systems.
- i[n>4]86 Intel chips.
- M680[n>4]0 Motorola chips.
- Use unknown instead of lynx for hardware manufacturer.
-
-Mon Oct 28 17:15:52 1996 Christian Limpach <chris@nice.ch>
-
- * config.sub: Recognize hppa-next as a valid CPU-COMPANY combination.
-
-Wed Oct 23 17:36:39 1996 Doug Rupp (rupp@gnat.com)
-
- * choose-temp.c (choose_temp_base): On VMS, use proper syntax
- for current directory.
-
-Wed Oct 9 23:30:18 1996 Jim Meyering <meyering@wombat.gnu.ai.mit.edu>
-
- * getloadavg.c: [__hpux]: Define hpux. From Eric Backus.
- [__sun]: Define sun. Reported by Kaveh Ghazi.
-
-Mon Sep 23 22:45:15 1996 Sean McNeil <sean@mcneil.com>
-
- * config.sub (-vxsim*): New operating system.
-
- 1996-09-12 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
-
- * config.guess: Use pc instead of unknown, for pc clone systems.
- Change linux to linux-gnu.
-
-Thu Sep 12 20:12:26 1996 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
-
- * config.sub: Use pc instead of unknown, for pc clones.
- Use -linux-gnu for Linux-based GNU systems.
-
-1996-09-04 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
-
- * getloadavg.c (getloadavg): Add new code for SUNOS_5 to use -lkstat.
-
-Sat Aug 17 15:23:39 1996 Geoffrey Noer <noer@cygnus.com>
-
- * choose-temp.c: Delete !defined(_WIN32) condition when including
- sys/file.h (NO_SYS_FILE_H is still used).
- * getopt.c: Change win32 test from WIN32 to _WIN32.
- * pexecute.c: Update test for win32 (&& ! cygwin32).
-
-Mon Jul 15 23:51:11 1996 Karl Heuer <kwzh@gnu.ai.mit.edu>
-
- * config.guess: Avoid non-portable tr syntax.
-
-Mon Jul 15 11:53:00 1996 Jeffrey A Law (law@cygnus.com)
-
- * config.guess (HP 9000/811): Recognize this as a PA1.1
- machine.
-
-Thu Jul 11 17:02:23 1996 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * install-sh: Add MIT copyright notice. From gordoni@cygnus.com.
-
-Sun Jul 7 13:27:04 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
-
- * config.sub: Recognize rtems as an o/s.
-
-Tue Jul 2 16:45:02 1996 Torbjorn Granlund <tege@spiff.gnu.ai.mit.edu>
-
- * config.guess: Generalize C90 alternative to all x90 machines.
-
-Fri Jun 28 13:29:05 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * config.guess (mips:*:*:UMIPS): Fix typo in last change.
-
-Tue Jun 25 22:43:48 1996 Doug Evans <dje@cygnus.com>
-
- * pexecute.c (PEXECUTE_VERBOSE): Define.
- (MPW pexecute): Check flags & PEXECUTE_VERBOSE instead of verbose_flag.
-
-Mon Jun 24 14:32:22 1996 Jim Wilson <wilson@cygnus.com>
-
- * getopt.c (getpid): Don't redefine it if __CYGWIN32__ is defined.
-
-Thu Jun 20 12:20:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * config.guess (*:Linux:*:*): Add support for PowerPC Linux.
-
-Mon Jun 10 16:10:57 1996 Doug Evans <dje@cygnus.com>
-
- * pexecute.c: New file.
-
-Fri Jun 7 18:16:52 1996 Harlan Stenn <harlan@pfcs.com>
-
- * config.guess (i?86-ncr-sysv*): Emit minor release numbers.
- Recognize the NCR 4850 machine and NCR Pentium-based platforms.
-
-Wed Jun 5 00:09:17 1996 Per Bothner <bothner@wombat.gnu.ai.mit.edu>
-
- * config.guess: Combine mips-mips-riscos cases, and use cpp to
- distinguish sysv/svr4/bsd variants.
- Based on a patch from Harlan Stenn <harlan@pfcs.com>.
-
-Mon Jun 3 08:49:14 1996 Karl Heuer <kwzh@gnu.ai.mit.edu>
-
- * config.guess (*:Linux:*:*): Add guess for sparc-unknown-linux.
-
-Mon May 27 20:16:42 1996 Karl Heuer <kwzh@gnu.ai.mit.edu>
-
- * getloadavg.c [SOLARIS2]: Define SUNOS_5.
-
-Fri May 24 18:34:53 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * config.guess (AViiON:dgux:*:*): Fix typo in recognizing mc88110.
-
-Wed May 22 17:20:59 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * getloadavg.c [WIN32]: No-op as for [MSDOS].
-
- * getopt.c [WIN32] (getpid): Define using GetCurrentProcessId.
-
- * getopt.c [VMS]: Include unixlib.h, string.h.
-
-Tue May 21 18:55:59 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * config.sub: Restore `hp9k2[0-9][0-9] | hp9k31[0-9])' case line
- apparently accidentally removed in the last change.
-
-Mon May 20 11:58:15 1996 Jeffrey A. Law <law@cygnus.com>
-
- * config.sub: Recognize -proelf as a basic system type.
-
-Fri May 3 02:35:56 1996 Noah Friedman <friedman@prep.ai.mit.edu>
-
- * mkinstalldirs: Don't report an error if mkdir fails because
- a directory was created by another process.
-
-Sun Apr 21 09:50:09 1996 Stephen L Moshier (moshier@world.std.com)
-
- * choose-temp.c: Include sys/types.h before sys/file.h for sco3.2v5.
-
-Tue Apr 9 14:37:31 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * obstack.h [__STDC__] (obstack_init, obstack_begin,
- obstack_specify_allocation, obstack_specify_allocation_with_arg,
- obstack_chunkfun, obstack_freefun): Duplicate definition with complete
- type cast.
-
-Wed Apr 17 14:28:43 1996 Doug Evans <dje@cygnus.com>
-
- * choose-temp.c: Don't include sys/file.h ifdef NO_SYS_FILE_H.
- #include <stdio.h>.
- (choose_temp_base): Make tmp,usrtmp, static locals.
-
-Mon Apr 15 14:08:12 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * choose-temp.c: New file.
-
-Fri Apr 12 20:03:59 1996 Per Bothner <bothner@spiff.gnu.ai.mit.edu>
-
- * config.guess: Combine two OSF1 rules.
- Also recognize field test versions. From mjr@zk3.dec.com.
-
- * config.guess (dgux): Use /usr/bin/uname rather than uname,
- because GNU uname does not support -p. From pmr@pajato.com.
-
-Mon Apr 8 16:16:20 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * config.guess (prep*:SunOS:5.*:*): Turn into
- powerpele-unknown-solaris2.
-
-Thu Mar 28 02:06:03 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- * error.c (_): New macro, define iff undefined.
- (private_strerror): Use it for message string.
- (error_at_line): New function.
- (error_one_per_line): New variable.
- * error.h (error_at_line, error_one_per_line): Declare them.
-
-Thu Mar 21 14:42:26 1996 Doug Evans <dje@cygnus.com>
-
- * config.sub (os): sunos[3456] -> sunos[34],
- sunos[56] have their own entries.
-
-Wed Mar 20 09:59:30 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- * signame.c [HAVE_STRING_H]: Include string.h.
-
-Tue Mar 19 20:07:39 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- * alloca.c (NULL): Define only if not already defined.
-
- * alloca.c [HAVE_STRING_H]: Include string.h.
- [HAVE_STDLIB_H]: Include stdlib.h.
-
-Thu Mar 14 19:12:52 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * config.guess: Recognize mips-*-sysv*, with a specific case for
- NEC (which has its own compiler and libraries).
-
-Sat Mar 9 23:52:33 1996 Jim Meyering (meyering@na-net.ornl.gov)
-
- * getdate.y (RelativeMonth): Add 1900 to the year so that relative
- date specs that push the year through the end of the century work.
- For example, `date -d "01/01/1998 3 years" +%Y' now prints 2001.
- From Peter Dalgaard (pd@kubism.ku.dk).
-
-Tue Mar 5 18:43:43 1996 Richard Henderson <rth@tamu.edu>
-
- * config.sub: Add -apple and -aux.
-
-Tue Mar 5 03:02:53 1996 Erik Naggum <erik@naggum.no>
-
- * config.sub (moss): Fix previous change.
-
-Mon Mar 4 18:03:38 1996 Bryan Ford (baford@cs.utah.edu)
-
- * config.sub: Accept -moss* as op sys.
-
-Fri Mar 1 09:57:54 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- * config.sub: Recognize cpu-vendor [ctj]90-cray, default
- c90-cray-unicos. From tege.
-
-Wed Feb 28 19:55:05 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * getopt.c (_getopt_internal): Always set OPTOPT to *something* if
- returning '?', so it can be distinguished from an option.
-
-Thu Feb 22 15:51:09 1996 Karl Heuer <kwzh@gnu.ai.mit.edu>
-
- * getdate.y (Convert): Accept dates beyond 1999.
-
-Tue Feb 13 13:20:32 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * getopt.c (_getopt_internal): Give FIRST_NONOPT & LAST_NONOPT
- rational values if OPTIND has been moved back by the user.
-
-Mon Feb 12 18:23:35 1996 Doug Evans <dje@cygnus.com>
-
- * config.sub: Recognize sparclet cpu.
-
-Sun Feb 11 18:40:11 1996 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * config.sub: Fix typo in previous change.
-
-Sat Feb 10 08:28:12 1996 Martin Anantharaman <martin@goofy.imech.uni-duisburg.de>
-
- * config.sub (-psos*): New case.
-
-Thu Feb 8 15:37:52 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * config.guess (UNAME_VERSION): Recognize X4.x as an OSF version.
-
-Sun Feb 4 16:51:11 1996 Steve Chamberlain <sac@slash.cygnus.com>
-
- * config.guess (*:CYGWIN*): New
-
-Mon Feb 12 15:33:59 1996 Christian Bauernfeind <chrisbfd@theorie3.physik.uni-erlangen.de>
-
- * config.guess: Support m68k-cbm-sysv4.
-
-Sat Feb 10 12:06:42 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * config.guess (*:Linux:*:*): Guess m68k-unknown-linux and
- m68k-unknown-linuxaout from linker help string. Put quotes around
- $ld_help_string.
-
-Wed Feb 7 15:31:09 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getopt.c [__GNU_LIBRARY__]: Include <unistd.h>.
-
- * getopt.c (nonoption_flags, nonoption_flags_len): New variables.
- (_getopt_initialize): If not POSIXLY_CORRECT, check for special
- environment variable from Bash 2.0 and set those vars from it.
- (_getopt_internal): Do not consider as options argv elts whose
- nonoption_flags elt from the shell is '1'.
-
-Thu Feb 1 09:10:02 1996 Steve Chamberlain <sac@slash.cygnus.com>
-
- * config.sub (-cygwin32): New.
-
-Wed Jan 31 14:13:25 1996 Richard Henderson <rth@tamu.edu>
-
- * config.sub: Add support for A/UX.
- * config.guess: Recognize A/UX.
-
-Tue Jan 23 13:15:50 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * obstack.h [__STDC__] (struct obstack, _obstack_begin,
- _obstack_begin_1): Use prototypes in function decls.
- * obstack.c (CALL_CHUNKFUN, CALL_FREEFUN): Cast function type for
- call w/o extra_arg.
-
- * error.c (error_print_progname) [__STDC__]: Declare with
- prototype.
- [_LIBC]: Include errno.h to declare program_invocation_name.
-
- * getopt.c [__STDC__] (exchange, _getopt_initialize): Declare
- prototypes for these.
-
-Mon Jan 22 08:53:45 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * xmalloc.c [__STDC__] (fixup_null_alloc): Declare prototype.
-
-Sun Jan 21 01:08:09 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * error.h: Declare error_print_progname. Add comments.
-
-Wed Jan 17 17:39:51 1996 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * config.sub: Default OS to nextstep if machine vendor is Next.
- -ns2 is an alias for -nextstep.
-
-Wed Jan 17 09:51:58 1996 Doug Evans <dje@cygnus.com>
-
- * config.sub: Recognize go32* as an os.
-
-Sun Jan 7 02:00:27 1996 Karl Heuer <kwzh@gnu.ai.mit.edu>
-
- * alloca.c (alloca): If malloc fails, just abort.
-
-Mon Jan 15 20:59:49 1996 J. Kean Johnston <hug@netcom.com>
-
- * config.sub (sco5): New case.
-
-Tue Dec 19 15:56:15 1995 Eli Zaretskii <eliz@is.elta.co.il>
-
- * getloadavg.c (getloadavg) [MSDOS]: Return 0 load instead of
- failing the call.
-
-Fri Dec 15 22:34:08 1995 Stan Coxs <coxs@dg-rtp.dg.com>
-
- * config.guess (AViiON): Add ix86-dg-dgux
- * config.sub (i*86*) Change [345] to [3456]
-
-Thu Dec 7 09:03:24 1995 Tom Horsley <Tom.Horsley@mail.hcsc.com>
-
- * config.guess (powerpc-harris-powerunix): Add guess for port
- to new target.
-
-Wed Dec 6 09:44:53 1995 Paul Eggert <eggert@twinsun.com>
-
- * install-sh (transformbasename): Fix misspelling in initialization.
-
-Wed Dec 6 06:58:23 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * config.sub: Recognize aof in the OS field.
-
-Tue Dec 5 18:36:41 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * error.c [_LIBC]: Adapt for use in GNU libc.
-
-Mon Dec 4 13:21:51 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu>
-
- * config.guess: Recognize HP model 816 machines as having
- a PA1.1 processor.
-
-Thu Nov 30 16:57:33 1995 Per Bothner <bothner@wombat.gnu.ai.mit.edu>
-
- * config.guess: Recognize Pentium under SCO.
- From Robert Lipe <robertl@arnet.com>.
-
-Tue Nov 21 16:59:12 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * getdate.y: If config.h defines FORCE_ALLOCA_H, include alloca.h.
-
-Mon Oct 16 11:34:00 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu>
-
- * config.guess: Recognize HP model 819 machines as having
- a PA 1.1 processor.
-
-Sat Sep 30 14:03:17 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getopt.c (_): New macro, define if not already defined.
- (gettext): Never define as a macro.
- (_getopt_internal): Use ``_("message")'' instead of
- `gettext ("message")''.
-
-Mon Aug 14 19:27:56 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * config.guess (*Linux*): Add missing "exit"s.
- Also, need specific check for alpha-unknown-linux (uses COFF).
-
-Fri Jul 28 00:16:31 1995 Jeffrey A. Law <law@rtl.cygnus.com>
-
- * config.guess: Recognize lynx-2.3.
-
-Thu Jul 27 13:31:05 1995 Fred Fish (fnf@cygnus.com)
-
- * config.guess (*:Linux:*:*): First try asking the linker what the
- default object file format is (elf, aout, or coff). Then if this
- fails, try previous methods.
-
-Mon Aug 7 16:48:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getloadavg.c [ps2]: Use nlist instead of knlist #ifdef _AIX.
-
-Fri Aug 4 10:27:54 1995 Jim Meyering (meyering@comco.com)
-
- * getopt.c (_getopt_internal) [lint]: Initialize INDFOUND to
- avoid warning from gcc.
-
-Tue Aug 1 14:29:43 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getloadavg.c (getloadavg): Set FD_CLOEXEC flag on /dev/kmem file
- descriptor.
-
-Wed Jul 26 00:26:34 1995 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * mkinstalldirs: Remove weird unnecessary shell construction.
-
-Wed Jun 28 17:57:27 1995 David Edelsohn <edelsohn@mhpcc.edu>
-
- * config.guess (AIX4): More robust release numbering discovery.
-
-Thu Jun 22 19:01:24 1995 Kenneth Stailey (kstailey@eagle.dol-esa.gov)
-
- * config.guess (i386-sequent-ptx): Properly get version number.
-
-Thu Jun 22 18:36:42 1995 Uwe Seimet (seimet@iris1.chemie.uni-kl.de)
-
- * config.guess (mips:*:4*:UMIPS): New case.
-
-Tue Jun 20 02:41:41 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getloadavg.c [convex] (LOAD_AVE_TYPE, LDAV_CVT): Define to
- double, no conversion.
-
- * obstack.c (OBSTACK_INTERFACE_VERSION): New macro. Rewrote
- conditionals to use that macro to ensure that the installed GNU
- libc supports the interface the obstack.h corresponding to this
- obstack.c needs, and only then elide the code in this file.
-
-Sun May 28 18:53:29 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * config.guess (21064:Windows_NT:50:3): New case.
-
-Fri May 19 16:52:50 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * error.c (error_message_count): New variable.
- (error): Increment it.
- * error.h: Declare error_message_count.
-
-Mon May 15 17:47:55 1995 Per Bothner (bothner@spiff.gnu.ai.mit.edu)
-
- * config.guess: Recognize Cray90 (from Pete TerMaat).
-
-Thu May 11 17:13:14 1995 Per Bothner (bothner@wombat.gnu.ai.mit.edu)
-
- * config.guess: Recognize PCs running Solaris2.
- (Patch from Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>.)
- * config.guess: Merge two CRAY*Y-MP entries.
- Ignore system field for Cray xmp and cray2 since "uname -s" on
- a Cray gets you the hostname, which is useless.
- (According to Pete TerMaat <pete@guava.cray.com>.)
-
-Wed May 10 11:03:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getloadavg.c: AIX support from Tim Bell <tbel@afsmail.cern.ch>:
- [_AIX] (LOAD_AVE_TYPE, FSCALE, NLIST_STRUCT): Define these for AIX.
- (getloadavg) [_AIX]: Use `knlist' instead of `nlist'.
-
-Fri May 5 05:50:56 1995 Allen Briggs (briggs@puma.bevd.blacksburg.va.us)
-
- * config.guess: Add more NetBSD cases: atari, sun3*, and mac68k.
-
-Wed May 3 16:22:31 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * crt0.c: Add APOLLO alternative.
-
-Sat Apr 29 15:48:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * signame.c: Move include of config.h before all others.
-
-Thu Apr 27 11:33:29 1995 Michael Meissner (meissner@cygnus.com)
-
- * config.guess (*:Linux:*:*): Check for whether the pre-BFD linker is
- installed, and if so return linuxoldld as the system name.
-
-Thu Apr 27 13:11:11 1995 Jim Meyering (meyering@comco.com)
-
- * error.h: Use __-protected versions of `format' and `printf'
- attributes only with gcc-2.7 and later.
-
-Thu Apr 27 09:22:33 1995 Peder Chr. Norgaard <pcn@tbit.dk>
-
- * config.guess (i[34]86:*:3.2:*) test for /usr/options/cb.name
- before calling uname.
-
-Wed Apr 26 17:19:34 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * signame.c [HAVE_UNISTD_H]: Include unistd.h so it can declare
- sys_siglist.
-
-Wed Apr 26 14:00:00 1995 Michael Meissner (meissner@cygnus.com)
-
- * config.guess (*:Linux:*:*): Determine whether the default compiler is
- a.out or ELF based.
- (parisc*:Lites*:*:*): New entry from Jeff Law.
-
-Wed Apr 26 11:48:21 1995 Jim Meyering (meyering@comco.com)
-
- * error.h: New file.
-
-Wed Apr 26 10:27:50 1995 Travis L Priest (T.L.Priest@larc.nasa.gov)
-
- * config.guess (CRAY*Y-MP:*:*:*): New entry.
-
-Wed Apr 26 12:54:26 1995 Jeffrey A. Law <law@snake.cs.utah.edu>
-
- * config.guess: Add hppa1.1-hp-lites support.
-
-Thu Apr 6 19:55:54 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * crt0.c [__bsdi__]: Maybe declare __progname.
-
-Fri Mar 24 00:52:31 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getopt.c (_getopt_internal): When optind is zero, bump it to 1
- after initializing; we don't want to scan ARGV[0], which is the
- program name.
-
-Tue Mar 21 16:44:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * signame.c (signame_init): Define SIGINFO.
-
-Tue Mar 7 01:41:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * signame.c (strsignal): Cast sys_siglist elt to char *.
-
-Thu Feb 23 18:42:16 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * signame.h [! __STDC__]: Don't use prototype for strsignal decl.
-
-Wed Feb 22 19:08:43 1995 Niklas Hallqvist (niklas@appli.se)
-
- * config.guess: Recognize NetBSD/Amiga as m68k-cbm-netbsd.
-
-Tue Feb 21 22:13:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * signame.h (strsignal): Declare it.
- * signame.c [! HAVE_STRSIGNAL] (strsignal): New function.
-
-Wed Feb 8 10:03:36 1995 David J. MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * install-sh config.guess mkinstalldirs: Add a blank in the #!
- line for 4.2BSD, Dynix, etc.
-
-Sat Feb 4 12:59:59 1995 Jim Wilson <wilson@cygnus.com>
-
- * config.guess (IRIX): Sed - to _.
-
-Sat Jan 28 20:09:49 1995 Daniel Hagerty <hag@duality.gnu.ai.mit.edu>
-
- * error.c: Under older versions of SCO, strerror is a preprocessor
- macro. Added a check for this.
-
-Fri Jan 27 09:55:28 1995 Jim Meyering (meyering@comco.com)
-
- * getdate.y: Remove obsolete comments. Rewrite others.
-
-Mon Jan 23 19:41:57 1995 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
-
- * config.guess (i[34]86:*:3.2:*): Test for ISC before SCO; newer
- ISC releases have uname -X.
-
-Tue Jan 10 09:26:41 1995 Jim Meyering (meyering@comco.com)
-
- * getdate.y (ToSeconds): Interpret 12am as 00:00 and 12pm as 12:00.
- Before, `date -d 'Jan 1 12am'' printed `...12:00:00...'.
- From Takeshi Sone <ts1@tsn.or.jp>.
-
-Sat Jan 7 11:57:40 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getloadavg.c: Include config.h first.
-
-Wed Jan 4 15:52:17 1995 Per Bothner (bothner@spiff.gnu.ai.mit.edu)
-
- * config.guess: Recognize BSD/OS as bsdi.
- Patch from Chris Torek <torek@BSDI.COM>.
-
-Wed Dec 21 15:51:08 1994 Warner Losh (imp@boulder.openware.com)
-
- * config.guess (sun4:SunOS:*:*): Handle Solbourne OS/MP systems.
-
-Tue Dec 6 02:29:42 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * config.guess (dummy.c) [sony]: Include <sys/param.h> and emit
- newsos4 #ifdef NEWSOS4.
-
-Tue Nov 29 17:01:29 1994 Mark Dapoz (md@bsc.no)
-
- * config.guess (ibmrt): Add more cases for various forms of BSD.
-
-Tue Nov 29 16:19:54 1994 Paul Eggert <eggert@twinsun.com>
-
- * getopt.c (_getopt_internal): Add gettext wrappers around
- message strings.
-
- * xmalloc.c (fixup_null_alloc): Add gettext wrapper.
- Capitalize initial letter of error message, for consistency
- with regex.c.
-
-Fri Nov 25 19:22:24 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * crt0.c (start1): Add self reference.
-
-Wed Nov 23 16:51:11 1994 R. Bernstein (rocky@panix.com)
-
- * config.guess: Add cases for romp-ibm-aix and romp-ibm-bsd.
-
-Mon Nov 14 19:03:29 1994 Per Bothner (bothner@spiff.gnu.ai.mit.edu)
-
- * config.guess: Support paragon as i860-intel-osf1. (From RMS.)
-
-Fri Nov 11 14:04:58 1994 Andreas Luik (luik@isa.de)
-
- * obstack.h: Add one missing test on value of __STDC__.
-
-Sat Nov 05 08:08:52 1994 Jim Meyering (meyering@comco.com)
-
- * obstack.h: NextStep 2.0 cc is really gcc 1.93 but it defines
- __GNUC__ = 2 and does not implement __extension__. So add
- `|| (__NeXT__ && !__GNUC_MINOR__)' to the test for whether to
- define-away __extension__. Reported by Kaveh Ghazi.
-
-Thu Nov 03 14:36:58 1994 Jim Meyering (meyering@comco.com)
-
- * filemode.c (rwx): Use S_IRUSR, S_IWUSR, S_IXUSR instead of
- obsolete S_IREAD, S_IWRITE, S_IEXEC.
- Make sure the former three are defined.
-
-Tue Nov 1 14:24:39 1994 Per Bothner (bothner@spiff.gnu.ai.mit.edu)
-
- * config.guess (*-unknown-freebsd): Remove [-(] from
- UNAME_RELEASE. Patch from Warner Losh <imp@village.org>.
-
-Mon Oct 31 07:02:15 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getopt.h: Change #if __STDC__ to #if defined (__STDC__) &&
- __STDC__.
- * getopt.c: Change #ifndef __STDC__ to #if !defined (__STDC__) ||
- !__STDC__.
- * getopt1.c: Likewise.
- * obstack.c: Change #ifdef __STDC__ to #if defined (__STDC__) &&
- __STDC__.
- * obstack.h: Likewise.
-
-Wed Oct 26 20:34:59 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getloadavg.c [alliant && i860] (FSCALE): Move defn before
- #ifndef FSCALE.
-
-Tue Oct 25 19:10:41 1994 Paul Eggert <eggert@twinsun.com>
-
- * xmalloc.c (fixup_null_alloc): New function.
- (xmalloc, xrealloc): Use it to fix up returned NULL values,
- instead of preemptively adjusting a zero N to 1.
-
-Tue Oct 25 11:22:30 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * xmalloc.c (xmalloc, xrealloc): If 0 bytes requested, pretend
- it's 1, for diff.
-
-Thu Oct 20 18:47:53 1994 Per Bothner (bothner@wombat.gnu.ai.mit.edu)
-
- * config.guess: Better support for NCR - covers more machines,
- and prints sysv4.3 if uname says the OS is 4.3.
- Patch from Tom McConnell <tmcconne@sedona.intel.com>.
-
-Wed Oct 19 15:55:38 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * config.guess: Add licensing exception for Autoconf.
-
-Tue Oct 18 19:26:31 1994 David Edelsohn (edelsohn@npac.syr.edu)
-
- * config.guess: Revise support for AIX 4.1 on POWER and PowerPC.
-
-Mon Oct 17 19:16:38 1994 David Edelsohn <edelsohn@npac.syr.edu>
-
- * config.guess: Add support for AIX 4.1 and architecture.
-
-Wed Oct 12 16:51:35 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu)
-
- * error.c: Add hook for alternate name printing function.
- From Franc,ois Pinard.
- Use varargs for _doprnt too.
-
- * xmalloc.c: Add hook for alternate exit status.
- From Franc,ois Pinard.
-
-Mon Oct 10 17:35:19 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getpagesize.h: If NBPC is not defined, try PAGESIZE.
-
-Fri Oct 07 18:53:28 1994 Jim Meyering (meyering@comco.com)
-
- * filemode.c: Remove #if 0'd block around mode_t definition.
- From Andreas Luik (luik@marx.isa.de).
-
-Thu Oct 06 21:15:16 1994 Jim Meyering (meyering@comco.com)
-
- * pathmax.h: Fix typo: HAVE_SYS_PATH_MAX_H -> HAVE_SYS_PARAM_H.
- From Andreas Schwab (schwab@issan.informatik.uni-dortmund.de).
-
-Thu Oct 6 18:02:32 1994 Per Bothner (bothner@wombat.gnu.ai.mit.edu)
-
- * config.guess: Patch from Chris Smith <csmith@mozart.convex.com>
- to handle old Convex systems without uname.
-
-Tue Oct 4 03:02:39 1994 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * getdate.y (main): Use MAX_BUFF_LEN consistently.
- Clear the last element of buf.
-
-Mon Oct 3 01:48:48 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * config.guess: Recognize GNU.
-
-Thu Sep 29 18:47:34 1994 Jerry Frain (jerry@sneffels.tivoli.com)
-
- * config.guess (i[34]86:UNIX_SV:4.*:*): Remove "UNIX_SV" for
- Unixware; move DYNIX above this one now that this is wildcard.
-
-Wed Sep 28 17:00:12 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * getloadavg.c [alliant && i860] (LOAD_AVE_TYPE, FSCALE,
- NLIST_STRUCT): Define.
-
-Mon Sep 26 17:53:05 1994 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
-
- * alloca.c error.c filemode.c getopt.c getopt1.c getdate.y
- getloadavg.c getugroups.c getusershell.c signame.c:
- Remove CONFIG_BROKETS ifdef. No one should use "config.h".
-
-Sat Sep 24 21:20:12 1994 Jim Meyering (meyering@comco.com)
-
- * getdate.y [struct _TABLE]: Add `const' to NAME member dcl.
-
-Fri Sep 23 02:39:55 1994 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * crt0.c [__FreeBSD__] (__progname): Declared.
-
-Tue Sep 20 23:27:02 1994 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * getdate.y: Whitespace reformatted.
- (MAX_BUFF_LEN): New macro.
- (main): Use fgets, not gets. Use MAX_BUFF_LEN to declare buff.
-
-Mon Sep 19 18:25:40 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * config.guess (HP-UX): Patch from Harlan Stenn
- <harlan@landmark.com> to also emit release level.
-
-Wed Sep 7 13:15:25 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * config.guess (sun4*:SunOS:*:*): Change '-JL' to '_JL'.
-
-Fri Sep 16 20:16:36 1994 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * getloadavg.c (getloadavg): Add OSF_ALPHA support.
-
-Fri Sep 16 18:34:22 1994 Paul Eggert <eggert@twinsun.com>
-
- * getdate.y (difftm): Don't store a long value into an int variable.
-
-Thu Sep 08 00:26:29 1994 Jim Meyering (meyering@comco.com)
-
- * getdate.y: Accept `MESZ' timezone.
-
-Sun Aug 28 18:13:45 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * config.guess (*-unknown-freebsd*): Get rid of possible
- trailing "(Release)" in version string.
- Patch from Paul Richards <paul@isl.cf.ac.uk>.
-
-Sat Aug 27 15:00:49 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * config.guess: Fix i486-ncr-sysv43 -> i486-ncr-sysv4.3.
- Fix type: *-next-neststep -> *-next-nextstep.
-
-Sat Jun 4 17:23:54 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * configure.in: Use mh-ncrsvr43. Patch from
- Tom McConnell <tmcconne@sedona.intel.com>.
-
-Sat Aug 27 17:21:04 1994 Jim Meyering (meyering@comco.com)
-
- * filemode.c [STAT_MACRO_BROKEN]: Remove spurious #ifdef's.
-
-Fri Aug 26 19:17:22 1994 Per Bothner (bothner@spiff.gnu.ai.mit.edu)
-
- * config.guess (netbsd, freebsd, linux): Accept any machine,
- not just i[34]86.
-
-Fri Aug 26 18:45:25 1994 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * config.guess: Recognize powerpc-ibm-aix3.2.5.
-
-Fri Aug 26 15:12:50 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * config.guess: Merges from Cygnus version.
- (alpha-dec-osf*): More general.
- (*-hp-hpux*): Combine cases.
- (*-next-ns[23]): Rename to *-next-neststep[23].
- Make code fragment shorter.
- (config.guess, i386-unknown-bsd): Don't recognize __bsdi__ here;
- it is handled using uname.
-
- Sat Jul 16 12:03:08 1994 Stan Shebs (shebs@andros.cygnus.com)
-
- * config.guess: Recognize m88k-harris-csux7.
-
- Tue Jun 28 13:43:25 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * config.guess: Recognize Mach.
-
- Wed Apr 6 20:44:56 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * config.guess: Add SINIX support.
-
- Sun Mar 6 23:13:38 1994 Hisashi MINAMINO (minamino@sra.co.jp)
-
- * config.guess: about target *-hitachi-hiuxwe2, fixed
- machine guessing order. [Hitachi's CPU_IS_HP_MC68K
- macro is incorrect.]
-
- Thu Feb 24 07:09:04 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * config.guess: Handle OSF1 running on HPPA processors
-
- Fri Feb 11 15:33:33 1994 Stu Grossman (grossman at cygnus.com)
-
- * config.guess: Add Lynx/rs6000 config support.
-
-Thu Aug 25 20:28:51 1994 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * config.guess (Pyramid*:OSx*:*:*): New case.
- (PATH): Add /.attbin at end for finding uname.
- (dummy.c): Handle i860-alliant-bsd. Follow whitespace conventions.
-
-Wed Aug 17 18:21:02 1994 Tor Egge (tegge@pvv.unit.no)
-
- * config.guess (M88*:DolphinOS:*:*): New case.
-
-Thu Aug 11 17:00:13 1994 Stan Cox (coxs@dg-rtp.dg.com)
-
- * config.guess (AViiON:dgux:*:*): Use TARGET_BINARY_INTERFACE
- to select whether to use ELF or COFF.
-
-Thu Jul 28 19:16:24 1994 Uwe Seimet (seimet@chemie.uni-kl.de)
-
- * config.guess: Recognize m68k-atari-sysv4.
-
-Sun Jul 24 16:20:53 1994 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * config.guess: Recognize i860-stardent-sysv and i860-unknown-sysv.
-
-Sat Jul 23 02:15:01 1994 Karl Heuer (karl@hal.gnu.ai.mit.edu)
-
- * config.guess (isc): Distinguish isc from generic sysv32.
-
-Mon Jul 11 23:55:13 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c (posixly_correct): New variable.
- (_getopt_initialize): Set posixly_correct from envvar.
- (_getopt_internal): Don't use "illegal" in error message
- unless posixly_correct.
-
-Sun Jul 03 08:46:58 1994 Jim Meyering (meyering@comco.com)
-
- * pathmax.h: Add HAVE_SYS_PARAM_H to and remove !MS_DOS from
- preprocessor conditional guarding inclusion of sys/param.h.
-
-Mon Jun 20 23:45:34 1994 Jim Meyering (meyering@comco.com)
-
- * modechange.c (mode_compile) [lint]: Initialize CHANGE to suppress
- used uninitialized compiler warning.
-
-Wed Jun 15 19:07:49 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * config.guess (alpha): Supoort OSF/1 V2.0 and later.
-
-Tue Jun 14 17:50:05 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * obstack.h (obstack_grow{,0}): Cast WHERE to char * before
- passing to bcopy.
-
-Mon Jun 6 04:59:28 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * config.guess: Add support for bsdi.
-
-Sat Jun 4 01:24:59 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * getloadavg.c: Put #include of errno.h and decl of errno before
- #ifndef HAVE_GETLOADAVG.
-
-Thu Jun 2 13:42:39 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * alloca.c [emacs]: Block input around the garbage reclamation.
- Include blockinput.h.
-
-Tue May 10 16:53:55 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * config.guess: Add trap cmd to remove dummy.c and dummy when
- interrupted.
-
-Sun May 1 10:23:10 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * config.guess: Guess the OS version for HPUX.
-
-Wed Apr 27 15:14:26 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * install.sh: If $dstdir exists, don't check whether each
- component does.
-
-Mon Apr 25 14:39:06 1994 Poul-Henning Kamp (phk@login.dkuug.dk)
-
- * config.guess: Recognize FreeBSD.
-
-Sun Apr 24 17:56:58 1994 Jim Meyering (meyering@comco.com)
-
- * getdate.y (difftm, get_date): Revert my April 18 changes.
- Paul Eggert pointed out that that hack probably wouldn't work
- for places like Chile that had DST in effect on 31 Dec 1970.
- * (get_date): Instead, add 60 minutes to timezone if DST is in
- effect locally. From andy@eng.kvaerner.no (Andrew Walker).
- Remove static declaration of `RCS.'
-
-Fri Apr 22 22:15:28 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * install.sh: Add -d, -t, -b options. Make leading directories.
- Don't partially install files.
- From zoo@cygnus.com.
-
-Wed Apr 20 18:07:13 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * config.guess (dummy.c): Redirect stderr for `hostinfo' command.
- (dummy): Redirect stderr from compilation of dummy.c.
-
-Wed Apr 20 06:36:32 1994 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * config.guess: Recognize UnixWare 1.1 (UNAME_SYSTEM is SYSTEM_V
- instead of UNIX_SV for UnixWare 1.0).
-
-Mon Apr 18 22:01:27 1994 Jim Meyering (meyering@comco.com)
-
- * getdate.y (difftm): Remove function.
- (get_date): Get timezone *without DST bias* from localtime(&zero).
- Modeled after the hack in localtime.pl from the perl distribution.
- This fixes an error that had `date -d '4apr94'' producing
- `Sun Apr 3 23:00:00 CDT 1994'.
-
-Fri Apr 15 22:46:59 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getdate.y: Delete special alloca code.
-
-Tue Apr 12 15:05:08 1994 Noah Friedman (friedman@prep.ai.mit.edu)
-
- * config.guess: Merge rms' new entry for i486-ncr-sysv4 with the
- previously existing one.
-
-Mon Apr 11 00:54:33 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c [not __GNU_LIBRARY__] [__GCC__] [not __STDC__]:
- Declare strlen to return int. Don't include stddef.h.
-
- * config.guess: Add 3[34]??,3[34]??:*:4.0:* for i486-ncr-sysv4.
-
-Sat Apr 9 14:59:28 1994 Christian Kranz (kranz@sent5.uni-duisburg.de)
-
- * config.guess: Distinguish between NeXTStep 2.1 and 3.x.
-
-Fri Apr 1 00:38:17 1994 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
-
- * obstack.h, getopt.c: Delete use of IN_GCC to control whether
- stddef.h or gstddef.h is included.
-
-Fri Mar 25 23:01:17 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * mkinstalldirs: Preserve leading slash in file names.
- From Jim Meyering.
-
-Sun Mar 20 01:29:20 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * alloca.s [emacs]: Use <...> to include config.h.
-
-Tue Mar 1 21:53:03 1994 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
-
- * config.guess (UNAME_VERSION): Recognize aix3.2.4 and aix3.2.5.
-
-Thu Feb 24 14:54:23 1994 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getopt.c: Remove #ifdef GETOPT_COMPAT and #if 0 code.
- (_getopt_initialize): New function, broken out of _getopt_internal.
- (_getopt_internal):
- If long_only and the ARGV-element has the form "-f", where f is
- a valid short option, don't consider it an abbreviated form of
- a long option that starts with f. Otherwise there would be no
- way to give the -f short option.
-
-Thu Feb 10 14:44:16 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c [not __GNU_LIBRARY__] [__GNUC__] [not IN_GCC]:
- Test just __STDC__, not emacs.
-
-Wed Feb 9 17:46:31 1994 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
-
- * getdate.y (difftm): Simplify return expression.
-
-Wed Feb 9 00:14:00 1994 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c [not __GNU_LIBRARY__] [__GNUC__] [not IN_GCC]
- [emacs] [not __STDC__]: Don't include stddef.h. Don't declare strlen.
-
-Tue Feb 8 14:14:31 1994 David J. MacKenzie (djm at douglas.gnu.ai.mit.edu)
-
- Handle obstack_chunk_alloc returning NULL. This allows
- obstacks to be used by libraries, without forcing them
- to call exit or longjmp.
- * obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
- If CALL_CHUNKFUN returns NULL, set alloc_failed, else clear it.
- (_obstack_begin, _obstack_begin_1): Return 1 if successful, 0 if not.
- * obstack.h (struct obstack): Add alloc_failed flag.
- _obstack_begin, _obstack_begin_1): Declare to return int, not void.
- (obstack_finish): If alloc_failed, return NULL.
- (obstack_base, obstack_next_free, objstack_object_size):
- If alloc_failed, return 0.
- (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
- obstack_int_grow, obstack_blank): If alloc_failed, do nothing that
- could corrupt the obstack.
- (obstack_chunkfun, obstack_freefun): New macros, used in GDB.
-
-Sun Jan 30 17:58:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * config.guess: Recognize vax hosts.
-
-Mon Jan 24 18:40:06 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * config.guess: Clean up NeXT support, to allow nextstep
- on Intel machines. Make OS be nextstep.
-
-Sun Jan 23 18:47:22 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * config.guess: Add alternate forms for Convex.
-
-Thu Jan 6 14:00:23 1994 david d `zoo' zuhn (zoo@cygnus.com)
-
- * config.guess: add support for Tektronix 68k and 88k boxes;
- better Apollo, Sony NEWS information
-
-Sun Dec 26 03:58:32 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * filemode.c (ftypelet): Don't use mode_t. Take long arg.
- (mode_t): Don't ever define it.
- (mode_string): Cast ftypelet's arg to long.
-
-Fri Dec 24 19:43:00 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * getopt.c (_NO_PROTO): Define before config.h is included.
-
-Wed Dec 22 17:01:19 1993 Jim Meyering (meyering@comco.com)
-
- * getdate.y (date): Parse dates like 17-JUN-1991.
-
-Tue Dec 07 14:52:39 1993 Jim Meyering (meyering@comco.com)
-
- Mon Dec 6 11:13:07 1993 Jason Merrill (jason@deneb.cygnus.com)
-
- * getdate.y (number): Change parsing of number > 10000 to
- YYMMDD rather than YYHHmm.
-
-Sat Nov 20 17:47:50 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
-
- * error.c (error): fflush stdout before writing to stderr.
-
-Tue Nov 09 10:05:48 1993 Jim Meyering (meyering@comco.com)
-
- * getdate.y (ToSeconds): Add a `default: abort ();' case.
-
-Thu Nov 4 12:59:19 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
-
- * config.guess: add support for {i386,m68k,sparc} LynxOS; Hitachi
- HPPA machines; Acorn Risc Machines; DG/UX; Motorola SVr3 on m88k
-
-Wed Nov 3 08:06:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg) [__NetBSD__]: Fix typo.
-
-Tue Nov 02 16:03:41 1993 Jim Meyering (meyering@comco.com)
-
- * getdate.y [!defined(USG) && defined(HAVE_FTIME)]: Don't test
- these when deciding whether to include sys/timeb.h. Test only
- HAVE_SYS_TIMEB_H.
-
-Sat Oct 16 23:31:34 1993 Jim Meyering (meyering@comco.com)
-
- * getusershell.c (getusershell): Always return a string allocated
- by malloc.
-
-Tue Oct 12 00:53:26 1993 Jim Meyering (meyering@comco.com)
-
- * getugroups.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include <config.h>
- or "config.h".
- * getusershell.c: Ditto.
-
-Thu Oct 07 19:08:00 1993 Jim Meyering (meyering@comco.com)
-
- * getdate.y [!__GNUC__ && !HAVE_ALLOCA_H]: Declare alloca as void*
- rather than char*. The latter conflicts with a dcl from bison.simple.
-
-Tue Oct 05 14:52:02 1993 Jim Meyering (meyering@comco.com)
-
- * error.c [CONFIG_BROKETS]: Include <config.h> only under
- this condition, else "config.h".
- * modechange.c: Likewise.
-
- * filemode.c, modechange.c [STAT_MACROS_BROKEN]: Test this.
-
-Sun Oct 3 15:33:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg) [__NetBSD__]: New netbsd support using
- /kern/loadavg.
-
-Mon Sep 20 15:59:03 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * alloca.c [emacs || CONFIG_BROKETS]: Include <config.h> only under
- these, else "config.h".
- * filemode.c: Likewise.
- * signame.c, getloadavg.c, getopt.c, getopt1.c: Likewise.
-
-Wed Sep 15 00:03:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * config.guess: New version from Cygnus; has netbsd support.
-
-Mon Sep 13 19:25:24 1993 david d 'zoo' zuhn (zoo@geech.gnu.ai.mit.edu)
-
- * config.guess: add support for OSF/1 v1.3 and 4.4 and 4.3BSD
- on hp300 machines
-
-Fri Sep 10 00:22:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * config.guess: Recognize netbsd on i[34]86 and hp300.
-
- * alloca.c: Include <config.h> instead of "config.h".
- * crt0.c: Likewise.
- * filemode.c: Likewise.
- * getdate.y: Likewise.
-
-Fri Aug 27 10:27:13 1993 Paul Eggert (eggert@twinsun.com)
-
- * xmalloc.c: Include "config.h" if HAVE_CONFIG_H. Use size_t,
- not int, when needed.
- (VOID): New macro. Use it when needed.
- (error): Declaration uses varargs if required.
-
-Fri Aug 27 09:59:26 1993 Paul Eggert (eggert@wombat.gnu.ai.mit.edu)
-
- * error.c: Include "config.h" if HAVE_CONFIG_H.
-
-Wed Aug 25 17:46:01 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * signame.c [! HAVE_SYS_SIGLIST] [! SYS_SIGLIST_DECLARED]: Declare
- sys_siglist.
-
-Mon Aug 16 15:10:30 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * alloca.c: Reverse sense of GCC 2 #ifdef.
-
-Sat Aug 14 23:26:30 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * config.guess: Detect mips-mips-ricos...
- Handle 9000/4??:HP-UX like 9000/3??:HP-UX.
- Fix 9000/7??:4.3bsd...
-
-Thu Aug 12 16:18:12 1993 Paul Eggert (eggert@twinsun.com)
-
- * getdate.y (get_date): To determine the time zone, compare localtime
- to gmtime output, instead of trying to use buggy and unportable
- OS timezone primitives.
- (difftm): New function.
- (HAVE_GETTIMEOFDAY): Remove.
- (timezone): Undef it if defined (not if sgi).
-
-Thu Aug 12 18:16:49 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c, getopt.c, getopt1.c [HAVE_CONFIG_H]: Include
- <config.h> instead of "config.h".
-
-Wed Aug 11 03:27:12 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * alloca.c: Do nothing if compiling with GCC version 2.
-
-Tue Aug 10 17:27:27 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * alloca.c: Always declare malloc, whether or not it is defined
- as xmalloc.
-
-Sat Aug 7 16:55:06 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getopt1.c: Declare const the way getopt.c does.
-
-Mon Aug 2 16:48:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [OSF_ALPHA]: #undef and redefine FSCALE.
-
-Sun Aug 1 16:39:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [TEST] (main): If NAPTIME is zero, don't set it to 5.
- Break out of loop at end if NAPTIME is zero.
- [! HAVE_GETLOADAVG]: Protect all but [TEST] portion with this.
-
-Fri Jul 30 18:28:40 1993 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
-
- * getpagesize.h: Don't define HAVE_GETPAGESIZE; assume
- configure has detected it.
-
-Thu Jul 29 23:20:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [__linux__]: Test this instead of [LINUX].
-
-Mon Jul 26 13:36:55 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c (OSF_ALPHA): Test [__alpha] as well as [__alpha__].
-
- * signame.h (psignal) [!HAVE_PSIGNAL]: Don't test [! HAVE_SYS_SIGLIST].
- * signame.c (psignal) [!HAVE_PSIGNAL]: Test this instead of
- [! HAVE_SYS_SIGLIST].
-
- * getloadavg.c [sgi || sequent]: #undef FSCALE before defining it.
-
-Wed Jul 21 17:08:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * obstack.c [__STDC__]: Declare prototype for _obstack_allocated_p.
-
-Wed Jul 14 00:55:24 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * config.guess: Add case for Bull dpx/2.
-
-Tue Jul 13 12:38:13 1993 Jim Meyering (meyering@comco.com)
-
- * alloca.c: Enable the Cray stack-segment unwinding code only
- if configure defines CRAY_STACKSEG_END. The C-90 doesn't need
- (and can't use) any of the Cray-specific code.
-
-Mon Jul 12 18:13:16 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg) [NEXT]: It's ok if the user asks
- for >1 numbers -- just return 1.
-
-Wed Jul 7 14:03:45 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c: Separate __STDC__ conditional from const conditional.
-
-Tue Jul 6 19:03:25 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg) [SUNOS_5]: Set `offset' from
- kvm_nlist. Don't do the nlist but do initialize the struct
- nlist for use by kvm_nlist.
-
-Mon Jun 28 14:55:05 1993 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
-
- * pathmax.h: Use !__GNUC__ instead of USG to check for whether
- to include limits.h on non-POSIX systems.
-
-Sat Jun 26 15:26:13 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c [not __GNU_LIBRARY__, but __GNUC__] (strlen):
- Include stddef.h or gstddef.h, and declare strlen.
-
-Fri Jun 25 15:44:11 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getopt.c (exchange): Declare missing variables I.
-
-Tue Jun 22 00:03:11 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c (exchange): Use just one slot of temporary space.
- (alloca, __alloca): All definitions deleted.
- (my_bcopy): All definitions deleted.
-
-Wed Jun 16 17:09:47 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * crt0.c: [hp9000s300, ! OLD_HP_ASSEMBLER] Add flag_68040 to
- the list of flags already present.
-
-Thu Jun 10 16:28:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * config.guess: New version from Cygnus.
-
-Wed Jun 9 16:28:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [! LOAD_AVE_TYPE]: Protect LOAD_AVE_TYPE definitions
- with this. Use "#if defined (ardent) && defined (titan)", instead
- of the bogus "#ifdef ardent && titan". Fix typo tex4300 -> tek4300.
-
-Wed Jun 9 05:19:56 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getopt.c: Remove "|| defined(__sgi)" from the conditions for
- #including "alloca.h"; autoconf ought to be able to figure
- this out accurately, and that change was supposedly made for
- the sake of Emacs, which does use autoconf.
-
- * getloadavg.c: Break up #if lines longer than 256 characters,
- for VMS.
-
-Tue Jun 8 07:56:45 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * config.guess: Add clause to the first big case statement to
- detect Motorola Delta 68k, up to r3v7.
-
-Sun Jun 6 03:52:21 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * filemode.c: Include config.h if HAVE_CONFIG_H.
- (mode_t): Define, if NO_MODE_T.
-
-Fri May 28 03:21:21 1993 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
-
- * getopt.c: If __sgi is defined, #include <alloca.h> too.
-
-Mon May 24 20:43:38 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * alloca.c [!emacs]: Define malloc as xmalloc. Declare xmalloc.
-
-Mon May 24 17:40:32 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg) [OSF_MIPS]: Don't define
- LDAV_PRIVILEGED. Cast LOAD_AVE.tl_lscale to double.
-
-Mon May 24 11:53:18 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * alloca.c: Make this safe for Emacs.
- [! emacs] Declare malloc.
- (alloca): Call malloc, not xmalloc.
-
-Mon May 24 00:59:13 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg) [NO_GET_LOAD_AVG]: Just fail.
-
-Sun May 23 21:56:11 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getdate.y [__GNUC__] (alloca): #undef this before we give
- our new definition.
-
-Sun May 23 13:53:12 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * alloca.c: Call xmalloc (once again).
- [emacs]: Define xmalloc as malloc.
- [!emacs]: Declare xmalloc.
-
-Sun May 23 05:47:31 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * mkinstalldirs (errstatus): New variable.
- Use inner `for' loop instead of `while test' on $#.
-
-Sat May 22 20:14:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * mkinstalldirs: Set IFS to % instead of / and use sed to translate
- /s in the directory name into %s first. Initialize PATHCOMP always
- to empty.
-
-Fri May 21 19:32:43 1993 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
-
- * alloca.c (free): Don't #define this to be xfree whenever
- emacs is #defined. That's only appropriate for some of the
- files in Emacs which use alloca.
- (xmalloc): Remove this declaration. It's inappropriate.
- (alloca): Call malloc, not xmalloc.
-
-Thu May 20 16:22:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg) [LINUX]: Close FD if read fails.
- Check return value of sscanf.
-
-Wed May 19 21:16:24 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg): Add support for Linux, from
- Michael K. Johnson.
-
-Wed May 19 13:47:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [__osf__ && (mips || __mips__)]: Include
- <sys/table.h> and #define OSF_MIPS.
- (getloadavg) [OSF_MIPS]: Special code using `table'.
-
-Mon May 17 15:55:47 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [butterfly]: Define NLIST_STRUCT; not LOAD_AVE_TYPE.
-
-Sun May 16 22:00:06 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * a.out.gnu.h [sequent && i386] (N_MAGIC, N_MACHTYPE, N_FLAGS,
- N_SET_INFO, M_SET_MAGIC, N_SET_MACHTYPE, N_SET_FLAGS, [OZN]MAGIC,
- N_BADMAG, N_ADDRADJ, N_DATOFF, N_TRELOFF, N_SYMOFF, N_TXTADDR,
- N_COMM, N_FN, PAGE_SIZE, SEGMENT_SIZE): Define.
-
-Sat May 15 00:50:03 1993 Jim Meyering (meyering@comco.com)
-
- * getdate.y: Fix the time.h versus sys/time.h problem once and
- for all. Packages that use this file should use autoconf's
- AC_TIME_WITH_SYS_TIME and AC_HAVE_HEADERS(sys/time.h) macros.
-
-Fri May 14 16:38:56 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [butterfly] (LOAD_AVE_TYPE): Define as long.
-
-Thu May 13 01:49:31 1993 Jim Meyering (meyering@comco.com)
-
- * error.c: Move extern dcl of program_name out of error.
-
-Sun May 9 15:21:11 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [HPUX && ! hpux]: Define hpux.
-
-Sat May 8 20:35:04 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getloadavg.c: Rename initialized to getloadavg_initialized.
-
-Sat May 8 13:32:15 1993 Jim Meyering (meyering@comco.com)
-
- * alloca.c: Indent and reformat comments.
-
- * alloca.c (i00afunc): New functions for determining relative
- stack frame ordering for Crays. From Otto Tennant.
-
-Fri May 7 15:54:30 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [NeXT]: Include <mach/mach.h> #ifdef
- HAVE_MACH_MACH_H, else <mach.h>.
-
-Wed May 5 13:31:55 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c (LDAV_SYMBOL) [hpux && ! hp9000s300]: Use this
- conditional, not just [hpux], to define as "avenrun".
-
- * getloadavg.c [unix && m68k && mc68000 && mc68020 &&
- _MACH_IND_SYS_TYPES]: Define tek4300.
- [tek4300] (LOAD_AVE_TYPE): Define as long.
- [tek4300] (FSCALE): Define as 100.0.
-
-Mon May 3 22:17:45 1993 Jim Meyering (meyering@comco.com)
-
- * getugroups.c: Don't define GETGROUPS_T. Now configure does it.
-
-Mon May 3 17:12:41 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg) [VMS]: Don't define LDAV_DONE.
-
- * getloadavg.c [ardent && titan]
- (LOAD_AVE_TYPE): Define as long.
- (FSCALE): Define as 65536.0.
- (LDAV_SYMBOL): Define as "avenrun".
-
-Tue Apr 27 14:07:18 1993 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
-
- * getdate.y: If HAVE_SYS_TIMEB_H is #defined, then include
- <sys/timeb.h> instead of defining struct timeb ourselves.
-
-Thu Apr 22 17:23:42 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg) [!LDAV_DONE && LOAD_AVE_TYPE && !VMS]:
- Don't #define LDAV_DONE here.
- [!LDAV_DONE && LOAD_AVE_TYPE]: Define it here instead.
-
-Mon Apr 19 18:09:18 1993 Jim Meyering (meyering@comco.com)
-
- * getdate.y: Use TM_IN_SYS_TIME.
-
-Fri Apr 16 18:10:06 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getdate.y [emacs] (static): If the Emacs configuration files
- have #defined static to be the empty string, then #undefine
- it; this file doesn't need that hack.
-
-Fri Apr 16 12:13:37 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * obstack.c, getopt.c, getopt1.c: Surround code with
- #if defined (_LIBC) || !defined (__GNU_LIBRARY__)
-
-Fri Apr 16 10:52:12 1993 Michael Meissner (meissner@osf.org)
-
- * getopt.h (getopt): Do not declare getopt with a prototype of
- (void) for a non-ANSI compiler. If not GNU library and a
- standard compiler, do not declare a prototype for getopt, just
- like the comments say, due to different libraries having
- different signatures for getopt.
-
-Thu Apr 15 16:36:03 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c: Move #include <sys/types.h> to top and out of [USG].
- [sgi, UMAX]: Don't include it again later.
-
-Wed Apr 14 13:06:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c: "#ifdef !define ..." -> "#if !defined ..."
-
- * getopt.c (_NO_PROTO): Don't define if already defined.
-
-Tue Apr 13 14:56:33 1993 Jim Meyering (meyering@comco.com)
-
- * getdate.y [HAVE_MEMCPY && !HAVE_BCOPY]: Define bcopy in terms
- of memcpy for old versions of bison that generate parsers that
- use bcopy.
-
-Tue Apr 13 00:48:41 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getloadavg.c: Changes for Mach from Thorston Ohl
- <ohl@chico.harvard.edu>:
- #include <mach/mach.h>, instead of <mach.h>.
- (getloadavg): Don't forget to test LDAV_DONE in the CPP
- conditional protecting the last load average technique.
-
-Mon Apr 12 23:03:20 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getloadavg.c: Changes for VMS from Richard Levitte:
- (LOAD_AVE_TYPE, NLIST_STRUCT): Collapse multi-line #if
- directives into one line; VMS CPP can't handle that.
- [VMS] (getloadavg): Add static `initialized' variable, and
- set the dsc$w_length and dsc$a_pointer fields of descriptior
- instead of the size and ptr fields.
-
-Mon Apr 12 13:55:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getopt.c (my_index): Rename arg STRING to STR.
-
-Sun Apr 11 17:37:19 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getopt.h: Declare optopt.
-
- * getopt.c (my_index): First arg is `const char *'.
- (my_bcopy): Likewise.
-
-Tue Apr 6 13:23:28 1993 Jim Meyering (meyering@comco.com)
-
- * getdate.y [hp9000 && !hpux]: Change erroneous #ifdef to #if.
-
-Mon Apr 5 17:28:35 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getdate.y: #include <sys/times.h> whenever HAVE_GETTIMEOFDAY
- is #defined. If it isn't defined, try to guess it.
- (main): If HAVE_GETTIMEOFDAY is #defined, use it.
-
-Sun Apr 4 11:24:59 1993 Jim Meyering (meyering@comco.com)
-
- * getdate.y [sgi]: Undefine timezone before including <time.h>.
-
- * getdate.y [time.h vs sys/time.h]: Fix boolean algebra typo from
- Mar 31 consolidation.
-
- * getdate.y: Move static dcls of yyerror and yylex to a point
- following the definition of those symbols to getdate_{yyerror,yylex}.
-
- * getdate.y [_AIX]: AIX needs time.h as well as sys/time.h.
-
-Fri Apr 2 13:30:03 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getopt.c: Define _NO_PROTO before including <stdio.h>.
-
-Wed Mar 31 18:38:05 1993 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
-
- * getdate.y: Consolidate the expressions saying when to
- #include <sys/time.h>, to avoid multiple inclusions.
-
- * getdate.y (yylex, yyerror): Added forward static declarations.
-
- * getdate.y: Note that David Mackenzie's change of March 16
- 1992 introduces another shift/reduce conflict.
-
-Wed Mar 31 17:30:29 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * alloca.c [emacs]: Define free as xfree.
- (alloca): Use free, not xfree.
-
-Mon Mar 29 13:46:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * a.out.gnu.h [i386] (SEGMENT_SIZE): Don't use this defn on [sequent].
- [sequent && i386]: #include "/usr/include/a.out.h" explicitly,
- since in glibc this is installed as <a.out.h>.
-
-Mon Mar 15 17:34:53 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * getopt.c (optopt): Initialize it.
-
-Sun Mar 14 16:39:57 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getpagesize.h: Add definition for VMS.
-
-Wed Mar 10 20:57:21 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getloadavg.c: If USG is defined, #include <sys/types.h>.
- Move the test for HAVE_FCNTL_H and _POSIX_VERSION down after this.
-
- * alloca.c: Use xfree instead of free.
-
-Wed Mar 10 15:22:56 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * getloadavg.c [__osf__ && __alpha__] (OSF_ALPHA): Define this.
- [OSF_ALPHA] (LOAD_AVE_TYPE): Define as long.
- [OSF_ALPHA] (NLIST_STRUCT): Define this.
-
-Wed Feb 24 12:45:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [NeXT]: #undef FSCALE to indicate that the nlist
- method is not the desireable one.
- (getloadavg) [NeXT]: Return with errno==EINVAL if called with NELEM>1,
- since we can get only the one-minute load average on this system.
-
-Mon Feb 22 08:59:03 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getloadavg.c (LDAV_CVT): If LDAV_CVT has already been
- defined above in terms of Emacs's LOAD_AVE_CVT, don't redefine
- it just because we have FSCALE.
-
-Sun Feb 21 14:52:01 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getopt.c (optopt): New variable.
- (_getopt_internal): On any failure for a single-letter option, set
- `optopt' to the losing option character.
- When a required arg is missing, return ':' instead of '?' if the
- first char in OPTSTRING (possibly after the - or +) is a ':'.
- Use 1003.2-standard formats for error messages (it specifies
- precise formats for unrecognized option and for missing arg).
-
- * signame.c: #include <sys/types.h> before <signal.h>.
-
-Thu Jan 28 17:10:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c (LOAD_AVE_TYPE) [sequent]: Define as long.
- (FSCALE) [sequent]: Define as 1000.0, like sgi.
- (LDAV_CVT) [FSCALE]: Move outside if #ifndef FSCALE.
-
-Fri Jan 22 14:51:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c (NLIST_STRUCT): Put defined(sony_news) inside the
- parens so we don't redefine NLIST_STRUCT when it's already defined.
-
- * signame.h [!__STDC__] (psignal): Surround decl with #ifndef
- HAVE_SYS_SIGLIST || HAVE_PSIGNAL.
- (sys_siglist): Surround decl with #ifndef HAVE_SYS_SIGLIST.
-
-Sun Jan 17 19:55:30 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c, getopt1.c: Do define const if IN_GCC.
-
-Thu Jan 14 15:35:33 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * getopt.c, getopt1.c: Don't redefine const; let callers do it.
-
-Wed Jan 13 15:38:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getopt.c [_AIX]: Put #pragma alloca before all else.
-
-Tue Jan 12 16:48:04 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * getloadavg.c: Removed #ifdef TEST around #include of errno.h.
-
-Mon Jan 11 15:17:29 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * getloadavg.c [ultrix]: Define BSD.
-
- * signame.h [!HAVE_SYS_SIGLIST && !HAVE_PSIGNAL]: Put psignal decl
- inside these #ifs.
- [!HAVE_SYS_SIGLIST]: Put sys_siglist decl inside this #if.
-
-Fri Jan 8 17:36:41 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [HAVE_CONFIG_H]: Test this only for actually
- including "config.h". Everything else that HAVE_CONFIG_H used to
- turn off is now turned on always.
- (KERNEL_FILE) [sequent, hpux], (LDAV_SYMBOL) [alliant]: Don't
- define if already defined.
- [!LDAV_DONE && LOAD_AVE_TYPE && !VMS]: Define LDAV_PRIVILEGED.
-
- * getloadavg.c (getloadavg) [!LDAV_DONE]: Set errno to zero.
-
-Wed Jan 6 18:17:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * signame.c: #include "signame.h" after possibly defining `const',
- so signame.h and signame.c consistently use it or don't use it.
-
- * signame.h: Use "#if defined (__STDC__) && __STDC__", in place of
- "#ifdef __STDC__".
-
-Sat Jan 2 18:32:01 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * getopt.c: Turn off GETOPT_COMPAT by default.
-
-Thu Dec 31 12:34:41 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * signame.c [HAVE_CONFIG_H]: #include "config.h".
-
-Tue Dec 8 21:10:29 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * getloadavg.c: Include fcntl.h if HAVE_FCNTL_H, not USG.
-
- * getdate.y: Include alloca.h if HAVE_ALLOCA_H, not sparc.
-
-Tue Dec 1 13:27:40 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getopt.c, getopt1.c, getdate.y, alloca.c, getloadavg.c
- [HAVE_CONFIG_H]: Include config.h.
-
-Tue Nov 24 09:42:29 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getugroups.c: Use HAVE_STRING_H, not USG.
-
-Mon Nov 23 14:36:33 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * signame.c (init_sigs): Renamed to signame_init, made global.
- (sig_abbrev, sig_number): Changed callers.
- * signame.h (signame_init): Declare it.
-
- * signame.c (init_sigs): Add SIGDANGER.
-
-Thu Nov 19 21:34:43 1992 Jim Blandy (jimb@totoro.cs.oberlin.edu)
-
- * getloadavg.c: #include <sys/param.h> whether or not the
- "emacs" CPP symbol is defined.
-
-Mon Nov 16 13:35:30 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * a.out.gnu.h (SEGMENT_SIZE): Define as PAGE_SIZE if undefined.
- (PAGE_SIZE): Define as 16 if undefined; for i386-minix, which has
- no predefine we can test.
-
-Thu Nov 12 23:31:53 1992 Jim Meyering (meyering@hal.gnu.ai.mit.edu)
-
- * getdate.y, getusershell.c: Give statically initialized arrays
- const attribute.
-
-Sat Nov 7 13:50:27 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getopt1.c: Only include stdlib.h for __GNU_LIBRARY__.
- [!__STDC__]: Don't define const if it was already defined.
-
-Sat Nov 7 03:28:08 1992 Jim Blandy (jimb@apple-gunkies.gnu.ai.mit.edu)
-
- * getdate.y [emacs]: Include <config.h>; under Emacs, we get
- some additional configuration information from that.
-
-Sat Nov 7 00:53:35 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getopt.c [!__STDC__]: Don't define const if it was already defined.
-
-Tue Nov 3 20:12:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * getloadavg.c: Added `!defined (LDAV_DONE) &&' to all the #if's
- for different system types. We want to get one and only one of the
- chunks of code which defines LDAV_DONE.
-
-Tue Oct 27 23:51:02 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getloadavg.c [sequent]: implies NLIST_STRUCT.
- [SYSV || _POSIX_VERSION]: include fcntl.h, not sys/file.h.
-
-Mon Oct 26 22:43:25 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * install.sh: Move or copy first to temp file, then mv to real dest.
-
-Mon Oct 19 18:35:04 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * obstack.h (__need_ptrdiff_t): Don't define, if __NeXT__.
-
-Sat Oct 17 03:17:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c: Include string.h only with GNU library.
-
-Fri Oct 16 17:40:54 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * getopt.h (no_argument, required_argument, optional_argument):
- Define as macros.
- (enum _argtype): Removed.
-
-Fri Oct 2 18:18:35 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * signame.c (NSIG): #define if not #define'd.
-
-Thu Oct 1 23:33:55 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getpagesize.h: That should have been HAVE_UNISTD_H, Mike . . .
- (no initial underscore).
-
- * pathmax.h [__MSDOS__]: Don't include sys/param.h.
-
-Wed Sep 30 13:54:36 1992 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * getpagesize.h: Test for _HAVE_UNISTD_H, because
- _POSIX_VERSION is defined by unistd.h, and thus can't be used
- in deciding whether to include it.
-
-Tue Sep 29 07:36:29 1992 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * getloadavg.c: if symbol `sony_news' is defined, define
- NLIST_STRUCT and declare LOAD_AVE_TYPE as long.
-
-Thu Sep 17 20:10:03 1992 Karl Berry (karl@geech.gnu.ai.mit.edu)
-
- * regex.[ch]: made links into ../regex/, per rms' suggestion.
- Please put further ChangeLog entries there.
-
-Tue Sep 15 20:13:30 1992 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * getpagesize.h: Posix-ify.
-
-Mon Sep 14 23:48:55 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getloadavg.c: Define SUNOS_5 if appropriate.
-
-Mon Sep 14 16:31:01 1992 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * getdate.y: AIX needs sys/time.h as well as time.h.
-
-Sun Sep 13 07:17:09 1992 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getdate.y: Don't forget to include the file which defines
- struct timeval and struct timezone, if we're using those.
-
-Fri Sep 11 10:42:24 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getopt.h: Only prototype getopt for the GNU libc.
-
-Fri Sep 11 07:46:21 1992 Karl Berry (karl@hal.gnu.ai.mit.edu)
-
- * regex.h (_RE_ARGS) [!__STDC__]: expand to empty parens.
-
-Fri Sep 11 00:57:56 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * regex.c (SET_LIST_BIT): Always treat c as positive.
-
-Thu Sep 10 19:38:59 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getugroups.c: Always declare getgrent. getgroups fills in
- an array of int on 386BSD, too.
-
-Thu Sep 10 16:35:10 1992 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * getdate.y: Generalize previous change; always use
- gettimeofday to find the current time zone's Greenwich offset,
- unless we're being compiled under USG or some other system
- which already has CPP conditionals saying how to get the time
- zone offset.
-
- * getdate.y: Don't divide the Greenwich offset returned by
- gettimeofday by 60; it's already expressed in minutes, so it
- doesn't need to be converted.
-
-Wed Sep 9 21:49:20 1992 Karl Berry (karl@apple-gunkies.gnu.ai.mit.edu)
-
- * regex.[ch]: version 0.10, incorporating below changes and
- more. See /gd/gnu/lib/regex-*/ChangeLog.
-
-Wed Sep 9 03:09:55 1992 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * malloc.c: if USG, define macros for bcopy and bzero.
- Don't redefine USG for hpux if already defined.
-
-Tue Sep 1 16:46:47 1992 Jim Blandy (jimb@pogo.cs.oberlin.edu)
-
- * getdate.y: If __ultrix__ is defined, then we don't have the
- timezone array, but we do have ftime, so use that instead.
-
-Fri Aug 28 15:52:40 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getloadavg.c [SUNOS_5]: New code from Epoch 4.2.
-
-Thu Aug 27 16:38:22 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getloadavg.c: Don't check NLIST_STRUCT to decide whether to
- define LOAD_AVE_TYPE.
-
-Wed Aug 26 16:45:54 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * getloadavg.c (FSCALE): Don't #define if already defined.
-
-Mon Aug 24 13:00:34 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getopt.c: Include string.h if USG or STDC_HEADERS as well as
- if __GNU_LIBRARY__.
-
-Sun Aug 23 02:51:31 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * regex.[ch] (re_comp): Remove const from return value, to
- avoid conflict with 386BSD unistd.h.
-
-Sat Aug 22 18:30:58 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getloadavg.c: Define FCALE, then LDAV_CVT in terms of that.
-
-Fri Aug 21 16:02:20 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getloadavg.c (_SEQUENT_): Define NLIST_STRUCT.
-
-Wed Aug 19 16:35:33 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [NLIST_NAME_UNION]: Test this intead of convex.
-
-Tue Aug 18 23:06:47 1992 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * regex.c (DO_RANGE): Make end and this_char integers, and
- fetch this_char's initial value using an 'unsigned char *', so that
- character ranges including '\177' through '\377' will work.
-
-Tue Aug 18 17:32:40 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * getopt.c, getopt1.c, getopt.h: Change license back to GPL from LGPL.
-
-Fri Aug 14 07:38:34 1992 Torbjorn Granlund (tege@jupiter.sics.se)
-
- * obstack.h: Fix spelling errors.
-
-Sat Aug 1 18:12:07 1992 Michael Meissner (meissner@osf.org)
-
- * obstack.c (CALL_FREEFUN): Recode to use if/else instead of
- ?:, since the MIPS compiler does not like ?: expressions where
- the two alternate values are both void.
-
-Sat Aug 1 00:11:25 1992 Fred Fish (fnf at fishpond)
-
- * obstack.h (obstack_specify_allocation): Use malloc/free
- compatible calling convention.
- * obstack.h (obstack_specify_allocation_with_arg): Use mmalloc/
- mfree compatible calling convention.
-
-Wed Jul 29 18:53:13 1992 Karl Berry (karl@hal)
-
- * regex.c: version 0.9; fixes bug wrt always finding the longest
- match. See /gd/gnu/lib/regex-*/ChangeLog.
-
-Sun Jul 26 18:24:13 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [NeXT]: #undef BSD after <sys/param.h>.
-
-Sun Jul 26 17:04:20 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * obstack.h (struct obstack): extra_arg is now char *.
- (obstack_alloc_arg): Deleted.
- (obstack_specify_allocation): Take new arg, to specify extra_arg.
- Call _obstack_begin_1.
- * obstack.c (_obstack_begin_1): New function.
-
-Fri Jul 24 16:29:17 1992 Fred Fish (fnf at fishpond)
-
- * obstack.h (struct obstack): Change maybe_empty_object to
- bitfield. Add use_extra_arg bitfield and extra_arg.
- * obstack.h (obstack_init, obstack_begin): Cast type of
- obstack_chunk_free as well as obstack_chunk_alloc.
- * obstack.h (obstack_specify_allocation, obstack_alloc_arg):
- New macros.
- * obstack.c (CALL_CHUNKFUN, CALL_FREEFUN): New macros to hide
- details of chunk allocator/deallocator calls.
- * obstack.c (_obstack_begin, _obstack_newchunk): Use CALL_CHUNKFUN.
- * obstack.c (_obstack_free, _obstack_newchunk): Use CALL_FREEFUN.
-
-Fri Jul 24 16:09:37 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getugroups.c [_POSIX_SOURCE]: Define endgrent as empty.
-
- * getloadavg.c [HAVE_UNISTD_H]: Include unistd.h.
-
-Sun Jul 19 23:29:27 1992 John Gilmore (gnu@cygnus.com)
-
- * stab.def: Order values numerically, and add some stabs
- used by Solaris.
-
-Fri Jul 17 20:21:20 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getopt.c: Only include stdlib.h for GNU C library, due to
- conflicting getopt prototypes.
-
-Fri Jul 17 05:49:07 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * obstack.c (DEFAULT_ALIGNMENT): Cast to widest integer type to
- avoid possible warning if int is narrower than pointer.
-
-Fri Jul 17 03:47:16 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getdate.y: Use HAVE_FTIME instead of FTIME_MISSING.
- * signame.c: Use HAVE_SYS_SIGLIST instead of SYS_SIGLIST_MISSING.
-
-Tue Jul 14 18:53:46 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getopt.c (exchange): Cast args to my_bcopy to (char *).
-
-Tue Jul 14 14:34:33 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * getopt.c: Include stdlib.h and string.h if STDC_HEADERS as
- well as if __GNU_LIBRARY__.
-
-Sat Jul 11 13:24:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * obstack.h: Define __need_ptrdiff_t for gstddef.h.
-
-Fri Jul 10 15:01:25 1992 Karl Berry (karl@hal)
-
- * regex.[ch]: new version (0.8), incorporating the changes
- below. See /gd/gnu/regex/ChangeLog.
-
-Fri Jul 10 03:46:24 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * obstack.h: Get ptrdiff_t from gstddef.h when building GCC with GCC.
-
-Thu Jul 9 21:38:37 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getloadavg.c [DGUX]: Cast first arg to dg_sys_info to (long int *).
-
-Wed Jul 8 19:43:26 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * error.c (private_strerror): Ok if errnum == sys_nerr.
-
-Wed Jul 8 12:38:37 1992 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * regex.c: Applied tentative patches from Karl Berry:
- Miscellaneous doc fixes and reformatting.
- (REGEX_REALLOCATE): Parenthesize call to realloc.
- Test HAVE_ALLOCA_H, instead of testing for things like sparc,
- etc. Don't declare alloca under AIX, since that's done with
- the pragma at the top of the file.
- (IS_IN_FIRST_STRING): Renamed to FIRST_STRING_P.
- (re_match_2): Uses of IS_IN_FIRST_STRING changed.
- (TALLOC): Parenthesize call to malloc.
- (REGEX_TALLOC): New macro.
- (FREE_NONNULL): New macro.
- (FREE_VARIABLES): Use FREE_NONNULL instead of always freeing.
- (re_match_2): Don't use initializers in declarations of
- regstart, regend, old_regstart, old_regend, reg_info,
- best_regstart, best_regend, reg_dummy, and reg_info_dummy.
- Initialize them only if we actually use the registers.
- New variable match_end for use instead of best_regend[0], in
- case we don't allocate the registers. Don't fuss with
- best_regend[0] directly.
-
-Sat Jul 4 07:53:45 1992 Karl Berry (karl@hal)
-
- * regex.c (re_compile_fastmap): init succeed_n_p (to false).
-
-Fri Jul 3 14:45:29 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * error.c: Change FOO_MISSING to HAVE_FOO.
-
-Thu Jul 2 15:47:20 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
-
- * getloadavg.c: Tweak #defines for SVR4.
- Include sys/param.h if unix, not if BSD.
-
-Wed Jul 1 11:48:37 1992 Karl Berry (karl@hal)
-
- * regex.[ch]: new version (0.7). See /gd/gnu/regex/ChangeLog.
-
-Sun Jun 28 06:05:39 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * obstack.h: Define a type for the result of __PTR_TO_INT.
-
-Sat Jun 27 10:50:59 1992 Jim Blandy (jimb@pogo.cs.oberlin.edu)
-
- * xregex.c (re_match_2): When we have accepted a match and
- restored d from best_regend[0], we need to set dend
- appropriately as well. It may happen that dend == end_match_1
- while the restored d is in string2, so we should be prepared
- to set dend to end_match_2 in this case.
-
-Tue Jun 23 22:27:36 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * getloadavg.c (getloadavg) [DGUX]: Don't initialize structure;
- the error handling doesn't work that way now.
-
-Fri Jun 19 13:14:57 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
-
- * install.sh: Use - instead of :- in variable assignments.
-
-Tue Jun 16 19:32:46 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getopt.c [HAVE_ALLOCA_H]: Test to include <alloca.h>.
-
-Thu Jun 11 15:15:38 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * arscan.c: Removed. It is now part of Make.
-
-Mon Jun 8 18:03:28 1992 Jim Blandy (jimb@pogo.cs.oberlin.edu)
-
- * regex.h (RE_NREGS): Doc fix.
-
- * xregex.c (re_set_registers): New function.
- * regex.h (re_set_registers): Declaration for new function.
-
-Wed Jun 3 16:59:49 1992 Karl Berry (karl@geech.gnu.ai.mit.edu)
-
- * regex.[ch]: new version (0.6). See ~karl/regex/ChangeLog.
-
-Sat May 23 22:28:54 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * getopt.c [LIBC]: No longer need to #include <ansidecl.h>.
-
- * getopt.h, getopt.c, getopt1.c: Changed copyright notice to LGPL.
-
-Fri May 22 14:50:25 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c: Change sparc conditional so that sun && sparc
- causes use of alloca.h.
-
-Thu May 14 16:50:28 1992 Karl Berry (karl@kropotkin.gnu.ai.mit.edu)
-
- * regex.c, regex.h: new version (0.5). See ~karl/regex/ChangeLog.
-
-Tue May 12 03:27:19 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
-
- * getopt.c (_getopt_internal): Don't allow it.
-
-Tue May 12 00:33:31 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * getopt.c (_getopt_internal): Allow optional arg to be in ARGV elt
- after switch.
-
-Thu May 7 11:46:18 1992 Jim Blandy (jimb@pogo.cs.oberlin.edu)
-
- * crt0.c (_start): When m68000 is #defined, don't use the
- simple C version of _start that simply calls start1; GCC 2.1
- without optimization has _start push a word of garbage on the
- stack, which screws up the CRT0_DUMMIES hack. Instead, use an
- assembly-language version of _start.
-
-Mon May 4 16:26:49 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
-
- * getopt.h: #ifdef __STDC__ -> #if __STDC__.
-
-Thu Apr 30 18:53:52 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * a.out.gnu.h [NeXT]: Define PAGE_SIZE, and not SEGMENT_SIZE.
-
-Sun Apr 26 02:33:50 1992 Jim Blandy (jimb@pogo.cs.oberlin.edu)
-
- * crt0.c: Don't #include "config.h" unless emacs is #defined.
-
-Tue Apr 21 17:45:54 1992 Jim Blandy (jimb@pogo.cs.oberlin.edu)
-
- * regex.c (re_match_2): If we've already allocated memory for
- the search buffers, don't allocate them again.
-
-Mon Apr 13 20:17:47 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
-
- * getopt.h: Make the multiple inclusion protection look like
- the rest of libc's.
-
-Wed Apr 1 06:10:15 1992 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * regex.c [emacs]: Include <sys/types.h>, since regex.h wants it.
-
-Tue Mar 31 12:01:32 1992 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * crt0.c: The changes below are the results of a merge with
- the Emacs 19 sources:
- (start1): Declare this static before all uses.
- Add conditionals for ALLIANT_2800.
-
- * (_start) for alliant: Set _curbrk and _minbrk from _setbrk,
- to help with Emacs dumping.
-
-Mon Mar 30 18:00:41 1992 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * malloc.c [VMS]: Include vlimit.h.
- (calloc): Add a quick implementation of this, in case
- something from another library uses it.
- (get_lim_data): There are several versions of this function,
- tailored for different operating systems; the appropriate
- version is chosen by checking for preprocessor symbols which
- indicate which operating system Emacs is being compiled for.
- Re-arrange the preprocessor conditionals so that the generic
- "none of the above" version is last, in the final "else" clause.
-
- * alloca.c: Do nothing if alloca is defined as a macro.
-
-Fri Mar 20 02:53:14 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * a.out.gnu.h: Added missing backslash in #if.
-
-Mon Mar 16 23:46:18 1992 David J. MacKenzie (djm@apple-gunkies.gnu.ai.mit.edu)
-
- * getdate.y: Support ISO 8601 format. yyyy-mm-dd.
-
-Sun Mar 15 22:50:30 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * a.out.gnu.h [NeXT || mips] (SEGMENT_SIZE): Define as PAGE_SIZE.
- [NeXT] (PAGE_SIZE): Define as 0x2000.
- [mips] (PAGE_SIZE): Define as 4096.
-
- * getopt.c [sparc && svr4]: No <alloca.h>.
-
-Thu Mar 12 14:26:48 1992 Karl Berry (karl@apple-gunkies.gnu.ai.mit.edu)
-
- * regex.[ch]: new version (0.4). See ~karl/regex/ChangeLog.
-
-Tue Mar 10 22:26:14 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * a.out.gnu.h [sun && mc68000]: SEGMENT_SIZE == 0x2000.
-
-Thu Feb 27 21:37:53 1992 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * getdate.y: `#undef timezone' on SGI systems to avoid naming
- clash.
- (get_date): Use underscore version for SGI.
- [This fix is from beebe@mach.utah.edu.]
-
-Tue Feb 25 21:23:50 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * getopt.c [__GNU_LIBRARY__]: #include <string.h>.
-
-Thu Feb 20 13:04:57 1992 Karl Berry (karl@wombat.gnu.ai.mit.edu)
-
- * regex.[ch]: new version (0.3). See ~karl/regex/ChangeLog for all
- the details.
-
-Wed Feb 19 23:04:05 1992 Charles Hannum (mycroft@gnu.ai.mit.edu)
-
- * regex.c [_AIX]: Move #pragma alloca to top of file to accommodate
- AIX C compiler.
-
-Mon Feb 17 03:44:03 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * a.out.gnu.h [sparc] (_N_HDROFF): Define as (-sizeof (struct exec)).
- That is as if SEGMENT_SIZE were 0, but that would be wrong.
-
- * a.out.gnu.h [i386] (SEGMENT_SIZE): Define.
-
-Sun Feb 16 03:10:23 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * a.out.gnu.h [sparc] (PAGE_SIZE, SEGMENT_SIZE): Define.
- (PAGSIZ): Define as PAGE_SIZE.
- (SEGSIZ): Define as SEGMENT_SIZE.
-
-Thu Jan 30 19:03:29 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * regex.c (re_search_2): Improve comments.
-
-Tue Jan 28 00:28:15 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getopt.h (struct option): Change has_arg back to an int.
-
-Mon Jan 27 23:03:33 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getopt.c (_getopt_internal): Don't use a relational operator (>)
- on the has_arg field, which is now an enum.
-
-Fri Jan 17 21:34:02 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * getopt.h: Don't declare envopt.
-
- * envopt.c: Tweaks to compile under libc.
-
-Fri Jan 17 21:23:02 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getopt.c: Describe the new args to _getopt_internal.
-
-Fri Jan 17 19:26:54 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * getopt.h: Remove decls of _getopt_* and option_index.
- Make `name' elt of `struct option' const char *.
- Make `has_arg' an enum (integer values same).
- * getopt.c (_getopt_internal): Renamed from getopt, taking 3 new args
- in place of global vars _getopt_long_options, _getopt_long_only,
- and option_index (which are all now gone).
- (getopt): New fn, front end to _getopt_internal.
- * getopt1.c (getopt_long, getopt_long_only): Use _getopt_internal.
-
-Tue Jan 7 02:08:10 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * regex.c (malloc, realloc): Don't specify arg types--can
- cause error.
-
-Mon Jan 6 12:53:42 1992 Karl Berry (karl at apple-gunkies.gnu.ai.mit.edu)
-
- * regex.[ch]: new versions. See ~karl/regex/ChangeLog for all
- the details.
-
-Tue Dec 24 22:42:59 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * obstack.h: Indentation fix.
-
-Mon Dec 23 23:41:39 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * regex.c, putenv.c, getugroups.c: Change POSIX ifdefs to
- HAVE_UNISTD_H and _POSIX_VERSION.
-
-Wed Dec 18 14:24:35 1991 Michael Meissner (meissner at osf.org)
-
- * getopt.h (whole file): Protect getopt.h from being included
- twice.
-
-Fri Dec 6 13:00:42 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getopt.c (getopt): Cast argv to (char **) (with no const)
- when passing to exchange, to be explicit about what's happening.
-
- * getopt.c: Change POSIX_ME_HARDER to POSIXLY_CORRECT.
-
-Thu Dec 5 12:12:18 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * getopt.c (my_bcopy, my_index): New functions.
- Use instead of bcopy and index.
- Avoid conditionals on USG, NeXT, hpux, __GNU_LIBRARY__, etc.
-
- * getopt1.c, getopt.h (getopt_long*): Like yesterday's getopt change.
-
-Wed Dec 4 10:51:45 1991 Ron Guilmette (rfg at ncd.com)
-
- * getopt.c, getopt.h (getopt): Correct the type of the second
- parameter so that it agrees with ANSI/POSIX standards.
-
- * getopt.h: Make all function declarations explicitly `extern'.
-
-Tue Dec 3 01:34:59 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getopt.c: Fix some wrong comments.
-
-Mon Dec 2 17:49:50 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getopt.c (getopt): Support `+' to introduce long-named
- options, as well as `--', if GETOPT_COMPAT is defined.
- It is defined by default.
-
-Sun Dec 1 21:12:32 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getopt.c (getopt): Long-named options are introduced by `--'
- instead of `+'.
- Protect all fprintfs with checks of opterr.
- Include getopt.h instead of redeclaring things, to stay in sync.
- * getopt1.c (getopt_long): No longer disable long options if
- POSIX_ME_HARDER is set.
- (main): Handle -d. Remove unused var.
-
-Mon Nov 4 23:06:54 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * regex.h [!__STDC__]: regerror was declared to return size_t *
- instead of size_t.
-
-Sat Nov 2 21:26:42 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * error.c: Use STRERROR_MISSING instead of STDC_HEADERS to
- control compiling strerror.
-
-Fri Oct 18 00:33:43 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getugroups.c: GID_T -> GETGROUPS_T, for clarity.
-
-Wed Oct 9 14:14:31 1991 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c: Treat hpux like USG.
-
-Tue Oct 8 21:36:52 1991 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * alloca.c: Add some parens to make precedence clearer.
-
-Sat Oct 5 13:17:59 1991 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * getopt.c: Treat NeXT like USG.
-
-Sat Sep 28 02:01:45 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
-
- * regex.c: Include stdlib.h only if STDC_HEADERS, not if POSIX
- (POSIX.1 doesn't require it to exist).
-
-Wed Sep 4 17:32:51 1991 Kathryn A. Hargreaves (letters at apple-gunkies)
-
- * regex.[ch]: Put current version (0.1) here, after backing up old
- files. For ChangeLog details, please refer to the ChangeLog
- file in my regex directory.
-
-Sat Aug 24 04:22:01 1991 David J. MacKenzie (djm at apple-gunkies)
-
- * getopt1.c: Declare getenv.
-
-Mon Aug 19 01:35:48 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * regex.c, getopt.c: Indent '#pragma alloca' so non-ANSI
- compilers won't choke on it.
-
-Mon Aug 12 16:43:17 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * getopt.c: _POSIX_OPTION_ORDER renamed to POSIX_ME_HARDER.
- * getopt1.c: Support POSIX_ME_HARDER.
-
-Wed Aug 7 00:53:00 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
-
- * getdate.y: Add patch from perf@efd.lth.se to support
- explicit "dst", for European timezones.
-
-Tue Jul 30 17:00:23 1991 David J. MacKenzie (djm at apple-gunkies)
-
- * getdate.y: Rename NEED_TZSET to FTIME_MISSING.
-
-Fri Jul 26 23:09:22 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * regex.h: Delete `#pragma once'.
-
-Fri Jul 26 17:07:39 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * a.out.gnu.h [sparc]: #define SEGMENT_SIZE 0. Is that right??
-
-Wed Jul 24 03:29:26 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getopt.c, regex.c: Put alloca stuff first, where RS6000 requires it.
- * getopt.c: Use const instead of CONST, and define it to
- nothing if not __STDC__.
-
- * xmalloc.c (xmalloc, xrealloc): Exit with value 2 on error,
- not 1, so cmp can use it.
-
-Tue Jul 23 15:01:26 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getugroups.c: GID_T is int if ultrix as well as if sun.
-
-Mon Jul 22 17:39:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * getugroups.c: If POSIX and not sun (bogus!), take an array
- of gid_t instead of an array of int.
-
-Tue Jul 16 21:24:43 1991 Michael Meissner (meissner at wookumz.gnu.ai.mit.edu)
-
- * obstack.h (__extension__): If compiling with a 1.xx GCC
- compiler define __extension__ as nothing.
-
-Tue Jul 16 20:25:22 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * obstack.h [not __GNUC__] (obstack_finish): Add extra parens for clarity.
- (conditionals for __GNUC__): Do not test __STRICT_ANSI__.
- [__GNUC__] (most macros): Use __extension__ to avoid -pedantic warning.
-
-Tue Jul 16 17:12:02 1991 Michael Meissner (meissner at wookumz.gnu.ai.mit.edu)
-
- * obstack.h (obstack_finish): If compiling with a non-GCC
- compiler, use the argument (h) to point to the obstack
- structure, rather than the __o1 pointer, which only exists in
- the GNU side of the macros.
- (#if __GNUC__ && __STDC__): If -pedantic is used do not use
- the GNU CC ({}) optimizations, since these cause warnings to
- be omitted.
-
-Tue Jul 16 01:59:58 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
-
- * getdate.y (TimezoneTable): #if 0 zones which would require
- storing a float in a time_t.
-
-Fri Jul 12 17:01:58 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * obstack.h (struct obstack): New flag maybe_empty_object.
- (obstack_finish, both versions): Set the flag if allocate empty object.
- Don't make the object nonempty. This replaces May 7 change.
- * obstack.c (_obstack_begin, _obstack_newchunk): Clear the flag.
- (_obstack_newchunk): Don't free "empty" chunk if flag is set.
- (_obstack_free): Set the flag if we change chunks.
-
-Sat Jul 6 21:09:31 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
-
- * getdate.y [NEED_TZSET]: Declare `timezone'.
-
-Thu Jun 20 01:11:31 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
-
- * getopt.c: Separate decls of getenv and malloc from decls of
- index and bcopy, to reduce duplicated code.
-
-Tue Jun 11 00:11:07 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
-
- * regex.c (re_match_2): In case wordbeg, check whether we are
- at the start of the string before checking the previous
- character, not after, just like in case wordend.
-
- * getdate.y: Declare alloca for old bisons.
-
-Mon May 20 13:13:32 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * obstack.c (obstack_free, _obstack_free): Define both, the same way.
-
-Sun May 19 18:37:38 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
-
- * getdate.y: Rename getdate to get_date to avoid conflict with SVR4.
-
-Fri May 17 21:09:14 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
-
- * filemode.c (ftypelet): Only test for S_ISBLK if it's defined.
-
-Sat May 11 14:49:43 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * obstack.h (obstack_finish): Typo in last change (non-GNUC version).
-
-Tue May 7 15:38:51 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * obstack.h (obstack_finish): Make each object at least 1 byte.
-
-Tue Apr 30 13:58:16 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
-
- * getopt.c, regex.c [_AIX]: Do #pragma alloca.
-
-Wed Apr 10 19:08:02 1991 Per Bothner (bothner at pogo.gnu.ai.mit.edu)
-
- * signame.h: Make sys_siglist be const char[] if __STDC__
- is defined (thus making it compatible with signame.c).
-
-Tue Apr 2 16:49:02 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu)
-
- * glob.c: Put #ifndef alloca around alloca goop.
- (glob_vector): Put #ifdef SHELL around label used only there.
-
-Tue Apr 2 14:32:47 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
-
- * glob.c: Attempt to reconcile with bash and make versions of
- #ifdefs and #includes.
-
- * glob.c (glob_vector): If _POSIX_SOURCE, don't use
- (non-POSIX) d_ino field of struct dirent. (from bfox)
-
-Sun Mar 17 16:25:23 1991 Richard Stallman (rms@mole.ai.mit.edu)
-
- * regex.c (PUSH_FAILURE_POINT): Was multiplying stack size by
- a big number. Multiply by 2 instead.
-
- * signame.c (init_sigs): Define i.
-
-Fri Feb 22 12:38:22 1991 Mike Haertel (mike at apple-gunkies)
-
- * obstack.c (_obstack_allocated_p): Use >=, not >, when
- comparing with the beginning of the chunk, for the exact
- same reason as RMS' change below.
-
-Thu Feb 21 21:29:50 1991 Richard Stallman (rms at mole.ai.mit.edu)
-
- * obstack.h [not __GNUC__] (obstack_free): Use >, not >=,
- when comparing with beginning of chunk.
-
- * getopt.c (bcopy): Never declare it.
-
-Thu Feb 21 09:18:47 1991 David J. MacKenzie (djm at geech.ai.mit.edu)
-
- * glob.c: Don't declare bcopy if it is a macro.
- Use BSD strings for NeXT. Don't include memory.h on POSIX.
-
-Mon Feb 18 23:41:20 1991 David J. MacKenzie (djm at geech.ai.mit.edu)
-
- * glob.c: Add special code for bash, #ifdef SHELL.
- (glob_pattern_p): Only recognize `[' as a metacharacter if
- there is a matching `]', for POSIX.2. (from bfox)
-
-Mon Jan 28 00:30:39 1991 Richard Stallman (rms at mole.ai.mit.edu)
-
- * crt0.c [m68k]: Add conditionals for sun_68881, sun_fpa, sun_soft.
-
-Sun Jan 27 15:18:26 1991 Richard Stallman (rms at mole.ai.mit.edu)
-
- * getopt.c (bcopy): Don't declare it if it's a macro.
-
-Thu Jan 24 22:16:14 1991 Richard Stallman (rms at mole.ai.mit.edu)
-
- * regex.c (re_compile_pattern): Don't translate chars in char set
- until the time the bits are set for them.
-
-Sat Dec 15 18:36:50 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * filemode.c: Define each S_ISFOO function if not defined by
- sys/stat.h.
-
-Sat Dec 15 15:10:14 1990 Richard Stallman (rms at mole.ai.mit.edu)
-
- * obstack.h (obstack_init): Cast the chunk alloc function.
- (obstack_begin): Likewise.
-
-Thu Dec 13 17:58:07 1990 Richard Stallman (rms at mole.ai.mit.edu)
-
- * obstack.h: At all calls to _obstack_newchunk,
- enclose in (..., 0), so that both alternatives are ints.
-
-Thu Dec 6 11:39:11 EST 1990 Jay Fenlason (hack@ai.mit.edu)
-
- * getdate.y: Add support for 'date' style yymmddhhss dates.
-
-Mon Dec 3 14:09:40 1990 Richard Stallman (rms at mole.ai.mit.edu)
-
- * obstack.h:
- At all calls to _obstack_newchunk, cast the other alternative to void.
-
-Sat Dec 2 21:56:25 1990 Roland McGrath (roland at albert.ai.mit.edu)
-
- * a.out.gnu.h (N_COMM): Define this.
-
-Thu Nov 30 00:04:35 1990 Roland McGrath (roland at geech.ai.mit.edu)
-
- * a.out.gnu.h (_N_HDROFF): Use SEGMENT_SIZE rather than a hard-coded
- 1024. What moron did this??
-
-Wed Nov 29 17:41:09 1990 Roland McGrath (roland at albert.ai.mit.edu)
-
- * a.out.gnu.h [vax, hp300, pyr] (SEGMENT_SIZE): Define as PAGE_SIZE,
- not page_size.
-
-Wed Nov 14 00:35:16 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * regex.c (SIGN_EXTEND_CHAR): If UNSIGNED_CHAR is defined, use
- an alternate definition (suggested in the GNU grep README).
-
-Thu Nov 8 12:08:52 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * filemode.c (ftypelet): Pass a mode_t instead of unsigned
- short, so it works on Evans' Minix. If _POSIX_SOURCE is not
- defined, define mode_t as unsigned short. Define S_ISTYPE
- macros if needed. Use them.
-
- * modechange.c: Use S_ISDIR. Define if needed.
-
-Fri Oct 26 16:50:01 1990 Richard Stallman (rms at mole.ai.mit.edu)
-
- * obstack.c (_obstack_newchunk): If old_chunk becomes empty, free it.
-
-Mon Oct 15 13:50:17 1990 Richard Stallman (rms at mole.ai.mit.edu)
-
- * obstack.h (obstack_free): In non-GNU C case, don't use
- value of _obstack_free.
-
-Sun Oct 14 18:51:51 1990 Richard Stallman (rms at mole.ai.mit.edu)
-
- * crt0.c (new hp assembler): Double flag_fpa and flag_68881 if %d2!=0.
-
- * alloca.s [MOTOROLA_DELTA]: Avoid putting sp above stack top.
-
-Mon Oct 1 16:20:02 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
-
- * obstack.h Declare _obstack_free and _obstack_begin as void instead
- of int. Otherwise, GCC won't let you compile obstack.c
-
-Fri Sep 28 23:53:28 1990 Richard Stallman (rms at mole.ai.mit.edu)
-
- * obstack.h: Declare the functions we use from obstack.c.
- (obstack_blank): In both definitions, rearrange pointer math to avoid
- pointing past end of allocated memory.
-
-Wed Sep 19 21:09:26 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
-
- * obstack.h (obstack_int_grow): In non-GCC case, don't try to
- post-increment a cast.
-
-Mon Sep 3 22:18:38 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * error.c [DOPRNT_MISSING]: Pass args as a fixed number of
- `char *'.
-
-Sun Sep 2 20:51:02 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * regex.c: Use standard string functions if STDC_HEADERS is
- defined.
-
-Fri Aug 31 06:59:47 1990 Jim Kingdon (kingdon at albert.ai.mit.edu)
-
- * getopt1.c (getopt_long{,_only}): If opt_index is NULL, don't
- try to store into *opt_index.
-
-Tue Aug 28 18:45:16 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * regex.c: Include some system header files if appropriate.
-
-Wed Aug 15 14:38:15 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * regex.c: Define isgraph if ctype.h doesn't (as on Sequents).
-
-Sun Aug 12 00:20:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * getopt.c (getopt): If optstring starts with '+', don't
- permute; this is for utilities like time, nice, xargs, and
- env, which don't want to mix up their options with those of
- the programs they run, but don't want to turn off permuting
- for those programs by setting _POSIX_OPTION_ORDER.
-
-Fri Aug 3 14:25:35 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
-
- * getopt.c (main), getopt1.c (main): Read option chars into an
- int, not a char.
-
- * getopt.c (getopt): Increment `optind' after finding
- unrecognized or ambiguous long named option.
-
-Thu Jul 5 09:50:25 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * getopt.c: If long option's `flag' field is zero, return the
- contents of the `val' field.
-
-Fri Jun 29 01:30:22 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * getopt.h: Mention in comment how to handle long options that
- don't just store a constant in an int.
-
-Mon Jun 25 18:15:46 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * filemode.c (ftypelet): Distinguish between regular files and
- unknown file types using '-' and '?'.
-
-Sat Jun 16 11:18:26 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * getopt.c: If STDC_HEADERS or __GNU_LIBRARY__ is defined,
- include ANSI C header files.
-
-Thu Jun 14 13:21:42 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * glob.c (glob_match): Eliminate '^' as a character class
- negator, leaving just the POSIX '!'.
-
-Thu Jun 7 01:01:40 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * glob.c: __GNU_LIBRARY__ implies DIRENT and STDC_HEADERS.
-
-Thu Jun 7 03:45:33 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * glob.c: Use <dirent.h> if DIRENT is defined, not _POSIX_SOURCE.
-
-Wed Jun 6 00:05:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * glob.c (glob_filename): Remove tilde expansion code.
-
-Tue Jun 5 00:35:48 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * error.c: Use VPRINTF_MISSING instead of VPRINTF to control
- use of _doprnt.
- (error): Use strerror.
- (strerror) [!STDC_HEADERS]: New function.
-
- * glob.c: Optionally support POSIX and STDC headers.
- (glob_filename): Make tilde expansion work for patterns
- containing subdirectories.
-
-Mon Jun 4 16:31:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * glob.c (glob_match): Allow '!' as well as '^' to negate
- character classes. Check for end of filename when comparing
- with char class. Check for end of pattern after backslash in
- character class.
- (glob_vector): Only calculate D_NAMLEN once, for efficiency.
- Don't allocate name_vector if a previous malloc failed.
- (glob_dir_to_array): Make string copying more efficient.
- (glob_filename): directory_size was off by 1.
- Reallocation of result had '1' instead of 'l'.
-
-Thu May 31 01:45:16 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * glob.c: Reformat to resemble the bash version more.
-
- * filemode.c: If _POSIX_SOURCE is defined, use POSIX macro
- names for mode bits.
-
-Sat May 19 15:17:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * filemode.c (mode_string): New function.
- (filemodestring): Reimplement in terms of mode_string.
- (ftypelet): Take an unsigned short instead of a struct stat *.
- Fix up comments.
-
-Thu May 10 12:57:11 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * error.c: If __STDC__, use stdarg instead of varargs.
-
-Tue May 1 16:07:32 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * alloca.s [hp9000s300]: Avoid using sp as temporary.
-
-Fri Apr 20 16:58:24 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * obstack.c, obstack.h (obstack_free): Use >, not >=, to compare
- object with chunk address.
-
-Mon Apr 9 15:11:22 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * a.out.encap.h: Protect against multiple inclusion.
-
-Fri Apr 6 23:27:46 1990 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu)
-
- * a.out.gnu.h (enum machine_type): Put missing comma after M_SPARC.
-
-Mon Apr 2 04:49:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * malloc.c: Make get_lim_data always "static void" regardless
- of #ifdefs. Declare it before using it.
-
-Mon Mar 26 00:36:52 1990 David J. MacKenzie (djm at spike.ai.mit.edu)
-
- * getopt.c (getopt): For long-named options that take optional
- args, never use the next argv-element as an arg; args for
- these must be part of the same argv-element, separated from
- the option name by a '='. This makes them consistent with how
- short-named options with optional args are handled.
-
- * getopt.h, getopt.c, getopt1.c: Add some const declarations
- if __STDC__.
-
-Sun Mar 4 12:11:31 1990 Kathy Hargreaves (kathy at hayley)
-
- * regex.h: Added syntax bit RE_NO_EMPTY_RANGES which is set if
- an ending range point has to collate higher or equal to the
- starting range point.
- Added syntax bit RE_NO_HYPHEN_RANGE_END which is set if a hyphen
- can't be an ending range point.
- Set to two above bits in RE_SYNTAX_POSIX_BASIC and
- RE_SYNTAX_POSIX_EXTENDED.
-
- regex.c: (re_compile_pattern): Don't allow empty ranges if the
- RE_NO_EMPTY_RANGES syntax bit is set.
- Don't let a hyphen be a range end if the RE_NO_HYPHEN_RANGE_END
- syntax bit is set.
- (ESTACK_PUSH_2): renamed this PUSH_FAILURE_POINT and made it
- push all the used registers on the stack, as well as the number
- of the highest numbered register used, and (as before) the two
- failure points.
- (re_match_2): Fixed up comments.
- Added arrays best_regstart[], best_regstart_seg1[], best_regend[],
- and best_regend_seg1[] to keep track of the best match so far
- whenever reach the end of the pattern but not the end of the
- string, and there are still failure points on the stack with
- which to backtrack; if so, do the saving and force a fail.
- If reach the end of the pattern but not the end of the string,
- but there are no more failure points to try, restore the best
- match so far, set the registers and return.
- Compacted some code.
- In stop_memory case, if the subexpression we've just left is in
- a loop, push onto the stack the loop's on_failure_jump failure
- point along with the current pointer into the string (d).
- In finalize_jump case, in addition to popping the failure
- points, pop the saved registers.
- In the fail case, restore the registers, as well as the failure
- points.
-
-
-Sun Feb 18 15:08:10 1990 Kathy Hargreaves (kathy at hayley)
-
- * regex.c: (global): Defined a macro GET_BUFFER_SPACE which
- makes sure you have a specified number of buffer bytes
- allocated.
- Redefined the macro BUFPUSH to use this.
- Added comments.
-
- (re_compile_pattern): Call GET_BUFFER_SPACE before storing or
- inserting any jumps.
-
- (re_match_2): Set d to string1 + pos and dend to end_match_1
- only if string1 isn't null.
- Force exit from a loop if it's around empty parentheses.
- In stop_memory case, if found some jumps, increment p2 before
- extracting address to which to jump. Also, don't need to know
- how many more times can jump_n.
- In begline case, d must equal string1 or string2, in that order,
- only if they are not null.
- In maybe_finalize_jump case, skip over start_memorys' and
- stop_memorys' register numbers, too.
-
-Thu Feb 15 15:53:55 1990 Kathy Hargreaves (kathy at hayley)
-
- * regex.c (BUFPUSH): off by one goof in deciding whether to
- EXTEND_BUFFER.
-
-Wed Jan 24 17:07:46 1990 Kathy Hargreaves (kathy at hayley)
-
- * regex.h: Moved definition of NULL to here.
- Got rid of ``In other words...'' comment.
- Added to some comments.
-
- regex.c: (re_compile_pattern): Tried to bulletproof some code,
- i.e., checked if backward references (e.g., p[-1]) were within
- the range of pattern.
-
- (re_compile_fastmap): Fixed a bug in succeed_n part where was
- getting the amount to jump instead of how many times to jump.
-
- (re_search_2): Changed the name of the variable ``total'' to
- ``total_size.''
- Condensed some code.
-
- (re_match_2): Moved the comment about duplicate from above the
- start_memory case to above duplicate case.
-
- (global): Rewrote some comments.
- Added commandline arguments to testing.
-
-
-Wed Jan 17 11:47:27 1990 Kathy Hargreaves (kathy at hayley)
-
- * regex.c: (global): Defined a macro STORE_NUMBER which stores a
- number into two contiguous bytes. Also defined STORE_NUMBER_AND_INCR
- which does the same thing and then increments the pointer to the
- storage place to point after the number.
- Defined a macro EXTRACT_NUMBER which extracts a number from two
- continguous bytes. Also defined EXTRACT_NUMBER_AND_INCR which
- does the same thing and then increments the pointer to the
- source to point to after where the number was.
-
-
-Tue Jan 16 12:09:19 1990 Kathy Hargreaves (kathy at hayley)
-
- * regex.h: Incorporated rms' changes.
- Defined RE_NO_BK_REFS syntax bit which is set when want to
- interpret back reference patterns as literals.
- Defined RE_NO_EMPTY_BRACKETS syntax bit which is set when want
- empty bracket expressions to be illegal.
- Defined RE_CONTEXTUAL_ILLEGAL_OPS syntax bit which is set when want
- it to be illegal for *, +, ? and { to be first in an re or come
- immediately after a | or a (, and for ^ not to appear in a
- nonleading position and $ in a nontrailing position (outside of
- bracket expressions, that is).
- Defined RE_LIMITED_OPS syntax bit which is set when want +, ?
- and | to always be literals instead of ops.
- Fixed up the Posix syntax.
- Changed the syntax bit comments from saying, e.g., ``0 means...''
- to ``If this bit is set, it means...''.
- Changed the syntax bit defines to use shifts instead of integers.
-
- * regex.c: (global): Incorporated rms' changes.
-
- (re_compile_pattern): Incorporated rms' changes
- Made it illegal for a $ to appear anywhere but inside a bracket
- expression or at the end of an re when RE_CONTEXTUAL_ILLEGAL_OPS
- is set. Made the same hold for $ except it has to be at the
- beginning of an re instead of the end.
- Made the re "[]" illegal if RE_NO_EMPTY_BRACKETS is set.
- Made it illegal for | to be first or last in an re, or immediately
- follow another | or a (.
- Added and embellished some comments.
- Allowed \{ to be interpreted as a literal if RE_NO_BK_CURLY_BRACES
- is set.
- Made it illegal for *, +, ?, and { to appear first in an re, or
- immediately follow a | or a ( when RE_CONTEXTUAL_ILLEGAL_OPS is set.
- Made back references interpreted as literals if RE_NO_BK_REFS is set.
- Made recursive intervals either illegal (if RE_NO_BK_CURLY_BRACES
- isn't set) or interpreted as literals (if is set), if RE_INTERVALS
- is set.
- Made it treat +, ? and | as literals if RE_LIMITED_OPS is set.
- Cleaned up some code.
-
-
-Thu Dec 21 15:31:32 1989 Kathy Hargreaves (kathy at hayley)
-
- * regex.c: (global): Moved RE_DUP_MAX to regex.h and made it
- equal 2^15 - 1 instead of 1000.
- Defined NULL to be zero.
- Moved the definition of BYTEWIDTH to regex.h.
- Made the global variable obscure_syntax nonstatic so the tests in
- another file could use it.
-
- (re_compile_pattern): Defined a maximum length (CHAR_CLASS_MAX_LENGTH)
- for character class strings (i.e., what's between the [: and the
- :]'s).
- Defined a macro SET_LIST_BIT(c) which sets the bit for C in a
- character set list.
- Took out comments that EXTEND_BUFFER clobbers C.
- Made the string "^" match itself, if not RE_CONTEXT_IND_OPS.
- Added character classes to bracket expressions.
- Change the laststart pointer saved with the start of each
- subexpression to point to start_memory instead of after the
- following register number. This is because the subexpression
- might be in a loop.
- Added comments and compacted some code.
- Made intervals only work if preceded by an re matching a single
- character or a subexpression.
- Made back references to nonexistent subexpressions illegal if
- using POSIX syntax.
- Made intervals work on the last preceding character of a
- concatenation of characters, e.g., ab{0,} matches abbb, not abab.
- Moved macro PREFETCH to outside the routine.
-
- (re_compile_fastmap): Added succeed_n to work analogously to
- on_failure_jump if n is zero and jump_n to work analogously to
- the other backward jumps.
-
- (re_match_2): Defined macro SET_REGS_MATCHED to set which
- current subexpressions had matches within them.
- Changed some comments.
- Added reg_active and reg_matched_something arrays to keep track
- of in which subexpressions currently have matched something.
- Defined MATCHING_IN_FIRST_STRING and replaced ``dend == end_match_1''
- with it to make code easier to understand.
- Fixed so can apply * and intervals to arbitrarily nested
- subexpressions. (Lots of previous bugs here.)
- Changed so won't match a newline if syntax bit RE_DOT_NOT_NULL is set.
- Made the upcase array nonstatic so the testing file could use it also.
-
- (main.c): Moved the tests out to another file.
-
- (tests.c): Moved all the testing stuff here.
-
-
-Sat Nov 18 19:30:30 1989 Kathy Hargreaves (kathy at hayley)
-
- * regex.c: (re_compile_pattern): Defined RE_DUP_MAX, the maximum
- number of times an interval can match a pattern.
- Added macro GET_UNSIGNED_NUMBER (used to get below):
- Added variables lower_bound and upper_bound for upper and lower
- bounds of intervals.
- Added variable num_fetches so intervals could do backtracking.
- Added code to handle '{' and "\{" and intervals.
- Added to comments.
-
- (store_jump_n): (Added) Stores a jump with a number following the
- relative address (for intervals).
-
- (insert_jump_n): (Added) Inserts a jump_n.
-
- (re_match_2): Defined a macro ESTACK_PUSH_2 for the error stack;
- it checks for overflow and reallocates if necessary.
-
- * regex.h: Added bits (RE_INTERVALS and RE_NO_BK_CURLY_BRACES)
- to obscure syntax to indicate whether or not
- a syntax handles intervals and recognizes either \{ and
- \} or { and } as operators. Also added two syntaxes
- RE_SYNTAX_POSIX_BASIC and RE_POSIX_EXTENDED and two command codes
- to the enumeration regexpcode; they are succeed_n and jump_n.
-
-
-Sat Nov 18 19:30:30 1989 Kathy Hargreaves (kathy at hayley)
-
- * regex.c: (re_compile_pattern): Defined INIT_BUFF_SIZE to get rid
- of repeated constants in code. Tested with value 1.
- Renamed PATPUSH as BUFPUSH, since it pushes things onto the
- buffer, not the pattern. Also made this macro extend the buffer
- if it's full (so could do the following):
- Took out code at top of loop that checks to see if buffer is going
- to be full after 10 additions (and reallocates if necessary).
-
- (insert_jump): Rearranged declaration lines so comments would read
- better.
-
- (re_match_2): Compacted exactn code and added more comments.
-
- (main): Defined macros TEST_MATCH and MATCH_SELF to do
- testing; took out loop so could use these instead.
-
-
-Tue Oct 24 20:57:18 1989 Kathy Hargreaves (kathy at hayley)
-
- * regex.c (re_set_syntax): Gave argument `syntax' a type.
- (store_jump, insert_jump): made them void functions.
-
-Tue Mar 6 23:29:26 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * signame.c (sig_number): Return -1 if not found.
-
-Fri Mar 2 16:32:20 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * signame.h [!__STDC__]: Remove comments cuz they're in [__STDC__].
- signame.{c,h}: Make sig_abbrev return char *, not const char *.
-
-Thu Mar 1 14:10:32 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * getopt.c (getopt): If _getopt_long_only, for options that
- start with '-' and are not a valid long-named option, only
- interpret them as short options if the first letter is a valid
- short option. Otherwise the error message would be printed
- naming the short option letter instead of the whole option, and
- if, for example, there is a 'T' long option, '-Tfoo' would print
- "prog: invalid option `-T'" (which is wrong).
-
-Wed Feb 28 19:38:49 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * signame.h: Use ANSI C prototypes ifdef __STDC__.
- * signame.c: Add const declarations ifdef __STDC__.
-
-Wed Feb 28 19:06:36 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * signame.c (SIGPWR): Change name to "Power failure".
-
-Wed Feb 28 18:46:36 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * getopt.h: ifdef out decl of _getopt_option_name.
-
-Wed Feb 28 15:05:54 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * getopt.c (getopt): Change typo (optstr -> optstring).
-
- * getopt.c: Remove all _getopt_option_name stuff.
- If RETURN_IN_ORDER, return one, not zero, to distinguish between
- this and a long option.
-
- * signame.{c,h}: New files.
-
-Tue Feb 27 13:32:45 1990 David J. MacKenzie (djm at rice-chex)
-
- * getopt.c (getopt): In RETURN_IN_ORDER mode, set
- _getopt_option_name to zero when returning a non-option arg in
- optarg, to distinguish it from getting a long-named option
- that takes an arg.
- Print the correct option-introducing character (can be
- either `+' or `-') in error messages for long-named options.
- If _getopt_long_only is nonzero, no long options match an
- option arg that starts with a dash, and there are valid short
- options, try matching the arg against the short options.
-
-Thu Feb 22 19:50:49 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * obstack.c (_obstack_begin): Use slightly smaller default size
- so that it still fits in one block if malloc range checking is
- in use.
-
-Mon Feb 19 15:41:14 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * getopt1.c (getopt_long_only): New function.
- getopt.h: Declare getopt_long_only and _getopt_long_only.
- getopt.c: Define _getopt_long_only.
- (getopt): If _getopt_long_only, accept '-' as well as '+' to start
- long option.
-
-Sat Feb 3 16:28:00 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * alloca.s [MOTOROLA_DELTA]: New alternative for 68k.
-
-Sun Jan 28 22:29:17 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * getopt1.c (main): Fix bug that prevented the first long
- option from being recognized.
-
- * getopt.c: Move comment on the return value for long-named
- options to a more appropriate place.
-
-Wed Jan 24 19:11:27 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * glob.c (glob_filename): Change '==' to '=' in what was
- clearly supposed to be an assignment statement.
-
-Mon Jan 22 18:14:40 1990 David J. MacKenzie (djm at rice-chex)
-
- * regcmp.c (regcmp): Allocate whole return value with one call
- to malloc, so freeing the buffer works the same way as it does
- on System V.
-
-Tue Jan 16 22:17:03 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * a.out.gnu.h [hp300, pyr]: Define SEGMENT_SIZE to be page_size
-
-Wed Jan 10 06:57:10 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * glob.c: Use <sys/ndir.h> if SYSNDIR is defined (some Xenix
- systems need this).
-
-Mon Jan 8 12:33:55 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * regex.c (re_compile_pattern): Add missing break in prev change.
-
-Mon Jan 1 12:16:56 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * regex.c (re_compile_pattern): Ignore \<, etc., checking
- context of $.
-
-Mon Dec 25 12:00:16 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * obstack.h (obstack_object_size, obstack_room): Eliminate _obstack.
-
-Sat Dec 23 16:20:13 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * regex.c (re_compile_fastmap): Put back deleted local k.
-
-Wed Dec 20 02:03:43 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * getopt.h: Add function decls/prototypes for getopt and
- getopt_long.
-
- * getopt.c: Bring some comments up to date with the code.
-
-Tue Dec 19 03:12:48 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * regex.h: Add function prototypes if __STDC__ is defined.
-
- * regex.c: Declare some external functions if emacs is not
- defined. Add a few casts.
- (re_compile_fastmap): Remove unused variable.
-
-Mon Dec 18 14:12:53 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * getopt.c: Declare some external functions.
-
-Mon Nov 20 19:57:00 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu)
-
- * a.out.gnu.h: Wrap N_MAGIC in #ifndef...#endif.
-
-Fri Nov 17 03:12:28 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu)
-
- * a.out.gnu.h: Wrap many things in #ifndef...#endif so file
- can be used in addition to a system-supplied a.out.h.
-
-Tue Oct 31 17:03:06 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * getopt1.c (getopt_long): Delete mistaken test for index == 0.
-
-Wed Oct 25 17:50:51 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * getopt.c (getopt): Set option_index properly for long options.
-
-Tue Oct 24 23:41:06 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * getopt1.c (main): Fix initializers.
-
- * getopt.c (getopt): Was off by 1, checking for missing arg
- for long option.
-
-Wed Oct 18 13:15:18 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * getopt.c: Improve comments and an error message.
- Don't initialize most variables, for the sake of unexec.
-
-Tue Oct 17 03:06:14 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * getopt.c (getopt): Uniformly don't recognize `+' as option
- if program doesn't use long options.
-
- * getopt.c (getopt): Complain about ambiguous option abbreviations.
- But accept any exact match even if ambiguous.
-
- * getopt.c (getopt): Report error for unrecognized long options.
-
-Sat Sep 30 14:47:29 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu)
-
- * malloc.c: "#else rcheck" -> "#else /* rcheck */".
-
-Tue Sep 19 19:00:58 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * regex.h: Define RE_SYNTAX_POSIX_AWK.
-
-Sun Sep 17 15:20:46 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * regex.h: Last change in RE_SYNTAX_AWK broke RE_SYNTAX_EGREP.
-
-Sat Sep 16 01:53:53 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * regex.c (re_search_2): Stupid error propagating return code -2.
-
-Tue Sep 12 13:50:05 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * crt0.c [ISI68K]: Reinstall label __start.
-
-Tue Sep 5 15:43:24 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu)
-
- * malloc.c: Define USG if hpux defined.
-
-Mon Aug 28 17:50:27 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * regex.c (re_compile_pattern): With RE_AWK_CLASS_HACK, \ quotes
- all characters inside [...].
-
-Sat Aug 26 00:20:26 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
-
- * regex.h: Define RE_AWK_CLASS_HACK and change RE_SYNTAX_AWK.
- * regex.c (re_compile_pattern): Change syntax of \ inside [...]
- when RE_AWK_CLASS_HACK is set.
-
- * regex.c (re_match_2): Declare strings to search as char *,
- and cast inside the function.
-
-Sat Aug 19 14:55:19 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
-
- * regex.c (EXTEND_BUFFER): Don't clobber c; do pointer arith
- to update b in portable fashion.
-
-Thu Aug 17 15:56:36 1989 Joseph Arceneaux (jla at spiff)
-
- * regex.c (EXTEND_BUFFER): Set c to bufp->buffer - old_buffer.
-
-Sun Aug 13 15:21:02 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
-
- * obstack.h: Typos in comments.
-
-Sun Jul 30 20:24:52 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * obstack.c (_obstack_newchunk): Never copy bytes past the end
- of the object. Copy by COPYING_UNIT only for complete units
- that fit in the object; then copy remaining bytes singly.
- If obstack has less than the default alignment,
- copy all bytes singly.
-
-Thu Jul 20 01:51:56 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * crt0.c: Delete spaces at ends of lines.
- [ISI68K]: Unconditionally enclose asms in function `_start'.
- Delete assembler definition of that function.
- Use a6, not fp, as register name.
-
-Sun Jul 16 16:32:52 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu)
-
- * a.out.encap.h: Remove #ifdef ALTOS code because according to
- Jyrki Kuoppala <jkp@sauna.hut.fi> it doesn't do what he put it
- in to do (which was work around a kernel bug).
-
-Thu Jun 29 19:59:16 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
-
- * malloc.c (valloc): Changed to be conditionalized on ! hpux
- instead of ! HPUX (hpux this is generated by the OS).
-
-Tue Jun 20 21:14:57 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * Makefile: include ../Makerules.
- Added .y->.tab.c implicit rule and rule to make unctime.tab.o.
- Use $(archpfx) in front of object files.
- Made some rules use $({LINK,COMPILE}.?) instead of $(CC), etc.
-
-Sat Jun 17 14:22:53 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * regex.h (struct re_pattern_buffer): Make ALLOCATED and USED long.
- * regex.c (EXTEND_BUFFER): Use long constants to compare with them.
- Move assignment outside if-condition.
- Do pointer relocation arithmetic in strictly correct order.
-
-Sat Jun 10 00:26:01 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * glob.c [USG]: Define rindex; declare getpwent, etc.
-
-Wed Jun 7 22:36:51 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * alloca.s [hp9000s300]: Increase MAXREG for fpregs.
-
- * crt0.c: For new hp assembler, define float_loc as fixed location.
-
-Wed May 31 17:51:41 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * a.out.gnu.h: Define SEGMENT_SIZE for Altos.
-
-Mon May 22 17:59:17 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * glob.c: Several changes for USG compatibility, etc. that have been
- in the version distributed with Make for a while.
- Today added new variable glob_tilde which makes glob_filename expand
- ~ or ~USER, and made glob_filename, when given a directory with the
- file name pattern, return the directory alone.
-
-Wed May 17 16:45:36 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * getopt.c (getopt): Add feature for long-named options;
- starting with `+'.
-
-Mon May 8 17:21:40 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * crt0.c [sps7]: Handle mostly like orion, etc.
-
-Fri May 5 15:26:58 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * obstack.c (_obstack_free): If __STDC__, define this as well as
- obstack_free.
-
- * crt0.c [hp9000s300]: Give fixed address to fpa_loc, per cph.
-
-Tue May 2 14:42:26 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * crt0.c [hp9000s300]: Allocate fpa_loc and float_loc.
-
-Sun Apr 23 00:22:37 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * a.out.encap.h (COFF_MAGIC, SEGMENT_SIZE, N_DATADDR):
- Alternate definitions if ALTOS or if m68k.
-
- * getopt.c: If __GNUC__, use builtin alloca.
- Define index if USG.
-
-Wed Apr 19 13:03:18 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * crt0.c [m68000]: Call finitfp_() if nec on Sun.
-
-Fri Apr 7 22:22:38 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * malloc.c: Rename BSD42 to BSD4_2, as in Emacs.
- If `emacs', let config.h decide whether to define that.
- (morecore): Change malloc_sbrk_used, etc., after error check.
-
-Thu Mar 23 18:21:56 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
-
- * glob.c: Added new copyright notice.
-
-Thu Mar 16 16:56:54 1989 Randall Smith (randy at gluteus.ai.mit.edu)
-
- * malloc.c (malloc): Made sure that the MAGIC1 bytes written at
- the end of the space were positioned with regard to the new
- offset.
-
-Fri Mar 10 16:50:12 1989 Randall Smith (randy at sugar-bombs.ai.mit.edu)
-
- * malloc.c (realloc): Make sure that the start of the mhead is
- found correctly even when sizeof (struct mhead) doesn't divide 8
- properley.
-
- * malloc.c (morecore): Added code to reset sigmask to correct
- value on a "no-more-room" return.
-
- * malloc.c (malloc, free, realloc): Leave 8 bytes of space, not 4,
- before the actual data block.
-
-Fri Mar 3 10:52:14 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
-
- * a.out.encap.h, stab.def: Modified to use new GNU General Public
- License.
-
-Thu Mar 2 15:45:46 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
-
- * a.out.gnu.h [nlist]: Made n_type an unsigned char (for compilers
- where chars default to signed, which can screw up comparisons) and
- made n_value an unsigned long.
-
-Wed Mar 1 13:04:25 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
-
- * getopt.c: Changed copyright header to reflect new GNU General
- public license.
-
-Fri Feb 24 13:00:21 1989 Randall Smith (randy at gluteus.ai.mit.edu)
-
- * regex.c, regex.h: Changed copyright header to reflect new GNU
- General public license.
-
-Sun Feb 19 08:02:01 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
-
- * getopt.c: If option argument is missing, return `?'.
-
-Fri Feb 10 13:31:05 1989 Randall Smith (randy at plantaris.ai.mit.edu)
-
- * stab.def: Changed comment on LSYM; also used for type
- descriptions.
-
-Wed Feb 1 23:15:39 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * filemode.c (setst): Give `T' if sticky but not executable.
-
-Mon Jan 9 10:31:20 1989 Pace Willisson (pace at prep.ai.mit.edu)
-
- * a.out.gnu.h: Change a_magic to a_info, and define macros
- to access it. Programs that refer to the magic number should
- access it with N_MAGIC (exec), and set it with N_SET_MAGIC (exec,
- val). This is a step to having a header that is unambiguous
- between big and little endian machines.
-
- * a.out.encap.h: Use macros to access a_info fields.
-
-Wed Dec 28 18:58:53 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * crt0.c (hp9000s300): Changes from Jinx: new flag `flag_fpa'
- set with a subx. d0 loaded from a0 and doubled before first subx.
-
-Tue Dec 20 22:13:49 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * a.out.gnu.h (N_DATADDR): Always define this if not already defined.
- (SEGMENT_SIZE): Define this for the vax.
-
-Tue Dec 20 14:57:38 1988 Pace Willisson (pace at prep.at.mit.edu)
-
- * a.out.gnu.h: Changed exec header to have two bytes
- (a_machtype and a_flags) instead of a_encap. a_machtype
- is the same as on modern sun systems; a_flags can have
- machine specific flags. (There may be some endian problems
- here: You would like to have the magic number be the
- first two bytes in the file, and then the next two could
- be these options. It looks like the 68000 definitions
- have to declare the options first to force this to happen.)
- Defined M_386 for a_machtype.
- Added definitions for N_DATOFF, N_TRELOFF, N_DRELOFF,
- N_DATADDR, N_BSSADDR (which are present in sun release 4.0)
-
- * a.out.encap.h: Defined A_ENCAP as an a_flags value. Changed
- uses of a_encap to a_flags & A_ENCAP
-
-Wed Dec 7 11:18:30 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu)
-
- * malloc.c: Added functions malloc_mem_used and malloc_mem_free to
- return total amount of space allocated to program, and total space
- left in free pool before sbrk must be called.
-
-Tue Nov 22 13:05:25 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu)
-
- * glob.c: Incorporated some bug fixes and changes sent by Brian.
- None of them look disasterous.
-
-Fri Oct 21 12:40:24 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu)
-
- * malloc.c (free): Added code (within #ifdef rcheck) to given
- slightly more verbose warnings then an abort if free was called
- with garbage.
-
-Local Variables:
-add-log-time-format: current-time-string
-mode: indented-text
-left-margin: 8
-version-control: never
-End:
diff --git a/gcc/FSFChangeLog b/gcc/FSFChangeLog
deleted file mode 100755
index 5a9c6cf..0000000
--- a/gcc/FSFChangeLog
+++ /dev/null
@@ -1,1503 +0,0 @@
-Tue Jun 9 07:24:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * regmove.c ({next,prev}_insn_for_regmove): Properly handle end of
- function.
-
-Mon Jun 8 15:26:49 1998 Juha Sarlin <juha@c3l.tyreso.se>
-
- * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
-
-Mon Jun 8 14:40:02 1998 John Wehle (john@feith.com)
-
- * i386.md (movsf_push, movsf_mem): Remove.
- (movsf_push): Rename from movsf_push_nomove and move in front of
- movsf; allow memory operands during and after reload.
- (movsf_push_memory): New pattern.
- (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
- both operands refer to memory then force operand[1] into a register.
- (movsf_normal): Change to unnamed pattern.
- Likewise for movdf, movxf, and friends.
-
-Mon Jun 8 13:18:04 1998 Martin v. Loewis <loewis@informatik.hu-berlin.de>
-
- * Makefile.in (TREE_H): Add tree-check.h.
- (tree-check.h, s-check, gencheck): New targets.
- (STAGESTUFF): Add s-check.
- * gencheck.c: New file.
- * tree.c (tree_check, tree_class_check, expr_check): New functions.
- * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
- (TYPE_CHECK, DECL_CHECK): Define.
- Modify all access macros to use generated checking macros.
- * acconfig.h (ENABLE_CHECKING): Undefine.
- * configure.in (--enable-checking): New option.
-
-Mon Jun 8 12:13:25 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.ed>
-
- * regmove.c: Remove include for varargs or stdarg.
-
-Mon Jun 8 07:49:41 1998 Andris Pavenis <pavenis@lanet.lv>
-
- * gcc.c (link_command_spec): Support LINK_COMMAND_SPEC.
-
-Sun Jun 7 18:00:28 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
- or VAR-- == CONST construct a proper mask if VAR is a bitfield.
- Cope with CONST being out of range for the bitfield.
-
-Sun Jun 7 17:19:35 1998 Tom Quiggle <quiggle@sgi.com>
-
- * mips/iris6.h (DWARF2_FRAME_INFO): Define.
- * dwarf2out.c (dwarf2out_do_frame): Do something if DWARF2_FRAME_INFO.
-
-Sun Jun 7 15:29:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * regmove.c: New file.
- * Makefile.in (OBJS): Add regmove.o.
- (regmove.o): New rules.
- (mostlyclean): Remove regmove dumps.
- * toplev.c (regmove_{dump,dump_file,time}, flag_regmove): New vars.
- (f_options): Add -foptimize-register-move.
- (compile_file): Run regmove pass after combine pass and do its dump.
- (main): Enable regmove dump when -dN or -da.
- (fatal_insn): Flush regmove dump file.
- * flags.h (flag_regmove): Declare.
- * flow.c (find_use_as_address): Export.
- * rtl.h (find_use_as_address): Declare.
- * local-alloc.c (optimize_reg_copy_{1,2}): Removed, all calls deleted.
- * reload1.c (count_occurrences): Export.
- * reload.h (count_occurrences): Declare.
-
-Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (uninstall): Uninstall gcov.
-
- * alpha.h (ASM_COMMENT_START): Define.
-
- * alpha.h (EXTRA_CONSTRAINT, case 'S'): New case.
- * alpha.md ({ashl,ashr,lshr}di3): Use 'S' for constraint.
-
- * i386.md (cmpxf): Add missing extend pattern from SFmode and fix
- operand numbers in one extend pattern from DFmode.
-
- * pa.md ({pre,post}_{ld,st}wm and similar): When operand is being
- incremented, use '+', not '=', for constraint.
-
- * reload.c (find_reloads): Give preference to pseudo that was the
- reloaded output of previous insn.
-
- * emit-rtl.c (init_emit_once): Provide default for DOUBLE_TYPE_SIZE.
-
- * expr.c (init_expr_once): Free all RTL we generate here.
- * expmed.c (init_expmed): Allocate all RTX in memory we'll free.
-
- * genemit.c (main): Generate #include "reload.h".
-
- * expr.c (expand_expr, case INDIRECT_EXPR): A dereference of
- a REFERENCE_TYPE is always considered in a structure. Likewise for
- a dereference of a NOP_EXPR whose input is a pointer to aggregate.
-
-Sat Jun 6 17:25:14 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * mips.md (reload_{in,out}di): Allow other operand to be invalid
- MEM and get any reload replacement before using address.
-
-Tue May 26 18:52:23 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * reload1.c (reload): Get MEM_IN_STRUCT_P and RTX_UNCHANGING_P
- from reg_equiv_memory_loc; set the latter when changing REG to MEM.
- (alter_reg): Don't set RTX_UNCHANGING_P for shared slots.
-
-Mon May 25 12:07:12 1998 Hans-Peter Nilsson <hp@axis.se>
-
- * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
-
-Sun May 24 21:50:12 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386/linux{,-aout,oldld}.h (ASM_COMMENT_START): Define.
-
-Sun May 24 11:58:37 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.md (adddi3, subdi3): Properly negate the DImode constant.
-
-Sun May 24 11:30:08 1998 Torbjorn Granlund <tege@matematik.su.se>
-
- * m68k/lb1sf68.asm (__addsf3): Fix typo in exg on coldfire.
-
-Sun May 24 09:38:17 1998 John Wehle (john@feith.com)
-
- * i386.md (movsi): Remove redundant integer push patterns.
- Don't check for TARGET_PUSH_MEMORY when pushing constants or registers.
-
-Sun May 24 08:59:27 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (fold, case EQ_EXPR): Split COMPLEX_TYPE operands
- if either is COMPLEX_CST in addition to COMPLEX_EXPR.
-
- * expr.c (do_jump, case EQ_EXPR, case NE_EXPR): Check for COMPLEX
- before testing for operand 1 being zero.
-
- * genattrtab.c (optimize): Define.
-
- * configure.lang: Fix substitution of target_alias.
-
-Sat May 23 22:31:17 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * emit_rtl.c (double_mode): New variable.
- (init_emit_once): Set and use it.
- * real.c (ereal_atof, real_value_truncate): Handle double_mode not
- being DFmode for C4x.
-
-Sat May 23 22:19:55 1998 Mike Stump <mrs@wrs.com>
-
- * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
- * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
- * i960.md (ret, flush_register_windows): Define.
- (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
- work yet.
-
-Sat May 23 18:45:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k/t-linux: Remove stuff already included in config/t-linux.
-
-Sat May 23 18:35:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * final.c: Select <stab.h> and "gstab.h" with NO_STAB_H.
-
- * gcc.c (default_compilers): Remove ".ada" extension.
-
- * combine.c (rtx_equal_for_field_assignment): Remove code that
- checks get_last_value.
-
- * Makefile.in (uninstall): Delete info files.
-
-Sat May 23 18:28:27 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
-
- * c-decl.c (start_decl): Use new macro SET_DEFAULT_DECL_ATTRIBUTES.
- * c-lex.c (check_newline): Put last read character back on input
- stream.
-
-Sat May 23 18:13:53 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
- negative in a stackless frame.
- * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
- in stackless frame size. Support 64-bit stackless frame size.
- Combine fpmem offset calculations and don't add total_size to
- offset if not pushing a stack frame.
-
- * tree.c (get_inner_array_type): New function.
- * tree.h (get_inner_array_type): Likewise.
-
-Wed May 20 15:42:22 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expmed.c (expand_divmod): Save last divison constant and
- if rem is same as div, don't adjust rem cost.
-
-Thu May 14 14:11:37 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha/vxworks.h: New file.
- * configure.in (alpha*-*-vxworks*): New target.
-
- * alpha.c (tree.h): Include earlier.
- (alpha_initialize_trampoline): New function.
- * alpha.h (INITIALIZE_TRAMPOLINE): Call it.
- * alpha/linux.h (INITIALIZE_TRAMPOLINE): Don't redefine.
-
-Thu May 14 13:35:53 1998 Cyrille Comar <comar@gnat.com>
-
- * Makefile.in (STAGESTUFF): Add s-under.
-
-Wed May 13 17:38:35 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * combine.c (simplify_comparison, case AND): Don't commute AND
- with SUBREG if constant is whole mode and don't do if lowpart
- and not WORD_REGISTER_OPERATIONS.
-
- * expmed.c (expand_mult): Use 0 as add_target if should preserve
- subexpressions.
-
-Mon May 11 17:26:06 1998 Paul Eggert <eggert@twinsun.com>
-
- * dwarf2out.c: Undo most recent change.
-
-Sun May 10 17:09:20 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (fold_range_test, fold): If need to make SAVE_EXPR
- to do optimization, suppress if contains_placeholder_p.
-
-Thu May 7 18:14:31 Paul Eggert <eggert@twinsun.com>
-
- * dwarf2out.c: Don't assume `.section ".text"' causes assembler to
- treat .text as label for start of section; instead, output
- `.section ".text"; .LLtext0:' and use .LLtext0 in label contexts.
- (ABBREV_LABEL, DEBUG_INFO_LABEL, DEBUG_LINE_LABEL, TEXT_LABEL): New.
- (abbrev_label, debug_info_label, debug_line_label, text_label): New.
- (dwarf2out_init): Initialize the vars. Output defn for text_label.
- (dwarf2out_finish): Output defns for the other 3 vars.
- (dw_val_node): Rename val_section to val_section_label, as it's
- now a label, not a section.
- (add_AT_section_offset): Arg is now a label, not a section.
- (print_die): In label contexts, output section label, not section.
- (output_die, output_compilation_unit_header): Likewise.
- (output_{pubnames,aranges,line_info}, dwarf2out_finish): Likewise.
-
- * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
- curses.h if it contains `typedef char bool;'.
-
- * configure.in (arm-*-netbsd*): Rename fixinc.math to fixinc.wrap.
- (i[34567]86-*-freebsdelf*, i[34567]86-*-freebsd*): Likewise.
- (i[34567]86-*-netbsd*, i[34567]86-*-solaris2*): Likewise.
- (m68k-*-netbsd*, mips-dec-netbsd*, ns32k-pc532-netbsd*): Likewise.
- (powerpcle-*-solaris2*, sparc-*-netbsd*, sparc-*-solaris2*): Likewise.
- (vax-*-netbsd*): Likewie.
-
-Wed May 6 06:44:28 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * combine.c (simplify_rtx, case TRUNCATE): Reflect that it sign-extends
- instead of zero-extending.
-
-Sat May 2 20:39:22 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (fold): When commutting COND_EXPR and binary operation,
- avoid quadratic behavior if have nested COND_EXPRs.
-
-Tue Apr 28 17:30:05 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * mips.h (HOST_WIDE_INT): Define if not already.
- (compute_frame_size, mips_debugger_offset): Return HOST_WIDE_INT.
- (DEBUGGER_{AUTO,ARG}_OFFSET): Cast second arg to HOST_WIDE_INT.
- * mips.c (mips_debugger_offset): Now returns HOST_WIDE_INT.
- Likewise for internal variable frame_size.
-
- * final.c (alter_subreg): Make new SUBREG if reload replacement
- scheduled inside it.
-
- * dwarf2out.c (add_bound_info, case SAVE_EXPR): Pass
- SAVE_EXPR_RTL address through fix_lexical_addr.
-
-Mon Apr 27 18:57:18 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips/sni-svr4.h (CPP_PREDEFINES): Add -Dsinix and -DSNI.
-
-Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (mov{sf,df} define_splits): When splitting move of
- constant to int reg, don't split insns that do simple AND and OR
- operations; just split each word and let normal movsi define split
- handle it further.
-
-Sun Apr 19 20:21:19 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * real.h (C4X_FLOAT_FORMAT): New macro.
- * real.c (c4xtoe, etoc4x, toc4x): New functions.
-
-Sun Apr 19 20:17:32 1998 Niklas Hallqvist <niklas@petra.appli.se>
-
- * m68k.c (notice_update_cc): Use modified_in_p to check for update.
-
-Sun Apr 19 18:48:07 1998 K. Richard Pixley <rich@kyoto.noir.com>
-
- * fixincludes: Discard empty C++ comments.
- Special case more files with C++ comments nested in C comments.
-
-Sun Apr 19 18:30:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.md ({add,sub}di3): Optimize for constant operand.
-
-Sun Apr 19 18:27:11 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.c (output_387_binary_op): Swap operands when popping if result
- is st(0).
-
-Sun Apr 19 17:58:01 1998 Peter Jeremy <peter.jeremy@alcatel.com.au>
-
- * expr.c (do_jump_by_parts_equality_rtx): Now public.
- * expmed.c (do_cmp_and_jump): New function.
- (expand_divmod): Use do_cmp_and_jmp instead of emit_cmp_insn and
- emit_jump_insn.
-
-Sun Apr 19 07:48:37 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * c-typeck.c (build_c_cast): Check underlying type when seeing
- if discarding const or volatile.
-
- * c-decl.c (pushdecl): Avoid duplicate warning about implicit redecl.
-
- * configure.in (stab.h): Check for it.
- (i386-*-vsta): Include xm-i386.h too.
- * dbxout.c (stab.h): Include based on autoconf results.
- * vax/xm-vms.h (NO_STAB_H): Deleted.
- * alpha/xm-vms.h, xm-mips.h, i386/xm-mingw32.h, i386/go32.h: Likewise.
- * i386/xm-cygwin32.h: Likewise.
- * i386/xm-vsta.h (NO_STAB_H): Likewise.
- (i386/xm-i386.h): No longer include.
-
- * mips.c: Cleanups and reformatting throughout.
- ({expand,output}_block_move): Use HOST_WIDE_INT for sizes.
- (mips_debugger_offset, compute_frame_size): Likewise.
- (save_restore_insns, mips_expand_{pro,epi}logue): Likewise.
- (siginfo): Deleted.
- (override_options): Don't set up to call it; don't call setvbuf.
-
-Mon Apr 13 06:40:17 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * configure.in (sparc-*-vxsim*): Include xm-siglist.h and
- define USG and POSIX.
-
-Sun Apr 12 21:59:27 1998 Jeffrey A. Law <law@cygnus.com>
-
- * calls.c (expand_call): Fix typo in STRICT_ARGUMENT_NAMING.
-
-Sun Apr 12 21:42:23 1998 D. Karthikeyan <karthik@cdotd.ernet.in>
-
- * m68k.h (TARGET_SWITCHES): Add missing comma.
-
-Sun Apr 12 21:33:33 1998 Eric Valette <valette@crf.canon.fr>
-
- * configure.in (i[34567]86-*-rtemself*): New configuration.
- * i386/rtemself.h: New file.
-
-Sun Apr 12 21:08:28 1998 Jim Wilson <wilson@cygnus.com>
-
- * loop.c (loop_optimize): Reset max_uid_for_loop after
- find_and_verify_loops call.
- (strength_reduce): In auto_inc_opt code, verify v->insn has valid
- INSN_LUID.
-
-Sun Apr 12 20:54:59 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
- Add USG and POSIX to xm_defines.
-
-Sun Apr 12 20:47:37 1998 Pat Rankin <rankin@eql.caltech.edu>
-
- * cccp.c (eprint_string): New function.
- (do_elif, do_else, verror): Use it instead of fwrite(,,,stderr).
- (error_from_errno, vwarning): Likewise.
- ({verror,vwarning,pedwarn}_with_line): Likewise.
- (pedwarn_with_file_and_line, print_containing_files): Likewise.
-
-Sun Apr 12 20:40:44 1998 Richard Henderson <rth@dot.cygnus.com>
-
- * configure.in (alpha*-*-linux-gnu*): Add alpha/t-crtbe.
- Add crt{begin,end}.o in extra_parts and delete crt{begin,end}S.o.o
- * alpha/t-crtbe, alpha/crt{begin,end}.asm: New files.
-
- * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
- * alpha.c (print_operand): Handle it.
- * alpha.md (fix_trunc[ds]fdi2): Use it. Add earlyclobber pattern
- for ALPHA_TP_INSN.
-
-Sun Apr 12 13:09:46 1998 Scott Christley <scottc@net-community.com>
-
- * objc/encoding.c (objc_sizeof_type, _C_VOID): New case.
-
-Sun Apr 12 13:04:55 1998 Nikolay Yatsenko (nikolay@osf.org)
-
- * configure.in (i[34567]86-*-osf1*): New entry.
- * i386/osf1-c[in].asm: New files for OSF/1.
- * i386/osf1elf{,gdb}.h, i386/[xt]-osf1elf, i386/xm-osf1elf.h: Likewise.
-
-Sun Apr 12 10:03:51 1998 Noel Cragg <noel@red-bean.com>
-
- * fixincludes: Remove specification of parameters when renaming
- functions in Alpha DEC Unix include files.
-
-Sun Apr 12 07:33:46 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * mips.c (large_int): Use HOST_WIDE_INT, not int.
- (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
-
- * toplev.c (main): Sort order of handling of -d letters.
- Use `F' instead of `D' for addressof_dump.
-
- * libgcc2.c (_eh_compat): Deleted.
- * Makefile.in (LIB2FUNCS): Delete _eh_compat.
-
- * configure.in (alpha*-*-linux-gnu*): Don't include alpha/xm-linux.h.
-
- * c-common.c (check_format_info): Properly test for nested pointers.
-
- * pa.md (casesi0): Add missing mode for operand 0.
-
- * function.c (purge_addressof_1, case MEM): If BLKmode, put ADDRESSOF
- into stack.
-
- * c-parse.in (label): Give warning if pedantic and label not integral.
-
- * c-decl.c (grokdeclarator): Don't warn about return type if in
- system header.
-
- * reload.c (reload_nongroup): New variable.
- (push{_secondary,}_reload): Initialize it.
- (find_reloads): Compute it.
- (debug_reload): Print it.
- * reload.h (reload_nongroup): Declare.
- * reload1.c (reload): Use reload_nongroup instead of local computation.
- Check caller_save_spill_class against any nongroup reloads.
- (reloads_conflict): No longer static.
-
-Sun Apr 12 05:52:18 1998 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * vax.md (call patterns): Operand 1 is always a CONST_INT.
-
-Sat Apr 11 16:01:11 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * convert.c (convert_to_{pointer,integer,real,complex}): Use switch.
- Add missing integer-like types.
- Simplify return of zero in error case.
- (convert_to_pointer): Remove dubious abort.
- (convert_to_integer, case POINTER_TYPE): Make recursive call.
- (convert_to_integer, case COND_EXPR): Always convert arms.
- * tree.c (type_precision): Deleted.
-
- * cccp.c (do_warning): Give pedantic warning if -pedantic and not
- in system file.
- * cpplib.c (do_warning): Likewise.
-
- * function.c (target_temp_slot_level): Define here.
- (push_temp_slots_for_target, {get,set}_target_temp_slot_level): New.
- * stmt.c (target_temp_slot_level): Don't define here.
- * expr.h (temp_slot_level): New declaration.
-
-Fri Apr 10 16:35:48 1998 Paul Eggert <eggert@twinsun.com>
-
- * c-common.c (decl_attributes): Support strftime format checking.
- (record_function_format, {check,init_function}_format_info): Likewise.
- (enum format_type): New type.
- (record_function_format): Now static; takes value of type
- enum format_type instead of int.
- (time_char_table): New constant.
- (struct function_format_info): format_type member renamed from is_scan.
- (check_format_info): Use `warning' rather than sprintf followed by
- `warning', to avoid mishandling `%' in warnings.
- Change a `pedwarn' to `warning'.
- * c-tree.h (record_function_format): Remove decl.
-
-Thu Apr 2 17:34:27 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * regclass.c (memory_move_secondary_cost): Protect uses of
- SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS with #ifdef tests.
-
-Thu Apr 2 07:06:57 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.c (standard_68881_constant_p): Don't use fmovecr on 68060.
-
-Thu Apr 2 06:19:25 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * Makefile.in (version.c): Put "cvs log" output in build directory.
-
- * reload.h (MEMORY_MOVE_COST): Define here if not already defined.
- (memory_move_secondary_cost): Declare.
- * regclass.c (MEMORY_MOVE_COST): Don't define default here.
- (memory_move_secondary_cost) [HAVE_SECONDARY_RELOADS]: New function.
- (regclass, record_reg_classes, copy_cost, record_address_regs):
- Pass register class and direction of move to MEMORY_MOVE_COST.
- (top_of_stack) [HAVE_SECONDARY_RELOADS]: New static array.
- (init_regs) [HAVE_SECONDARY_RELOADS]: Initialize it.
- * reload1.c (MEMORY_MOVE_COST): Don't define default here.
- (emit_reload_insns, reload_cse_simplify_set): Pass register class
- and direction of move to MEMORY_MOVE_COST.
- * 1750a.h (MEMORY_MOVE_COST): Add extra ignored arguments.
- * a29k.h, alpha.h, arc.h, arm.h, dsp16xx.h, i386.h, m32r.h: Likewise.
- * m88k.h, rs6000.h: Likewise.
- * mips.h (MEMORY_MOVE_COST): Likewise.
- Add memory_move_secondary_cost result to cpu-specific cost.
-
-Mon Mar 30 13:56:30 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips/ultrix.h (SUBTARGET_CPP_SPEC): Define.
-
-Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum direction.
- (function_arg_padding): Declare.
-
- * rs6000.c: Include stdlib.h if we have it.
- (function_arg_padding): Change return type to int, cast enum's to int.
-
- (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
- * rs6000.c (rs6000_override_options): Change type of `i', `j' and
- `ptt_size' from int to size_t.
- (rs6000_file_start): Likewise for `i'.
- (rs6000_replace_regno): Add default case in enumeration switch.
- (output_epilog): Remove unused variable `i'.
- (rs6000_longcall_ref): Remove unused variables `len', `p', `reg[12]'.
-
- * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
- initializer.
- (get_issue_rate, non_logical_cint_operand): Add prototype.
- (rs6000_output_load_toc_table): Likewise.
-
- * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
- `else'.
-
-Wed Mar 25 02:39:01 1998 Paul Eggert <eggert@twinsun.com>
-
- * configure.in (i[34567]86-*-solaris2*, powerpcle-*-solaris2*,
- sparc-*-solaris2*): Use fixinc.svr4 if Solaris 2.0 through 2.4.
-
-Mon Mar 23 07:27:19 1998 Philippe De Muyter <phdm@macqel.be>
-
- * m68k.md (ashldi_const): Allow shift count in range ]32,63].
- (ashldi3): Allow constant shift count in range ]32,63].
- (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
-
- * m68k.md (zero_extend[qh]idi2, iordi_zext): New patterns.
- (zero_extendsidi2): Avoid useless copy.
- (iorsi_zexthi_ashl16): Avoid "0" constraint for operand 2.
- (iorsi_zext): New name for old unnamed pattern; indentation fixes.
-
-Mon Mar 23 07:12:05 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * final.c (only_leaf_regs_used): If pic_offset_table_rtx used,
- make sure it is a permitted register.
-
-Sun Mar 22 06:57:04 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expmed.c (extract_bit_field): Don't confuse SUBREG_WORD with
- endian adjustment in SUBREG case.
- Don't abort if can't make SUBREG needed for extv/extzv.
-
-Sat Mar 21 08:02:17 1998 Richard Gorton <gorton@amt.tay1.dec.com>
-
- * alpha.md (zero_extendqi[hsd]i2): Use "and", not "zapnot".
-
-Sat Mar 21 07:47:04 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * unroll.c (verify_addresses): Use validate_replace_rtx.
- (find_splittable_givs): If invalid address, show nothing same_insn.
-
-Fri Mar 20 10:24:12 1998 Philippe De Muyter <phdm@macqel.be>
-
- * fold-const.c (fold, case CONVERT_EXPR): Replace sign-extension of
- a zero-extended value by a single zero-extension.
-
-Thu Mar 19 14:59:32 1998 Andrew Pochinsky <avp@ctp.mit.edu>
-
- * sparc.h (ASM_OUTPUT_LOOP_ALIGN): Fix error in last change.
-
-Thu Mar 19 14:48:35 1998 Michael Meissner <meissner@cygnus.com>
-
- * gcc.c (default_arg): Don't wander off the end of allocated memory.
-
- * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
- and EABI.
-
-Thu Mar 19 06:17:59 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (toplev.o): Depend on Makefile.
-
-Wed Mar 18 17:40:09 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * expr.c (convert_move): Add [QH]Imode/P[QH]Imode conversions.
- * machmode.def (PQImode, PHImode): New modes.
-
-Wed Mar 18 17:11:18 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.md (movsf+1): Optimize moving a CONST_DOUBLE zero.
-
-Wed Mar 18 17:07:54 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * regclass.c (init_reg_sets): Delete init of reg-move cost tables.
- (init_reg_sets_1): Put it here.
-
-Wed Mar 18 16:43:11 1998 Jim Wilson <wilson@cygnus.com>
-
- * i960.md (tablejump): Handle flag_pic.
-
- * profile.c (branch_prob): If see computed goto, call fatal.
-
- * calls.c (expand_call): Fix typos in n_named_args computation.
-
-Wed Mar 18 05:54:25 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (operand_equal_for_comparison_p): See if equal
- when nop conversions are removed.
-
- * expr.c (expand_expr, case COND_EXPR): If have conditional move,
- don't use ORIGINAL_TARGET unless REG.
-
- * function.c (fixup_var_refs_insns): Also delete insn storing pseudo
- back into arg list.
-
- * combine.c (gen_binary): Don't make AND that does nothing.
- (simplify_comparison, case AND): Commute AND and SUBREG.
- * i386.h (CONST_CONSTS, case CONST_INT): One-byte integers are cost 0.
-
-Mon Mar 16 15:57:17 1998 Geoffrey Keating <geoffk@ozemail.com.au>
-
- * rs6000.c (small_data_operand): Ensure any address referenced
- relative to small data area is inside SDA.
-
-Sun Mar 15 16:01:19 1998 Andrew Pochinsky <avp@ctp.mit.edu>
-
- * sparc.h (ASM_OUTPUT_LOOP_ALIGN): Write nop's.
-
-Sun Mar 15 15:53:39 1998 Philippe De Muyter <phdm@macqel.be>
-
- * libgcc2.c (exit): Don't call __bb_exit_func if HAVE_ATEXIT.
-
-Sun Mar 15 15:44:41 1998 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c: Fix bugs relating to NUL in input file name,
- e.g. with `#line 2 "x\0y"'.
- (PRINTF_PROTO_4): New macro.
- (struct {file_buf,definition,if_stack}): New member nominal_fname_len.
- (main, expand_to_temp_buffer): Store length of input file names.
- (finclude, create_definition, do_line, conditional_skip): Likewise.
- (skip_if_group, macroexpand): Likewise.
- (make_{definition,undef,assertion}): Likewise.
- (special_symbol, do_include): Use stored length of input file names.
- (do_define, do_elif, do_else, output_line_directive, verror): Likewise.
- (error_from_errno, vwarning, verror_with_line): Likewise.
- (vwarning_with_line, pedwarn_with_file_and_line): Likewise.
- (print_containing_files): Likewise.
- (do_line): Fix off-by-1 problem: 1 too many bytes were being allocated.
- (quote_string, pedwarn_with_file_and_line): New arg specifies length.
- All callers changed.
-
-Sun Mar 15 15:38:16 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-typeck.c: Collect pending initializers in AVL tree instead of list.
- (add_pending_init, pending_init_member): New functions.
- (output_init_element): Use them.
- (output_pending_init_elements): Rewritten to exploit AVL order.
-
-Sun Mar 15 05:10:49 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * gnu.h (GNU_CPP_PREDEFINES): Deleted; not valid in traditional C.
- * {i386,mips}/gnu.h (CPP_PREDEFINES): Don't call GNU_CPP_PREDEFINES.
-
- * flow.c (insn_dead_p): A CLOBBER of a dead pseudo is dead.
-
- * alpha.h (REG_ALLOC_ORDER): Put $f1 after other nonsaved.
-
- * sparc.c (sparc_type_code): Fix error in previous change.
-
-Sat Mar 14 05:45:21 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i386/xm-aix.h, i386/xm-osf.h (i386/xm-i386.h): Don't include.
- (USG): Don't define.
- * i386/xm-isc.h (i386/xm-sysv3.h): Don't include.
- * i386/xm-sco.h (i386/xm-sysv3.h): Likewise.
- (BROKEN_LDEXP, SMALL_ARG_MAX, NO_SYS_SIGLIST): Don't define.
- * m68k/xm-3b1.h (m68k/xm-m68k.h): Don't include.
- (USG): Don't define.
- * m68k/xm-atari.h (m68k/xm-m68kv.h): Don't include.
- (HAVE_VPRINTF, FULL_PROTOTYPES): Don't define.
- * m68k/xm-crds.h (m68k/xm-m68k.h): Don't include.
- (USE_C_ALLOCA, unos, USG): Don't define.
- * m68k/xm-mot3300.h (m68k/xm-m68k.h): Don't include.
- (USE_C_ALLOCA, NO_SYS_SIGLIST): Don't define.
- * m68k/xm-plexus.h (m68k/xm-m68k.h): Don't include.
- (USE_C_ALLOCA, USG): Don't define.
- * m88k/xm-sysv3.h (m88k/xm-m88k.h): Don't include.
- * m68k/xm-next.h (m68k/xm-m68k.h): Don't include.
- * ns32k/xm-pc532-min.h (ns32k/xm-ns32k.h): Don't include.
- (USG): Don't define.
- * rs6000/xm-mach.h: Don't include xm-rs6000.h.
- * rs6000/xm-cygwin32.h (rs6000/xm-rs6000.h): Don't include.
- (NO_STAB_H): Don't define.
- * sparc/xm-linux.h (xm-linux.h): Don't include.
- * sparc/xm-sol2.h (sparc/xm-sysv4.h): Don't include.
- * a29k/xm-unix.h, alpha/xm-linux.h, arm/xm-linux.h: Deleted.
- * arm/xm-netbsd.h, i386/xm-bsd386.h, i386/xm-gnu.h: Deleted.
- * i386/xm-linux.h, i386/xm-sun.h, i386/xm-sysv3.h: Deleted.
- * i386/xm-winnt.h, m68k/xm-altos3068.h, m68k/xm-amix.h: Deleted.
- * m68k/xm-amix.h, m68k/xm-hp320.h, m68k/xm-linux.h: Deleted.
- * m68k/xm-m68kv.h, mips/xm-iris5.h, ns32k/xm-genix.h: Deleted.
- * sparc/xm-pbd.h, vax/xm-vaxv.h, xm-svr3.h, xm-linux.h: Deleted.
- * configure.in: Reflect above changes.
-
- * xm-siglist.h, xm-alloca.h: New files.
- * i386/xm-sysv4.h (i386/xm-i386.h, xm-svr4.h): Don't include.
- (USE_C_ALLOCA, SMALL_ARG_MAX): Don't define.
- * i386/xm-sco5.h (i386/xm-sysv3.h): Don't include.
- (SYS_SIGLIST_DECLARED, USE_C_ALLOCA): Don't define.
- * rs6000/xm-sysv4.h, sparc/xm-sysv4.h: Don't include xm-svr4.h.
- * xm-svr4.h, i386/xm-dgux.h, mips/xm-news.h, mips/xm-sysv4.h: Deleted.
- * configure.in: Reflect above changes.
-
- * configure.in ({,host_,build_}xm_defines): New variables.
- Set to USG instead of including xm-usg.h.
- Write #define lines in config.h files from xm_defines vars.
- * xm-usg.h: Deleted.
-
-Fri Mar 13 07:10:59 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * calls.c (expand_call): Fix typo in previous change.
-
- * sparc.c (sparc_type_code): Avoid infinite loop when have
- pointer to array of same pointer.
- (sparc_type_code, case REAL_TYPE): Process subtypes here too.
-
- * mips/bsd-4.h, mips/iris3.h, mips/news{4,5}.h: Don't include mips.h.
- * mips/news5.h, mips/osfrose.h, mips/svr{3,4}-4.h: Likewise.
- * mips/ultrix.h: Likewise.
- * mips/cross64.h: Don't include iris6.h.
- * mips/ecoff.h: Don't include mips.h or gofast.h.
- * mips/elforion.h: Don't include elf64.h.
- * mips/iris4.h: Don't include iris3.h.
- * mips/iris4loser.h: Don't include iris4.h.
- * mips/iris5gas.h: Don't include iris5.h.
- * mips/elflorion.h, mips/nws3250v4.h, mips/xm-iris{3,4}.h: Deleted.
- * mips/xm-nws3250v4.h, mips/xm-sysv.h: Deleted.
- * mips/rtems64.h: Don't include elflorion.h.
- * mips/sni-gas.h: Don't include sni-svr4.h.
- * mips/svr4-t.h: Don't include svr4-5.h.
- * mips/dec-osf1.h: Also include mips.h.
- * mips/ecoffl.h, mips/elf.h: Also include mips.h and gofast.h.
- * mips/iris5.h: Also include iris3.h and mips.h.
- * xm-usg.h: New file.
- * mips/xm-iris5.h: Don't include xm-mips.h; don't define USG.
- * mips/xm-news.h, mips/xm-sysv4.h: Don't include xm-sysv.h.
- * configure.in: Reflect above changes.
-
-Thu Mar 12 07:18:48 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.h (STRICT_ARGUMENT_NAMING): Provide default value of 0.
- * calls.c (expand_call): Use value of STRICT_ARGUMENT_NAMING.
- * function.c (assign_parm): Likewise.
- * mips/abi64.h (STRICT_ARGUMENT_NAMING): Return 0 for ABI_32.
- * sparc.h (STRICT_ARGUMENT_NAMING): Only nonzero for V9.
-
- * calls.c (expand_call, expand_library_call{,_value}, store_one_arg):
- Rework handling of REG_PARM_STACK_SPACE to treat return value of
- zero as if macro not defined; add new arg to emit_push_insn.
- * expr.c (emit_push_insn): New arg, REG_PARM_STACK_SPACE.
- * expr.h (emit_push_insn): Likewise.
- * mips/abi64.h (REG_PARM_STACK_SPACE): Define.
-
-Wed Mar 11 06:58:13 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.h (CONST_OK_FOR_LETTER_P, case 'M'): Correct range check.
-
-Wed Mar 11 06:15:52 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (emit_push_insn): Use loop to find movstr patterns
- instead of explicit tests.
-
- * Makefile.in (extraclean): Don't delete install1.texi.
-
-Tue Mar 10 14:27:51 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * combine.c (make_field_assignment): Don't get confused if OTHER
- has VOIDmode and don't do anything if DEST is wider than a host word.
-
- * vax.c (check_float_value): Cast bcopy args to char *.
-
-Tue Mar 10 13:56:12 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips/abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and
- TARGET_DEFAULT and define __LONG_MAX__ appropriately.
- Add support for -mabi=X, -mlong64, and -mgp{32,64} options.
- * mips.c (mips_abi): Change type to int.
- * mips.h (enum mips_abi_type): Delete.
- (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
- (mips_abi): Change type to int.
-
-Mon Mar 2 08:06:58 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Version 2.8.1 released.
-
- * Makefile.in (mostlyclean): Remove duplicate deletion of temp
- files. Delete more stamp files and [df]p-bit.c
- (clean): Don't delete stamp files here.
- (VERSION_DEP): New variable.
- (distdir-finish): Pass a value of null for it.
- (version.c): Use it.
- Avoid broken pipe with cvs log.
-
- * objc/Make-lang.in (objc/runtime-info.h): Rename emptyfile to
- tmp-runtime and delete at end.
-
-Sun Mar 1 05:50:25 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * tree.c (build_reference_type): Handle obstacks like
- build_pointer_type.
-
- * Makefile.in (tmp-gcc.xtar): Renamed from gcc.xtar.
- (gcc.xtar.gz): Deleted; merged with `dist'.
- (diff): Create gcc-$(oldversion)-$(version).diff.
- (distdir): Depend on distdir-cvs.
- (distdir-cvs): New rule.
- (distdir-start): Depend on version.c and TAGS.
- (TAGS): Use tmp-tags instead of temp.
- (dist): Create gcc-$(version).tar.gz.
-
- * varasm.c (compare_constant_1): Fix typo in previous change.
-
- * objc/Make-lang.in (objc-distdir): Properly rebuild objc-parse.c.
-
-Sat Feb 28 16:58:08 1998 Tristan Gingold <gingold@rossini.enst.fr>
-
- * stmt.c (expand_decl): If -fcheck-memory-usage, put vars in memory.
- * expr.c (get_memory_usage_from_modifier): Convert
- EXPAND_{CONST_ADDRESS, INITIALIZER} to MEMORY_USE_DONT.
-
-Sat Feb 28 08:13:43 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i860/fx2800.h (DATA_ALIGNMENT): Use POINTER_TYPE_P.
- * m68k/a-ux.h (FUNCTION_VALUE): Likewise.
- * expr.c (get_pointer_alignment, compare, do_store_flag): Likewise.
- (expand_builtin): Likewise.
- * fold-const.c (force_fit_type, fold_convert, fold): Likewise.
- * function.c (assign_parms): Likewise.
- * integrate.c (expand_inline_function): Likewise.
- * sdbout.c (sdbout_field_types): Likewise.
- * tree.c (integer_pow2p, tree_log2, valid_machine_attribute): Likewise.
- * stmt.c (expand_decl): Likewise.
- ({,bc_}expand_decl_init): Also test for REFERENCE_TYPE.
-
- * configure.in (version_dep): New variable; if srcdir is CVS working
- directory, set to ChangeLog.
- (version): Supply default if no version.c.
- * Makefile.in (version.c): New rule.
-
- * gcc.c (snapshot_warning): New function.
- (main): Call it for snapshots.
-
- * dwarf2out.c (expand_builtin_dwarf_reg_size): If reg_raw_mode
- not valid for reg, use last size. Also refine range assertion.
-
-Sat Feb 28 05:04:47 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * enquire.c (cprop): Don't perform exhaustive search for char_min
- and char_max when bits_per_byte > 16.
-
-Thu Feb 26 15:12:03 1998 Christopher Taylor <cit@ckshq.com>
-
- * fixincludes: Avoid using '0-~' in egrep.
-
-Thu Feb 26 08:04:05 1998 Tristan Gingold <gingold@messiaen.enst.fr>
-
- * function.c (assign_parms): Call 'chkr_set_right' when DECL_RTL
- is stack_parm.
- * expr.c (get_memory_usage_from_modifier): Convert
- EXPAND_{SUM, CONST_ADDRESS, INITIALIZER} to MEMORY_USE_RO.
-
-Thu Feb 26 07:33:53 1998 Paul Eggert <eggert@twinsun.com>
-
- * c-lex.c (yylex): Don't munge errno before using it.
- * cccp.c (error_from_errno, perror_with_name): Likewise.
- * cpplib.c (cpp_error_from_errno): Likewise.
- * gcc.c (pfatal_pexecute): Likewise.
- * protoize.c (safe_write, find_file, process_aux_info_file): Likewise.
- (rename_c_file, edit_file): Likewise.
-
- * c-lex.c (yylex): Remove unused variable exceeds_double.
-
-Thu Feb 26 07:05:14 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * reorg.c (fill_slots_from_thread): Don't steal delay list from target
- if condition code of jump conflicts with opposite_needed.
-
-Thu Feb 26 06:45:23 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (distdir-start): Don't copy CVS subdirectory of config.
-
- * varasm.c ({compare,record}_constant_1, case CONSTRUCTOR):
- Handle the case when we have TREE_PURPOSE values.
-
-Thu Feb 26 05:59:01 1998 Philippe De Muyter <phdm@macqel.be>
-
- * fixincludes (sys/limits.h): Fix a nested comment problem with
- HUGE_VAL definition on sysV68 R3V7.1.
-
-Wed Feb 25 21:09:38 1998 Philippe De Muyter <phdm@macqel.be>
-
- * toplev.c (TICKS_PER_SECOND): Renamed from CLOCKS_PER_SECOND.
-
-Wed Feb 25 20:50:08 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * reorg.c (fill_slots_from_thread): Mark resources referenced in
- opposite_needed thread. Return delay_list even when cannot get
- any more delay insns from end of subroutine.
-
-Wed Feb 25 19:50:01 1998 Mikael Pettersson <Mikael.Pettersson@sophia.inria.fr>
-
- * gcc.c (lookup_compiler): Remove redundant test.
-
-Wed Feb 25 07:24:22 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * vax.md (call insns): Second operand to CALL rtl is SImode.
-
- * configure.in (i[34567]86-*-mingw32): Support msv and crt suffix.
- * i386/crtdll.h: New file.
-
- * sparc.c (pic_setup_code): If -O0, write USE of pic_offset_table_rtx.
-
- * expr.c (safe_from_p): Add new arg, TOP_P; all callers changed.
-
-Sat Feb 21 07:02:39 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips/iris5.h (DWARF2_UNWIND_INFO): Define to 0.
- * mips/iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
-
-Fri Feb 20 08:27:46 1998 Paul Eggert <eggert@twinsun.com>
-
- * sparc/sol2-sld.h: New file.
- * configure.in (sparc-*-solaris2*): Use it when using system linker.
- * toplev.c (main): Don't default to DWARF2_DEBUG with -ggdb
- if LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
-
-Fri Feb 20 08:21:49 1998 H.J. Lu (hjl@gnu.org)
-
- * alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Support shared library.
- (LIB_SPEC, DEFAULT_VTABLE_THUNKS): Defined #ifndef USE_GNULIBC_1.
- * sparc/linux.h (DEFAULT_VTABLE_THUNKS): Likewise.
- (LIB_SPEC): Add -lc for -shared #ifndef USE_GNULIBC_1.
- * linux.h (LIB_SPEC): Likewise.
- * sparc/linux64.h (LIB_SPEC): Likewise; also updated for glibc 2.
- (LIBGCC_SPEC): Removed.
- (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
-
-Fri Feb 20 05:22:12 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (distdir-start): Add dependence on bi-parser.[ch].
-
-Thu Feb 19 18:07:11 1998 Jim Wilson <wilson@cygnus.com>
-
- * m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
- For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
-
-Wed Feb 18 09:37:29 1998 Paul Eggert <eggert@twinsun.com>
-
- * fixincludes (stdlib.h): Do not double-wrap the size_t typedef.
-
-Wed Feb 18 07:32:11 1998 Jim Wilson <wilson@cygnus.com>
-
- * i960.c (emit_move_sequence): Handle unaligned stores to pseudos.
- * i960.md (store_unaligned_[dt]i_reg): Handle register dest.
- (store_unaligned_ti_reg): Likewise.
-
- * m68k.h (MACHINE_STATE_{SAVE,RESTORE} [MOTOROLA]): Add %# and %/;
- add : to make them into extended asms.
-
-Wed Feb 18 07:08:05 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * reg-stack.c (compare_for_stack_reg): Only handle FP conditional
- move as next insn specially.
-
- * reload.c (find_reloads): Always convert address reload for
- non-reloaded operand to RELOAD_FOR_OPERAND_ADDRESS.
-
- * emit-rtl.c (hard-reg-set.h): Include.
- (get_lowpart_common): Don't make new REG for hard reg in a
- class that cannot change size.
- * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
-
-Sat Feb 14 09:59:00 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.md (movsfcc): Also validate operands[3] for hard float.
- (movdfcc): Only accept fpu_add_operand for operands[3].8
-
-Sat Feb 14 09:32:34 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
- Convert CCmode to word_mode before calling GET_MODE_SIZE.
-
-Sat Feb 14 09:27:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (MY_ISCOFF): Check for U803XTOCMAGIC.
-
-Sat Feb 14 08:29:43 1998 Arvind Sankar <arvind@cse.iitb.ernet.in>
-
- * t-svr4 (TARGET_LIBGCC_CFLAGS): New definition.
-
-Sat Feb 14 07:45:16 1998 Ken Rose (rose@acm.org)
-
- * reorg.c (fill_slots_from_thread): New parameter, delay_list.
- All callers changed.
-
-Sat Feb 14 07:14:02 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * reload.c (debug_reload): Properly output insn codes.
-
- * pa.c (emit_move_sequence): If in reload, call find_replacement.
-
- * gansidecl.h (bcopy, bzero, {,r}index): Don't define if IN_LIBGCC2.
-
- * combine.c (distribute_notes, case REG_DEAD): When seeing if place
- to put new note sets register, use reg_bitfield_target_p, as in
- original code.
-
- * gcc.c (process_command): If file is for linker, set lang to "*".
- (lookup_compiler): Return 0 for language of "*".
-
- * sched.c (attach_deaths, case SUBREG): Fix error in last change.
-
- * i386.md (mov[sdx]fcc): Disable for now.
- (mov[sd]fcc_1): Add earlyclobber for output on last alternative.
-
-Sat Feb 14 06:42:50 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c (get_dynamic_handler_chain): Only make call once per func.
- (expand_fixup_region_{start,end}): New functions.
- (expand_eh_region_start_tree): Store cleanup into finalization here.
- * stmt.c (expand_cleanups): Use new functions to protect fixups.
-
- * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
- * optabs.c (init_optabs): Don't init get_dynamic_handler_chain_libfunc.
- * expr.h (get_dynamic_handler_chain_libfunc): Deleted.
-
-Sat Feb 14 06:34:41 1998 Peter Lawrence <Peter.Lawrence@Eng.Sun.COM>
-
- * optabs.c (emit_conditional_move): Don't reverse condition for FP.
-
-Fri Feb 13 07:22:04 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (mostlyclean): Only use s-* convention for stamp
- files in main dir.
-
- * configure.in: Add support for i786 (Pentium II); same as i686.
-
-Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
-
-Thu Feb 12 10:08:14 1998 John Hassey <hassey@dg-rtp.dg.com>
-
- * configure.in (i[3456]86-dg-dgux*): Don't need fixincludes.
-
-Thu Feb 12 07:27:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Define.
- about system headers.
- (LIB_SPEC): Add -ladvapi32 -lshell32.
-
-Thu Feb 12 07:19:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (expand_assignment): Fix typo in checking OFFSET.
-
- * gbl-ctors.h (atexit): Don't define unless needed.
-
- * combine.c (distribute_notes): Completely check for note operand being
- only partially set on potential note target; adjust what notes
- we make in that case.
-
- * i386/xm-go32.h (HAVE_{BCOPY,BZERO,INDEX,RINDEX}): Deleted.
-
-Wed Feb 11 08:53:27 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * calls.c (emit_call_1): Size args now HOST_WIDE_INT.
- (expand_call): struct_value_size now HOST_WIDE_INT.
-
-Tue Feb 10 09:04:39 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * integrate.c (initialize_for_inline): Ensure DECL_INCOMING_RTL
- is always copied.
-
-Tue Feb 10 06:10:49 1998 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (rescan): Fix bug with macro name appearing
- immediately after L'x'.
-
-Mon Feb 9 20:45:32 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-common.c (format_char_info): Add new field zlen.
- (print_char_table): Remove entry for 'Z' as a format character.
- Initialize zlen field as appropriate.
- (scan_char_table): Set zlen field to NULL in each entry.
- (check_format_info): Recognize 'Z' as a length modifier, with a
- warning in pedantic mode.
- Avoid infinite loop when a repeated flag character is detected.
-
-Mon Feb 9 09:24:04 1998 Paul Eggert <eggert@twinsun.com>
-
- * c-parse.in (primary): Minor wording fix in diagnostic.
-
-Mon Feb 9 07:50:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * c-decl.c (grokdeclarator): Remove warning on inline of varargs.
-
- * reload.c (find_reloads): Check for const_to_mem case before
- checking for invalid reload; use force_const_mem if no_input_reloads.
-
- * function.c (push_function_context_to): Call init_emit last.
-
- * protoize.c (my_link): Define as -1 in mingw32.
- (link): Remove declaration.
-
- * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
-
- * integrate.c (expand_inline_function): Clear label_map with bzero.
-
- * unroll.c (copy_loop_body, case JUMP_INSN): Correct error in last
- change: call single_set on COPY, not INSN.
-
-Sun Feb 8 08:07:37 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * msdos/top.sed, winnt/config-nt.sed: Change version number to 2.8.1.
-
- * configure.in (i[3456]86-*-sco3.2v5*): Use cpio for headers.
-
-Sat Feb 7 07:32:46 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i386/mingw32.h (LIBGCC_SPEC, STARTFILE_SPEC, MATH_LIBRARY):
- Use msvcrt, not crtdll.
-
-Fri Feb 6 20:32:06 1998 Geert Bosch <bosch@gnat.com>
-
- * i386/xm-os2.h (EMX, USG, BSTRING, HAVE_{PUTENV,VPRINTF,STRERROR}):
- Define ifdef __EMX__.
- (strcasecmp): Define to be stricmp if __EMX__.
- (spawnv{,p}): Don't define if EMX.
- (OBJECT_SUFFIX): Don't define if EMX.
- (MKTEMP_EACH_FILE): Define.
-
-Fri Feb 6 16:37:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
- (objc.stage2, objc.stage3, objc.stage4): Likewise for the
- respective stageN-start targets.
- (objc/sendmsg.o): Depend on objc/runtime-info.h.
-
-Fri Feb 6 16:27:09 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * stmt.c (expand_asm_operands): Properly treat asm statement
- statements with no operands as volatile.
-
-Fri Feb 6 16:03:25 1998 Greg McGary <gkm@gnu.org>
-
- * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
-
-Fri Feb 6 15:57:36 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/cygwin32.h (STRIP_NAME_ENCODING): New macro.
-
-Fri Feb 6 15:50:42 1998 Paul Eggert <eggert@twinsun.com>
-
- * libgcc2.c (__floatdi[xtds]f): Round properly even when rounding
- large negative integer to plus or minus infinity.
-
-Fri Feb 6 15:45:16 1998 Philippe De Muyter <phdm@macqel.be>
-
- * sdbout.c (plain_type_1): Return T_DOUBLE, not T_VOID, for
- long double #ifndef EXTENDED_SDB_BASIC_TYPES.
-
-Fri Feb 6 15:23:49 1998 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * vax/ultrix.h (HAVE_ATEXIT): Define.
- * x-vax: File deleted.
-
-Fri Feb 6 14:34:19 1998 Douglas Rupp <rupp@gnat.com>
-
- * gcc.c (process_command, case "-dumpversion"): Print spec_version.
-
-Fri Feb 6 11:01:13 1998 Josh Littlefield <josh@american.com>
-
- * i386/gmon-sol2.c (internal_mcount): Do set-up when program starts
- and install hook to do clean-up when it exits.
- * i386/sol2-c1.asm (_mcount): Make a weak instead of global symbol.
- * i386/sol2dbg.h (ASM_SPEC): Support Solaris bundled assembler's -V
- argument; pass -s argument to assembler.
-
-Fri Feb 6 09:13:21 1998 Jim Wilson (wilson@cygnus.com)
-
- * function.c (assign_parms): New variable named_arg, with value
- depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
-
- * crtstuff.c (__frame_dummy): New function for irix6.
- (__do_global_ctors): Call __frame_dummy for irix6.
- * mips/iris6.h (LINK_SPEC): Hide __frame_dummy too.
-
-Fri Feb 6 09:08:21 1998 Mike Stump <mrs@wrs.com>
-
- * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after reload.
- * genattrtab.c (reload_completed): Define.
-
- * configure.in (i960-wrs-vxworks): Same as i960-wrs-vxworks5*.
-
-Fri Feb 6 08:47:38 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (diff): Add INSTALL, configure, and config.in;
- remove objc-*.
- * objc/config-lang.in (diff_excludes): Add objc-parse.[cy].
-
- * i386/xm-mingw32.h (link): Delete macro.
-
- * alpha.c (output_prolog): Write out frame sizes as longs and
- print too large sizes as zero.
-
- * function.c (combine_temp_slots): No need to allocate and free rtx.
- Don't do anything if too many slots in the list.
- (put_var_into_stack): Don't use ADDRESSOF if not optimizing.
-
- * function.c (purge_addressof_1): Force into mem if VOLATILE reference.
-
- * calls.c (expand_call): Show VAR_DECL made for structure return
- address is used; remove bogus set of MEM_IN_STRUCT_P.
- * expr.c (expand_expr, case SAVE_EXPR, case TARGET_EXPR): Show used.
- (expand_builtin, case BUILT_IN_LONGJMP): Show __dummy used.
- * function.c (put_reg_into_stack): New arg USED_P; all callers changed.
-
- * expr.c (expand_expr, case SAVE_EXPR): assign_temp with KEEP of 3.
- * function.c (var_temp_slot_level): New variable.
- (push_function_context_to, pop_function_context_from): Save/restore
- it and target_temp_slot_level.
- (assign_stack_temp): Implement KEEP of 3.
- (push_temp_slots_for_block): New function.
- (init_temp_slots): Initialize var_temp_slot_level.
- * function.h (struct function, fields {var,target}_temp_slot_level):
- New fields.
- * stmt.c (expand_start_bindings): Call push_temp_slots_for_block.
-
- * function.c (struct temp_slot): SIZE, BASE_OFF_SET, and FULL_SIZE
- now HOST_WIDE_INT.
- (assign_{,outer_}stack_local, assign_{,stack_}temp): Size arg is
- now HOST_WIDE_INT.
- (assign_stack_temp): Do size computations in HOST_WIDE_INT.
- (fixup_var_refs_1, optimize_bit_field, instantiate_decls): Likewise.
- (instantiate_virtual_regs_1, fix_lexical_address): Likewise.
- * rtl.h (assign_stack_{local,temp}): Size arg is HOST_WIDE_INT.
- (assign_temp): Likewise.
- * expr.h (struct args_size): Field CONSTANT is now HOST_WIDE_INT.
-
- * sched.c (attach_deaths, case REG): Don't check for REG_UNUSED.
- (attach_deaths, case SUBREG, STRICT_LOW_PART, {ZERO,SIGN}_EXTRACT):
- Don't pass set_p of 1 if partial assignment.
-
- * tree.h (size_in_bytes): Returns HOST_WIDE_INT.
- * tree.c (size_in_bytes): Likewise.
- Tighen up logic some to avoid returning a bogus value instead of -1.
-
- * expr.c (get_inner_reference, case ARRAY_EXPR): Make WITH_RECORD_EXPR
- just for index.
- (expand_expr, case PLACEHOLDER_EXPR): Refine search again; look
- at each expression and look for pointer to type.
-
- * expr.c (safe_from_p, case ADDR_EXPR): If TREE_STATIC, no trampoline.
- (expand_expr, case ADDR_EXPR): Likewise.
-
- * expr.c (emit_block_move): Use conservative range for movstr mode.
-
- * configure.in: See if "cp -p" works if "ln -s" doesn't; else "cp".
-
- * combine.c (try_combine.c): Pass elim_i2 and elim_i1 to
- distribute_notes for i3dest_killed REG_DEAD note.
-
- * configure.in (mips-dec-netbsd*): Remove bogus setting of prefix.
-
- * c-decl.c (duplicate_decls): Set DECL_IGNORED_P in newdecl if
- different bindings levels.
-
- * configure.in: Test ln -s by symlinking gcc.c.
-
- * configure.in (i[3456]86-dg-dgux): Add wildcard for version.
-
- * crtstuff.c (__do_global_ctors_aux): Switch back to text section
- in proper place.
-
- * rtlanal.c (rtx_varies_p, case REG): pic_offset_table_rtx is fixed.
- * genattrtab.c (pic_offset_table_rtx): Define (dummy).
- * cse.c (set_nonvarying_address_components): Understand PIC refs.
-
- * loop.c (strength_reduce): When placing increment for auto-inc
- case, do comparison in loop order.
-
- * i860.c (output_delayed_branch): Add missing arg to recog.
- (output_delay_insn): Add missing arg to constrain_operands.
-
- * configure.in: Truncate target after finished comparing it with host.
-
- * i386.h (MAX_FIXED_MODE_SIZE): Delete.
-
- * c-parse.in (expr_no_comma): Clarify undefined error.
-
- * prefix.c (get_key_value): Don't default to PREFIX here.
- (translate_name): Remove bogus addition of "$" if getenv fails;
- clean up application of default value of PREFIX.
-
- * fold-const.c (fold_convert): Call force_fit_type even if input
- already overflows.
-
-Fri Feb 6 07:45:01 1998 Robert Hoehne <robert.hoehne@gmx.net>
-
- * i386/xm-go32.h (HAVE_{BCOPY,BZERO,BCMP,RINDEX,INDEX}): Define.
-
- * gcc.c (main): Treat paths starting with '$' or DOS drives
- as absolute in standard_startfile_prefix.
-
-Thu Feb 5 21:07:12 1998 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * cpplib.c (IS_INCLUDE_DIRECTIVE_TYPE): Add casts from enum to int.
- * cccp.c (IS_INCLUDE_DIRECTIVE_TYPE, handle_directive): Likewise.
-
-Thu Feb 5 19:00:44 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (expand_expr, case CONSTRUCTOR): Correct shift count
- when making signed bit field; use EXPAND_NORMAL, not 0.
-
-Thu Feb 5 17:42:43 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
- stuff only if MCT_TEXT is #define'd.
-
-Thu Feb 5 17:32:01 1998 Robert Hoehne <robert.hoehne@gmx.net>
-
- * Makefile.in: Changed most stamp-* to s-*.
-
-Tue Feb 3 19:45:50 1998 James Hawtin <oolon@ankh.org>
-
- * i386/sol2.h (STARTFILE_SPEC, LIB_SPEC): Update -pg files.
- * configure.in (i[3456]86-*-solaris2*): Add gcrt1.o and gmon.o
- to extra_parts.
-
-Tue Feb 3 17:28:48 1998 Christopher C Chimelis <chris@classnet.med.miami.edu>
-
- * configure.in (alpha*-*-linux-gnu*): Add extra_parts for crtstuff.
-
-Tue Feb 3 17:18:19 1998 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (find_barrier): Fix one-too-many bug if fail to find barrier.
-
- * arm.c (arm_reload_in_hi): Handle cases where the MEM is too
- complex for a simple offset.
-
-Tue Feb 3 16:14:21 1998 Robert Hoehne <robert.hoehne@gmx.net>
-
- * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
-
- * configure.in (i[3456]86-pc-msdosdjgpp*): New entry.
-
-Tue Feb 3 07:33:58 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * explow.c (probe_stack_range): Properly check for small
- number of probes.
-
- * gcc.c (process_command, case 'V'): Validate arg.
-
- * configure.in (sbrk): Add check for needed declaration.
- * acconfig.h (NEED_DECLARATION_SBRK): New entry.
- * toplev.c (sbrk): Update declaration conditional.
- * mips-tfile.c (sbrk, free): Likewise.
-
- * sparc/sysv4.h (DBX_REGISTER_NUMBER): Remove abort.
-
- * mips.c (mips_expand_prologue): Pass reg 25 to gen_loadgp.
- * mips.md (loadgp): Add second operand for register number to add.
- (builtin_setjmp_receiver): Pass new label and reg 31 to loadgp.
-
- * toplev.c: Include insn-codes.h, insn-config.h, and recog.h.
- (compile_file): Try to emit nop to separate gcc_compiled symbol.
- * Makefile.in (toplev.o): Depends on insn-{codes,config}.h, recog.h.
-
-Tue Feb 3 06:58:46 1998 Mark Mitchell <mmitchell@usa.net>
-
- * integrate.c (get_label_from_map): New function.
- (expand_inline_function): Use it.
- Initialize label_map to NULL_RTX instead of gen_label_rtx.
- (copy_rtx_and_substitute): Use get_label_from_map.
- * integrate.h (get_label_from_map): New function.
- (set_label_from_map): New macro.
- * unroll.c (unroll_loop, copy_loop_body): Use them.
-
-Mon Feb 2 16:33:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i386.md (mov{si,hi,sf,df,xf}cc{,_1}): Remove cases with branches.
-
- * rs6000/x-aix31 (INSTALL): Deleted.
- * mips/x-dec-osf1, mips/x-osfrose, i386/x-osfrose: Likewise.
- * arm/x-riscix: Likewise.
-
- * c-typeck.c (signed_or_unsigned_type): Properly handle pointer types.
-
-Mon Feb 2 15:33:58 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * unroll.c (copy_loop_body): Use single_set instead of
- PATTERN to detect increment of an iv inside a PARALLEL.
-
-Fri Jan 16 20:29:50 1998 Paul Eggert <eggert@twinsun.com>
-
- * toplev.c (<unistd.h>): New include.
- (get_run_time): Prefer CLK_TCK (if available) to HZ, and
- prefer sysconf (_SC_CLK_TCK) (if available) to CLK_TCK.
- * configure.in (sysconf): Call AC_CHECK_FUNCS.
-
-Wed Jan 14 20:10:51 1998 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c: (rescan): Don't report line 0 as the possible real start
- of an unterminated string constant.
- Don't mishandle backslash-newlines that in are the output of
- a macro expansion. Properly skip // style comments between a function
- macro name and '(', as well as backslash-newlines in comments there.
- (handle_directive): Handle / \ newline * between # and directive name.
- In #include directives, \ does not escape ".
- (do_include): For `#include "file', do not bother expanding into temp
- buffer. When error encountered when expanding, do not try result.
- (skip_if_group): When skipping an include directive, use include
- tokenization, not normal tokenization. Backslash-newline is still
- special when skipping. Handle * \ newline / correctly in comments
- when skipping.
- (skip_quoted_string): After \ newline, set *backslash_newlines_p
- even if count_newlines is 0.
- (macroexpand): Newline space is not a special marker inside a string.
- (macroexpand, macarg): Do not generate \ddd for control characters
- when stringifying; the C Standard does not allow this.
- (macarg1): New arg MACRO. All callers changed.
- Do not treat /*, //, or backslash-newline specially when processing
- the output of a macro.
- (discard_comments): Don't go past limit if looking for end of comment.
- Discard backslash-newline properly when discarding comments.
- (change_newlines): \" does not end a string.
- (make_definition): Do not treat backslash-newline specially, as it
- has already been removed before we get here.
-
- * profile.c (output_func_start_profiler): Don't fflush output
- if -quiet.
- * toplev.c (rest_of_compilation): Likewise.
-
- * i386/x-sco5 (CC): Remove trailing white space.
- * x-convex (CCLIBFLAGS): Likewise.
- * arm/t-semi (LIBGCC2_CFLAGS): Likewise.
-
-Wed Jan 7 18:02:42 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Version 2.8.0 released.
-
-Wed Jan 7 17:54:41 1998 J. Kean Johnston <jkj@sco.com>
-
- * i386/sco5.h ({END,START}FILE_SPEC): Link with correct crtbegin.o
- and crtend.o when using -static.
-
-Wed Jan 7 17:49:14 1998 Jan Christiaan van Winkel <Jan.Christiaan.van.Winkel@ATComputing.nl>
-
- * cppexp.c (gansidecl.h): Include.
-
-Wed Jan 7 17:45:07 1998 Tristan Gingold <gingold@puccini.enst.fr>
-
- * expr.c (get_push_address): Use copy_to_reg instead of force_operand.
- (emit_push_insn): Avoid null pointer deference if aggregate has no
- types.
- (expand_expr): Avoid finite but useless recursion.
- (expand_builtin): Fix typo in calling function.
- * function.c (assign_parms): Avoid useless call to chkr_set_right.
-
-Wed Jan 7 17:31:13 1998 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
-
- * combine.c (force_to_mode): Return if operand is a CLOBBER.
-
-Wed Jan 7 17:23:24 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * x-rs6000 (INSTALL): Remove.
-
- * jump.c (jump_optimize): Don't use a hard reg as an operand
- of a conditional move if small register classes.
-
-Wed Jan 7 17:09:28 1998 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (max_insn_uid): New variable.
- (cse_around_loop): Use it.
- (cse_main): Set it.
-
-See ChangeLog.11 for earlier changes.
-
-Use a consistent time stamp format in ChangeLog entries.
-Not everyone has Emacs 20 yet, so stick with Emacs 19 format for now.
-
-Local Variables:
-add-log-time-format: current-time-string
-End:
diff --git a/gcc/FSFChangeLog.10 b/gcc/FSFChangeLog.10
deleted file mode 100755
index 513ac72..0000000
--- a/gcc/FSFChangeLog.10
+++ /dev/null
@@ -1,10110 +0,0 @@
-Sun Mar 31 05:10:10 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * stor-layout.c (layout_decl): Don't make a bitfield an integral mode
- if the mode of the field type is not MODE_INT.
-
- * sched.c (schedule_block): CALL_INSNs don't affect fixed regs.
- * flow.c (propagate_block): CALL_INSNs don't kill fixed regs.
-
-Sat Mar 30 03:32:48 1996 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * expmed.c (expand_divmod, case TRUNC_DIV_EXPR): Move some code
- to avoid shifting by a too large count.
-
-Fri Mar 29 15:45:51 1996 Doug Evans <dje@cygnus.com>
-
- * configure (i[3456]86-*-sunos5*): Delete, config.sub converts
- sunos5 to solaris2.
- (sparc-*-sunos5*): Likewise.
- (sparc64-*-{solaris2*,sunos5*}): Delete. Stick with sparc-*-solaris2*.
-
- * sparc.h (FUNCTION_PROFILER): Save/restore %g2 around mcount call.
-
-Fri Mar 29 14:20:31 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.c (notice_update_cc): Clear cc_status if ref modified MEM.
-
-Fri Mar 29 09:37:52 1996 Jeffrey A. Law <law@cygnus.com>
-
- * calls.c (expand_call): Remove current_call_is_indirect nonsense.
- Add additional argument to INIT_CUMULATIVE_ARGS.
- (emit_library_call): Likewise.
- (emit_library_call_value): Likewise.
- * expr.c (expand_builtin): Likewise.
- * function.c (assign_parms): Likewise.
- * pa.h (hppa_args): New field "indirect".
- (INIT_CUMULATIVE_ARGS): Initialize "indirect" field.
- (FUNCTION_ARG): Check "indirect" field, rather than
- "current_call_is_indirect".
- * a29k.h (INIT_CUMULATIVE_ARGS):New arg, INDIRECT.
- * alpha.h (INIT_CUMULATIVE_ARGS): Likewise.
- * arm.h (INIT_CUMULATIVE_ARGS): Likewise.
- * clipper.h (INIT_CUMULATIVE_ARGS): Likewise.
- * convex.h (INIT_CUMULATIVE_ARGS): Likewise.
- * dsp16xx.h (INIT_CUMULATIVE_ARGS): Likewise.
- * elxsi.h (INIT_CUMULATIVE_ARGS): Likewise.
- * fx80.h (INIT_CUMULATIVE_ARGS): Likewise.
- * gmicro.h (INIT_CUMULATIVE_ARGS): Likewise.
- * h8300.h (INIT_CUMULATIVE_ARGS): Likewise.
- * i370/mvs.h (INIT_CUMULATIVE_ARGS): Likewise.
- * i386.h (INIT_CUMULATIVE_ARGS): Likewise.
- * i860.h (INIT_CUMULATIVE_ARGS): Likewise.
- * i960.h (INIT_CUMULATIVE_ARGS): Likewise.
- * m68k.h (INIT_CUMULATIVE_ARGS): Likewise.
- * m68k/mot3300.h (INIT_CUMULATIVE_ARGS): Likewise.
- * m88k.h (INIT_CUMULATIVE_ARGS): Likewise.
- * mips.h (INIT_CUMULATIVE_ARGS): Likewise.
- * ns32k.h (INIT_CUMULATIVE_ARGS): Likewise.
- * pdp11.h (INIT_CUMULATIVE_ARGS): Likewise.
- * pyr.h (INIT_CUMULATIVE_ARGS): Likewise.
- * romp.h (INIT_CUMULATIVE_ARGS): Likewise.
- * rs6000.h (INIT_CUMULATIVE_ARGS): Likewise.
- * sh.h (INIT_CUMULATIVE_ARGS): Likewise.
- * sparc.h (INIT_CUMULATIVE_ARGS): Likewise.
- * spur.h (INIT_CUMULATIVE_ARGS): Likewise.
- * tahoe.h (INIT_CUMULATIVE_ARGS): Likewise.
- * vax.h (INIT_CUMULATIVE_ARGS): Likewise.
- * we32k.h (INIT_CUMULATIVE_ARGS): Likewise.
- * mips.c (mips_expand_prologue): Add extra arg to
- INIT_CUMULATIVE_ARGS call.
-
-Thu Mar 28 18:45:49 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha.c (summarize_insn): Fix three "off-by-one" bugs in loop bounds.
-
-Thu Mar 28 16:50:10 1996 Doug Evans <dje@cygnus.com>
-
- * ginclude/inl-sparc.h: Deleted.
-
-Thu Mar 28 12:07:31 1996 Jeffrey A. Law <law@cygnus.com>
-
- * va-h8300.h (va_arg): Don't assume sizeof (int) == 4.
-
- * pa.c (hppa_legitimize_address): Don't lose for
- (plus (plus (mult (A) (shadd_const)) (B)) (C)) if
- B + C isn't a valid address for indexing.
- (basereg_operand): Only accept base registers after
- cse has completed. Don't accept the frame pointer if
- it's likely to be eliminated.
- * pa.md (unscaled indexing patterns): Add variants with
- basereg and index register reversed.
- (HImode and QImode loads): Add zero extended variants.
-
-Wed Mar 27 07:45:27 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expmed.c (negate_rtx): Fix typo in previous change.
-
-Tue Mar 26 13:50:43 1996 Jim Wilson <wilson@mole.gnu.ai.mit.edu>
-
- * calls.c (expand_call): In convert_to_mode call, use word_mode
- not SImode.
-
-Tue Mar 26 13:44:34 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * configure: Delete unnecessary special handling of --with-cpu.
-
-Tue Mar 26 10:41:57 1996 Jeffrey A. Law <law@cygnus.com>
-
- * expr.c (emit_push_insn): When doing a partial push, emit
- a CLOBBER so that flow doesn't think the entire register
- is live.
-
-Tue Mar 26 10:00:52 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha.c (summarize_insn, default case): Properly use format_ptr.
-
-Tue Mar 26 09:51:09 1996 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.h (output_move_simode_const): New extern declaration.
- * m68k.c (output_move_simode_const): New function.
- (singlemove_string): Call it.
- * m68k.md (fullword move): Likewise.
-
-Tue Mar 26 05:43:06 1996 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * vax.md (insv matcher): Call CC_STATUS_INIT.
- * vax.h (NOTICE_UPDATE_CC): Handle ZERO_EXTRACT destination.
-
-Mon Mar 25 19:18:08 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * function.c (expand_function_start): Don't set up context_display
- unless current_function_needs_context.
-
-Mon Mar 25 18:48:18 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * fold-const.c (fold, case BIT_IOR_EXPR): Recognize rotates
- with variable count.
-
-Mon Mar 25 18:05:28 1996 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (libgcc1-test): Undo Feb 12 change.
-
-Mon Mar 25 08:09:59 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * objc/thread-single.c (objc_mutex_unlock): Properly declare thread_id.
-
-Mon Mar 25 08:02:50 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * configure (m68k-motorola-sysv*): Fixed indentation.
-
-Sun Mar 24 08:16:42 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expmed.c (negate_rtx): Don't try to negate a constant ourself;
- instead call simplify_unary_operation.
-
-Sun Mar 24 07:29:06 1996 Richard Henderson <rth@tamu.edu>
-
- * gcc.c (process_command): Instead of hardcoding non-empty
- switches_need_spaces to turn on "o" and "L", make the string
- contain the switches that need the spaces.
- * m68k/ccur-GAS.h (SWITCHES_NEED_SPACES): Change definition
- correspondingly.
-
-Sat Mar 23 18:34:44 1996 Harry Dolan <dolan@ssd.intel.com>
-
- * i860/paragon.h (LIB_SPEC): Always output -lmach.
-
-Sat Mar 23 18:25:39 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * c-typeck.c (set_init_index): Check for use outside an array
- initializer.
-
- * defaults.h (ASM_OUTPUT_ADDR_DIFF_ELT): Delete.
- * pdp11.h (ASM_OUTPUT_ADDR_DIFF_ELT): Don't define.
-
-Sat Mar 23 15:55:35 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * combine.c (make_extraction): In BITS_BIG_ENDIAN correction of POS,
- need to treat MEM and REG differently.
-
- * sparc.h (SPARC_SIMM{10,11,13}_P): Define.
- (SMALL_INT): Use SPARC_SIMM13_P.
- (CONST_OK_FOR_LETTER_P): Support new letters L,M.
- * sparc.c (arith11_operand): Use SPARC_SIMM11_P.
- (arith10_operand): Use SPARC_SIMM10_P.
- * sparc.md (*mov{qi,hi,si,di}_cc_sp64): Fix constraints.
- (*mov{qi,hi,si,di}_cc_reg_sp64): Likewise.
-
-Sat Mar 23 07:47:19 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k/linux.h (TRAMPOLINE_TEMPLATE): Correct first instruction.
- * m68k/m68kv4.h (TRAMPOLINE_TEMPLATE): Likewise.
-
-Sat Mar 23 07:06:55 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * bc-emit.c (bc_emit_instruction): Add missing va_end call.
-
- * c-typeck.c (build_array_ref): Give error if subscripting a function.
-
-Fri Mar 22 09:11:45 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * local-alloc.c (optimize_reg_copy_1): Only update reg_live_length
- if it is non-negative.
-
-Thu Mar 21 14:42:26 1996 Doug Evans <dje@cygnus.com>
-
- * sparc/splet.h (STARTFILE_SPEC,LINK_SPEC): Define.
-
-Wed Mar 20 17:23:18 1996 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (note_mem_written): Delete obsolete code for handling
- (mem (scratch)).
-
- * mips.c (mips_expand_prologue): In initialization of fnargs, delete
- special treatment of METHOD_TYPE.
-
-Wed Mar 20 17:07:45 1996 Doug Evans <dje@cygnus.com>
-
- * sparc/sol2.h (ASM_CPU_SPEC): Recognize -mcpu=v8plus, not v9.
- Fix typo in ultrasparc entry.
- * sparc.h (CPP_CPU_SPEC): Add v8plus entry.
- (ASM_CPU_SPEC): Likewise.
-
- * sparc.c (fcc_reg_operand): Ensure correct mode.
- (icc_or_fcc_reg_operand): Likewise.
- (gen_v9_scc): IF_THEN_ELSE must have a mode.
- (print_operand): New operand code `x' for all condition codes.
- New operand codes `c,d' for reversed conditional moves.
- * sparc.md (movqicc,movhicc): New named patterns.
- (movdicc): if_then_else must have a mode.
- (movsicc,movsfcc,movdfcc,movtfcc): Likewise.
- Change condition to TARGET_V9, not TARGET_ARCH64.
- Fail if DImode compare and ! TARGET_ARCH64.
- (conditional move matchers): Rewrite.
-
-Wed Mar 20 16:12:29 1996 Stan Cox <coxs@wombat.gnu.ai.mit.edu>
-
- * i386.h (HARD_REGNO_MODE_OK): Relax QImode constraint to
- avoid a reload problem.
-
-Wed Mar 20 13:12:22 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.c (hppa_legitimize_address): Don't lose for x[n-const]
- when n-const will not be shifted. Don't pessimize code for
- x[n-const] when const is small.
-
-Wed Mar 20 11:42:32 1996 Markus Theissinger <Markus.Theissinger@gmd.de>
-
- * m68k/sun3.h (LIB_SPEC): Don't link /usr/lib/bb_link.o with `gcc -a'.
- (__bb_init_func): Deleted.
- (BLOCK_PROFILER_CODE): Don't set macro to nothing.
-
- * m68k/xm-sun3.h: New file.
- * configure (m68k-sun-sunos*): Use it.
-
- * xm-linux.h (HAVE_POPEN): New define.
-
-Wed Mar 20 11:28:37 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k/linux.h (ASM_SPEC): Deleted.
- (STRUCT_VALUE_REGNUM): Redefine as register a0.
- (STATIC_CHAIN_REGNUM): Redefine as register a1.
- (TRAMPOLINE_TEMPLATE): Redefine to use the right register.
-
-Wed Mar 20 08:04:34 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * libgcc2.c (__dummy): New function.
- * Makefile.in (LIB2FUNCS): Add __dummy.
- * expr.c (expand_builtin, case BUILT_IN_SETJMP): Call "setjmp"
- pattern, if any.
- Call dummy function pointed to by static chain pointer.
- (expand_builtin, case BUILT_IN_LONJMP): Ignore second expression.
- Set address of __dummy into static chain pointer.
- Copy the label to return to into a pseudo earlier.
-
- * stupid.c (last_setjmp_suid, regs_crosses_setjmp): New variables.
- (stupid_life_analysis, stupid_mark_refs): Use them to track which
- regs are live over a setjmp; don't allocate such regs.
-
-Tue Mar 19 22:02:07 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * cplus-dem.c (demangle_template): Fix for non-mangled pointer
- arguments.
-
-Tue Mar 19 13:54:06 1996 Jeffrey A. Law <law@wombat.gnu.ai.mit.edu>
-
- * pa.c (compute_frame_size): Update comments to reflect reality.
- (hppa_expand_prologue): Don't save registers which aren't
- used, even if it creates holes. Partially undoes changes from
- early March.
- (hppa_expand_epilogue): Likewise.
-
-Tue Mar 19 08:25:17 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * stmt.c (struct case_node): New member balance.
- (add_case_node): New function.
- (pushcase, pushcase_range): Use it.
- (case_tree2list): New function.
- (expand_end_case): Use it.
-
-Tue Mar 19 07:44:22 1996 Stephen L Moshier (moshier@world.std.com)
-
- * regstack.c (move_for_stack_reg): Avoid stack overflow while
- storing XFmode from fp reg to memory.
-
-Tue Mar 19 07:38:03 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * m68k.h (MASK_*): New macros.
- (OVERRIDE_OPTIONS): Use them.
- (TARGET_SWITCHES): Likewise.
- Treat -m68332 like -m68000.
-
-Mon Mar 18 20:04:13 1996 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * expmed.c (emit_store_flag): If expanding (GE X 0) will need two
- insns, don't use subtarget for the result of the first insn.
- Move a likely constant to the start of a condition.
-
-Mon Mar 18 19:48:14 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k.h (CONST_OK_FOR_LETTER_VALUE): New constraint 'M'.
- * m68k.c (output_function_epilogue): Restore registers using sp+
- instead of fp(n) in leaf functions.
- (USE_MOVQ, use_movq): Function replaced by macro.
- * m68k.md (pushexthisi_const, movsi_const0): New names.
- (andsi3, iorsi3): Allow only 'M', not 'K' constants, if dest is 'd'.
-
-Mon Mar 18 19:33:20 1996 Fila Kolodny <fila@ibi.com>
-
- * i370/t-mvs: New file.
- * configure (i370-*-mvs*): Use it.
- * i370/mvs.h (FUNCTION_PROLOGUE): LE/370 takes 120 bytes for DSA.
- Have only one copy of timestamp and PPA2 per object module.
- Only have unnamed CSECT to match IBM C.
-
-Mon Mar 18 19:26:21 1996 Paul Russell (Rusty.Russell@adelaide.maptek.com.au)
-
- * combine.c (simplify_if_then_else): Allow for case that
- condition might no longer be a condition.
-
-Mon Mar 18 19:14:42 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-typeck.c (build_conditional_expr): If OP1 is null, set
- both OP1 and ORIG_OP1 to IFEXP.
-
- * c-iterate.c (iterator_loop_epilogue): Don't clear DECL_RTL
- for a static decl.
-
-Mon Mar 18 08:02:25 1996 Stephen L Moshier <moshier@world.std.com>
-
- * alpha.c (summarize_insn, case SUBREG, CONST_*): New cases.
-
-Sun Mar 17 16:55:00 1996 Doug Evans <dje@cygnus.com>
-
- * combine.c (find_split_point): Handle NULL return from
- make_extraction.
- (make_field_assignment): Likewise.
-
-Sat Mar 16 18:56:47 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.c (substitute_in_expr, case COMPONENT_REF): Ignore
- if inner PLACEHOLDER_EXPR has not yet been initialized.
-
- * i386.c (standard_80386_constant_p): -0.0 is not 0.0.
- * i386.md (insv): Restore missing end of comment.
-
- * combine.c (make_extraction): Correct typo in force_to_mode
- call in previous change.
- Return 0 if pos+len out of range of want desired mode.
-
-Sat Mar 16 16:20:43 1996 David Mosberger-Tang <davidm@azstarnet.com>
-
- * alpha.md (trap): New attribute.
- Modify patterns for all floating-point trap generating instructions.
- * alpha.h (CPP_SPEC): Added -mieee and -mieee-with-inexact.
- (alpha_trap_precision, alpha_fp_rounding_mode, alpha_fp_trap_mode):
- New enum types.
- (target_flags, alpha_tp, alpha_fprm, alpha_fptm): New external vars.
- (alpha_fprm_string, alpha_fptm_string, alpha_tp_string): Likewise.
- (TARGET_IEEE{,_WITH_INEXACT,_CONFORMANT}): New macros.
- (MASK_IEEE{,_WITH_INEXACT,_CONFORMANT}): Likewise.
- (MASK_FP, MASK_FPREGS,
- (TARGET_SWITCHES): Added "ieee-conformant", "ieee", and
- "ieee-with-inexact"; use MASK symbols.
- (TARGET_OPTIONS): New macro.
- (OVERRIDE_OPTIONS, FINAL_PRESCAN_{INSN,LABEL}): New macros.
- (PRINT_OPERAND_PUNCT_VALID_P): Allow operand codes for FP insns.
- (CC1_SPEC): New macro.
- * alpha.c (alpha_tp, alpha_fprm, alpha_fptm): New variables.
- (alpha_tp_string, alpha_fprm_string, alpha_fptm_string
- (trap_pending): Likewise.
- (override_options, summarize_insn, final_prescan_insn): New functions.
- (print_operand): Handle cases '&', '\'', ')', and '+'.
- (output_prolog): Emit ".eflag 48" if TARGET_IEEE_CONFORMANT.
- (output_epilog): Call final_prescan_insn before emitting epilog.
-
- * final.c (final_scan_insn, case CODE_LABEL): Invoke
- FINAL_PRESCAN_INSN if FINAL_SCAN_LABEL is defined.
-
- * alpha/{linux.h,x-linux,xm-linux.h}: New files.
- * configure (alpha-*-linux*): New case.
- * alpha.c (output_prolog): Set alpha_function_needs_gp if profiling
- and TARGET_PROFILING_NEEDS_GP defined.
-
-Thu Mar 14 22:28:20 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Fix last change.
- * aix41.h (LINK_SPEC): add -bnoentry if shared and no explicit entry.
-
-Thu Mar 14 12:47:33 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips.h (ASM_OUTPUT_DOUBLE_INT): Use 'X' if CONST_INT and
- HOST_BITS_PER_WIDE_INT == 64.
-
- * mips.c (mips_expand_prologue): Change TYPE_NEEDS_CONSTRUCTING to
- TREE_ADDRESSABLE;
-
-Thu Mar 14 11:21:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): For 32-bit mode,
- allow TImode variables with int offsets, so that structures
- greater than 8 bytes and less than or equal to 16 bytes can be
- instantiated correctly.
-
- * rs6000.c (rs6000_valid_type_attribute_p): Add exception
- attribute for Windows NT.
-
- * win-nt.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete, merge into
- ASM_DECLARE_FUNCTION_NAME.
- (ASM_DECLARE_FUNCTION_NAME): Add support for exception attribute
- setting fields 3 & 4 of the structured exception handling table.
-
-Thu Mar 14 01:53:19 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.h (ASM_DECLARE_FUNCTION_NAME): Change TYPE_NEEDS_CONSTRUCTING
- to TREE_ADDRESSABLE. From Jim Wilson.
-
-Wed Mar 13 13:40:32 1996 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * c-tree.h (warn_sign_compare): Add extern to declaration.
-
-Wed Mar 13 13:37:00 1996 Doug Evans <dje@cygnus.com>
-
- * configure: Use cross-make and build-make if building
- cross compiler with cross compiler.
-
-Wed Mar 13 12:00:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * i386/cygwin32.h (ASM_OUTPUT_ALIGN): Correct defination.
-
- * rs6000/{win-nt,cygwin32}.h (STARTFILE_SPEC): Add crti.o before
- all objects.
- (ENDFILE_SPEC): Add crtn.o after all objects.
-
- * configure (powerpcle-*-cygwin32): Use t-winnt, not t-cygin32
- * rs6000/t-cygwin32: Delete, no longer used.
-
- * rs6000/t-winnt ({,INSTALL_}LIBGCC): Build and install crti.o and
- crtn.o.
-
- * rs6000/win-nt.h (EXTRA_SECTION_FUNCTIONS): Add ctors_section and
- dtors_section.
- (INVOKE__main): Define, so that __main is called.
- (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Define to put pointers to
- the constructor/destructor in the appropriate section.
-
- * nt-c{i,n}.asm: New files to be linked before/after all of the users'
- objects.
-
-Wed Mar 13 00:42:17 1996 Per Bothner <bothner@cygnus.com>
-
- * dbxout.c (dbxout_type): Better "variant" handling to ignore
- const/volatile but not typedef names. Improves Feb 12 change.
-
-Tue Mar 12 17:25:14 1996 David Mosberger-Tang <davidm@azstarnet.com>
-
- * glimits.h (__LONG_MAX__): On Alpha, use 64 bit value.
-
-Tue Mar 12 15:07:49 1996 Torbjorn Granlund <tege@tmg.se>
-
- * m68k.c (valid_dbcc_comparison_p): Don't test cc_prev_status here.
- (flags_in_68881): New function.
- * m68k.md (dbra peepholes): Use flags_in_68881.
-
-Tue Mar 12 13:54:15 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * sparc.md (nonlocal_goto): Emit barrier after jump.
- (setjmp{,_64,_32}): New patterns.
-
-Tue Mar 12 12:43:27 1996 Jim Wilson <wilson@cygnus.com>
-
- * i960.h (ROUND_TYPE_SIZE): Return round_up result instead of
- COMPUTED.
-
- * expr.c (expand_expr, case COMPONENT_REF): For unaligned object in
- an aligned union, delete check for EXPAND_SUM.
-
- * expr.h (clear_storage): Add comment terminator.
-
-Mon Mar 11 19:07:50 1996 Jeffrey A. Law <law@cygnus.com>
-
- * recog.c (constrain_operands, case 'V'): Don't call
- offsettable_memref_p before reload has completed.
-
-Mon Mar 11 16:06:13 1996 Doug Evans <dje@cygnus.com>
-
- * h8300.h (SP_AND_G_REGS): Renamed from SP_AND_G_REG.
- (CC_DONE_CBIT): Delete.
- (CC_OVERFLOW_0,CC_OVERFLOW_UNUSABLE,CC_NO_CARRY): Define.
- * h8300.c (cond_string): Delete CC_DONE_CBIT handling.
- (notice_update_cc): Delete CC_CBIT, CC_WHOOPS. Add CC_SET_ZN_C0.
- (restore_compare_p): New function.
- (shift_one): Use shll instead of shal so overflow bit is usable.
- Set cc_valid bits to cc_status.flags values.
- (emit_a_shift): Set cc_status.flags.
- * h8300.md (attr cc): Delete whoops,cbit. Add set_zn_c0.
- (all patterns) Update cc attr setting.
- (tstqi,tsthi,tstsi): Delete CC_DONE_CBIT handling.
- (addhi3,subhi3): Change define_expand to define_insn.
- (branch_true,branch_false): Check if compare needs to be restored.
-
-Mon Mar 11 13:55:23 1996 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (CONST_DOUBLE_OK_FOR_LETTER_P): Add 'H' for movdi
- patterns in 32 bit that generate 3 instructions.
- (num_insns_constant): Add declaration.
-
- * rs6000.c (num_insns_constant{,_wide}) Functions to determine the
- number of insns it takes to generate an integer constant.
- (easy_fp_constant): Allow DImode in easy constants. Use
- num_insns_constant_wide.
- (input_operand): Allow any CONST_{INT,DOUBLE}'s for {SI,DI}mode.
-
- * rs6000.md (movdi): Generate a normal movdi using a CONST_DOUBLE
- for 32 bit mode rather than using SUBREG's. For 64 bit mode,
- break large integer constants into smaller pieces. Add various
- define_splits to handle loading the various DImode constants.
-
-Mon Mar 11 06:54:19 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (make_extraction): Use proper mode for INNER in all cases.
- (simplify_comparison, case ZERO_EXTRACT): For bits big endian and
- no extzv, use BITS_PER_WORD.
- * fx80.md, gmicro.md, i386.md, m68k.md, tahoe.md, vax.md:
- Use proper modes and predicates for {sign,zero}_extract.
-
-Sun Mar 10 06:23:52 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * emit-rtl.c (free_insn): New variable.
- (init_emit, restore_emit_status): Clear it.
- (gen_sequence): Store insn in free_insn when sequence length is 1.
- (make_insn_raw): Use free_insn if available and still in the
- rtl generation phase.
-
-Fri Mar 8 15:37:31 1996 Mike Stump <mrs@cygnus.com>
-
- * expr.c (expand_expr, case TARGET_EXPR): Delay putting the cleanup
- on the cleanup chain until after the subexpression has been expanded.
-
-Fri Mar 8 16:14:51 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * i386.c (ix86_binary_operator_ok): One memory operand is OK.
- This is independent of commutativity.
-
-Fri Mar 8 14:07:43 1996 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (store_constructor_field): Call store_field if bitpos is
- nonzero and target is not a MEM.
-
- * jump.c (jump_optimize): When handle a USE insn before an
- unconditional jump, disable the optimization if the USE is the
- only insn in the loop.
-
- * sh.c (reg_unused_after): Return 0 if see a JUMP_INSN.
-
-Fri Mar 8 12:08:36 1996 Doug Evans <dje@cygnus.com>
-
- * sparc/lynx.h (CPP_SPEC): Use %(cpp_cpu).
-
- * sparc/sparc.md (move_pic_label_si,move_label_di): Rewrite length
- attr calcs to be more conservative.
-
-Thu Mar 7 19:14:21 1996 Doug Evans <dje@cygnus.com>
-
- * sparc/t-splet: New file.
- * sparc/splet.h: New file.
- * configure (sparclet-*-aout*): Use them.
-
- * sparc.h (MASK_LIVE_G0,TARGET_LIVE_G0): Define.
- (FIRST_PSEUDO_REGISTER): Add 1 for %icc (now 101).
- (FIXED_REGISTERS,CALL_USED_REGISTERS): Update.
- (FIXED_REGISTERS): %g0 is fixed by default.
- (SPARC_{FIRST,LAST}_V9_FCC_REG): Define.
- (SPARC_{ICC,FCC}_REG): Define.
- (CONDITIONAL_REGISTER_USAGE): Don't fix %fcc0 if v8.
- (REG_CLASS_CONTENTS): Reg 0 is an int reg, reg 100 is %icc.
- (REGNO_REG_CLASS): Rewrite to use global `sparc_regno_reg_class'.
- (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER,LEAF_REGISTERS): Add %icc.
- (REG_CLASS_FROM_LETTER): Handle 'c' for FPCC_REGS in non-v9 case.
- (REGNO_OK_FOR_{BASE,INDEX}_P): Treat %g0 as a normal reg.
- (REG_OK_FOR_{BASE,INDEX}_P,EXTRA_CONSTRAINT): Likewise.
- (REGISTER_NAMES): Add %icc.
- (ADDITIONAL_REGISTER_NAMES): Use SPARC_ICC_REG.
- * sparc.c (leaf_reg_remap): Add %icc=100.
- (reg_or_0_operand): Don't allow 0 if TARGET_LIVE_G0.
- (fcc_reg_operand): Renamed from ccfp_reg_operand.
- Use SPARC_FCC_REG. Don't treat reg 0 as an fcc reg. Don't match
- modes if `mode' argument is VOIDmode.
- (icc_or_fcc_reg_operand): New function.
- (gen_compare_reg): Use SPARC_FCC_REG for v8 fp compares.
- Use SPARC_ICC_REG for int compares.
- (eligible_for_epilogue_delay): Don't allow anything if TARGET_LIVE_G0.
- Delete unnecessary test for %g0.
- (emit_move_sequence): Don't emit (set (mem) (const_int 0)) if
- TARGET_LIVE_G0.
- (output_scc_insn): Label moved to operand 3. Condition code reg
- moved to operand 2.
- (sparc_mode_class): Enum C_MODE renamed to CC_MODE.
- (hard_32bit_mode_classes): Set reg 0 to S_MODES. Add entry for %icc.
- (hard_64bit_mode_classes): Set reg 0 to D_MODES. Add entry for %icc.
- (sparc_regno_reg_class): New global.
- (sparc_init_modes): Initialize it.
- (output_cbranch): Delete fp_cond_reg argument.
- (print_operand, MEM op): Don't print "%g0+" if TARGET_LIVE_G0.
- (sparc_flat_eligible_for_epilogue_delay): Don't allow anything if
- TARGET_LIVE_G0.
- * sparc.md (live_g0): New attribute.
- (*): Integer condition code register is now reg 100.
- Use SPARC_ICC_REG instead of hardcoding reg 100 where possible.
- Non-v9 floating point condition code register is now reg 96.
- (*cmp{sf,df,tf}_{fpe,fp}_sp{32,64}): Combine v9/non-v9 cases.
- (*{normal,inverted}_{,fp,fpe}_branch): Update call to output_cbranch.
- (*mov{qi,hi,si}_insn): Don't use if TARGET_LIVE_G0.
- (*mov{qi,hi,si}_insn_liveg0): New patterns.
- (*mov{si,di,sf,df,tf}_ccfp{,e}_sp64): ccfp_reg_operand renamed to
- fcc_reg_operand.
- (*negdi2_sp32,negsi2,one_cmplsi2,ffssi2): Ensure %%g0 is 0 if
- TARGET_LIVE_G0.
- (*one_cmpldi2_sp32): Move operand 1 to rs1 and use 0 as rs2.
- (patterns that use %g0 in rs2): Use 0 immediate value instead.
- (patterns that read %g0): Don't use if TARGET_LIVE_G0.
-
-Thu Mar 7 15:39:16 1996 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sh.h (PASS_IN_REG_P): Change < to <=.
- * va-sh.h (va_start): Change __SH3E___ to __SH3E__.
- (va_arg): Add little-endian SH3E support. Fix big-endian version
- to work for arguments smaller than the word size.
-
-Thu Mar 7 10:37:37 1996 Jeffrey A. Law <law@cygnus.com>
-
- * lib2funcs.asm: Remove entry/exit routines. Move them into...
- * ee.asm: New file. Entry/exit code.
- * ee_fp.asm: New file. Entry/exit code with frame pointer.
- * t-pa: Corresponding changes.
- * t-pro: Corresponding changes.
-
- * pa.c: Fix misc small typos/thinkos in recent changes.
-
-Wed Mar 6 17:36:03 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * cplus-dem.c (demangle_template): Fix for address-of-extern arguments.
-
-Wed Mar 6 15:12:55 1996 Jeffrey A. Law <law@cygnus.com>
-
- * t-pro (dp-bit rule): Fix typo.
-
- * lib2funcs.asm (__outline_prologue): Remove frame pointer
- support.
- (__outline_prologue_fp): Out of line prologue with frame pointer.
- (__outline_epilogue, outline_epilogue_fp): Similarly.
- * pa.c (compute_frame_size): Allocate enough space to avoid holes
- in the callee register saves. Remove some special handling of %r3.
- (hppa_expand_prologue): Don't do an out of line prologue/epilogue
- if it would take more insns than an inline prologue/epilogue.
- Don't leave holes in the callee register save set.
- (hppa_expand_prologue): Corresponding changes. Pass stack size
- to out of line epilogue code.
- * pa.h (FRAME_POINTER_REQUIRED): Revert last change.
- * pa.md (outline_prologue_call): Handle outline prologues which
- don't need frame pointers.
- (outline_epilogue_call): Similarly.
- * t-pro: Reenable multilib code. Build a set of libraries that
- optimize for space.
-
-Wed Mar 6 14:28:14 1996 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * Makefile.in (USER_H): Add ginclude/va-sh.h.
- * ginclude/stdarg.h, ginclude/varargs.h: Use va-sh.h.
- * ginclude/va-sh.h: New file.
-
- * sh.h (PASS_IN_REG_P): Fix typo in last change.
-
-Wed Mar 6 11:42:06 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (enum processor_type): Remove PROCESSOR_PPC602.
- (RTX_COSTS): Remove PROCESSOR_PPC602. PPC603 MULT cost depends
- on constant and domain.
- * rs6000.c (processor_target_table): 602 uses PROCESSOR_PPC603.
- (get_issue_rate): Remove CPU_PPC602.
- * rs6000.md (function units): Remove PPC602. Add store and
- fpstore type attribute values. Update patterns.
-
-Tue Mar 5 18:43:43 1996 Richard Henderson <rth@tamu.edu>
-
- * m68k/coff.h (ASM_OUTPUT_SECTION_NAME): New define.
-
- * m68k/{aux-crt1.c,aux-crt[2n].asm}: New files.
- * m68k/{aux-exit.c,aux-low.gld,aux-mcount.c}: More new files.
- * m68k/{aux.h,auxgnu.h,auxstd.h}: Even more new files.
- * m68k/{t-aux,xm-aux.h}: The rest of the new files.
- * m68k/sgs.h (ASM_OUTPUT_CASE_END): Add missing semicolon.
- (switch_table_difference_label_flag): Make extern.
- * fixincludes (sys/param.h): Fix c89 __asm statements.
- * configure (m68k-apple-aux*): New target.
-
-Tue Mar 5 17:38:19 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.md (*mov{qi,hi,si}_insn): Simplify length attribute.
- (*movsi_insn): Use fpload/fpstore attributes for fp loads/stores.
- %r1 -> %1 for fpstore alternative.
- (*movsf_insn,*movsf_no_f_insn): %r1 -> %1.
-
-Tue Mar 5 17:19:17 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * expr.c (expand_expr, case *_DECL): If we make a non-local
- reference from a function with DECL_NO_STATIC_CHAIN set, abort.
- (expand_expr, case ADDR_EXPR): We don't need a trampoline for a
- function with DECL_NO_STATIC_CHAIN set.
- * function.c (lookup_static_chain): If we're checking on a function
- that doesn't need a static chain, return 0.
- (init_function_start): We don't need context if DECL_NO_STATIC_CHAIN
- is set.
- * tree.c (staticp): Check DECL_NO_STATIC_CHAIN on nested functions.
-
-Tue Mar 5 15:04:29 1996 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sh.md (push_e, pop_e): Add TARGET_SH3E to condition.
- * sh.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
- * sh.c (find_barrier): Set si_limit to 1018 instead of 1020, and
- hi_limit to 510 instead of 512.
-
-Tue Mar 5 13:39:44 1996 Doug Evans <dje@cygnus.com>
-
- * loop.c (init_loop): Use pseudo reg in add_cost computation
- so cost doesn't vary depending on whether reg 0 happens to be
- fixed or not.
-
-Tue Mar 5 09:32:24 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * reg-stack.c (record_label_references): Check for undefined label.
-
-Tue Mar 5 09:22:20 1996 Scott Christley (scottc@net-community.com)
-
- * objc/objc-api.h, objc/runtime.h: Include objc/thread.h.
- * objc/class.c (__objc_init_class_tables): Surround sarray access
- with mutex lock/unlock.
- (__objc_add_class_to_hash, objc_lookup_class): Likewise.
- (objc_get_class, objc_get_next_class): Likewise.
- (__objc_resolve_class_links, class_pose_as): Likewise.
- * objc/init.c (__objc_runtime_mutux, __objc_runtime_thread_alive):
- New variables.
- (objc_init_statics, __objc_init_protocols): Surround sarray access
- with mutex lock/unlock
- (__objc_exec_class): Likewise.
- Initialization for thread-safe global variables.
- Declarations for thread-safe functions and global variables
- * objc/sendmsg.c (get_imp, __objc_responds_to):
- Surround sarray access with mutex lock/unlock.
- (__objc_init_install_dtable): Likewise.
- (__objc_update_dispatch_table_for_class): Likewise.
- (__objc_print_dtable_stats): Likewise.
- * objc/selector.c (sel_get_typed_uid, sel_get_any_typed_uid): Likewise.
- (sel_get_any_uid, sel_get_name, sel_register_name): Likewise.
- (sel_register_typed_name): Likewise.
- * objc/sarray.h (union sversion): New.
- (struct sarray): Maintain multiple versions.
- (sarray_remove_garbage): Add prototype.
- * objc/sarray.c (sarray_{remove,free}_garbage): New functions.
- (sarray_at_put, sarray_new, sarray_lazy_copy):
- Modify/copy sarray structure/data in a thread-safe manner
- (sarray_{realloc,free}): Reallocate/free sarray structure/data in a
- thread-safe manner.
-
- * objc/THREADS, objc/thread.c, objc/thread.h: New files.
- * objc/thread-{decosf1,irix,solaris,win32,single}.c: New files.
- * objc/objc-list.h: Renamed from objc/list.h.
- * objc/Makefile: Changes to compile new files and name renaming.
- * objc/makefile.dos: Likewise.
-
-Tue Mar 5 07:51:31 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * bc-emit.c, bc-optab.c (free): Delete declaration of library function.
-
- * c-decl.c (duplicate_decl): If making decl non-external, copy
- context from old to new.
-
-Tue Mar 5 02:27:35 1996 Jeffrey A. Law <law@cygnus.com
-
- * lib2funcs.asm (__outline_prologue): New "function".
- (__outline_epilogue): New "function".
- * pa.h (TARGET_SPACE): Define.
- (target_flags): Add -mspace and -mno-space. Enable/disable
- space saving optimizations.
- (FRAME_POINTER_REQUIRED): Frame pointers are always required
- when generating out of line prologues and epilogues.
- * pa.c (compute_frame_size): Handle out of line prologues/epilogues.
- (hppa_expand_prologue): If optimizing for space, emit an out of
- line prologue.
- (hppa_expand_epilogue): Similarly.
- (override_options): Optimizing for space is not compatable with
- either profiling or PIC code generation.
- * pa.md (outline_prologue_call): New pattern.
- (outline_epilogue_call): Likewise.
-
-Tue Mar 5 02:17:32 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.md (*cmp{si,di}_insn): %r0 -> %0.
- (DFmode move define_split): Ensure registers not extended v9 fp regs.
- (*mov{sf,df,tf}_cc_reg_sp64): %r3 -> %3.
-
-Mon Mar 4 18:46:37 1996 Manfred Hollstein <manfred@lts.sel.alcatel.de>
-
- * Makefile.in (CRT0STUFF_T_CFLAGS): New macro.
- (stamp-crt0, crt0.o, mcrt0.o): New goals.
- (STAGESTUFF): stamp-crt0 added.
-
- * collect2.c (main): Check new define DEFAULT_A_OUT_NAME.
-
- * m68k.c (print_operand): Emit .l as scale factor #ifdef MOTOROLA.
- * m68k/mot3300-crt0.S, m68k/mot3300Mcrt0.S: New files.
- * m68k/mot3300g.h: Deleted.
- * m68k/mot3300.h (FUNCTION_PROFILER): Emit label references
- corresponding to those generated by ASM_OUTPUT_INTERNAL_LABEL.
- (MOTOROLA, MOTOROLA_BSR, ...): Define #ifndef USE_GAS.
- (ASM_SPEC): Define properly #ifdef USE_GAS.
- (LIB_SPEC): -L/usr/lib/libp deleted.
- (STARTFILE_SPEC): -L/usr/lib/libp added.
- (DEFAULT_A_OUT_NAME): Define.
- (LINK_SPEC): Pass -v if GNU ld is used.
- (LOCAL_LABEL_PREFIX): Local labels start with .L using GAS, else L%.
- (USER_LABEL_PREFIX): Undefine.
- (FUNCTION_PROFILER): Call asm_fprintf instead of normal fprintf.
- (ASM_APP_ON, ASM_FILE_START): GAS supports it.
- (CTORS_.../DTORS_...): Define if GNU ld is used.
- (ASM_FILE_START): Define properly for Motorola and GNU as syntax.
- (TARGET_VERSION): Re-define only #ifndef USE_GAS.
- (CALL_USED_REGISTERS): Deleted.
- (GLOBAL_ASM_OP): Re-define only #ifndef USE_GAS.
- (ASM_{LONG,SHORT,CHAR,BYTE,BYTE_OP}): New macros.
- (ASM_OUTPUT_{DOUBLE,LONG_DOUBLE,FLOAT,INT,SHORT}): Use them.
- (ASM_OUTPUT_{CHAR,BYTE,ASCII,FLOAT_OPERAND,DOUBLE_OPERAND}): Likewise.
- (ALIGN_ASM_OP, SKIP_ASM_OP): New macros.
- (ASM_OUTPUT_{ALIGN,SKIP}): Use them.
- (ASM_OUTPUT_SOURCE_FILENAME): Define only if not using GNU as.
- (ASM_{GENERATE,OUTPUT}_INTERAL_LABEL): Provide proper definitions for
- Motorola and GNU as syntax.
- (ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Changed for portability between
- Motorola and GNU as syntax.
- (ASM_OUTPUT_{CASE_LABEL,OPCODE}): Define only if not using GNU as.
- (ASM_OUTPUT_CASE_FETCH, ASM_RETURN_CASE_JUMP): New macros.
- (ASM_OUTPUT_{COMMON,LOCAL}): Proper defns for Motorola and gas syntax.
- (SDB_...): Define only for Motorola as.
- (ALT_LIBM): New define to tell g++.c about an alternative name for
- `-lm'.
- (MATH_LIBRARY, NEED_ATEXIT, HAVE_ATEXIT, EXIT_BODY): New macros.
- * m68k/t-mot3300, m68k/t-mot3300-{gald,gas,gld}: New files.
- * m68k/x-mot3300-gas: New file.
- * m68k/xm-mot3300.h (USG): Set to 1.
- * configure (m68k-motorola-sysv*): Keep track of new different
- combinations (--with-gnu-...), and provide proper definitions for
- tm_file, xmake_file, tmake_file, use_collect2, and extra_parts.
-
- * gbl-ctors.h (HAVE_ATEXIT): Define if NEED_ATEXIT is defined.
- (atexit): Use `int atexit' prototype also if NEED_ATEXIT is defined.
- (on_exit): According to man on_exit on the Sun it returns int not void.
- * libgcc2.c (L_bb/atexit, onexit): Declarations replaced by
- #include'ing "gbl-ctors.h".
- (L_exit/atexit): New function.
- (L_exit/exit): Call any registered functions.
-
-Mon Mar 4 18:03:38 1996 Bryan Ford (baford@cs.utah.edu)
-
- * configure (i[3456]86-moss-msdos*): New target.
- * i386/moss.h: New file.
-
-Mon Mar 4 17:38:50 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.h (PASS_IN_REG_P): Don't reject BLKmode for SH3e.
- For SH3e, do reject parameter that won't fit entirely in registers.
-
- * sh.md (mulhisi3-2, mulhisi3-1, mulsidi3_i, umulsidi3_i,
- smulsi3_highpart, umulsi3_highpart): Renames operands 1/2 to 0/1.
- (mulsidi3, umulsidi3): Add support for TARGET_LITTLE_ENDIAN.
-
- * sh.c (machine_dependent_reorg): In TARGET_RELAX code, when scan
- forward from LINK, fail if pass a CODE_LABEL before finding INSN.
- Fail if SCAN not INSN is a JUMP_INSN.
-
-Mon Mar 4 11:27:10 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h (CALL_LONG): Change CALL_xx values from an enumeration
- to bitmasks. Add CALL_LONG to support longcall attributes.
- (rs6000_args): Call_cookie field is now an int.
- (rs6000_longcall_ref): Add declaration.
-
- * rs6000.c (init_cumulative_args): Add support for longcall
- attributes to always call through a pointer.
- (function_arg): Ditto.
- (rs6000_valid_type_attribute_p): Ditto.
- (rs6000_longcall_ref): New function for long calls.
-
- * rs6000.md (call insns): Add support for longcall attributes.
-
-Mon Mar 4 08:42:14 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * real.c (significand_size): Don't test the modes, but their sizes.
-
- * dwarfout.c (xstrdup): Moved from here.
- * toplev.c (xstrdup): New function.
- * tree.h (xstrdup): Declare.
- * bc-emit.c (bc_xstrdup): Delete.
- * expr.c (bc_strdup): Delete.
- (bc_load_externaddr_id): Use xstrdup instead of bc_xstrdup.
- * function.c (bc_expand_function_start): Likewise.
- * 1750a.c (strdup): Delete.
- (float_label): Use xstrdup instead of strdup.
- * 1750a.h (xstrdup): Declare instead of instead of strdup.
- (ASM_OUTPUT_LABEL): Use xstrdup instead of strdup.
- (FIX_FRAME_POINTER_ADDRESS): Don't use DEPTH in string.
-
-Mon Mar 4 08:23:23 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * xm-we32k.h (NO_WAIT_H): Deleted.
-
- * collect2.c: Never include wait.h.
-
-Sat Mar 2 22:43:07 1996 Torbjorn Granlund <tege@spiff.gnu.ai.mit.edu>
-
- * configure (code for making links): Work around sh bug on FreeBSD.
-
-Sat Mar 2 13:40:29 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.h (BIGGEST_FIELD_ALIGNMENT): Replace uses of
- TARGET_ALIGN_STRUCT_300 with TARGET_ALIGN_300.
- (BIGGEST_ALIGNMENT): Likewise.
-
-Sat Mar 2 08:04:50 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * calls.c (expand_call): If passing by invisible ref, not const.
-
- * sparc.c (SKIP_CALLERS_UNIMP_P): Make agree with test used in call.
-
- * expr.c (do_jump, case COMPOUND_EXPR): Call preserve_temp_slots.
-
- * fold-const.c (fold, case *_DIV_EXPR): Ignore SAVE_EXPR if has RTL.
-
-Fri Mar 1 17:59:17 1996 Jeffrey A. Law <law@cygnus.com>
-
- * optabs.c (emit_cmp_insn): Immediately copy the return
- value from the library call into a pseudo register.
- (emit_float_lib_cmp): Likewise.
-
-Fri Mar 1 14:37:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (BSS_SECTION_ASM_OP): Define.
- (*_SECTION_ASM_OP): Change tab after .section into a space.
- (ASM_OUTPUT_INT): Ditto.
- (ASM_OUTPUT_ALIGNED_LOCAL): Rewrite to use bss_section.
- (ASM_OUTPUT_ALIGNED_BSS): Define to use ASM_GLOBALIZE_LABEL and
- ASM_OUTPUT_ALIGNED_LOCAL.
-
- * rs6000/win-nt.h (BSS_SECTION_ASM_OP): Define.
- (ASM_OUTPUT_ALIGNED_LOCAL): Define.
- (ASM_OUTPUT_LOCAL): Don't define any more.
- (ASM_OUTPUT_ALIGNED_BSS): Define to use ASM_GLOBALIZE_LABEL and
- ASM_OUTPUT_ALIGNED_LOCAL.
-
-Thu Feb 29 17:33:12 1996 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * c-typeck.c (push_init_level): When output padding to align structure
- field, set constructor_unfilled_fields.
-
- * dbxout.c (dbxout_type, case METHOD_TYPE): Add CHARS (1) call
- after emitting second '#' character.
-
-Thu Feb 29 13:59:27 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * h8300.h (ASM_OUTPUT_BSS): Define.
- * m68k/coff.h (BSS_SECTION_ASM_OP): Define.
- (ASM_OUTPUT_ALIGNED_BSS): Define.
- * m68k/m68k-aout.h (BSS_SECTION_ASM_OP): Define.
- (ASM_OUTPUT_BSS): Define.
-
-Thu Feb 29 13:39:39 1996 Per Bothner <bothner@cygnus.com>
-
- * varasm.c (compare_constant_1): For a SET_TYPE CONSTRUCTOR,
- first extract and compare the set length.
-
- * varasm.c (record_constant_1): For SET_TYPE CONSTRUCTOR,
- permanent_obstack.next_free is *end* of available space.
-
-Thu Feb 29 13:14:14 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.h (TARGET_SWITCHES): Add new flags "-mlong-load-store" and
- "-mno-long-load-store".
- (TARGET_LONG_LOAD_STORE): Define.
- * pa.md (symbolic high part): Handle TARGET_LONG_LOAD_STORE.
-
-Thu Feb 29 11:39:30 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.md (cmpxf*): XF compare cannot have mem operands.
- (casesi expand): Put (minus:SI..) into subsi3 format.
- * i386.c (i386_return_pops_args): Cleanup extra argument
- used as address of a returned structure.
-
-Wed Feb 28 22:24:28 1996 Doug Evans <dje@cygnus.com>
-
- * varasm.c (enum in_section): Define in_bss if BSS_SECTION_ASM_OP
- is defined.
- (bss_section,asm_output_bss,asm_output_aligned_bss): New functions.
- (assemble_variable): Delete redundant test for too large an object.
- Rewrite test for uninitialized variables. Use new macros
- ASM_OUTPUT{,_ALIGNED}_BSS if defined to output global uninitialized
- but not common variables.
- * bytecode.h (BC_OUTPUT_BSS): Define.
- * lynx.h (EXTRA_SECTIONS): Delete in_bss.
- (EXTRA_SECTION_FUNCTIONS): Delete BSS_SECTION_FUNCTION.
- * svr3.h (EXTRA_SECTIONS): Likewise.
- (BSS_SECTION_FUNCTION): Delete.
- * convex.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Delete.
- * dsp16xx.h (EXTRA_SECTIONS): Delete in_bss.
- (EXTRA_SECTION_FUNCTIONS): Delete bss_section.
- * gmicro.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Delete.
- * i386/aix386ng.h (EXTRA_SECTION_FUNCTIONS): Delete
- BSS_SECTION_FUNCTION.
- * i386/att.h (BSS_SECTION_FUNCTION): Delete.
- * i386/sco5.h (EXTRA_SECTIONS): Delete in_bss.
- (EXTRA_SECTION_FUNCTIONS): Delete BSS_SECTION_FUNCTION.
- (BSS_SECTION_FUNCTION): Delete.
- * i386/seq-sysv3.h (BSS_SECTION_FUNCTION): Delete.
- * i386/svr3gas.h (EXTRA_SECTIONS): Delete in_bss.
- (EXTRA_SECTION_FUNCTIONS): Delete BSS_SECTION_FUNCTION.
- (BSS_SECTION_FUNCTION): Delete.
- * i860/paragon.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Undef.
- * m68k/crds.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Delete.
- (BSS_SECTION_ASM_OP): Define.
- * m68k/m68k.h (BC_OUTPUT_BSS): Define.
- * mips/iris6.h (EXTRA_SECTIONS): Delete in_bss.
- * pa.h (EXTRA_SECTIONS): Delete in_bss.
- (EXTRA_SECTION_FUNCTIONS): Delete bss_section.
- * sparc/litecoff.h (EXTRA_SECTIONS): Delete in_bss.
-
-Wed Feb 28 14:12:25 1996 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sh.h (FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P): Include FP
- registers only when TARGET_SH3E.
- (PASS_IN_REG_P): Exclude BLKmode only when ! TARGET_SH3E.
-
-Wed Feb 28 12:03:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (rs6000_trampoline_{template,size}): Change Windows NT
- trampoline template so it doesn't require making stack executable.
- Add support for 64 bit systems.
- (rs6000_initialize_trampoline): Ditto.
-
-Tue Feb 27 16:42:00 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (print_operand): New code 'H'.
- * rs6000.md (insv, extzv): Add DImode patterns. Use 'h'
- consistently for masking SImode shifts.
- (rotldi3, ashldi3, lshrdi3, ashrdi3): Use 'H'.
- (movsf split): Generate CONST_INT instead of SUBREG.
-
-Tue Feb 27 15:02:17 1996 Doug Evans <dje@cygnus.com>
-
- * sh.h (HANDLE_PRAGMA): Delete `return'.
-
-Tue Feb 27 08:18:12 1996 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm.c (aof_text_section): Remove pseudo read-only hack. Doesn't
- take a parameter any more.
- * arm/aof.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove
- readonly data sections.
- (READONLYDATA_SECTION, READONLY_DATA_SECTION): Delete.
-
- * arm.h (enum arm_cond_code): New enum.
- (ARM_INVERSE_CONDITION_CODE): Moved here from arm.c.
- (SELECT_CC_MODE): Call arm_select_cc_mode to do the work.
- (PREDICATE_CODES): Add dominant_cc_register; delete
- reversible_cc_register.
- * arm.c (arm_current_cc): Now an enum.
- (ARM_INVERSE_CONDITION_CODE): Moved to arm.h
- (revsersible_cc_register): Delete.
- (dominant_cc_register): New function.
- (select_dominance_cc_mode): New function.
- (arm_select_cc_mode): New function.
- (output_return_instruction): New parameter REVERSE, used to
- reverse the condition of a conditional return. All callers
- changed.
- (arm_print_operand case 'D'): Only suppress condition printing
- if the operand is a NULL pointer.
- (get_arm_condition_code): Now a static function returning
- enum arm_cond_code. Handle dominance expressions. Return enum
- values rather than integers.
- * arm.md (*addsi3_compare0_scratch): New insn.
- (*movsi_compare0, *cmpsi_insn, *cmpsi_shiftsi): Make sure the
- compare has mode CC.
- (cmp{si,sf,df,xf} expands): Just provide sufficient information
- to allow the parameters to be matched properly.
- (*cmpsi_negsi): Delete (of dubious validity).
- (*cmpsi_shiftsi_swp): New pattern.
- (*condbranch_reversed): No longer needs to check REVERSIBLE_CC_MODE.
- (mov{si,sf,df}cc, *mov{si,sf,df}{,_hard,_soft}_insn): The mode of the
- IF_THEN_ELSE must be appropriate to the target (not void).
- (*and_scc): Match cc_register, not reversible_cc_register.
- (*ior_compare_compare): Delete.
- (split for ior_compare_compare + condjump): Delete.
- (*impossible_cond_compare): Delete.
- (*condition_compare_ior): Delete.
- (*cond_move): Mode for the IF_THEN_ELSE must be SImode.
- (*and_scc_scc): Delete.
- (split for and_scc_scc + condjump): Delete.
- (*impossible_cond_branch_and): Delete.
- (*cmp_ite0, *cmp_ite1): New patterns.
- (if_compare_not): Should be an anonymous pattern.
- (Peephole for move and compare): Compare mode must be mode CCmode.
- (Split pattern for comparing shifted reg then branch): Delete.
- (*loadqi_compare): Delete, replaced with a split pattern to do
- the same thing.
- (*cond_move_not): Match cc_register, not reversible_cc_register.
-
- * arm.c ({load,store}_multiple_sequence): New functions.
- (emit_{ldm,stm}_seq): New functions.
- * arm.md (load/store multiple peepholes): Rewrite using the above
- functions.
- (all patterns taking immediate_operand): If the code later assumes
- this is a CONST_INT, then match const_int_operand instead.
-
-Mon Feb 26 17:26:13 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.md: Add sparclet scheduling parameters.
- (compare define_insn's): Move closer to compare define_expand's.
- (32 bit multiply patterns): Use for TARGET_SPARCLET.
- (*smacsi,*smacdi,*umacdi): Multiply/accumulate patterns for the
- sparclet.
-
-Sat Feb 24 19:13:29 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (movsf split): Fix typo in last patch.
-
-Sat Feb 24 10:02:55 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * toplev.c (fatal_insn): Flush stdout/stderr.
-
-Sat Feb 24 02:03:28 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.md (abssi2): Rework to avoid matching constraints.
-
-Fri Feb 23 11:21:43 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.c (override_options): Warn if both PIC code generation and
- profiling are requested.
-
-Fri Feb 23 08:47:38 1996 Richard Kenner (kenner at vlsi1)
-
- * expr.c (expand_builtin, case BUILT_IN_SETJMP): Set CONST_CALL_P
- on NOTE_INSN_SETJMP instead of emitting USE insns for call-saved regs.
- * reload1.c (reload): For special CONST_CALL_P NOTE_INSN_SETJMP,
- mark all call-saved regs as used.
- * sched.c (sched_analyze): Record NOTE_INSN_SETJMP if no
- CALL_INSN as prev; preserve CONST_CALL_P bit.
- (reemit_notes): Restore CONST_CALL_P.
-
-Thu Feb 22 17:45:12 1996 Doug Evans <dje@cygnus.com>
-
- * configure (sparclet-*-aout*): Set extra_headers.
- * ginclude/inl-sparc.h: New file.
-
-Wed Feb 21 20:39:53 1996 Doug Evans <dje@cygnus.com>
-
- * configure (sparc64-*-solaris2*): Merge with sparc-*-solaris2*.
- * sparc.h (enum processor_type): Declare.
- (sparc_cpu_attr): Define.
- (TARGET_OPTIONS): Add -mtune=.
- (sparc_select): Declare.
- (sparc_cpu_string): Delete.
- (FIRST_PSEUDO_REGISTER): Set to 100.
- ({FIXED,CALL_USED}_REGISTERS): Merge !v9/v9 cases.
- (CONDITIONAL_REGISTER_USAGE): Mark %g5 as fixed if !v9.
- Mark %g1 as fixed if v9. Fix v9-only regs if !v9.
- Mark fp{16..47} as call-saved if v9.
- (enum reg_class): Merge !v9/v9 cases.
- (REG_CLASS_NAMES,REG_CLASS_CONTENTS,REGNO_REG_CLASS): Likewise.
- (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER,LEAF_REGISTERS): Likewise.
- (FP_REG_CLASS_P,SPARC_REGISTER_NAMES): Likewise.
- (REG_CLASS_FROM_LETTER): Test TARGET_V9 at runtime.
- * sparc.c (sparc_cpu_string): Delete.
- (sparc_select): New global.
- (sparc_override_options): Handle -mtune=xxx.
- * sparc.md (cpu attr): Add sparc{lite,let} implementations.
- * sparc/sp64-sol2.h: Deleted.
-
- * arm.md (consttable_end): Delete call to text_section.
- (align_4): Delete call to readonly_data_section.
-
-Wed Feb 21 14:29:06 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * cplus-dem.c (demangle_template): Initialize is_bool. Correctly
- handle 0 as a pointer value parameter.
-
-Wed Feb 21 14:13:29 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.c (decl_function_context): Do decl_function_context right for
- function-local classes.
-
-Wed Feb 21 12:42:52 1996 Jeffrey A. Law <law@cygnus.com>
-
- * c-typeck.c (initializer_constant_valid_p): Don't dereference
- a null pointer on partial structure initialization.
-
-Wed Feb 21 11:49:58 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (ASM_OUTPUT_EXTERNAL): Append section info
- even when verbatim symbol prefix '*' present.
- * rs6000/aix3newas.h (ASM_OUTPUT_EXTERNAL): Same.
- * rs6000/aix41.h (ASM_OUTPUT_EXTERNAL): Same.
- * rs6000/powerpc.h (ASM_OUTPUT_EXTERNAL): Same.
- * rs6000/win-nt.h (ASM_OUTPUT_EXTERNAL): Same.
-
-Wed Feb 21 03:55:32 1996 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (validate_else): Don't loop given `#endif /'.
- Handle multiple adjacent backslash-newlines correctly.
- Accept a new parameter LIMIT to specify end of input;
- this prevents confusion when the input contains '\0' characters.
- (collect_expansion): Fix off-by-1 error when searching for `*/'
- at end of a comment used for traditional token concatenation.
- (macarg1): Fix off-by-1 error when skipping past `*/'
- at end of comment.
-
-Tue Feb 20 16:12:31 1996 Doug Evans <dje@cygnus.com>
-
- * hard-reg-set.h (twice unrolled GO_IF_HARD_REG_EQUAL): Add missing \.
-
-Tue Feb 20 14:21:16 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.h (DBX_CONTIN_LENGTH): Define to 4000 characters.
-
- * pa.c (hppa_expand_epilogue): Always emit a blockage insn
- before cutting back the stack.
-
-Mon Feb 19 19:42:15 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * sparc.h (TARGET_SWITCHES): Add -m{,no-}impure-text.
- (MASK_IMPURE_TEXT, TARGET_IMPURE_TEXT): Define.
- (LINK_SPEC): Only add `-assert pure-text' if -mimpure-text wasn't used.
-
-Mon Feb 19 19:20:15 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * configure (sparc-aout): sparc-aout.h renamed to aout.h.
- (sparclet-aout): Likewise.
- (sparclite-*-aout*): Renamed from sparclite-*-*.
- Don't set use_collect2.
- (target_cpu_default): Set to TARGET_CPU_<cpu> for sparc.
-
- * sparc.h (TARGET_CPU_sparc{,let,lite,64}): Define.
- ({CPP,ASM}_DEFAULT_SPEC): Set from TARGET_CPU_foo.
- (SPARC_ARCH64 CPP_PREDEFINES): Define __arch64__.
- (CPP_SPEC): Add %(cpp_cpu).
- (CPP_CPU_SPEC): Define.
- (CC1_SPEC): Convert -m<cpu> to -mcpu=<cpu>.
- (ASM_SPEC): Add %(asm_cpu).
- (ASM_CPU_SPEC): Define.
- (EXTRA_SPECS,SUBTARGET_EXTRA_SPECS): Define.
- (OVERRIDE_OPTIONS): Call SUBTARGET_OVERRIDE_OPTIONS after
- sparc_override_options.
- ({MASK,TARGET}_SUPERSPARC): Delete.
- ({MASK,TARGET}_SPARCLET): Define.
- (MASK_ISA): Renamed from MASK_CPUS.
- (TARGET_SWITCHES): Delete no-{v8,sparclite}.
- (sparc_cpu,sparc_cpu_string): Declare.
- ({SUB,}TARGET_OPTIONS): Define.
- (FIXED_REGISTERS): Add definitions for sparc64 in 32 bit mode.
- (CONDITIONAL_REGISTER_USAGE): Don't set fixed_regs[234] if sparc64.
- Don't set call_used_regs[48..80] for sparc64 in 32 bit mode.
- Don't clobber fixed_regs[234] if -ffixed- was passed.
- (ADJUST_COST): Change test for supersparc.
- * sparc.c (sparc_cpu_string,sparc_cpu): New globals.
- (sparc_override_options): Set ISA and CPU from sparc_cpu_string.
- Delete tests for v9 only switches if not v9.
- Error if -mcpu=v9 and v9 support not compiled in.
- * sparc/sol2.h (CPP_SPEC): Use %(cpp_cpu).
- (ASM_SPEC): Likewise.
- (ASM_{DEFAULT,CPU}_SPEC): Use Solaris syntax for sparc64.
- * sparc/sysv4.h (ASM_SPEC): Add %(asm_cpu).
- * sparc/t-sparcbare (MULTILIB_*): -mv8 renamed to -mcpu=v8.
- * sparc/t-sparclite (MULTILIB_*): Delete msoft-float and mno-flat,
- they're the defaults. Add -mcpu=f934 as synonym for -mfpu.
- * va-sparc.h (__arch64__): Renamed from __sparc_v9__.
-
- * sparc/lite.h: #include aoutos.h.
- (TARGET_DEFAULT): Use MASK_FOO values.
- * sparc/sp64-aout.h: #include aoutos.h.
- (TARGET_DEFAULT): Add MASK_APP_REGS.
- (JUMP_TABLES_IN_TEXT_SECTION,READONLY_DATA_SECTION): Delete.
- * sparc/sp64-elf.h (TARGET_DEFAULT): Add MASK_APP_REGS.
- (CPP_PREDEFINES): Define __arch64__.
- * sparc/sp64-sol2.h (TARGET_DEFAULT, SUBTARGET_SWITCHES): Delete.
- (ASM_SPEC): Delete.
-
- * sparc.h ({MASK,TARGET}_FRW): Delete.
- (FRAME_POINTER_REQUIRED,INITIAL_FRAME_POINTER_OFFSET,
- BASE_{INCOMING_ARG,OUTGOING_VALUE}_REG,INCOMING_REGNO,OUTGOING_REGNO,
- FUNCTION_{PROLOGUE,EPILOGUE},DELAY_SLOTS_FOR_EPILOGUE): TARGET_FRW
- renamed to TARGET_FLAT.
-
- * sparc.md (cpu attr): Add all cpu variants.
- (negtf2,negdf2,abstf2,absdf2): Use isa attr, not arch attr, in
- determining insn lengths.
-
- * sparc/aout.h: Renamed from sparc-aout.h.
- (CPP_PREDEFINES): Delete __GCC_NEW_VARARGS__.
- Add -Acpu(sparc) -Amachine(sparc).
-
-Mon Feb 19 17:49:08 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (movsf split): Use SUBREG, not operand_subword.
- (movdf split): operand_subword TARGET_32BIT and new split using
- SUBREG for TARGET_64BIT.
- * rs6000.c (easy_fp_constant): Rewrite to not use operand_subword.
- (input_operand): Remove final add_operand test made irrelevant by
- Dec. 8 change.
- (output_toc): Handle DImode values.
-
-Mon Feb 19 13:38:00 1996 Lee Iverson <leei@Canada.AI.SRI.COM>
-
- * i386/sol2.h (SWITCH_TAKES_ARG): Restore -R.
- * sparc/sol2.h (SWITCH_TAKES_ARG): Likewise.
-
-Mon Feb 19 08:19:00 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * hard-reg-set.h (HARD_REG macros): If more than
- HOST_BITS_PER_WIDE_INT hard registers and less than or equal to
- 4*HOST_BITS_PER_WIDE_INT hard registers, unroll loops by hand.
-
-Mon Feb 19 07:35:07 1996 Torbjorn Granlund <tege@tmg.se>
-
- * rs6000.md (not:SI with assign and compare): Fix typo.
- (not:DI with assign and compare): Likewise.
-
-Mon Feb 19 07:17:25 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * sparc.md (nonlocal_goto): No longer need USE of %o0.
- (goto_handler_and_restore): Show uses %o0.
-
- * combine.c (force_to_mode, case IOR): Fix typo in commuting
- IOR and LSHIFTRT.
-
- * alpha.c (call_operand): If in REG, only reg 27 valid.
-
-Mon Feb 19 06:57:34 1996 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * emit-rtl.c (operand_subword): For 32-bit targets, return
- the appropriate subword of extended precision CONST_DOUBLEs.
-
- * arm.c (offsettable_memory_operand): New function.
- (alignable_memory_operand): New function.
- (gen_rotated_half_load): New function.
- (get_arm_condition_code): Extract the mode of the comparison and
- use it to generate the correct return value.
- * arm.h (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CC_Zmode.
- (SELECT_CC_MODE): return CC_Zmode if the operand is QImode. Allow LT
- and GE comparisons in CC_NOOVmode.
- (PREDICATE_CODES): add offsettable_memory_operand and
- alignable_memory_operand.
- * arm.md (*zeroextract[qs]i_compare0_scratch): Use const_int_operand
- for operands 1 and 2.
- (split patterns for aligned memory half-word operations): New patterns.
- (movhi): Handle memory accesses where the alignment is known in a more
- efficient manner.
- (*compareqi_eq0): Use CC_Zmode.
-
-Mon Feb 19 05:34:08 1996 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * toplev.c (lang_options): Add -W{no-,}sign-compare.
-
- * c-tree.h: Declare warn_sign_compare.
-
- * c-typeck.c (build_binary_op): Check warn_sign_compare rather
- than extra_warnings to decide whether to warn about comparison of
- signed and unsigned.
-
- * c-decl.c (c_decode_option): Handle warn_sign_compare. -Wall
- implies -Wsign-compare.
-
-Sun Feb 18 21:13:44 1996 Pat Rankin (rankin@eql.caltech.edu)
-
- * c-lex.c (yylex, case '0'..'9','.'): For cases '0' and '1',
- check for single digit constant before resorting to general
- number processing.
-
-Sun Feb 18 19:29:44 1996 J.T. Conklin <jtc@netbsd.org>
-
- * m68k.h (TARGET_68060): New macro.
- (TARGET_SWITCHES): Add -m68060.
- * m68k.md (const_umulsi3_highpart): Disable for TARGET_M68060.
- (ftruncdf2, ftruncsf2, muldf3, mulsidi3): Likewise.
- (smulsi3_highpart, umulsi3_highpart, umulsidi3): Likewise.
-
- * {m68k,ns32k,sparc}/netbsd.h (DBX_NO_XREFS): Removed.
-
-Sun Feb 18 13:29:56 1996 Charles M. Hannum (mycroft@netbsd.org)
-
- * c-common.c (check_format_info): Warn about `L' if -pedantic.
-
-Fri Feb 16 20:13:23 1996 Paul Eggert <eggert@twinsun.com>
-
- * c-typeck.c (convert_for_assignment):
- Bring back conversion to union without a cast,
- undoing the Jan 16 change, but with the following differences:
- - The union must have the transparent_union attribute.
- - The conversion must be for a function argument.
- - Warn consistently about such conversions if pedantic.
- - Do not warn about an assignment incompatibility for one union member
- if another union member is compatible with no warning.
-
-Fri Feb 16 12:06:21 1996 Stan Cox <coxs@spiff.gnu.ai.mit.edu>
-
- * i386.c (ix86_*_binary_operator*): Allow CONST_INT as operand1
- of MINUS.
- * i386/dgux.h (OPTIMIZATION_OPTIONS): Call optimization_options.
-
-Fri Feb 16 08:39:47 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure: Change stdout report when have multiple files in
- tm_file, host_xm_file, or build_xm_file.
- (a29k-*-bsd): Use both a29k.h and unix.h.
- (a29k-*-udi): Rename a29k-udi.h to udi.h;
- use a29k.h, dbxcoff.h, and it.
- (a29k-*-vxworks): Use a29k.h, dbxcoff.h, a29k/udi.h, and a29k/vx29k.h.
- (alpha-dec-osf[23456789]*): Use alpha.h, not osf2.h.
- (alpha-dec-osf1.2): Use alpha.h and alpha/osf12.h.
- (alpha-*-osf*): Add explicit assignment of tm_file.
- * a29k/udi.h: Renamed from a29k-udi.h.
- Don't include a29k.h or dbxcoff.h.
- * a29k/unix.h: Don't include a29k.h.
- * a29k/vx29k.h: Don't include a29k-udi.h.
- * alpha.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Use unsigned int.
- * alpha/osf2.h: Deleted.
- * alpha/osf12.h: Don't include alpha.h.
- (WCHAR_TYPE, WCHAR_TYPE_SIZE): Use short unsigned int.
- * alpha/win-nt.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Use short unsigned int.
-
-Thu Feb 15 18:26:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/ntstack.asm (__allocate_stack): Round up length to 16
- byte boundary.
-
- * rs6000.md (allocate_stack): On Windows NT, call set_sp to
- indicate to CSE stack pointer changes with call to __allocate_stack.
- (set_sp): New pattern.
-
-Thu Feb 15 16:49:15 1996 Jim Wilson <wilson@cygnus.com>
-
- * integrate.c (save_for_inline_copying): Allocate reg_map with size
- based on regno_pointer_flag_length instead of max_reg+1.
-
-Thu Feb 15 07:48:34 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fixincludes (rpc/types.h): Remove spurious "ls" command.
-
- * reload1.c (eliminate_regs, case USE): If using a register that
- is source of elimination, show can't be eliminated.
-
- * expr.c (expand_builtin, case BUILT_IN_SETJMP): Shows clobbers FP
- and all caller-save registers.
- Set current_function_has_nonlocal_goto.
-
-Wed Feb 14 13:51:55 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (fix_truncdfsi2): Use SUBREG not operand_subword.
- (movdi): Test HOST_BITS_PER_WIDE_INT at build time.
- * collect2.c (scan_libraries): Append '/' to import path if missing.
-
-Wed Feb 14 09:01:55 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (movdi): Use HOST_WIDE_INT, not long long.
-
-Tue Feb 13 19:36:21 1996 Per Bothner <bothner@cygnus.com>
-
- * expr.c (store_constructor): Fix flow control thinko (merge error).
- * expr.c (store_constructor): Pass correct value to recursive call.
-
-Wed Jan 31 11:34:45 1996 Mike Stump <mrs@cygnus.com>
-
- * expr.c (expand_expr, case TARGET_EXPR): We must always store
- into the allocated slot for TAREGT_EXPRs.
-
-Tue Feb 13 18:27:05 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * configure (powerpc-ibm-aix3): Look for 3.2.x, not 3.2x.
-
- * fixincludes (memory.h): Fix it also on sysV68.
-
-Tue Feb 13 17:59:03 1996 Lee Iverson <leei@Canada.AI.SRI.COM>
-
- * gcc.c (DEFAULT_SWITCH_TAKES_ARG): New macro, from SWITCH_TAKES_ARG.
- (SWITCH_TAKES_ARG): Use it.
- * i386/{osfrose,sol2}.h (SWITCH_TAKES_ARG): Likewise.
- * mips/{gnu,mips}.h (SWITCH_TAKES_ARG): Likewise.
- * sparc/sol2.h (SWITCH_TAKES_ARG): Likewise.
- * config/svr4.h (SWITCH_TAKES_ARG): Likewise.
-
-Tue Feb 13 17:43:46 1996 Jim Wilson <wilson@cygnus.com>
-
- * integrate.c (save_constants_in_decl_trees): New function.
- (save_for_inline_copying, save_for_inline_nocopy): Call it.
-
-Tue Feb 13 17:40:27 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (convert_move): Fix typo in extendqfh2 case.
-
- * reload1.c (reload): Make some non-group code no longer
- conditional on SMALL_REGISTER_CLASSES.
-
-Tue Feb 13 17:30:45 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * pdp11.c: #include flags.h
- (output_function_prologue, function_epilogue): Remove declarations
- of call_used_regs and frame_pointer_needed.
-
- * c-common.c (overflow_warning): Fix typo in warning message.
-
- * c-decl.c (finish_decl): TREE_ASM_WRITTEN says if duplicate_decls
- modified declaration to match an outside file scope declaration.
-
- * stmt.c (expand_end_case): Don't use ADDR_DIFF_VEC for PIC if
- ASM_OUTPUT_ADDR_DIFF_ELT is not defined.
- * a29k.h, romp.h (ASM_OUTPUT_ADDR_DIFF_ELT): Remove.
-
-Tue Feb 13 13:36:36 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/cygwin32.h (CPP_PREDEFINES): Do not define PPC, just
- define __PPC__. Also define _ARCH_PPC to be compatible with the
- other rs6000/powerpc ports.
- * rs6000/win-nt.h (CPP_PREDEFINES): Ditto.
-
- * rs6000/cygwin32.h (LIBGCC_SPEC): Don't define, always link in.
- (SDB_DEBUGGING_INFO): Undef.
- (DBX_DEBUGGING_INFO): Define.
- (PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.
-
- * rs6000/t-{cygwin32,winnt} (MULTILIB*): Remove multilib support.
-
- * rs6000/x-cygwin32 (LANGUAGES): Delete, don't override.
-
- * rs6000/ntstack.asm: New file to provide __allocate_stack, which
- guarantees all pages in a dynamically allocated stack frame are
- touched in order, so that the stack is properly grown.
-
- * rs6000/cgywin32.asm: Delete unused file.
-
- * rs6000/t-{cygwin32,winnt} (LIB2FUNCS_EXTRA): Add ntstack.S
- to libgcc2 build.
-
- * rs6000.md (allocate_stack): For NT, call __allocate_stack to
- bump the stack if the size is large or variable.
-
- * libgcc1-test.c (mainCRTStartup,__start): New startup functions
- to silence more linkers.
-
-Tue Feb 13 13:30:53 1996 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (store_constructor_field): Only call change_address if
- bitpos is nonzero.
-
-Tue Feb 13 08:21:01 1996 Fila Kolodny <fila@ibi.com>
-
- * i370/mvs.h (CPP_SPEC): Add '-trigraphs' because IBM's h files
- contain them.
-
-Tue Feb 13 08:17:52 1996 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * c-typeck.c (quality_type prototype): Typo, rename as
- qualify_type.
- (build_binary_op): Fix precedence errors.
- * combine.c (force_to_mode, num_sign_bit_copies, simplify_comparison):
- Fix precedence errors.
- * emit-rtl.c (gen_lowpart): Could return without a value.
- * jump.c (jump_optimize): Fix potential infinite loop.
- * reg-stack.c (record_reg_life_pat): Fix precedence error.
- * reload1.c (emit_reload_insns): Fix precedence errors.
- * stmt.c (bc_pushcase): Fix precedence error.
-
-Mon Feb 12 23:14:02 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (rest_of_compilation): Also set RTX_INTEGRATED_P when
- we aren't going to emit the inline just yet.
-
-Mon Feb 12 21:31:02 1996 Jim Wilson <wilson@cygnus.com>
-
- * rtl.h (INLINE_REGNO_POINTER_FLAG, INLINE_REGNO_POINTER_ALIGN):
- Add one to array index.
-
-Mon Feb 12 20:55:39 1996 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * configure (i[345]86-*-linux*): Set tmake_file t-linux.
- Add crtbeginS.o and crtendS.o to extra_parts.
- * i386/linux.h (CC1, LIB_SPEC): Deleted.
- * config/linux.h (STARTFILE_SPEC): Add crtbeginS.o if -shared.
- (CC1_SPEC): New.
- (LIB_SPEC): Remove %{mieee-fp:-lieee}; use -lc_p for -profile.
- * config/t-linux: New file.
-
-Mon Feb 12 20:42:11 1996 Randy Smith <randys@camaro.osf.org>
-
- * i386/x-osfrose (XCFLAGS{,_NODEBUG}): Remove $(SHLIB).
- (XCFLAGS): New variable.
- (libdir, mandir, bindir): Delete.
- * i386/t-osf: New file.
- * i860/paragon.h (STARTFILE_SPEC): Make gcc find crt0.o, not loader.
- (LIB_SPEC): Remove /usr/lib.
- * Makefile.in (TCFLAGS): New variable.
- (GCC_CFLAGS): Add $(TCFLAGS).
- (LIBGCC2_CFLAGS): Add -D for __GCC_FLOAT_NOT_NEEDED.
- (libgcc1-test): Remove -nostdlib.
- (float.h-cross): Don't give error #ifdef __GCC_FLOAT_NOT_NEEDED.
- * enquire.c: Define __GCC_FLOAT_NOT_NEEEDED.
- * configure (i[3456]86-*-osfrose): Add t-osf as tmake_file.
-
-Mon Feb 12 18:43:54 1996 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
-
- * 1750a.c (add_1_to_mem): Corrected.
-
-Mon Feb 12 18:23:35 1996 Doug Evans <dje@cygnus.com>
-
- * configure (sparclet-*-aout*): New configuration.
-
-Mon Feb 12 14:43:50 1996 Per Bothner <bothner@cygnus.com>
-
- Changes to distinguish typedef from original type in debug output.
- * tree.h (DECL_ORIGINAL_TYPE): New macro.
- * tree.c (copy_node): Zero out type.symtab union.
- * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE for typedef origin.
- * dbxout,c (dbxout_type): Don't canonicalize typedef type to base.
-
-Mon Feb 12 12:01:16 1996 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm.h: (CPP_SPEC): Define __ARMEB__, __ARMEL__, and
- __ARMWEL__ depending on the endian flags passed to the compiler.
- (ARM_FLAG_LITTLE_WORDS): Define.
- (TARGET_SWITCHES): Add option -mwords-little-endian.
- (TARGET_LITTLE_WORDS): Define.
- (WORDS_BIG_ENDIAN): Select based on the endian switches.
- (LIBGCC2_WORDS_BIG_ENDIAN): Define based on run-time endian
- defines.
- * arm.c (output_move_double): Cope with both word-endian
- alternatives. Remove extraneous parameters from calls to
- output_mov_immediate.
- (arm_print_operand): New print code 'Q' for the least significant
- register of a DImode operand. Make code 'R' always print the
- most significant register, rather than the highest numbered.
- * arm.md (all DImode output patterns): Use print code
- 'Q' to access the least significant word. Make sure the
- patterns are fully aware of the word endianness.
-
- * arm/semi.h (CPP_SPEC): Define __ARMEB__, __ARMEL__, and
- __ARMWEL__ depending on the endian flags passed to the compiler.
- (LINK_SPEC): Pass -EB to the linker if compiling for big-endian
- mode.
- (ASM_SPEC): Likewise for the assembler.
- * arm/semiaof.h (CPP_SPEC): Define __ARMEB__, __ARMEL__, and
- __ARMWEL__ depending on the endian flags passed to the compiler.
-
-Mon Feb 12 10:15:29 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * configure: Permit tm_file and xm_file to be a list of header
- file names, rather than just a single file. For many targets,
- handle --with-stabs by adding dbx.h to tm_file, rather than using
- a different tm_file.
- * dbx.h: New file.
- * alpha/gdb-osf2.h, alpha/gdb-osf12.h, alpha/gdb.h: Deleted.
- * i386/sysv4gdb.h, mips/iris{5gdb,4gl,4gdb,3gdb}.h: Likewise.
- * mips/dec-gosf1.h, mips/news{4,5}-gdb.h, mips/svr4-t-gdb.h: Likewise.
- * mips/ultrix-gdb.h, mips/bsd-{4,5}-gdb.h: Likewise.
- * mips/svr{4-5,4-4,3-5,3-4}-gdb.h, mips/mips-5-gdb.h: Likewise.
- * mips/ecoff{,l}-gdb.h, mips/mips-4-gdb.h: Likewise.
-
-Mon Feb 12 07:22:20 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * integrate.c (save_for_inline_copying): Put virtual regs into
- new regno_reg_rtx copy.
-
-Sun Feb 11 18:53:12 1996 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * i386.md: Delete spurious integer subtract patterns.
- Delete % from subtract operand constraints.
-
-Sun Feb 11 19:17:24 1996 Jeffrey A. Law <law@cygnus.com>
-
- * m68k.md (movqi): Call CC_STATUS_INIT when loading to/from
- an address register via a data register.
-
-Sun Feb 11 08:44:49 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-common.c (check_format_info): Handle missing type in format
- when terminated by a new `%'.
-
-Sat Feb 10 15:14:22 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * cross-make (STMP_FIXPROTO): Moved from here to build-make.
- * build-make (STMP_FIXPROTO): Moved here from cross-make.
-
-Sat Feb 10 08:39:05 1996 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
-
- * 1750a.md (movstrqi): Corrected.
- (zero_extendqihi2): Taken out, let GCC synthesize.
- (movhi-1): Added insn to move HImode small constant to memory.
- (movhf-1): Added insn to move HFmode zero to memory.
- (movtqf-1): Added insn to move TQFmode zero to memory.
- (numerous insns): Taken out B (Base Reg with Index) mode.
-
- * 1750a.c (movcnt_regno_adjust): Corrected.
- (mov_memory_operand, zero_operand): Added.
- (b_mode_operand): Corrected.
- (simple_memory_operand, add_1_to_mem): Added.
- (print_operand_address): Corrected case of 'Q' output modifier.
-
- * 1750a.h (REG_ALLOC_ORDER): Changed back to natural order.
- (CONST_DOUBLE_OK_FOR_LETTER_P): Added letter 'G'.
- (EXIT_IGNORE_STACK): Set to 0.
- (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Use corresponding REGNO_OK.
- (MOVE_MAX, MOVE_RATIO): Defined.
-
-Sat Feb 10 08:28:12 1996 Martin Anantharaman <martin@goofy.imech.uni-duisburg.de>
-
- * configure (m68k-*-psos*): New configuration.
- * psos.h: New file.
- * m68k/m68k-psos.h: New file.
-
-Sat Feb 10 08:07:52 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * sched.c (flush_pending_lists): Add new arg, ONLY_WRITE.
- (sched_analyze_{1,2,insn}): Add new arg to flush_pending_lists.
- (sched_analyze): Always flush pending write list for call, even const.
-
- * integrate.c (save_for_inline_copying): Put reg_map in function's
- maybepermanent obstack instead of using alloca; set regno_reg_rtx
- to it; delete recently-added copying of this later.
-
-Sat Feb 10 00:49:58 1996 Doug Evans <dje@cygnus.com>
-
- * sched.c (add_dependence): Add test for next != CODE_LABEL.
-
-Fri Feb 9 16:10:04 1996 Stan Cox (coxs@dg-rtp.dg.com)
-
- * i386.md (fp, integer): Added function units for pentium.
- (cmp*,mov*,add*,sub*,mul*,div*,extend*,trunc*,and*,ior*,xor*,neg*,
- abs*,sqrt*,sin*,cos*,not*,ash*,lsh*,rot*,sub): Tightened constraints,
- added attribute support, and made changes for new `binary' and
- `unary' functions.
-
- * i386.c (processor_costs): New variable.
- (optimization_options, ix86_expand_binary_operator,
- ix86_binary_operator_ok, ix86_expand_unary_operator,
- ix86_unary_operator_ok, is_mul, is_div, copy_all_rtx, rewrite_address,
- last_to_set_cc, doesnt_st_condition_code, sets_condition_code,
- str_immediate_operand, is_fp_insn, is_fp_dest, is_fp_store,
- agi_dependent, reg_mentioned_in_mem): New functions.
-
- * i386.h (OPTIMIZATION_OPTIONS, ALIGN_DFmode, IS_STACK_MODE,
- IX86_EXPAND_BINARY_OPERATOR): New macros.
- (RTX_COSTS, REGISTER_MOVE_COST, ADJUST_BLOCKAGE) Changed for pentium.
-
-Fri Feb 9 14:47:27 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.c (sp64_medium_pic_operand): New function.
- (move_pic_label): Delete.
- (legitimize_pic_address): Simplify using some named patterns.
- (finalize_pic): Add preliminary sparc64 support.
- (emit_move_sequence): Reorganize.
- * sparc.md (pic_lo_sum_si,pic_sethi_si,get_pc_sp32,get_pc_sp64,
- move_pic_label_si,move_label_di,sethi_di_sp64): Make named patterns.
- (sethi_di_sp64_const,sethi_di_medium_pic): New anonymous patterns.
- (move_pic_label_si,move_label_di): Optimize for near labels.
- (tablejump): Use for TARGET_MEDANY.
- (casesi): Delete.
-
-Fri Feb 9 13:48:45 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (probe+2, probe+4): New conditional move patterns.
- (movsicc): Don't truncate comparison if it is DImode.
-
- * sh.h (CPP_SPEC): Add defines for -m1, -m2, and -m3.
-
-Fri Feb 9 09:11:28 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * toplev.c (rest_of_compilation): Set RTX_INTEGRATED_P in
- INLINE_HEADER iff function is inlineable.
- * calls.c (expand_call): Test RTX_INTEGRATED_P in DECL_SAVED_INSNS.
-
-Thu Feb 8 01:11:15 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.md (floatunssisf2 expander): Don't use "general_operand".
- (floatunssidf2 expander): Likewise.
-
-Wed Feb 7 16:59:31 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/{sysv4,win-nt,netware,cygwin32}.h ({ASM,LINK}_SPEC):
- Don't use %{V} for either linker or assembler.
-
-Tue Feb 6 17:22:29 1996 Per Bothner <bothner@cygnus.com>
-
- * dbxout.c (dbxout_range_type): Emit non-range INTEGER_TYPE
- as a sub-range of itself (so gdb can tell the difference).
-
-Tue Feb 6 17:01:44 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (addsi3 and adddi3 split): Use cleaner computation
- and portable HOST_WIDE_INT.
- (iordi3 split): Use HOST_WIDE_INT.
- (movdi): Add TARGET_64BIT support and generate 64 bit constants.
- (movdi matcher, TARGET_POWERPC64): Add immediate constraint handled
- by new define_split.
- (allocate_stack): Use TARGET_32BIT.
- (tablejump): Add TARGET_64BIT support using ...
- (tablejumpsi): Rename original tablejump pattern.
- (tablejumpdi): New pattern.
-
-Tue Feb 6 15:29:22 1996 Per Bothner <bothner@cygnus.com>
-
- * stor-layout.c (layout_type): Use same code to layout CHAR_TYPE
- as for INTEGER_TYPE (instead of hard-wiring in QImode).
-
-Tue Feb 6 15:13:38 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.md (various patterns): Avoid using "general operand" in
- define_insn patterns.
-
-Sun Feb 4 21:37:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/eabi{,sim}.h (LINK_START_SPEC): Bump the default start address
- for the simulator to 0x10000074 so that we don't waste a page in the
- linked file.
-
-Fri Feb 2 19:44:10 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/eabi-c{i,n}.asm (.sdata2, .sbss2): Put these in the
- read-only section, not read-write.
-
- * libgcc2.c (__unwind_function, rs6000/powerpc): Use _ARCH_PPC
- being defined to indicate to use PowerPC mnemonics.
-
- * config/rs6000/t-cygwin32 (MULTILIB*): Add software floating
- point support.
-
-Thu Feb 1 09:10:02 1996 Steve Chamberlain <sac@slash.cygnus.com>
-
- * {i386,rs6000}/cygwin32.{asm,h}: New templates.
- * {i386,rs6000}/{t,x}-cygwin32: Ditto.
- * {i386,rs6000}/xm-cygwin32.h: Ditto.
- * configure (powerpcle-*-cygwin32, i[3456]86-*-cygwin32): New.
-
-Fri Feb 2 17:42:40 1996 Paul Eggert <eggert@twinsun.com>
-
- * c-decl.c (finish_struct):
- Fix typo in transparent union warning that led to core dump.
-
- * c-parse.in (stmt): Warn about `goto *expr;' if pedantic.
- (label): Warn about `case expr ... expr:' if pedantic.
-
-Fri Feb 2 11:05:27 1996 Doug Evans <dje@cygnus.com>
-
- * h8300.h (TARGET_ALIGN_300): Renamed from TARGET_ALIGN_STRUCT_300.
- (TARGET_SWITCHES): Rename -malign-struct-300 to -malign-300.
- (BIGGEST_ALIGNMENT): Use TARGET_ALIGN_300.
-
-Fri Feb 2 08:25:49 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * flow.c (jmp_uses_reg_or_mem): Renamed from uses_reg_or_mem.
- Don't look into condition of an IF_THEN_ELSE; also make faster.
- (find_basic_blocks): Use new name.
-
-Fri Feb 2 06:49:56 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * reload.c (debug_reload): Fix typo for reload_noncombine.
-
-Thu Feb 1 21:49:02 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa-pro.h (TARGET_DEFAULT): Turn on TARGET_SOFT_FLOAT by
- default for all pro targets.
- * t-pro: Delete all multilib references.
-
-Thu Feb 1 17:50:02 1996 Doug Evans <dje@cygnus.com>
-
- * c-lex.c (check_newline): Return result of HANDLE_PRAGMA.
- * h8300.h (HANDLE_PRAGMA): Pass result back to caller.
- * i960/i960.h (HANDLE_PRAGMA): Likewise.
- * sh.h (HANDLE_PRAGMA): Likewise.
- * nextstep.h (HANDLE_PRAGMA): Likewise.
-
-Wed Jan 31 19:26:03 1996 Doug Evans <dje@cygnus.com>
-
- * m68k/m68k-none.h: Rewrite to use EXTRA_SPECS.
- * m68k/vxm68k.h (CPP_SPEC): Delete.
- (SUBTARGET_EXTRA_SPECS): Define.
-
-Wed Jan 31 15:10:59 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (output_epilog): Fix PPC64 typos and use TARGET_32BIT.
- (output_prolog): Same.
- (rs6000_trampoline_template, rs6000_trampoline_size): Use TARGET_32BIT.
- * rs6000.md (movdf TARGET_POWERPC64 matcher): Fix std typo.
- (movdi TARGET_POWERPC64 matcher): Same.
-
-Wed Jan 31 09:46:11 1996 Richard Earnshaw (rearnshaw@armltd.co.uk)
-
- * regs.h (regno_pointer_align, REGNO_POINTER_ALIGN): Delete from here.
- * rtl.h (regno_pointer_align, REGNO_POINTER_ALIGN): Put them here.
-
-Wed Jan 31 08:26:12 1996 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de)
-
- * m68k/linux.h (STRICT_ALIGNMENT): Define to zero.
- (LEGITIMATE_PIC_OPERAND_P): Match definition from m68kv4.h.
-
- * m68k.h (TRAMPOLINE_{TEMPLATE,SIZE}): Avoid need for helper function.
- (INITIALIZE_TRAMPOLINE): Likewise.
- (TRAMPOLINE_ALIGNMENT): Renamed from TRAMPOLINE_ALIGN.
- * m68k/next.h (INITIALIZE_TRAMPOLINE): Adjusted accordingly.
-
- * m68kv4.h (STATIC_CHAIN_REGNUM): Redefine to use register a1.
- (TRAMPOLINE_TEMPLATE): Likewise.
-
- * m68k/linux.h, m68kv4.h (LIBCALL_VALUE): Return XFmode value in fp0.
- * m68k.c (init_68881_table): Use SFmode for the first six
- constants and DFmode for the seventh.
-
- * m68k.md (movqi): Use moveq if possible.
-
-Wed Jan 31 08:18:15 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (expand_builtin, case BUILT_IN_NEXT_ARG): Strip off
- INDIRECT_REF when checking second arg.
-
- * calls.c (struct arg_data, expand_call): Test STRICT_ALIGN with #if.
-
-Wed Jan 31 07:47:56 1996 Tim Wright (timw@sequent.com)
-
- * configure (i[345]-sequent-sysv*): Change to sysv3*; add i686.
- (i[3456]86-sequent-ptx4*, i[3456]86-sequent-sysv4*): New cases.
- * fixinc.ptx (sys/mc_param.h): Remove embedded asm.
- * fixinc.svr4 (__STDC__): Add one more case.
- * i386/ptx4-i.h, ptx4.h: New files.
-
-Wed Jan 31 07:15:23 1996 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.h (MACHINE_STATE_{SAVE,RESTORE}): Allow MOTOROLA syntax.
-
- * m68k.md ({adddi,subdi}_sexthishl32): 'a' and 'd' versions merged
- and fixed; do not generate 'add/sub a,m'.
-
- * gcc.c (warn_std_ptr): Initialize with 0 instead of NULL_PTR.
-
-Tue Jan 30 13:29:05 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * dbxout.c: Don't include <string.h>.
- Don't compare strchr result to NULL.
-
- * config/svr4.h (ASM_FINAL_SPEC): Use %|, not ${pipe:-}.
-
-Tue Jan 30 06:48:43 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (nonzero_bits, case REG): Ignore REG_POINTER_ALIGNMENT.
- Restore old code for SP, but use it for all pointers to
- defined locations in the frame.
-
-Mon Jan 29 11:25:28 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * dbxout.c (dbxout_type_methods): Don't use #ifndef inside call to
- strchr.
-
-Sun Jan 28 14:44:09 1996 Doug Evans <dje@cygnus.com>
-
- * config/dbxcoff.h (*): #undef first.
-
-Sat Jan 27 21:46:16 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (rs6000_sync_trampoline): Add cmpdi to 64bit case.
- (rs6000_initialize_trampoline): CSE of Pmode to pmode.
- * rs6000.md (movdf): Handle move between FPR and 64 bit GPR.
- (movdi matcher): Handle SPR move to itself and add "mr." combiner.
-
-Sat Jan 27 10:06:31 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Redefine, put small
- data items in .sbss if -msdata.
- (SWITCH_TAKES_ARG): Add 'B', 'b', and 'V'.
-
-Sat Jan 27 07:59:25 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.h (enum built_in_function): Add BUILT_IN_{SET,LONG}JMP.
- * expr.c: Include hard-reg-set.h.
- (arg_pointer_save_area): New declaration.
- (expand_builtin, case BUILT_IN_{SET,LONG}JMP): New cases.
- * Makefile.in (expr.o): Includes hard-reg-set.h.
- * c-decl.c (init_decl_processing): Add definitions for
- __builtin_setjmp and __builtin_longjmp.
- * cccp.c (initialize_builtins): Add def of __HAVE_BUILTIN_SETJMP__.
-
- * expr.c (expand_expr, case COMPONENT_REF): Pass EXPAND_INITIALIZER
- to recursive call.
-
-Fri Jan 26 17:24:07 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.h (sparc_arch_type): Delete.
- ({,TARGET_}MASK_DEPRECATED_V8_INSNS): Define.
- (ARCH64_SWITCHES): Renamed from V9_SWITCHES.
- * sparc.c (sparc_arch_type): Delete.
- (sparc_init_modes): Likewise.
- (output_move_quad): Don't use ldq/stq unless TARGET_HARD_QUAD.
- * sparc/sp64-sol2.h (TARGET_DEFAULT): Add MASK_DEPRECATED_V8_INSNS.
- (SUBTARGET_SWITCHES): Add -m{no-,}deprecated-v8-insns.
- * sparc.md (arch attribute): Rewrite.
- (isa): New attribute.
- (32 bit multiply/divide patterns): Use if TARGET_DEPRECATED_V8_INSNS.
- (32 bit divide patterns): V9 doesn't require delay after y reg write.
-
-Fri Jan 26 12:08:43 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (TARGET_32BIT): Define.
- (BITS_PER_WORD, UNITS_PER_WORD): Invert so 32bit expected case.
- (LONG_TYPE_SIZE, POINTER_BOUNDARY, PARM_BOUNDARY): Likewise.
- (RS6000_REG_SAVE, RS6000_SAVE_AREA, RS6000_VARARGS_SIZE): Likewise.
- (RETURN_ADDRESS_OFFSET, CASE_VECTOR_MODE, MOVE_MAX): Likewise.
- (Pmode, FUNCTION_MODE): Likewise.
- (LEGITIMATE_OFFSET_ADDRESS_P): Handle TARGET_64BIT.
- (GO_IF_LEGITIMATE_ADDRESS, LEGITIMIZE_ADDRESS): Likewise.
- (GO_IF_MODE_DEPENDENT_ADDRESS): Same.
-
-Fri Jan 26 10:37:52 1996 Stan Coxs <coxs@dg-rtp.dg.com>
-
- * m88k.md (umulsidi3): Added for the 88110
-
-Fri Jan 26 09:35:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (STRIP_NAME_ENCODING): Deal with names that have
- both @ and * prefix characters.
- (ASM_OUTPUT_LABELREF): Ditto.
-
-Thu Jan 25 10:03:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h (LEGITIMIZE_ADDRESS): Rewrite to use HOST_WIDE_INT, not
- plain int.
- (optimize,flag_expensive_optimizations): Provide declaration for
- expander functions.
-
- * rs6000.md (movsi): Correct code in splitting an address into
- load from the TOC, and add low/high integer parts. If expensive
- optimizations, and reload hasn't started, use separate pseudo regs
- for each step.
-
- * rs6000.c (small_data_operand): Don't use the function
- eliminate_constant_term, unwind code directly.
- (input_operand): SYMBOL_REF/CONST of small data operand is valid.
- (print_{,address_}operand): Add @sda21(0) in appropriate cases for
- small data.
- %L, etc. so that if the item is in small memory, the appropriate
- relocation is used.
- (rs6000_select{,_rtx}_section): Don't put floating point constants
- or small strings in .sdata2 since we can't tell from the pointer
- whether it is in the small data area or not.
-
- * rs6000.h (EXTRA_CONSTRAINT): Add 'U' for small data references.
- (LEGITIMATE_SMALL_DATA_P): Test explicitly for SYMBOL_REF or CONST
- before calling small_data_operand.
-
- * rs6000.md (movsi): Handle the addresses of small data items.
-
- * rs6000/sysv4.h (g_switch_{value,set}): Add declarations.
- (SDATA_DEFAULT_SIZE): Default to 8.
- (SUBTARGET_OVERRIDE_OPTIONS): If -G was not set, set it to
- SDATA_DEFAULT_SIZE.
- (CC1_SPEC): Pass -G nn to the compilers.
- (SWITCH_TAKES_ARG): Add -G nn support.
- (LINK_SPEC): Pass -G nn to the linker.
-
-Thu Jan 25 09:16:34 1996 Doug Evans <dje@cygnus.com>
-
- * configure (sparc64-*-solaris2*): New target.
- * sparc.h (SPARC_{V9,ARCH64}): Default value is 0.
- (*): Replace SPARCV9 with SPARC_{V9,ARCH64}.
- (MASK_CPUS): Define.
- ({MASK,TARGET}_ENV32): Delete.
- ({MASK,TARGET}_ARCH64,TARGET_ARCH32): Define.
- (TARGET_SWITCHES): Reset cpu flags first for each variant.
- (CONDITIONAL_REGISTER_USAGE): If 32 bit v9 system, unfix g1-g4,
- fix g5, and make %f48-%f80 call used.
- * sparc/sp64-aout.h (SPARC_{V9,ARCH64}): Define.
- (TARGET_VERSION): Define.
- (TARGET_DEFAULT): Add MASK_ARCH64, delete MASK_ENV32.
- (JUMP_TABLES_IN_TEXT_SECTION): Define.
- (READONLY_DATA_SECTION): Make text_section.
- * sparc/sp64-elf.h (SPARC_{V9,ARCH64}): Define.
- (TARGET_DEFAULT): Add MASK_ARCH64.
- (ENDFILE_SPEC): No longer need to check for -nostartfiles.
- (ASM_IDENTIFY_GCC): Define as empty.
- * sparc/sp64-sol2.h: New file.
- * sparc.c (*): Replace TARGET_V9 with TARGET_ARCH64.
- (hard_32bit_mode_classes): Add v9 regs.
- (gen_v9_scc): Handle 32 bit v9 case. Call v9_regcmp_p.
- * sparc.md (*): Replace TARGET_V9 with TARGET_ARCH64 in places
- requiring 64 bit environment.
- (multf3_extend): Require TARGET_HARD_QUAD.
-
-Thu Jan 25 00:33:25 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * dbxcoff.h (DBX_USE_BINCL): Define.
- (DBX_CONTIN_LENGTH): Define if not defined.
-
-Wed Jan 24 18:00:12 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * alpha.c (alpha_write_verstamp): Only emit MS_STAMP and LS_STAMP,
- not the extra numbers.
-
-Wed Jan 24 15:18:15 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (init_cumulative_args): Rewrite to use DEFAULT_ABI
- runtime tests, instead of V.4 #ifdefs.
- (function_arg{,_advance,_partial_nregs,_pass_by_reference}): Ditto.
- (setup_incoming_varargs): Ditto.
- (init_cumulative_args): Set call_cookie field to CALL_NORMAL or
- CALL_NT_DLLIMPORT.
- (function_arg): Add support for DLL imports.
- (rs6000_valid_{decl,type}_attribute_p): New functions for NT
- attributes cdecl, stdcall, dllimport, and dllexport.
- (rs6000_comp_type_attributes): New attribute support.
- (rs6000_set_default_type_attributes): Ditto.
- (rs6000_dll_import_ref): Ditto.
-
- * rs6000.h (FP_ARG_{AIX,SYSV}_MAX_REG): Move here from sysv4.h.
- * sysv4.h (FP_ARG_{AIX,SYSV}_MAX_REG): Move to rs6000.h.
-
- * rs6000.h (rs6000_call_cookie): New enum to describe the integer
- that is the 2nd argument to call insns and 3rd argument to
- call_value insns. Add support for NT DLL imports.
- (rs6000_args): Add call_cookie field.
- (VALID_MACHINE_{DECL,TYPE}_ATTRIBUTE): Define to call C functions.
- ({COMP_TYPE,SET_DEFAULT_TYPE}_ATTRIBUTES): Ditto.
- (rs6000_valid_{decl,type}_attribute_p): Add declarations.
- (rs6000_comp_type_attributes): Ditto.
- (rs6000_set_default_type_attributes): Ditto.
- (rs6000_dll_import_ref): Ditto.
-
- * win-nt.h (ASM_DECLARE_FUNCTION_NAME): Add support for dllexport
- attribute.
-
- * rs6000.md (call insns): Add support for NT dllimport functions,
- and fix up NT indirect calls. Also correctly set the flag
- rs6000_save_toc_p on NT indirect calls.
-
- * aix41.h (LINK_SPEC): Use new extra specs to avoid separate
- versions for native and cross compilation.
- * rs6000.h (LINK_SPEC): Ditto.
- * sysv4.h (LINK_SPEC): Ditto.
-
- * rs6000.h (EXTRA_SPECS): Add link_syscalls, link_libg, link_path,
- link_specs, and also allow target to define more with the macro
- SUBTARGET_EXTRA_SPECS.
- (LINK_{LIBG,SYSCALLS}_SPEC): Define as fixed pathnames if native
- compilation, and currently nothing if cross compiling.
- (LINK_START_SPEC): If not defined, define as empty.
- * eabi{,sim}.h (LINK_START_SPEC): Add default -Ttext for
- simulator.
-
- * eabi{aix,le}.h (MULTILIB_DEFAULTS): Add -mno-sdata default.
- * sysv4{,le}.h (MULTILIB_DEFAULTS): Ditto.
-
- * rs6000.c (small_data_operand): New function to return true if
- the operand lives in small data under eabi.
- (rs6000_select{,_rtx}_section): New functions to determine whether
- to put global and static items in the V.4/eabi small data areas if
- -msdata.
-
- * rs6000.h (LEGITIMATE_SMALL_DATA_P): Call small_data_operand it
- if V.4.
- (GO_IF_LEGITIMATE_ADDRESS): If LEGITIMATE_SMALL_DATA_P, the item
- is a valid address.
- (ASM_OUTPUT_LABELREF): Use fputs, not fprintf.
- (small_data_operand): Declare function.
-
- * sysv4.h (TARGET_SWITCHES): New switch -msdata to use V.4 and
- eabi defined small data sections.
- (SUBTARGET_OVERRIDE_OPTIONS): Don't allow -msdata and
- -mrelocatable or -mcall-aix options.
- (EXTRA_SECTION{S,_FUNCTIONS}): Add .sdata, .sdata2, and .sbss
- sections.
- (SELECT{,_RTX}_SECTION): Call (rs6000_select{,_rtx}_section).
- (ASM_SPEC): The -msdata switch passes -memb to the assembler.
- (ENCODE_SECTION_INFO): Prepend a '@' to the name, if the item
- lives in a small data region.
- (STRIP_NAME_ENCODING): Strip '@' in addition to '*'.
- (ASM_OUTPUT_LABELREF): Strip a leading '@'.
-
- * t-{ppc,eabi}gas (MULTILIB*): Add support for libraries built
- with/without -msdata. Drop support for -mcall-aixdesc libraries.
-
-Wed Jan 24 15:18:15 1996 Kim Knuttila <krk@cygnus.com>
-
- * rs6000/win-nt.h (LIB_SPEC): Change options to GNU ld style.
- (From Jason Molenda)
-
-Wed Jan 24 14:32:48 1996 Jim Wilson <wilson@cygnus.com>
-
- * reload1.c (used_spill_regs): New variable.
- (reload): Set it.
- * reorg.c (find_dead_or_set_registers): New function.
- (mark_target_live_regs): Delete loop looking forward from target
- and instead call find_dead_or_set_registers.
- (fix_reg_dead_note): New function.
- (fill_slots_from_thread): Call it.
-
- * loop.c (scan_loop): Correct comment.
- (strength_reduce): Correct comments. Don't set maybe_multiple when
- pass branch to scan_start. Don't set not_every_iteration after
- passing a CODE_LABEL, or after passing a branch out of the loop.
- When outputting DEST_ADDR giv increments, put them next to the memory
- address on machines with auto-increment addresses.
- (record_biv): Set new field always_executed.
- (record_giv): Set new fields always_executed and auto_inc_opt.
- (maybe_eliminate_biv_1): Reject biv with auto_inc_opt optimization
- in some cases.
- * loop.h (struct induction): New fields always_executed and
- auto_inc_opt.
-
- * c-typeck.c (pointer_int_sum): Use TYPE_PRECISION (sizetype) not
- POINTER_SIZE to agree with expr.c.
-
-Tue Jan 23 15:17:30 1996 Doug Evans <dje@cygnus.com>
-
- * sparc/sol2.h (ASM_OUTPUT_ALIGNED_LOCAL): Delete, use svr4.h's.
-
-Tue Jan 23 03:28:01 1996 Paul Eggert <eggert@twinsun.com>
-
- * cexp.y: Use preprocessor arithmetic instead of C arithmetic
- to avoid warnings on some compilers.
- (HOST_WIDE_INT_MASK): Remove.
- (MAX_CHAR_TYPE_MASK, MAX_WCHAR_TYPE_MASK): New macros.
- (yylex): Use them.
-
-Mon Jan 22 18:39:21 1996 Per Bothner <bothner@cygnus.com>
-
- * cppexp.c (cpp_parse_expr): Set HAVE_VALUE flag for unary
- minus, even if skip_evaluation is true.
-
-Mon Jan 22 16:53:48 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (BIGGEST_ALIGNMENT): Increase to 64 always.
- (BIGGEST_FIELD_ALIGNMENT): Define.
- (GO_IF_LEGITIMATE_ADDRESS): Merge PRE_INC and PRE_DEC cases.
- (LEGITIMIZE_ADDRESS): Use Pmode not SImode.
- (CASE_VECTOR_MODE): Depend on TARGET_64BIT.
- (ASM_OUTPUT_COMMON): Delete.
- (ASM_OUTPUT_ALIGNED_COMMON): Define.
- * rs6000/sysv4.h (BIGGEST_FIELD_ALIGNMENT): Undefine.
- * rs6000.md (adddi3, subdi3, negsi2): New PowerPC64 patterns.
- (ashldi3, lshrdi3, ashrdi3, anddi3, iordi3, xordi3): Same.
- (moddi3, cmpdi, tablejump matchers): Same.
- (divdi3): Update PowerPC64 patterns.
- * rs6000.c (rs6000_initialize_trampoline, case ABI_AIX): Use Pmode
- not SImode.
-
-Sun Jan 21 23:33:24 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * dbxout.c: Include <string.h>
-
-Fri Jan 19 17:17:00 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * tree.h (CONSTRUCTOR_TARGET_CLEARED_P): Removed.
- * expr.c (is_zeros_p, mostly_zeros_p): Handle SET_TYPE CONSTRUCTORs.
- (store_constructor_field): New helper function.
- (store_constructor): Take 'cleared' parameter.
- (expand_expr): Fix store_constructor_call to pass 'cleared' of 0.
-
- * expr.c (store_constructor, SET_TYPE): Fix off-by-one-error.
- Also, devide start byte by BITS_PER_UNIT before passing to memset.
- (store_constructor): `continue' in wrong place.
-
- * expr.c (store_constructor): If storing into a range of array
- elements, and the range is small, or the target it not memory,
- unroll the loop (and use store_field, which handles REGs).
- (store_constructor): Handle RANGE_EXPR in array index.
-
-Fri Jan 19 16:52:25 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * svr4.h (SWITCH_TAKES_ARG): Add 'x'.
- * sparc/sol2.h (SWITCH_TAKES_ARG): Likewise.
-
-Fri Jan 19 15:18:38 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * dbxout.c (flag_minimal_debug): Initialize to 0 if both
- NO_DOLLAR_IN_LABEL and NO_DOT_IN_LABEL are defined.
- (dbxout_type_methods): If the mangled method name uses the special
- C++ marker character, pass show_arg_types as 1 when calling
- dbxout_type.
-
-Fri Jan 19 11:48:28 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/eabi-ci.asm (_SDA_BASE_): Move the default definition
- from the .got section to the .sdata section. Do not add 32768.
- (_SDA2_BASE_): Provide a default definition.
-
- * rs6000/eabi-cn.asm (.got.blrl): Don't define this section any
- more, linker now directly creates the blrl instruction at
- _GLOBAL_OFFSET_TABLE_-4.
-
-Fri Jan 19 05:12:31 1996 Richard Earnshaw <rearnsha@armltd.co.uk>
-
- * arm/lib1funcs.asm (__divsi3, __modsi3, __udivsi3, __umodsi3):
- Replace with smaller, faster versions.
-
-Thu Jan 18 17:41:46 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.c (ctype.h): Delete.
- (regno_reg_class, reg_class_from_letter): Add SH3e support.
- (prepare_scc_operands, broken_move, push, pop, push_regs): Likewise.
- (calc_live_regs, sh_expand_prologue, sh_expand_epilogue): Likewsie.
- (initial_elimination_offset, arith_reg_operand): Likewise.
- (sh_builtin_saveregs, fp_zero_operand, fp_one_operand): New functions.
- (sh_function_arg, sh_function_arg_partial_nregs): Delete.
- * sh.h (CPP_SPEC, CONDITIONAL_REGISTER_USAGE): Add SH3E support.
- (TARGET_SWITCHES, OVERRIDE_OPTIONS, FIRST_PSEUDO_REGISTER): Likewise.
- (FIXED_REGISTERS, CALL_USED_REGISTERS, HARD_REGNO_MODE_OK): Likweise.
- (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
- (REG_ALLOC_ORDER, CONST_DOUBLE_OK_FOR_LETTER_P, NPARM_REGS): Likewise.
- (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Likewise.
- (FUNCTION_ARG_REGNO_P, CUMULATIVE_ARGS, ROUND_REG): Likewise.
- (INIT_CUMULATIVE_ARGS, FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Likewise.
- (FUNCTION_ARG_PARTIAL_NREGS, LEGITIMATE_CONSTANT_P): Likewise.
- (MODE_DISP_OK_4, REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
- (DBX_REGISTER_NUMBER, enum processor_type): Likewise.
- (SH3E_BIT, TARGET_SH3E, FPUL_REG, FIRST_FP_REG, LAST_FP_REG): New.
- (FIRST_FP_PARM_REG, FIRST_FP_RET_REG, BASE_RETURN_VALUE_REG): New.
- (BASE_ARG_REG, enum sh_arg_class, struct sh_args): New.
- (GET_SH_ARG_CLASS, PASS_IN_REG_P, sh_builtin_saveregs): New.
- (EXPAND_BUILTIN_SAVEREGS, DOUBLE_TYPE_SIZE): New.
- (TARGET_SWITCHES): Delete broken -m3l option.
- * sh.md (cpu, movsi_i, movsf_i, blt, bge, sle, sge): Add SH3E support.
- (push_e, pop_e, movsi_ie, movsf_ie, addsf3, subsf3): New patterns.
- (mulsf3, macsf3, divsf3, floatsisf2, fix_truncsfsi2): New patterns.
- (cmpgtsf_t, cmpqesf_t, cmpsf, negsf2, sqrtsf2, abssf2): New patterns.
- (abssf2+9, abssf2+10): Add SH3e support to peepholes
- (abssf2+11, abssf2+12): New peepholes for SH3e.
- * t-sh (MULTILIB_OPTIONS): Add SH3E support.
- (MULTILIB_DIRNAMES): Define to empty.
-
-Thu Jan 18 11:29:11 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * cplus-dem.c (cplus_demangle_opname): Change type of opname
- parameter to const char *.
- (cplus_mangle_opname): Change return type and type of opname
- parameter to const char *. Don't cast return value.
- * demangle.h (cplus_demangle_opname): Update declaration.
- (cplus_mangle_opname): Likewise.
-
-Thu Jan 18 10:07:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * gcc.c (extra_specs): If EXTRA_SPECS is defined, define
- extra_specs array to hold the extra specs the machine description
- defines.
- (set_spec): If EXTRA_SPECS is defined, handle the extra
- specifications.
- (process_command, main, validate_all_switches): Likewise.
-
- * rs6000/{rs6000.h,powerpc.h,aix41.h} ({CPP,ASM}_SPEC): Use common
- specs with EXTRA_SPECS, only modifying things in the target that
- needs to be modified, rather than having tons of mostly duplicate
- definitions.
- * rs6000/{sysv4{,le}.h,}netware.h,lynx.h,} ({CPP,ASM}_SPEC): Ditto.
- * rs6000/eabi{le,aix}.h,aix3newas.h}} ({CPP,ASM}_SPEC): Ditto.
-
-Wed Jan 17 19:38:24 1996 Paul Eggert <eggert@twinsun.com>
-
- * cexp.y (HOST_WIDE_INT_MASK): Renamed from LONG_MASK;
- use HOST_WIDE_INT.
- (HOST_WIDE_INT, HOST_BITS_PER_WIDE_INT): Put back.
- (parse_c_expression, expression_value, parse_escape, left_shift,
- right_shift, struct constant, exp, parse_number, yylex):
- Replace `long' with `HOST_WIDE_INT'.
- * cccp.c (PTR_INT_TYPE): Remove obsolete define to `long'.
- (parse_escape, parse_c_expression, eval_if_expression, get_lintcmd,
- do_line, do_if, do_elif): Replace `long' with `HOST_WIDE_INT'.
- (trigraph_pcp): Don't assume a pointer difference fits in an int.
-
-Wed Jan 17 18:56:31 1996 Jim Wilson <wilson@cygnus.com>
-
- * expmed.c (extract_bit_field): For multi-word bitfield, clobber
- target before storing to it.
-
-Wed Jan 17 14:19:34 1996 J.T. Conklin <jtc@slave.cygnus.com>
-
- * sparc/{t-sol2,t-sunos40,t-sunos41}: Define away LIBGCC1_TEST
- so that cross compilers targeted at these systems will build.
-
-Wed Jan 17 09:51:58 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.h (v9 INIT_CUMULATIVE_ARGS): Fix typos.
-
- * gcc.c (process_command): New local lang_n_files, and use
- it in test of -c with -o. Move test of -save-temps.
- Test for trailing NUL in -c.
-
- * i386/t-go32: New file.
- * i386/xm-go32.h: New file.
- * configure (i[345]86-*-go32*): Define xm_file and tmake_file.
-
-Wed Jan 17 07:47:43 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cccp.c (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Put back.
- (pcfinclude): Use HOST_WIDE_INT for casting pointer to integer.
-
-Wed Jan 17 05:25:06 1996 Jeffrey A. Law <law@cygnus.com>
-
- * va-pa.h (__gnuc_va_list): Use a "void *".
-
-Tue Jan 16 18:45:23 1996 Per Bothner <bothner@cygnus.com>
-
- * cppexp.c (cpp_lex): Do cpp_pop_buffer after CPP_POP so retried
- cpp_skip_hspace will actually work.
-
- * cppexp.c (SKIP_OPERAND): New macro.
- (cpp_parse_expr): Suppress evaluation and diagnostics in
- unevaluated subexpressions.
- Corresponds to Eggert's Fri Jun 9 17:58:29 1995 change.
-
-Tue Jan 16 11:59:07 1996 Mike Stump <mrs@cygnus.com>
-
- * expr.c (expand_expr, case COND_EXPR): Make sure cleanups live on
- the function_obstack as they are used by the exception handling code.
- (defer_cleanups_to): Ditto.
- (TRUTH_ANDIF_EXPR): Ditto.
- (TRUTH_ORIF_EXPR): Ditto.
-
-Tue Jan 16 13:57:13 1996 Jim Wilson <wilson@cygnus.com>
-
- * cccp.c (new_include_prefix): Ignore ENOTDIR error from stat.
-
-Tue Jan 16 12:18:56 1996 Doug Evans <dje@cygnus.com>
-
- * i386/t-sol2 (crt[1in].o): Add missing -c.
- * sparc/t-sol2 (crt[1in].o,gcrt1.o): Likewise.
- Source files are assembler.
-
- * gcc.c (do_spec_1, case 'W'): Rename local `index' to `cur_index' to
- avoid warning on solaris.
-
-Tue Jan 16 11:42:09 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * dbxcoff.h: New file for stabs in COFF support.
- * a29k/a29k-udi.h: Use dbxcoff.h.
- * h8300.h, i960/i960-coff.h, m68k/coff.h, m88k/m88k-coff.h: Likewise.
- * sh.h, sparc/litecoff.h: Likewise.
-
-Tue Jan 16 08:21:45 1996 Hans-Peter Nilsson <Hans-Peter.Nilsson@axis.se>
-
- * optabs.c (expand_fix): Don't copy TARGET to TO if same.
-
- * expr.c (emit_move_insn_1): Don't emit clobber when moving
- by parts and source equals destination.
-
-Tue Jan 16 08:08:29 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expmed.c (extract_bit_field): Don't abort if not MEM_IN_STRUCT_P.
-
- * local-alloc.c (memref_referenced_p, case REG): Fix last change.
-
- * fold-const.c (const_binop): Strip NOPS from both args.
-
- * regclass.c (regclass): Remove useless cast.
-
-Tue Jan 16 07:06:03 1996 Paul Eggert <eggert@twinsun.com>
-
- * cexp.y: General code cleanup in the style of 1995-04-01 change.
- Add prototypes for static functions.
- Add parentheses suggested by `gcc -Wparentheses'.
- Use `long' uniformly, instead of long, int, HOST_WIDE_INT mess.
- (struct constant): Use `signedp' flag (with sign bit) instead of
- `unsignedp' flag; it's a little more convenient.
-
- (HAVE_STDLIB_H, STDC_HEADERS, LONG_MASK, __attribute__, PROTO,
- VA_START, PRINTF_ALIST, PRINTF_DCL, PRINTF_PROTO, PRINTF_PROTO_1,
- vfprintf, SIGNED, UNSIGNED): New symbols.
- <stdlib.h>: Include if HAVE_STDLIB_H.
- <string.h>: New include.
- (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Remove.
- (yylex, yyerror, expression_value, parse_number,
- initialize_random_junk): Now static.
-
- (overflow_sum_sign): Renamed from possible_sum_sign, with an
- extra arg SIGNEDP.
- (parse_number): Inline strcmp when checking for "0x".
- (yylex): Keep track of mask needed when decoding wide characters.
- (parse_escape): New arg RESULT_MASK; use it instead of
- assuming char width.
- (yylex, parse_escape, parse_c_expression): Store all host
- integers as long, not int or HOST_WIDE_INT.
- (left_shift): No need to do signed left shifts separately.
-
- These changes are for the test program (if TEST_EXP_READER):
- (pedantic, traditional): Allocate storage.
- (main): Set pedantic, traditional, yydebug depending on args.
- (is_hor_space, warning, lookup): Change types and implementation
- to match rest of program.
- (pedwarn, check_assertion, xmalloc): New functions.
-
- * cccp.c (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Remove.
- (parse_escape, parse_c_expression, eval_if_expression):
- Change return type to `long'; all callers changed.
- (pcfinclude): Use `int', not HOST_WIDE_INT; any integral type will do.
-
- * cccp.c (skip_quoted_string): If pedantic and not pedantic_errors,
- skipped multiline strings elicit a warning, not an error.
- (rescan): Minor code reorg to keep it parallel with skip_quoted_string.
-
- * fold-const.c (left_shift_overflows): Remove; unused.
-
- * c-typeck.c (convert_for_assignment): Don't automatically convert
- from a union member to the union.
-
-Tue Jan 16 06:26:00 1996 Stefan Vogel (stefan@ssw.de)
-
- * config/svr4.h (ASM_OUTPUT_SECTION_NAME): Define section attributes
- only when a section is defined the first time.
-
-Tue Jan 16 06:03:27 1996 Thomas Graichen <graichen@omega.physik.fu-berlin.de>
-
- * i386/freebsd.h (ASM_WEAKEN_LABEL): Deleted; not supported.
-
-Mon Jan 15 20:59:49 1996 J. Kean Johnston <hug@netcom.com>
-
- * Makefile.in (LIBGCC2_CLFAGS): Add -DIN_LIBGCC2.
- (libgcc1.a): Add -DIN_LIBGCC1.
- (stamp-crtS): Remove -fpic, use CRTSTUFF_CFLAGS_S.
- * config/t-libc-ok: Add CRTSTUFF_CFLAGS_S.
-
- * configure (i[3456]86-*-sco3.2v5*): New case.
- * i386/sco5.h, i386/t-sco5, i386/x-sco5, i386/xm-sco5.h: New files.
- * ginclude/stdarg.h, ginclude/varags.h: Add test for SCO Open Server 5.
-
-Mon Jan 15 20:44:13 1996 J.T. Conklin <jtc@netbsd.org>
-
- * m68k/netbsd.h (ASM_SPEC): New macro.
-
-Mon Jan 15 17:01:16 1996 Doug Evans <dje@cygnus.com>
-
- * c-lex.c (check_newline): Pass character after `#pragma' to
- HANDLE_PRAGMA. Don't call get_directive_line if at end of line.
- * c-common.c (get_directive_line): Watch for EOF.
- * h8300.h (HANDLE_PRAGMA): New argument `c'.
- Must issue `return' now.
- * i960.h (HANDLE_PRAGMA): Likewise.
- * sh.h (HANDLE_PRAGMA): Likewise.
- * nextstep.h (HANDLE_PRAGMA): Likewise.
- * h8300.c (handle_pragma): New argument `ch'.
- Simplify pragma processing. Delete support for `#pragma section'.
- * i960.c (process_pragma): New argument `c'. Change result to
- terminating character.
- * nextstep.c (handle_pragma): Likewise.
- * sh.c (handle_pragma): Likewise. Also simplified.
-
- * sched.c (reemit_notes): Add prototype.
- (sched_analyze_2): Reorganize comments. Call prev_nonnote_insn.
- (sched_analyze): Add abort call.
- (schedule_block): Call prev_nonnote_insn.
- Move call of reemit_notes to after SCHED_GROUP_P scheduling.
- Set `head' to `last'.
-
-Mon Jan 15 16:12:25 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * configure (*-*-gnu*): Use tmake_file=t-gnu.
- * config/t-gnu (CRTSTUFF_T_CFLAGS): New file.
- * configure (*-*-gnu*): Remove crtbeginS.o and crtendS.o frmo
- $extra_parts. Use xmake_file=x-linux.
-
-Mon Jan 15 15:30:49 1996 Gran Uddeborg <gvran@uddeborg.pp.se>
-
- * i386/svr3{,z}.ifile: Allocate address areas for the "stab"
- and "stabstr" sections.
-
-Mon Jan 15 14:39:14 1996 Paul Eggert <eggert@twinsun.com>
-
- * c-decl.c (finish_incomplete_decl): Warn if completing an
- array that wasn't declared extern. Simplify test for whether
- completion is needed.
-
- * cccp.c (do_xifdef): Warn about `#ifdef 0' if not traditional;
- formerly the warning was issued if not pedantic.
-
-Mon Jan 15 13:24:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md ({add,sub}di3): Make it work on little endian PowerPC
- systems.
-
- * rs6000/eabi-c{i,n}.asm (.sbss2 section): Don't make .sbss2 a
- .bss section just yet, because it confused the linker.
-
-Mon Jan 15 08:50:31 1996 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.md (pushdi): Allow "i" for operand 1.
- (extendqidi2): Improve 68000 code generation.
- (adddi_lshrdi_63): New pattern.
-
-Mon Jan 15 08:38:40 1996 H.J. Lu {hjl@gnu.ai.mit.edu)
-
- * configure (i[3456]86-*-linux*): Add extra_parts.
- * i386/linux.h (LIB_SPEC): Remove %{mieee-fp:-lieee}.
- Use -lc_p for -profile.
- (CC1_SPEC): New macro.
- * linux.h (STARTFILE_SPEC): Use crtbegin.o for both shared llibrary
- and normal executable; use gcrt1.o for -profile.
- (ENDFILE_SPEC): Use crtend.o for shared llibrary and normal executable.
- * x-linux (INSTALL_ASSERT_H): Unset it.
- * configure (i[3456]86-*-linux*oldld*): Set xmake_file to x-linux-aout.
- (i[3456]86-*-linux*aout*): Likewise.
- * x-linux-aout: New file, copied from config/x-linux.
-
-Mon Jan 15 07:41:05 1996 Dmitry K. Butskoy (buc@stu.spb.su)
-
- * varasm.c (in_data_section): New function.
-
-Mon Jan 15 07:37:13 1996 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de)
-
- * c-typeck.c (build_c_cast): Don't warn about alignment when we
- have an opaque type.
-
-Mon Jan 15 07:22:59 1996 Michel Delval (mfd@ccv.fr)
-
- * reload.c (find_equiv_reg): Apply single_set, not PATTERN, to WHERE.
-
-Mon Jan 15 07:02:21 1996 John F. Carr <jfc@mit.edu>
-
- * reorg.c (mark_referenced_resources, case TRAP_IF): Set volatil.
-
-Mon Jan 15 06:20:38 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * gcc.c (process_commands): Remove inadvertant fallthrough.
-
- * function.c ({,round_}trampoline_address): TRAMPOLINE_ALIGNMENT is
- in bits, not bytes.
-
- * objc/archive.c (objc_{write,read}_type, case _C_STRUCT_B): Fix typo.
-
- * expr.c (expand_expr, case COMPONENT_REF): Don't make recursive
- call on object with EXPAND_SUM.
-
- * stmt.c (save_expr_regs): Delete declaration; unused.
-
-Sun Jan 14 21:44:26 1996 Michael Meissner <meissner@wogglebug.tiac.net>
-
- * rs6000/eabi-ci.asm (__EXCEPT_START__): Provide label for start
- of g++ exception pointers.
-
- * rs6000/eabi-cn.asm (__EXCEPT_END__): Provide label for end of
- g++ exception pointers.
-
- * rs6000/eabi.asm (__eabi): Relocate exception pointers unless
- they are NULL.
-
- * va-ppc.h (va_arg): Long longs are always passed in odd registers.
-
- * rs6000.c (function_arg_boundary): On V.4, long longs are always
- passed in odd registers.
-
- * rs6000.md ({add,sub}di3): Remove restriction for POWER only,
- since all of the instructions used are common to both
- architectures.
-
-Sun Jan 14 20:34:03 1996 Jeffrey A. Law <law@cygnus.com>
-
- * expr.c (expand_assignment): Fix alignment parm in emit_block_move.
-
-Sun Jan 14 19:00:25 1996 Jim Wilson <wilson@cygnus.com>
-
- * sched.c (schedule_block): Copy RTX_INTEGRATE_P bit when create
- a new note.
-
- * integrate.c (save_for_inline_copying, case NOTE): Copy
- RTX_INTEGRATED_P bit.
-
-Sun Jan 14 17:57:52 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * stupid.c (stupid_find_reg): Don't try to allocate reg if live
- over more than 5,000 insns.
-
-Sat Jan 13 23:09:07 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.h (STACK_BOUNDARY): Bring back down to 64bits.
-
- * pa.md (pre_ldwm): Fix bug exposed by recent changes.
- Simplify.
- (pre_stwm, post_ldwm, post_stwm): Likewise.
- (HImode and QImode variants): Likewise.
- * pa.c (hppa_expand_prologue): Corresponding changes.
- (hppa_expand_epilogue): Likewise.
-
- * pa.c (hppa_legitimize_address): Generate more indexing
- address modes.
-
-Fri Jan 12 19:03:21 1996 Doug Evans <dje@cygnus.com>
-
- * sparc/sol2.h (COMMON_ASM_OP): Delete, use sysv4.h's.
-
- * sched.c (schedule_block): Maintain a valid chain so
- emit_note_before works.
-
-Fri Jan 12 13:20:01 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/eabi{,-ci,-cn}.asm: Add support for V.4 .sbss/.sdata, and
- eabi .sbss2/.sdata2 sections, loading up r13 and r2 respectively
- if the sections were used, and we don't need to relocate the
- pointers.
-
-Thu Jan 11 19:41:07 1996 Per Bothner <bothner@cygnus.edu>
-
- * sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use AGGREGATE_TYPE_P so
- QUAL_UNION_TYPE and SET_TYPE are also passed by invisible reference.
- * sparc.h (INIT_CUMULATIVE_ARGS for SPARCV9): Return types of
- QUAL_UNION_TYPE and SET_TYPE also make invisible 1st argument.
-
-Thu Jan 11 18:33:50 1996 Doug Evans <dje@cygnus.com>
-
- * h8300.h (TARGET_ALIGN_STRUCT_300): New macro.
- (TARGET_SWITCHES): Add -malign-struct-300.
- (BIGGEST_FIELD_ALIGNMENT): Update.
-
-Thu Jan 11 12:07:44 1996 J.T. Conklin <jtc@cygnus.com>
-
- * h8300.h (CPP_PREDEFINES): Delete -D_DOUBLE_IS_32BITS.
-
-Thu Jan 11 11:09:33 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (mulsf3 !POWERPC): Use dmul attribute.
- (divsf3 !POWERPC): Use ddiv attribute.
-
-Thu Jan 11 11:09:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/eabi-ctors.c (__do_global_ctors): If global variable
- __atexit is non-NULL, call it with __do_global_dtors address to
- register the function to run destructors.
- (__do_global_{c,d}tors): Guard against NULL pointers.
-
- * rs6000/eabi.asm (__eabi): If the __eabi function was already
- called, do nothing.
-
-Thu Jan 11 11:29:09 1996 Doug Evans <dje@cygnus.com>
-
- * fixincludes: Wrap rpc/types.h in extern "C", for osf2.0.
-
-Wed Jan 10 13:16:03 1996 Doug Evans <dje@cygnus.com>
-
- * varasm.c (variable_section): New function.
- (assemble_variable): Call it.
-
-Wed Jan 10 11:27:28 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/eabi-c{i,n}.asm (__DTOR_{LIST,END}__): Fix typo.
- * rs6000/eabi{,sim}.h ({START,END}FILE_SPEC): Add %s to object
- files.
-
- * rs6000/t-{eabi,eabigas,ppc,ppcgas} (MULTILIB_MATCHES): Drop
- support for obsolete -mcpu=mpc403.
- Add -mcpu=821 and -mcpu=860 to soft-float defaults.
-
- * rs6000/t-eabi{,gas} (LIBGCC): Add stmp-crt.
- (INSTALL_LIBGCC): Add install-crt.
- (EXTRA_PARTS): Delete.
- (stmp-crt{,-sub}): New rules to build crti.o and crtn.o in a
- multilib fashion.
- (install-crt): Install the multilib crt values.
-
-Tue Jan 9 17:30:16 1996 Doug Evans <dje@cygnus.com>
-
- * c-tree.h (merge_attributes): Moved from here.
- * tree.h (merge_attributes): To here.
- * c-typeck.c (merge_attributes): Moved from here.
- * tree.c (merge_attributes): To here.
-
-Mon Jan 8 18:27:38 1996 Arne H. Juul <arnej@pvv.unit.no>
-
- * mips/netbsd.h (LINK_SPEC): Change nostdlib to nostartfiles.
- (LOCAL_LABEL_PREFIX): Delete.
- (ASM_OUTPUT_SECTION_NAME): Define.
-
-Sun Jan 7 17:11:11 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * collect2.c (scan_libraries): Correct Import File ID interpretation.
-
-Sun Jan 7 16:56:56 1996 Michael Meissner <meissner@wombat.gnu.ai.mit.edu>
-
- * {svr4,mips/elf{,64}}.h (MAX_OFILE_ALIGNMENT): Define as 32768*8.
-
-Sat Jan 6 15:52:36 1996 Doug Evans <dje@cygnus.com>
-
- * a29k/vx29k.h (CPP_SPEC): Define.
-
- * configure: Recognize any --with/--without option.
-
- * Makefile.in (MAKEINFOFLAGS): New variable.
- (cpp.info,gcc.info): Use it.
-
- * sparc/t-sol2 (crt1.o,crti.o,crtn.o,gcrt1.o): Use $(GCC_FOR_TARGET).
- * i386/t-sol2 (crt1.o,crti.o,crtn.o): Likewise.
-
-Fri Jan 5 10:44:25 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/aix{3newas,41}.h ({ASM,CPP}_SPEC): Update for new
- processors.
- * rs6000/eabi{aix,le}.h ({ASM,CPP}_SPEC): Ditto.
- * rs6000/{lynx,netware,powerpc,sysv4}.h ({ASM,CPP}_SPEC): Ditto.
-
- * rs6000.c (rs6000_override_options): Remove requirement that
- -mcpu=common be big endian.
- (rs6000_stack_info): If NAME__main is defined, mark this function
- as doing a call, even if there are no arguments.
-
- * rs6000.md (SI*SI->DI splitters): Add reload_completed
- condition.
- (mulsidi3): If big endian, do move directly, rather than moving by
- pieces.
-
- * rs6000/eabi{,sim}.h (STARTFILE_SPEC): Add crti.o before any
- other objects.
- (ENDFILE_SPEC): Add crtn.o after any objects.
- * rs6000/t-eabi{,gas}: Build crt{i,n}.o from eabi-crt{i,n}.asm.
- * rs6000/eabi-crt{i,n}.asm: New files to provide begin/end labels
- for all special sections used by eabi as opposed to relying on GLD
- to set all of these symbols.
- * rs6000/eabi.asm (__eabi): Change to use the new labels provided
- above. Don't assume that the .got2, .ctors, .dtors, and .fixup
- sections are contiguous.
-
-Fri Jan 5 10:40:37 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (mulh_call): Remove r4 clobber.
- (quoss_call): Remove cr0 and cr1 clobbers.
-
- * rs6000.md (function units): Add MPC505/821/860 support.
- (SF multiply add combiner patterns): Use dmul attribute when limited
- to DFmode POWER instructions.
- * rs6000.c (processor_target_table): Add MPC505/821/860 support.
- Remove MASK_POWER and add MASK_PPC_GFXOPT for PPC602. Always use
- new mnemonics for common mode.
- (rs6000_override_options): Don't set SOFT_FLOAT based upon
- PROCESSOR_DEFAULT.
- * rs6000.h (processor_type): Add PROCESSOR_MPCCORE.
- (RTX_COSTS): Add PROCESSOR_MPCCORE cases.
- (CPP_SPEC): Add new processor support.
-
-Fri Jan 5 00:32:49 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.h (MACHINE_STATE_RESTORE): Add missing .align.
-
-Wed Jan 3 18:29:32 1996 Doug Evans <dje@cygnus.com>
-
- * arm/lib1funcs.asm (__USER_LABEL_PREFIX__): Define if not already.
- (CONCAT1,CONCAT2,SYM): Define.
- (__udivsi3,__divsi3,__umodsi3,__modsi3,__div0): Use SYM to define
- global labels.
-
-Wed Jan 3 02:41:39 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Call text_section.
-
-Tue Jan 2 16:12:13 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.c (gen_shifty_op): Output a NOP for a shift by 0.
- (find_barrier): New variables si_limit, hi_limit. Set them depending
- on whether we are optimizing. Set found_hi if the destination is
- HImode.
- (machine_dependent_reorg): If not optimizing, then change scan to a
- note instead of calling delete_insn.
- * sh.h (OVERRIDE_OPTIONS): Don't set optimize or flag_delayed_branch.
-
- * dbxout.c (gstab.h): Include if cross compiling.
-
-Mon Jan 1 21:13:43 1996 Arkady Tunik <Arkady_Tunik@comverse.com>
-
- * configure (i[3456]-*-solaris2*): Support stabs.
- * i386/sol2dbg.h: New file.
-
-Mon Jan 1 09:08:01 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-typeck.c: Use DECL_C_BIT_FIELD, not DECL_BIT_FIELD in all tests.
-
- * global.c (reg_allocno): No longer static.
- * reload1.c (reg_allocno): Declare.
- (order_regs_for_reload): New arg, GLOBAL.
- Bias against regs allocated in local-alloc.
- (reload): Pass new parm to order_regs_for_reload.
-
- * local-alloc.c (reg_equiv_replacement): New variable.
- (memref_referenced_p, case REG): Check for reg_equiv_replacement.
- (update_equiv_regs): reg_equiv_replacement now file-scope.
-
- * c-decl.c (finish_struct): Warn if field with enumeral type is
- narrower than values of that type.
-
- * combine.c (rtx_equal_for_field_assignment_p): New function.
- (make_field_assignment): Use it.
- Expand compound operations on both sides of an IOR.
- Properly adjust constand in IOR when computing bit position.
-
-Sun Dec 31 18:47:22 1995 Doug Evans <dje@cygnus.com>
-
- * m68k-none.h (MULTILIB_DEFAULTS): Define.
-
-Sun Dec 31 15:47:20 1995 Jeffrey A. Law <law@cygnus.com>
-
- * hard-reg-set.h (losing_caller_save_reg_set): Declare.
- * regclass.c (losing_caller_save_reg_set): Define.
- (init_reg_sets_1): Initialize losing_caller_save_reg_set.
- * global.c (find_reg): Avoid caller-saving registers in
- losing_caller_save_reg_set.
- * local-alloc.c (find_free_reg): Avoid caller-saving registers
- in losing_caller_save_reg_set.
- (CLASS_LIKELY_SPILLED_P): Delete definition. Moved into regs.h.
- * regs.h (CLASS_LIKELY_SPILLED_P): Define if not already defined.
-
- * reorg.c (fill_simple_delay_slots): Try to fill from the
- target of an unconditional branch if necessary.
-
- * pa.h (REG_ALLOC_ORDER): Allocate PA1.1 caller-saved FP regs
- before PA1.0 caller-saved FP regs.
-
- * sched.c (adjust_priority): Use ADJUST_PRIORITY if its defined.
-
- * pa.h (ADJUST_PRIORITY): Define to keep lifetimes of registers
- that will be allocated to %r1 shorter.
-
-Sun Dec 31 14:20:49 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * rtl.h (assign_temp): Add extra arg.
- * function.c (assign_temp): Add extra arg, DONT_PROMOTE.
- Don't return (const_int 0) for VOIDmode.
- * stmt.c (expand_asm_operands): Call assign_temp with extra arg.
- * expr.c (save_nocopied_parts, expand_expr): Likewise.
- (expand_expr, case SAVE_EXPR): Set TEMP to (const_int 0)
- if MODE is VOIDmode.
- (expand_expr): Don't use assign_temp for pseudos when might
- want to be TMODE.
-
- * stmt.c (tail_recursion_args): Compare TYPE_MAIN_VARIANTs.
-
- * calls.c (expand_call): Don't warn about not being able to
- inline if -O0.
- * expr.c (clear_pending_stack_adjust): Don't do optimization if -O0.
- * function.c (instantiate_decls): Check DECL_SAVED_INSNS to see
- if obstack change is needed.
- * toplev.c (rest_of_compilation): Leave DECL_INLINE set even if
- won't inline.
-
- * tree.h: Add documentation on uses of common area flags.
- (DECL_ERROR_ISSUED): New macro.
- (DECL_NO_STATIC_CHAIN): New macro; currently unused.
- * c-aux-info.c (gen_decl): DECL_REGISTER isn't defined
- for FUNCTION_DECL.
- * toplev.c (compile_file): Likewise.
- * stmt.c (fixup_gotos): Use DECL_ERROR_ISSUED instead
- of DECL_REGISTER.
- * varasm.c ({bc_,}make_decl_rtl): Don't look at DECL_REGISTER
- for functions.
-
-Sat Dec 30 07:57:11 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * sdbout.c (plain_type_1, case ARRAY_TYPE): Subtract lower bound
- when writing dimension.
-
-Fri Dec 29 18:23:58 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (eval_if_expression): End expression with '\n', not '\0'
- so '\0' can be diagnosed properly.
- * cexp.y (yylex, parse_c_expression, main): Likewise.
-
-Thu Dec 28 18:24:54 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * tree.h (TYPE_ARRAY_MAX_SIZE): New macro (used by Chill).
- * function.c (assign_temp): New function. Can handle Chill-style
- variable-sized array with static maximum size.
- * rtl.h (assign_temp): New declaration.
- * stmt.c (expand_asm_operands): Use new assign_temp function.
- * expr.c (save_noncopied_parts, expand_expr): Likewise.
-
-Thu Dec 28 15:28:47 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * function.c (assign_parms): Fix thinko for struct value arg.
-
-Fri Dec 29 12:41:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (movdf): Reinstate 12/24 change accidently dropped in
- undoing 12/27 changes.
-
-Thu Dec 28 22:24:53 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h: (reg_class): Undo 12/27 changes, except for formatting.
- (REG_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise.
- (REG_CLASS_FROM_LETTER): Likewie.
- (PREDICATE_CODES): Delete predicate functions.
- (gpc_reg{0,3,4,34}_operand): Delete declaration.
- (cc_reg{0,1}_operand): Likewise.
- * rs6000.c (gpc_reg{0,3,4}_operand): Delete.
- (cc_reg{0,1}_operand): Likewise.
-
- * rs6000.md (common mode functions): Undo 12/27 changes,and add
- appropriate clobbers for common mode calls. Keep define_splits for
- powerpc SI*SI->DI.
-
-Thu Dec 28 11:08:11 1995 Mike Stump <mrs@cygnus.com>
-
- * sparc.h (RETURN_ADDR_OFFSET): Rename from NORMAL_RETURN_ADDR_OFFSET;
- returns offset for the current function specifically.
-
-Thu Dec 28 07:07:14 1995 Paul Eggert <eggert@twinsun.com>
-
- * c-lex.c (yylex): Improve error message for bogus numbers.
- Consolidate duplicated code.
-
- * cexp.y (parse_number): Improve error message for bogus numbers.
- (yylex): Consider `0xe-1' to be a (bogus) number if not traditional.
-
- * cccp.c (do_include): In VMS, worry only about EACCES when open fails.
- (new_include_prefix): Don't try to stat dir prefixes in VMS.
-
-Wed Dec 27 14:02:54 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * fix-header.c: Add EXIT_FAILURE and EXIT_SUCCESS to stdlib.h if
- missing. Re-write how errno is added to be done similarly.
- (XOPEN_SYMBOL, XOPEN_EXTENDED_SYMBOL): New macros, to mark XPG4
- functions.
- (std_include_table): Add a number of functions (mostly XPG4).
-
-Tue Dec 26 23:18:34 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * sys-types.h: Add dummy definition for ssize_t.
- * sys-protos.h (bcmp, bcopy, gethostname, lockf, read, readlink,
- write): Fix prototypes to match Posix and XPG4.
- (socket, strcasecmp, strncasecmp): New prototypes (from XPG4).
-
-Wed Dec 27 15:30:04 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * libgcc2.c (_bb_init_prg): Cast arg to bzero to (char *).
-
- * regs.h (reg_rtx_no, regno_pointer_{flag_length,align): New decls.
- (REGNO_POINTER_ALIGN): New macro.
- * emit-rtl.c (regno_pointer_align): New variable.
- (gen_reg_rtx): Extend regno_pointer_align table.
- Allocate tables in saveable obstack.
- (mark_reg_pointer): New arg, ALIGN.
- (gen_inline_header): New args for reg info.
- (set_new_first_and_last_insn): Set cur_insn_uid.
- ({save,restore}_emit_status): Save and restore regno_pointer_align.
- (restore_reg_data{,_1}): Deleted.
- (init_emit): Allocate register tables in saveable obstack.
- Set REGNO_POINTER_ALIGN for regs pointing into frame.
- * function.c (assign_parms): Set REGNO_POINTER_ALIGN for
- parms that are pointers.
- * function.h (struct function): New field regno_pointer_align.
- * expr.c (expand_expr, case VAR_DECL): Set REGNO_POINTER_ALIGN
- when copying address into memory.
- (expand_expr, case COMPONENT_REF, case ADDR_EXPR): Set alignment
- of register when result or result's address.
- (expand_expr, case CONVERT_EXPR): Don't handle -fforce-mem here.
- * combine.c (set_nonzero_bits_and_sign_copies): Handle reg even
- if only set once and in one basic block.
- (nonzero_bits, case REG): Use REGNO_POINTER_ALIGN instead of
- explicit alignment of registers pointing into frame.
- * stmt.c (expand_decl): Set alignment of register for pointer
- variable.
- * optabs.c (emit_unop_insn): Don't do -fforce-mem for SIGN_EXTEND.
- * cse.c (find_best_addr): Make sure folded address better before using.
- * rtl.h (INLINE_REGNO_{RTX,POINTER_FLAG,POINTER_ALIGN}): New macros.
- (gen_inline_header): Add three new parms.
- * rtl.def (INLINE_HEADER): Add three new fields.
- * integrate.c: Include regs.h.
- (initialize_for_inline): Pass additional args to gen_inline_header.
- (save_for_inline_copying): Make new regno_reg_rtx, regno_pointer_flag,
- and regno_pointer_align arrays.
- (expand_inline_function): Set alignment of reg for parm if passed
- by hidden pointer.
- Set regno_pointer_{flag,align} into remap table.
- (copy_rtx_and_substitute): Set alignment of pointers into
- stack frame.
- Copy pointer flag and alignment to regs that are copies of
- pointer registers from the original regs.
- (output_inline_function): Don't call restore_reg_data.
- Restore reg_rtx_no, regno_{reg_rtx,pointer_flag,pointer_align}.
- * integrate.h (struct inline_remap): New fields regno_pointer_flag
- and regno_pointer_align.
- * unroll.c (unroll_loop): Set regno_pointer_{flag,align} in
- remap table.
- * explow.c (memory_address, allocate_dynamic_stack_space):
- Pass additional arg to mark_reg_pointer.
- * Makefile.in (integrate.o): Includes regs.h.
-
- * alpha.c ({non,}aligned_memory_operand): Test REGNO_POINTER_ALIGN.
- (reg_or_unaligned_mem_operand): New function.
- (get_unaligned_address): Add new arg, EXTRA_OFFSET.
- * alpha.h ({CONSTANT,DATA}_ALIGNMENT): Align to at least BITS_PER_WORD.
- (PREDICATE_CODES): Add reg_or_unaligned_mem_operand.
- * alpha.md (extend{qihi,qisi,hisi}2): Allow unaligned memory
- as arg 1 and pass to extend_{q,h}idi2.
- (unaligned_extend{q,h}idi): New patterns.
- (extend{q,h}idi2): If unaligned memory, call above new patterns.
- (ext{q,l,w}h recognizer): Update to proper RTL.
- (ext define_split): Comment out for now; wrong and maybe useless.
- (unaligned_{load,store}hi): Do similarly to QImode.
- (movhi, reload_{in,out}hi): Call unaligned case differently.
-
-Wed Dec 27 11:38:20 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (mulsidi3{,_common}): Undo previous change using
- register classes instead of fixed registers for SI*SI->DI common
- mode multiplies.
-
- * rs6000.c (gpc_reg34_operand): Delete unused function.
- * rs6000.h (gpc_reg34_operand): Likewise.
-
- * rs6000.c (gpc_reg{3,4}_operand): Reorganize code and don't allow
- SUBREG's.
-
- * rs6000.c (rs6000_override_options): Do not allow -mcpu=common on
- little endian PowerPC's.
- (gpc_reg{0,3,4,34}_operand): New functions to match a specific
- register.
- (cc_reg{0,1}_operand): Likewise.
-
- * rs6000.h (reg_class): Add register classes for register 3 by
- itself, register 4 by itself, registers 3&4, and CR1.
- (REG_NAMES): Add support for new register classes.
- (REG_CLASS_CONTENTS, REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
- (PREDICATE_CODES): Add new predicate functions.
- (gpc_reg{0,3,4,34}_operand): Add declaration.
- (cc_reg{0,1}_operand): Likewise.
-
- * rs6000.md (common mode multiplication/division): Move/rename common
- mode calls so they are closer to define_expands that call them.
- Set attribute type to be jmpreg, rather than integer, so optimizer
- knows branch processing unit is used; make SI*SI->DI multiplier use
- register classes instead of hardwired registers.
- Add appropriate clobbers of CR0/CR1 as mandated by PowerOpen spec.
- (PowerPC SI*SI->DI multipliers): Add appropriate define_splits.
-
- * rs6000/t-{,x}newas (MULTILIB*): Don't build power2 or 601
- specific libraries.
-
-Tue Dec 26 21:52:18 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (fold_convert): When converting a NaN to
- another type, change the type of the node before returning it.
-
-Mon Dec 25 17:12:10 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * c-typeck.c (mark_addressable): Fix error in last change.
-
-Sun Dec 24 22:19:49 1995 Jeffrey A. Law <law@cygnus.com>
-
- * pa.c (output_function_epilogue): Use assemble_integer rather
- than calling ASM_OUTPUT_INT directly.
- * pa.h (ASM_OUTPUT_INT): Use labels for everything in the
- exception table section.
-
- * pa.c (print_operand): Don't call fprintf to output a register
- name. Use fputs instead.
-
- * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Strip any name encoding
- on the section name.
-
-Sun Dec 24 17:46:03 1995 Markus Theissinger <Markus.Theissinger@gmd.de>
-
- * toplev.c (main): Add -ax option.
- * gcc.c (struct compilers): Likewise.
- * final.c (end_final): Extended header increased to 11 words.
- (profile_after_prologue): FUNCTION_BLOCK_PROFILER uses
- count_basic_blocks instead of profile_label_no.
-
- * libgcc2.c (struct bb): Add flags field.
- (HAVE_POPEN): Test new define.
- (struct __bb, struct bb_{edge,func}): New structs.
- (__bb_init_{prg,file},__bb_{init,exit}_trace_func,__bb_trace_ret,
- (__bb_trace_func{,_ret},gopen,gclose): New functions.
-
- * sparc.h, i386.h, m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
- Extension for -ax option (profile_block_flag == 2).
- (MACHINE_STATE_SAVE,MACHINE_STATE_RESTORE): New macros.
- (FUNCTION_BLOCK_PROFILER_EXIT): New macro.
- * sparc.c (output_function_epilogue), i386.c (function_epilogue):
- Use FUNCTION_BLOCK_PROFILER_EXIT.
- * m68k.c (output_function_epilogue): Likewise.
- * xm-sparc.h: Define HAVE_POPEN.
-
-Sun Dec 24 06:50:30 1995 Barrett Richardson (barrett@iglou.com)
-
- * floatlib.c (__divdf3): Rewrite to do software divide of two
- doubles instead of using __divsf3.
-
-Sun Dec 24 06:38:15 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * rs6000.md (movdf): Don't copy a word at a time; nearly always loses.
-
- * c-tree.h (DECL_C_BIT_FIELD): New macro.
- * c-decl.c (finish_struct): Set it when set DECL_BIT_FIELD.
- * c-typeck.c (mark_addressable, case COMPONENT_REF):
- Give error if taking address of a bit field.
-
- * gcc.c (unused_prefix_warning): Include machine_suffix if
- require_machine_suffix.
- (warn_B, warn_std, warn_std_ptr): New variables.
- (process_commands): Use them and NULL_PTR as WARN arg to add_prefix.
-
- * gcc.c (process_command): Give error for -c with -o and
- multiple compilations.
- (handle_braces): Rename variable "pipe" to "pipe_p".
-
- * expr.h (clrstr_optab): New declaration.
- (clear_storage): New parm, ALIGN.
- * tree.h (CONSTRUCTOR_TARGET_CLEARED_P): New macro.
- * genopinit.c (optabs): Add "clrstr%a%".
- * optabs.c (init_optabs): Initialize clrstr_optab.
- * expr.c (struct clear_by_pieces): New structure.
- (clear_by_pieces{,_1}, {is,mostly}_zeros_p): New functions.
- (clrstr_optab): New optab.
- (clear_storage): Rework to try to use clear_by_pieces, then
- new clrstr insn, then library call.
- (store_constructor): Track if target is already cleared.
- Clear target first if CONSTRUCTOR is mostly zeros.
- Don't write zeros if target has been cleared.
- Add new arg to clear_storage call.
- (expand_expr, case CONSTRUCTOR): Don't put static constructor
- in memory if mostly zero.
- * i386.md (clrstrsi): New pattern and associate anonymous pattern.
-
-Sat Dec 23 12:21:53 1995 Jeffrey A. Law <law@cygnus.com>
-
- * pa.c (output_move_double): Correctly identify and handle
- overlapping moves.
- * pa.md (movdi patterns): Eliminate earlyclobbers in mem<->gr cases.
- (movdf patterns): Likewise.
-
-Fri Dec 22 17:29:42 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (store_constructor): Don't call change_address on REG.
- (expand_expr, case CONSTRUCTOR): Likewise.
-
- * mips.c (expand_block_move): Preserve MEM flags in call to
- movstrsi_internal.
-
- * pa.c (emit_move_sequence): Don't try to set REGNO_POINTER_FLAG
- for a SUBREG.
-
- * reload.c (find_valid_class): New function.
- (push_reload): Use it in cases where a SUBREG and its contents
- both need to be reloaded.
-
- * toplev.c (rest_of_compilation): Never defer functions that
- contain nested functions.
-
-Fri Dec 22 15:55:00 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (function units): Add 403 support which deleted
- by accident on Nov 21st. Mark all compares from 602, 603, 604,
- 620, 403, like was done for rios{1,2} and 601 as needing the bpu,
- so that compares are hoisted far enough branches for zero cycle
- branch support.
-
-Fri Dec 22 15:13:47 1995 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.h (TARGET_UNROLL_STRLEN): New macro.
- * i386.c (output_strlen_unroll): New function.
- * i386.md (strlensi): New pattern.
-
-Thu Dec 21 18:53:31 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * /gnu.h (GNU_CPP_PREDEFINES): Add missing space after -Amachine(CPU).
-
-Thu Dec 21 12:23:42 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * configure ({powerpc,rs6000}*): Change --enable-cpu to --with-cpu.
- * rs6000.c (rs6000_select): Likewise.
-
- * rs6000/aix41.h (LINK_SPEC): Do not pass -bexport to the linker
- if -g and -shared.
-
-Wed Dec 20 11:23:39 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * configure ({powerpc,rs6000}-ibm-aix*): Merge these two into the
- same case statement. Aix 4 now generates -mcpu=common by default.
- ({powerpc,rs6000}*): Add support for --enable-cpu=<value> to
- select the default cpu to compile for.
-
- * rs6000/aix41.h (TARGET_DEFAULT): Make -mcpu=common default behavior.
- (PROCESSOR_DEFAULT): Likewise.
- (MULTILIB_DEFAULTS): Set mcpu=common.
-
- * rs6000.h (TARGET_CPU_DEFAULT): Define to be NULL if not defined.
- (PROCESSOR_COMMON): Set this to PROCESSOR_601.
- (PROCESSOR_POWERPC): Set this to PROCESSOR_604.
- (TARGET_OPTIONS): Add -mtune= switch.
- (rs6000_select): New structure to hold -mcpu=, -mtune= switches
- and the result of configuring --enable-cpu=.
- (OVERRIDE_OPTIONS): Pass TARGET_CPU_DEFAULT to
- rs6000_override_options.
-
- * rs6000.c (rs6000_cpu_string): Delete global variable.
- (rs6000_select): Define new global variable.
- (rs6000_override_options): Take default_cpu argument, and provide
- support for it and -mtune= in addition to -mcpu=.
-
- * rs6000/{aix{3newas,41},lynx,netware,powerpc}.h (ASM_SPEC): Add
- support for -mcpu=power2.
- * rs6000/{rs6000,sysv4}.h (ASM_SPEC): Likewise.
-
- * rs6000/{aix41,eabiaix,eabile,lynx,powerpc}.h (CPP_SPEC): Make
- sure all -mcpu=xxx targets are supports.
- * rs6000/{rs6000,sysv4,sysv4le}.h (CPP_SPEC): Likewise.
-
- * rs6000/t-x{newas,rs6000}: New files to be used when making a
- cross compiler, to prevent libgcc1-test from being made.
-
- * rs6000/t-{x,}newas (MULTILIB_*): Build multlilib libraries for
- power, power2, 601, powerpc, and common mode processors.
-
- * rs6000/aix41ppc.h: Delete, no longer used.
-
-Tue Dec 19 18:31:21 1995 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (mips_reg_names, mips_sw_reg_names, mips_regno_to_class):
- Add entry for new RAP reg.
- * mips.h (FIRST_PSEUDO_REGISTER): Increment.
- (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES,
- DEBUG_REGISTER_NAMES): Add entry for new RAP reg.
- (RAP_REG_NUM, RETURN_ADDRESS_POINTER_REGNUM): New macros.
- (RETURN_ADDR_RTX): Define.
- (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET):
- Add RETURN_ADDRESS_POINTER_REGNUM support.
- * emit-rtl.c (return_address_pointer_rtx): New global variable.
- (gen_rtx, init_emit_once): Add support for it.
-
-Tue Dec 19 15:08:31 1995 Jason Merrill <jason@yorick.cygnus.com>
-
- * collect2.c: Remove auto_export functionality.
-
-Tue Dec 19 10:57:23 1995 Kim Knuttila <krk@cygnus.com>
-
- * ppc-asm.h: Do not compile the register macros under winnt.
-
-Mon Dec 18 19:31:23 1995 Adam Fedor <fedor@wilma.Colorado.EDU>
-
- * objc/encoding.c (objc_alignof_type): Handle _C_PTR case.
-
-Mon Dec 18 18:40:34 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * combine.c (simplify_rtx, case SUBREG): For SUBREG of a constant,
- use <= instead of < when comparing mode sizes.
- (force_to_mode, case NOT): Use full mask inside the NOT operation.
-
- * expr.c (emit_block_move): When call emit_libary_call for bcopy,
- pass arguments using correct types and modes.
- (emit_push_insn, expand_assignment): Likewise.
- (clear_storage, store_expr): Likewise for memset and bzero.
- (store_constructor): Likewise for memset.
- * optabs.c (emit_cmp_insn): Likewise for memcmp and bcmp.
- * convex.c (expand_movstr_call): Likewise for memcpy.
- * m88k.c (expand_block_move): Likewise for memcpy and bcopy.
- * mips.c (block_move_call): Likewise for memcpy and bcopy.
- * mips.h (INITIALIZE_TRAMPOLINE): Likewise for cacheflush.
-
- * c-common.c (WCHAR_TYPE_SIZE): Add a default definition.
-
- * sdbout.c (sdbout_symbol, case FUNCTION_DECL): Use DECL_INITIAL
- instead of DECL_EXTERNAL to identify declarations.
-
- * svr4.h (ASM_IDENTIFY_GCC): Don't output stab here.
- (ASM_IDENTIFY_GCC_AFTER_SOURCE): Output stab here instead of above.
-
- * stmt.c (expand_asm_operands): Handle numeric constraints in
- with the default case.
-
-Mon Dec 18 16:49:43 1995 John F. Carr <jfc@mit.edu>
-
- * expr.h (expand_mult_highpart_adjust): Declare.
-
-Mon Dec 18 16:39:41 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (store_constructor): Fix error in last change: just
- copy MEM, but be sure to share address.
- (expand_expr, case CONSTRUCTOR): Likewise.
-
-Mon Dec 18 16:22:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h (ASM_GENERATE_INTERNAL_LABEL): Put leading '*' in label
- string so as to not confuse dbxout.c.
-
-Mon Dec 18 09:44:56 1995 Mike Stump <mrs@cygnus.com>
-
- * libgcc2.c (__empty): An empty function used by the C++ frontend for
- defaulting cleanup actions.
-
- * tree.c (save_tree_status, restore_tree_status): Save and restore
- temporary_firstobj.
-
-Mon Dec 18 07:49:34 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * function.c (fixup_var_refs_1): Fix error in last change (when
- mode of VAR is not the same as PROMOTED_MODE).
-
-Sun Dec 17 12:14:37 1995 Jeffrey A. Law <law@cygnus.com>
-
- * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Don't surround section names
- with '$'; that confuses collect2.
- (ASM_OUTPUT_SECTION_NAME): Likewise.
-
- * sched.c (canon_rtx): Recursively look for equivalences;
- look for expressions equivalent to MEMs.
- (true_dependence): Canonicalize inputs before operating
- on their values.
- (anti_dependence, output_dependence): Likewise.
-
- * jump.c (follow_jumps): Don't follow an unconditional jump
- that is not a simple_jump.
-
- * pa.c (override_options): Make 7100 scheduling the default.
-
- * pa.md: Add 2nd reload peephole somehow omitted from Nov27 changes.
-
- * regclass.c (regclass): Use SECONDARY_RELOAD_CLASS if it's
- defined to avoid useless work.
-
- * combine.c (find_split_point): Try to split SET_DEST
- just like we do for SET_SRC.
-
-Sun Dec 17 11:37:25 1995 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * expmed.c (expand_mult_highpart): When doing widening multiply,
- put constant in a register.
- (expand_mult_highpart): When mode is word_mode use gen_highpart
- instead of right shift by size.
-
- * expr.c (expand_expr, case MULT_EXPR): Generalize code for widening
- multiply to handle signed widening multiply when only unsigned optab
- is defined, and vice versa.
-
-Sun Dec 17 07:35:50 1995 Pat Rankin <rankin@eql.caltech.edu>
-
- * vax/vms.h (WCHAR_TYPE_SIZE): Define.
-
-Sun Dec 17 07:08:34 1995 Ronald F. Guilmette <rfg@monkeys.com>.
-
- * fp-test.c: New file.
-
-Sun Dec 17 07:06:03 1995 Peter Flass <flass@lbdc.senate.state.ny.us>
-
- * i370.md (cmpqi): Fix generation of literal operand of CLM instruction
- to avoid double literals (=X'=F'...).
-
-Sun Dec 17 06:57:02 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c: Try harder not to open or stat the same include file twice.
- Simplify include file names so that they are more likely to match.
- E.g. simplify "./a//b" to "a/b". Represent directories with simplified
- prefixes, e.g. replace "./a//b" with "a/b/", and "." with "".
- (absolute_filename): New function.
- (do_include): Use it.
- (read_name_map): Likewise; this makes things more consistent for DOS.
- (main, do_include, open_include_file): -M output now contains
- operands of -imacros and -include.
- (skip_to_end_of_comment): When copying a // comment, don't try to
- change it to a /* comment.
- (rescan, skip_if_group, skip_to_end_of_comment, macarg1): Tune.
- (rescan, skip_if_group, skip_to_end_of_comment, macarg1):
- If warn_comments is nonzero, warn if backslash-newline appears
- in a // comment. Simplify method for finding /* /* */ comment.
- (skip_if_group): Optionally warn if /* /* */ appears between # and
- a directive inside a skipped if group.
- (macarg): Optionally warn if /* /* */ appears in a macro argument.
- (strncat, VMS_strncat, vms_ino_t, ino_t): Remove.
- (INCLUDE_LEN_FUDGE): Add 2 if VMS, for trailing ".h".
- (INO_T_EQ, INO_T_HASH): New macros.
- (struct file_buf): New member `inc'.
- (expand_to_temp_buffer): Initialize it.
- (struct file_name_list): New member `inc'.
- (struct file_name_list): New member `st'.
- c_system_include_path is now 1 if not 0.
- fname is now an array, not a pointer.
- (struct include_file): New members `next_ino', `deps_output', `st'.
- Remove members `inode' and `dev'; they are now in `st'.
- (INCLUDE_HASHSIZE): Rename from INCLUDE_HASH_SIZE.
- (include_hashtab): Rename from include_hash_table.
- (include_ino_hashtab): New variable.
- (main): Store file status in struct stat, not in long and int pieces.
- Use base_name to strip prefixes from file names.
- When printing directory prefixes, omit trailing / and print "" as ".".
- Fatal error if the input file is a directory.
- (main, path_include): Regularize operands of -include, -imacros,
- -isystem, -iwithprefix, and -iwithprefixbefore.
- Regularize default include directories.
- (do_include):
- Allocate dsp with alloca, since fname is now dynamically allocated.
- Use -3 to represent a never-opened file descriptor.
- Make copy of file name, and simplify the copy.
- Use base_name to identify the end of fname's directory.
- Do not prepend dir for "..." if it matches the search list's first dir.
- open_include_file now subsumes redundant_include_p and lookup_import.
- Use bypass_slot to remember when to skip directories when including
- a file that has already been seen.
- Instead of using 0 to represent the working directory, and ""
- to represent a directory to be ignored, use "" for the former,
- and assume the latter has been removed before we get here.
- Assume the directory prefixes have already been simplified.
- Report as errors all open failures other than ENOENT.
- Fatal error if fstat fails.
- Use new deps_output member to avoid printing dependencies twice.
- (bypass_hashtab): New variable.
- (do_include, open_control_file, record_control_macro): New convention:
- control_macro is "" if the file was imported or had #pragma once.
- (pragma_once_marker): Remove.
- (redundant_include_p, include_hash, lookup_include, lookup_import,
- add_import, file_size_and_mode): Remove; subsumed by open_include_file.
- (skip_redundant_dir_prefix): Remove; subsumed by simplify_filename.
- (is_system_include, read_name_map, remap_include_file):
- Assume arg is a directory prefix.
- (base_name, simplify_filename, remap_include_file,
- lookup_ino_include, new_include_prefix): New functions.
- (open_include_file): New arguments `importing' and `pinc'.
- Move filename mapping into new remap_include_file function.
- First try to find file by name in include_hashtab;
- if that doesn't work, open and fstat it and try to find it
- by inode and dev in include_ino_hashtab.
- (finclude): Get file status from inc->st instead of invoking fstat.
- Store inc into fp->inc so that record_control_macro doesn't
- need to do a table lookup.
- (finclude, record_control_macro): Accept struct include_file *
- instead of char * to identify include file. All callers changed.
- (check_precompiled): Get file status from new argument `st'.
- (do_pragma): Output at most one warning about #pragma implementation.
- Always return 0 instead of returning garbage sometimes.
- (do_pragma, hack_vms_include_specification):
- Use base_name for consistency, and remove redundant code.
-
- From Per Bothner:
- Unify the 3 separate mechanisms for avoiding processing
- of redundant include files: #import, #pragma once, and
- redundant_include_p to use a single more efficient data structure.
- (struct file_name_list): Remove no-longer needed field control_macro.
- (dont_repeat_files, all_include_files): Remove, no longer used.
- (struct import_file): Renmed to struct include_file, moved earlier
- in file, renamed field name to fname, and added control_macro field.
- (pragma_once_marker): New constant.
- (import_hash_table): Renamed to include_hash_table.
- (import_hash): Renamed to include_hash.
- (IMPORT_HASH_SIZE): Renamed to INCLUDE_HASH_SIZE.
- (main, path_include): Don't clear removed control_macro field.
- (lookup_include): New function - look up fname in include_hash_table.
- (redundant_include_p): Re-write to use lookup_include.
- (lookup_import, record_control_macro): Likewise.
- (add_import): Defer fstat to caller. Combine two xmallocs into one.
- (do_once): Use pragma_once_marker in include_hash_table.
- (do_pragma): Re-implement to scan include_hash_table.
- (do_include): Use new lookup_include and add_import.
-
-Sun Dec 17 06:45:43 1995 John F. Carr <jfc@mit.edu>
-
- * configure (savesrcdir): Do not create paths with trailing "/.".
-
- * combine.c (try_combine): When checking for two sets of the same
- register in a split insn, also test for setting a ZERO_EXTRACT,
- STRICT_LOW_PART, or SUBREG.
-
-Sun Dec 17 06:37:00 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * reload.c (push_secondary_reload): Don't strip paradoxical SUBREG
- if reload_class is CLASS_CANNOT_CHANGE_SIZE.
-
-Sat Dec 16 18:24:20 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (expand_assignment): Fix alignment parm in emit_block_move.
-
-Sat Dec 16 18:16:08 1995 John Hassey (hassey@rtp.dg.com)
-
- * local-alloc.c (optimize_reg_copy_2): Don't attempt
- optimization if destination register dies.
-
-Sat Dec 16 08:31:16 1995 Paul Eggert <eggert@twinsun.com>
-
- * fold-const.c (fold): Don't record overflow when negating
- unsigned constants.
-
-Sat Dec 16 07:45:11 1995 Gran Uddeborg (uddeborg@carmen.se)
-
- * configure (i[3456]-*-isc, gas, stabs): Remove crt* from extra_files
-
-Sat Dec 16 07:03:33 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * stor-layout.c (layout_record): When PCC_BITFIELD_TYPE_MATTERS,
- compute bitpos using field_size % type_align instead of field_size.
-
- * fixincludes (stdio.h): Fix return type of fread and fwrite
- on sysV68.
-
-Sat Dec 16 06:57:14 1995 Thomas Lundqvist (d0thomas@dtek.chalmers.se)
-
- * function.c (fixup_var_refs_1): Fix two incorrect calls to single_set.
-
-Fri Dec 15 22:30:27 1995 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * i386.h (REGISTER_MOVE_COST): Simplify.
-
-Fri Dec 15 22:30:27 1995 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.h (TARGET_CPU_DEFAULT*, PROCESSOR_*,
- TARGET_{LEAVE,386_ALIGNMENT,PUSH_MEMORY,ZERO_EXTEND_WITH_AND,
- DOUBLE_WITH_ADD,BIT_TEST}): New macros.
- * i386.c (ix86_cpu*, ix86_isa*): New global variables.
- (override_options): Add -mcpu and -misa support
- * i386.md: Use TARGET* macros.
- * i386/dgux.{c,h}: New files.
- * m88k/t-dgux: (GCC_FOR_TARGET, T_CFLAGS): New macros.
- * m88k/t-dguxbcs: New file.
- * m88k/x-{dgux,dguxbcs}: (GCC_FOR_TARGET, X_CFLAGS): Removed.
-
-Fri Dec 15 18:41:50 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * fixincludes (sys/wait.h): Add forward declaration of struct rusage
- on AIX 3.2.5.
-
-Fri Dec 15 18:39:36 1995 Marco S Hyman (marc@dumbcat.sf.ca.us)
-
- * xm-bsd386.h (DONT_DECLARE_SYS_SIGLIST): Defined.
-
-Fri Dec 15 18:36:42 1995 Gran Uddeborg (uddeborg@carmen.se)
-
- * i386/svr3dbx.h (DO_GLOBAL_DTORS_BODY): Delete; obsolete.
-
-Fri Dec 15 18:21:34 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i386/i386iscgas.h, i386/t-iscscodbx: Deleted; long dead.
-
-Fri Dec 15 10:01:27 1995 Stan Cox <coxs@dg-rtp.dg.com>
-
- * configure (target_cpu_default) Set for 486/586/686
- (m88k-dg-dgux) Use t-dguxbcs instead of x-dguxbcs
- (i*86*) Change [345] to [3456]
- (i[3456]86-dg-dgux) Added
- * Makefile.in (out_object_file) Add MAYBE_TARGET_DEFAULT
-
-Fri Dec 15 08:05:49 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * function.c (init_temp_slots): New function.
- (init_function_start): Code moved to new function and called here.
- * toplev.c (rest_of_compilation): Call init_temp_slots.
-
- * expmed.c (store_bit_field): Don't use insv for BLKmode value.
- (store_split_bit_field): Set total_bits to BITS_PER_FOR for
- BLKmode value.
-
-Fri Dec 15 06:35:36 1995 David Edelsohn <edelsohn@mhpcc.edu>
-
- * xcoffout.h (DBX_STATIC_BLOCK_END): Use macro arguments.
- (xcoff_begin_function_line, xcoff_current_function_file): Remove
- unused extern declarations.
- (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Use macro argument.
- * xcoffout.c (xcoff_begin_function_line): Make static.
- (xcoff_inlining): Likewise.
- (xcoff_current_function_file): Likewise.
- (xcoff_output_standard_types): Remove TARGET_64BIT dependencies from
- int and unsigned int.
-
-Mon Oct 16 12:25:52 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * fix-header.c: Support different kinds of functions (ANSI and
- Posix1). Enable ANSI proptotypes if __STRICT_ANSI__.
- (namelist_end): Removed.
- (std_include_table): Divide up functions into kinds.
- (add_symbols): New function.
- (read_scanfile, write_rbrac, main): Use new data structures.
-
-Thu Dec 14 19:17:12 1995 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * rs6000.md (umulsidi3): New pattern.
-
-Thu Dec 14 18:08:59 1995 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * expmed.c (expand_divmod, case TRUNC_DIV_EXPR): Only reject
- larger-than-HOST_BITS_PER_WIDE_INT modes for general constants,
- not for powers-of-2.
-
- * i960.md (andsi3): Match op2 with logic_operand, change constraints
- accordingly. Output andnot for negative op2.
- (iorsi3, xorsi3): Analogous changes.
- * i960.c (logic_operand): New function.
- (i960_print_operand): Handle code `C'.
- * i960.h (PREDICATE_CODES): Add logic_operand.
- (CONST_OK_FOR_LETTER_P): Handle `M'.
- * i960.md: Move all plain logical patterns together.
- * i960.h (SHIFT_COUNT_TRUNCATED): Define as 0 as appropriate.
-
- * clipper.md (untyped_call): New pattern.
-
- * m68k.md (ashrsi_31): New pattern.
-
-Thu Dec 14 17:22:14 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm.c (output_move_double): Extract DFmode constants using
- REAL_VALUE_TO_TARGET_DOUBLE.
-
-Thu Dec 14 15:05:13 1995 Doug Evans <dje@cygnus.com>
-
- * Makefile.in (distclean): Delete float.h.
- * configure: Set CROSS_FLOAT_H from float_format.
- * config/float-i64.h: New file.
- * config/float-i32.h: New file.
- * config/float-vax.h: New file.
- * arm/cross-float.h: Delete.
- * arm/t-semi (CROSS_FLOAT_H): Delete.
-
-Wed Dec 13 19:16:57 1995 Mike Stump <mrs@cygnus.com>
-
- * expr.c (expand_expr, case ADDR_EXPR): Ensure op0 isn't QUEUED.
-
-Wed Dec 13 19:12:21 1995 Paul Eggert <eggert@twinsun.com>
-
- * gcc.c (my_strerror): Return "cannot access" if errno is 0.
- (perror_with_name, pfatal_with_name, perror_exec): Don't assume that
- the returned value from my_strerror contains no '%'s.
- (sys_nerr): Declare only if HAVE_STRERROR is not defined.
-
-Wed Dec 13 19:05:47 1995 Alan Modra (alan@spri.levels.unisa.edu.au)
-
- * Makefile.in (c-parse.y, objc-parse.y): Add warning that file is
- automatically generated.
-
-Wed Dec 13 15:40:30 1995 Mike Stump <mrs@cygnus.com>
-
- * function.c (identify_blocks): Start with chain of BLOCKs to match
- rest of backend (dbxout.c), instead of just one BLOCK.
- (reorder_blocks, all_blocks): Likewise.
-
- * stmt.c (find_loop_tree_blocks): Pass the toplevel list of
- blocks, not just the first subblock.
-
-Wed Dec 13 16:11:18 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expmed.c (expand_divmod): Don't use TARGET if it's the wrong mode.
-
-Wed Dec 13 15:02:39 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * dbxout.c (struct typeinfo): Define.
- (typevec): Change to be struct typeinfo *. Change other uses as
- appropriate.
- (struct dbx_file): Define if DBX_USE_BINCL.
- (current_file): New static variable if DBX_USE_BINCL.
- (next_file_number): Likewise.
- (dbxout_init): If DBX_USE_BINCL, initialize new variables.
- (dbxout_start_new_source_file): New function.
- (dbxout_resume_previous_source_file): New function.
- (dbxout_type_index): New function.
- (dbxout_range_type): Use dbxout_type_index.
- (dbxout_type): Likewise. If DBX_USE_BINCL, initialize new typevec
- fields.
- * c-lex.c (check_newline): If DBX_DEBUGGING_INFO and write_symbols
- == DBX_DEBUG, call dbxout_start_new_source_file and
- dbxout_resume_previous_source_file when appropriate.
- * sparc/sunos4.h (DBX_USE_BINCL): Define.
- * svr4.h (DBX_USE_BINCL): Define.
-
-Wed Dec 13 06:52:40 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/win-nt.h (ASM_OUTPUT_EXTERNAL): Do not emit .extern for
- builtin functions.
-
-Tue Dec 12 15:37:48 1995 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c: Replace many uses of fprintf with putc and fputs.
- (output_function_profiler): Use more efficient mnemonics, target
- dependent mnemonics, asm_fprintf, and reg_names array.
-
- * rs6000.h: Replace many uses of fprintf with putc and fputs.
-
- * rs6000.h (INT_TYPE_SIZE): Remove TARGET_64BIT dependency.
- (MAX_INT_TYPE_SIZE): Delete.
-
-Tue Dec 12 13:58:57 1995 Doug Evans <dje@cygnus.com>
-
- * t-h8300 (MULTILIB_{OPTIONS,DIRNAMES}): Add -mint32 support.
-
-Sun Dec 10 18:51:21 1995 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * rs6000.md (matcher for neg:SI (geu:SI ..)): Get ppc syntax right.
-
-Sun Dec 10 08:47:16 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (simplify_if_then_else): Convert "a == b ? b : a" to "a".
-
- * expr.c (expand_expr, case CONSTRUCTOR): If TREE_READONLY,
- set RTX_UNCHANGING_P in TARGET.
- (expand_expr, case COMPONENT_REF): If result is BLKmode,
- use that to access object too.
-
-Sun Dec 10 01:06:57 1995 Jeffrey A. Law <law@cygnus.com>
-
- * pa.md (millicode delay slot description): Remove reference
- to defunct TARGET_MILLICODE_LONG_CALLS.
-
-Sat Dec 9 18:05:03 1995 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (expand_expr, case INDIRECT_REF): Correct typo in May 8
- change.
-
- * sh.h (ADDRESS_COST): Define.
- * sh.md (subsi3): Rename to subsi3_internal. Add new define_expand
- to handle subtracting a register from a constant.
-
-Fri Dec 8 19:17:30 1995 Mike Meissner <meissner@beauty.cygnus.com>
-
- * rs6000.c (input_operand): Allow any integer constant, not
- just integers that fit in 1 instruction.
-
-Fri Dec 8 10:45:07 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm/lib1funcs.asm (RET, RETCOND): Define according to whether we
- are compiling for 32 or 26 bit mode.
- (all return instructions): Use RET or RETCOND as appropriate.
-
-Wed Dec 6 06:58:23 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm.c (arm_gen_constant): New function.
- (arm_split_constant): Split most of the functionality into
- arm_gen_constant. Try to decide which way of handling the constant
- is optimal for the target processor.
-
- * arm.c (arm_prgmode): New enum.
- (target_{cpu,fpe}_name, arm_fast_multiply, arm_arch4): New variables.
- (all_procs): New table describing processors and capabilities.
- (arm_override_options): New function.
- (arm_return_in_memory): New function.
- (arm_rtx_costs): Adjust the multiply costs to cope with processors
- with fast multiplication instructions.
- (output_move_double): Use the ldm/stm variants more efficiently.
- Delete cases that can no-longer occur.
- (output_return_instruction, output_func_epilogue): Use TARGET_APCS_32,
- not TARGET_6 for determining the type of return instruction to emit.
- (final_prescan_insn case CALL_INSN): Use TARGET_APCS_32, not TARGET_6
- to determine condition preservation.
- * arm.h (CPP_SPEC): Add defines for the cpu type, hard or soft floating
- point, and the APCS PC size.
- (TARGET_*): Restructure.
- (ARM_FLAG_*): Many new definitions for different target options, not
- all of which are supported yet.
- (TARGET_SWITCHES): Use the ARM_FLAG_* definitions instead of explicit
- numbers.
- (prog_mode_type): New enum.
- (floating_point_type): Split emulated floating point into FP_SOFT[23].
- (OVERRIDE_OPTIONS): Call arm_override_options.
- (ARM_CPU_NAME): Default to NULL if not defined by a subtarget.
- (BYTES_BIG_ENDIAN): Can now be set as a compilation option.
- (RETURN_IN_MEMORY, DEFAULT_PCC_STRUCT_RETURN): New definitions.
- (GO_IF_LEGITIMATE_OFFSET): Use different HImode offsets if compiling
- for an architecture 4 target. The offsets for floating point
- constants are the same as for integers if compiling TARGET_SOFT_FLOAT.
- (GO_IF_LEGITIMATE_ADDRESS): Don't allow PRE_INC and POST_DEC if
- the size is more than 4 bytes. Restrict the range offsets for DImode;
- likewise for DFmode when TARGET_SOFT_FLOAT.
- (LEGITIMIZE_ADDRESS): Use symbol_mentioned_p, not LEGITIMATE_CONSTANT_P
- to determine if a constant address might be better in a register.
- Handle DFmode addresses in the same way as DImode if TARGET_SOFT_FLOAT.
- (LOAD_EXTEND_OP): If arm_arch4, then HImode also zero-extends.
- * arm.md (attributes): Rearrange order, so that condition clobbering
- can be automatically determined for call insns.
- (attribute cpu): Add new cpu ARM7.
- (attribute type): Add new type MULT.
- (attribute prog_mode): New attribute.
- (attribute conds): Clobbering of call insns can now be determined
- using prog_mode attribute.
- (function units "write_buf", "write_blockage"): Model the write buffer
- as two function units, so that conflicts are avoided more often.
- (funcion unit "core"): New function unit, so that elapsed cycles can
- be more accurately determined.
- (all anonymous patterns): Add names.
- (mulsidi3, umulsidi3): New patterns available with fast multiply
- variants.
- (all call insns): The conds attribute is now determined automatically.
- (zero_extendhisi): Expand for architecture 4 variants if appropriate.
- (*zero_extendhisi_insn): New pattern.
- (extendqi{hi,si}, extendhisi): Expand for architecture 4 variants if
- appropriate.
- (*extendhisi_insn, *extendqihi, *extendqisi): New patterns.
- (storehi_single_op): New expand.
- (movhi): Handle architecture 4 expansion.
- (*movhi_insn_arch4): New pattern.
- (*movhi_*): Adjust applicability conditions to handle architecture 4.
- (reload_outdf): Handle pre/post inc/dec reloads.
- (tablejump): Delete.
- (matcher for optimized tablejump): delete.
- (casesi): New expand.
- (casesi_internal): New pattern.
- * semi.h (EXIT_BODY): Delete.
- (TARGET_DEFAULT): Set to ARM_FLAG_APCS_32.
- (CPP_SPEC): Define.
- arm/cross-float.h: New file, used when building a cross-compiler.
- * t-semi: Don't define inhibit_libc when building libgcc2.a.
- (CROSS_FLOAT_H): Define.
-
- * arm.c ({symbol,label}_mentioned_p): New functions.
- (add_constant, dump_table, fixit, find_barrier, broken_move): New
- support functions for handling constant spilling.
- (arm_reorg): New constant spilling pass, for putting unhandlable
- constants into the rtl where we can load them efficiently.
- (output_load_symbol): Delete.
- * arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): No need to handle floating
- point constants any more, since arm_reorg will deal with them.
- (LEGITIMATE_CONSTANT_P): Is now anything that doesn't contain a
- LABEL.
- (GO_IF_LEGITIMATE_ADDRESS): Recognize address expressions generated
- by arm_reorg, but only after reload has completed.
- (MACHINE_DEPENDENT_REORG): Define.
- (ASM_OUTPUT_SPECIAL_POOL_ENTRY): There should be nothing left in
- the pool, even if it might look like it.
- * arm.md (*movsi_insn): Much simpified now that constants are handled
- properly.
- (movaddr): New expand.
- (movsf, movdf): No need to force constants into the pool any more.
- (*movdf_hard_insn): Much simplified.
- (consttable_4, consttable_8, consttable_end, align_4): New patterns
- for supporting embedded constants.
-
- * configure: New target arm-semi-aof.
- * arm.c (strings_fpa): Use a form which is common to both GAS and
- ARMASM.
- (output_return_instruction, output_func_epilogue): Call
- assemble_external_libcall, before trying to generate an abort call
- in the assembler.
- (arm_asm_output_label): Call ARM_OUTPUT_LABEL, rather than assuming
- that labels are followed by a colon.
- (aof_text_section, aof_add_import, aof_delete_import,
- aof_dump_imports): New functions to support ARMASM assembler
- generation.
- * arm/aout.h: New file.
- * arm/aof.h: New file.
- * arm.h (most assembler-specific defines): Move to arm/aout.h.
- (CONSTANT_ADDRESS_P): Can't directly access constant strings when
- generating assembler for ARMASM.
- (ENCODE_SECTION_INFO): Don't define if generating ARMASM assembler.
- (ASM_OUTPUT_INTERNAL_LABEL): Generalize, so that it can be used
- with all targeted assemblers.
- (ASM_OUTPUT_LABEL): Call arm_asm_output_label.
- * riscix.h: Include arm/aout.h, not arm/arm.h.
- * riscix1-1.h: Likewise.
- * semi.h: Likewise.
- * arm/semiaof.h: New file.
- * arm/t-semiaof: New file.
-
-Mon Dec 4 22:17:37 1995 Jason Merrill <jason@yorick.cygnus.com>
-
- * gcc.c (LIBGCC_SPEC): Do link with libgcc when -shared.
- * alpha.h (LIBGCC_SPEC): Remove.
- * linux.h (LIBGCC_SPEC): Remove.
- * svr4.h (LIBGCC_SPEC): Remove.
- * i386/t-crtpic (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
- * t-pa (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
- * sparc/t-sunos41 (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
- * sparc/t-sol2 (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
- * configure (i386-linux): Use i386/t-crtpic.
-
- * i386/xm-sco.h: #define NO_SYS_SIGLIST.
-
-Mon Dec 4 21:30:37 1995 Jim Wilson <wilson@mole.gnu.ai.mit.edu>
-
- * sh.c (shiftcosts): For SH3, max cost of arithmetic right shift is 3.
- (expand_ashiftrt): For SH3, if shift cost is more than 3, then
- call gen_ashrsi3_d to use shad instruction.
-
-Mon Dec 4 18:29:08 1995 Jason Merrill <jason@yorick.cygnus.com>
-
- * c-decl.c (finish_struct): Don't mess with the type of bitfields.
-
-Mon Dec 4 15:28:02 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (store_constructor, record): If field is READONLY,
- set RTX_UNCHANGING_P in TO_RTX.
-
-Mon Dec 4 12:59:33 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * sparc/t-sol2 (CRTSTUFF_T_CFLAGS): Use -fPIC unconditionally.
-
-Sun Dec 3 20:55:43 1995 Jeffrey A. Law <law@cygnus.com>
-
- * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Handle arbitrary sections.
- (ASM_OUTPUT_SECTION_NAME): Define.
-
-Sat Dec 2 22:19:16 1995 Jeffrey A. Law (law@cygnus.com)
-
- * pa.h: Replace many uses of fprintf with fputs.
- * pa.c: Likewise.
- * pa-pro.h: Likewise.
-
- * pa.h (SECONDARY_RELOAD_CLASS): Don't call secondary_reload_class
- to handle trivial cases.
- * pa.c (secondary_reload_class): Rework to be more efficient.
-
-Sat Dec 2 07:52:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (movsi): Don't split large constants in the
- movsi pattern, let the define_split split it later as needed.
-
-Fri Dec 1 16:00:42 1995 Brendan Kehoe <brendan@cygnus.com>
-
- * sparc.c (output_double_int): Handle CODE_LABEL's if v9.
-
-Fri Dec 1 09:13:23 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * m68k.md (decrement_and_branch_until_zero): Split into a
- define_expand and an anonymous define_insn.
- * fx80.md (decrement_and_branch_until_zero): Ditto.
- * m88k.md (decrement_and_branch_until_zero): Ditto.
-
-Thu Nov 30 15:02:16 1995 Jim Wilson <wilson@mole.gnu.ai.mit.edu>
-
- * sh.c (noncall_uses_reg): New function.
- (machine_dependent_reorg): Add support for TARGET_RELAX.
- (final_prescan_insn): Likewise.
- * sh.h (ASM_SPEC, LINK_SPEC): Pass on -mrelax.
- (RELAX_BIT, TARGET_RELAX): New macros.
- (TARGET_SWITCHES): Add -mrelax.
-
- * sh.c (insn-attr.h): Include.
- (pragma_nosave_low_regs): New global variable.
- (calc_live_regs): If SH3 and pragma_nosave_low_regs, then don't
- save registers r0 through r7 for interrupt functions.
- (function_epilogue): Clear pragma_nosave_low_regs.
- (handle_pragma): Set pragma_nosave_low_regs if see pragma for it.
-
- * sh.h (FUNCTION_PROFILER): Use trap #33 instead of trap #5.
- Put additional .align before trapa instruction.
-
-Thu Nov 30 14:45:13 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.md (seqdi_special_trunc, snedi_special_trunc,
- seqsi_special_extend, snesi_special_extend): Delete uses of SUBREG.
- Make compare modes match modes of operands.
- (snesi_zero_extend, snedi_zero_trunc_sp32, snedi_zero_trunc_sp64,
- seqsi_zero_extend, seqdi_zero_trunc_sp32, seqdi_zero_trunc_sp64):
- New patterns.
-
-Thu Nov 30 12:27:22 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * genmultilib: Take a 4th argument that says are the exceptions to
- the multilibs, so illegal combinations can be eliminated.
-
- * Makefile.in (multilib.h): Pass $(MULILIB_EXCEPTIONS) as the 4th
- argument to genmultilib.
-
- * configure (powerpc*): Remove little endian and eabiaix versions
- of the t-* files. Accept powerpc{,le}-*-sysv in addition to
- *-sysv4.
- (powerpc{,le}-*-eabisim): Use standard t-eabigas instead of
- t-eabisim.
- (powerpcle-*-{winnt3,pe}): Add support for Windows NT on PowerPC.
- * rs6000/t-{eabiaix,eabisim,eabilegas,ppclegas}: Delete.
-
- * rs6000/{t-winnt,win-nt.h}: New files for PowerPC Windows NT.
-
- * ginclude/ppc-asm.h: New file to provide common macros for the
- various PowerPC calling sequences.
- * rs6000/eabi.asm: Use ppc-asm.h.
-
- * rs6000/aix3newas.h (CPP_SPEC): Add support for -mcpu=603e, 602,
- and 620.
- * rs6000/{aix41,powerpc,rs6000,eabi{aix,le}}.h (CPP_SPEC): Ditto.
- * rs6000/sysv4{,le}.h (CPP_SPEC): Ditto.
-
- * rs6000/aix3newas.h (LINK_SPEC): If cross compiling, don't use
- absolute paths.
- * rs6000/{aix41,aixppc,rs6000}.h (LINK_SPEC): Ditto.
-
- * rs6000/eabi.h (INVOKE__main): Don't define any more.
- (ASM_OUTPUT_INT): Move to sysv4.h.
- ({STARTFILE,LIB}_SPEC): If -msim or -mmvme add the appropriate
- libraries.
-
- * rs6000/{eabiaix,eabile,sysv4{,le}}.h (CPP_SPEC): Add support for
- -mcall-{aixdesc,nt} directives.
- (MULTILIB_DEFAULTS): Define.
-
- * rs6000/eabi{,le}sim.h (TARGET_DEFAULT, CPP_SPEC): No longer
- define, simulator supports floating point.
- ({STARTFILE,LIB}_SPEC): If -mvme, use mvme libraries, not
- simulator libraries.
-
- * rs6000/{mach,netware}.h (TARGET_AIX): Define as 0.
-
- * rs6000/netware.h (RS6000_OUTPUT_BASENAME): Don't redefine
- anymore.
- (STRIP_NAME_ENCODING): Undef.
-
- * rs6000.c (rs6000_save_toc_p, rs6000_abi): New globals.
- (rs6000_override_options): Add 602, 603e, and 620 support.
- (count_register_operand): New function to return true if operand
- is the count register.
- (easy_fp_constant): All constants are easy if -msoft-float.
- (volatile_mem_operand): New function to return true if operand is
- in volatile memory.
- ({fp_,}reg_or_mem_operand): Call volatile_mem_operand.
- (input_operand): Allow support for Windows NT loading SYMBOL_REFs
- and LABEL_REFs from the TOC.
- (function_arg_boundary): On Windows NT, any argument >= 8 bytes
- must be double word aligned.
- (function_arg{_advance,}): Call function_arg_boundary to determine
- if we need to align to an odd register for large arguments.
- Changes to accomidate new method of determining which ABI we're
- adhering to.
- (expand_block_move_mem): Copy RTX_UNCHANGING_P, and if
- MEM_UNALIGNED_P is defined, copy that too.
- (expand_block_move): Copy dest/src to registers using
- copy_addr_to_reg.
- (print_operand): Changes to accomidate Windows NT.
- (first_reg_to_save): Ditto.
- (rs6000_stack_info): Ditto.
- (debug_stack_info): Ditto.
- (output_{prolog,epilog,toc,function_profiler}): Ditto.
- (rs6000_stack_info): Save main's arguments around __eabi call.
- (svr4_traceback): Delete, current V.4 ABI no longer wants
- tracebacks in this format.
- (output_prolog): Call __eabi here, saving and restoring main's
- args if needed. Save the toc pointer if needed.
- (get_issue_rate): New function to return # of instructions a
- machine can issue at once.
- (rs6000_sync_trampoline): Emit instructions to synchronize the
- PowerPC caches after a trampoline.
- (rs6000_trampoline_{template,size}): New functions to provide
- common trampoline support for all ABI's.
- (rs6000_initialize_trampoline): Ditto.
-
- * rs6000.h (TARGET_{WINDOWS_NT,AIX,MACOS}): Define.
- (processor_type): Add 602.
- (PROCESSOR_COMMON): Assume current processor is a 604, not a 601.
- (SUBTARGET_OPTIONS): Define if not defined.
- (TARGET_OPTIONS): Include SUBTARGET_OPTIONS.
- (COUNT_REGISTER_REGNUM): Define as 66.
- (EXTRA_CONTRAINT): Add 'S' and 'T' for Windows NT.
- (rs6000_abi): Add ABI_AIX_NODESC, ABI_NT.
- (DEFAULT_ABI): Define if not defined.
- (rs6000_stack): Add fields for Windows NT support.
- (RS6000_SAVE_TOC): Add for Windows NT support.
- (FUNCTION_ARG_BOUNDARY): Call function_arg_boundary.
- (trampoline macros): Call trampoline functions in rs6000.c.
- (RETURN_ADDRESS_OFFSET): Add Windows NT support.
- (toc_section): Skip leading '*'.
- (PREDICATE_CODES): Add volatile_mem_operand,
- count_register_operand.
- (MACHINE_issue_rate): Define.
- (function decls): Add new function decls from rs6000.c.
-
- * rs6000.md (cpu attribute): Add 602.
- (function units): Update to match reality better.
- (calls through pointer): Rework to support Windows NT.
- (movsi): Add Windows NT support.
- (movstrsi): Remove match_operand predicates, since
- expand_block_move does the checking.
- (sync_isync): Delete.
- (icbi, dcbst, sync, isync): New insns to generate named instruction
- for making trampolines on eabi/V.4 properly flush the caches.
- (decrement_and_branch_on_count): Rename from
- decrement_and_branchsi. Add update of count in insn pattern.
-
- * rs6000/sysv4.h (TARGET_SWITCHES): Drop -mtraceback. Keep
- -mno-traceback but don't do anything with it. Add
- -mcalls-{nt,aixdesc}. Add -m{,no-}relocatable-lib. Add -msim,
- -mmvme, and -memb.
- (TARGET_TOC): Update for use with -mcalls-{nt,aixdesc}.
- (SUBTARGET_OVERRIDE_OPTIONS): Update for new switches.
- (RS6000_OUTPUT_BASENAME): Delete.
- (toc_section): Add support for -mcall-{nt,aixdesc}.
- (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Ditto.
- (ASM_DECLARE_FUNCTION_NAME): Use STRIP_NAME_ENCODING instead of
- RS6000_OUTPUT_BASENAME. For -mcall-{nt,aixdesc} emit the proper
- function descriptor.
- (ASM_SPEC): Pass appropriate -mxxx switches to the assembler based
- on the -mcpu=xxx options.
- (ASM_OUTPUT_INT): Move here from eabi.h.
- (ENCODE_SECTION_INFO): If -mcall-{nt,aixdesc} add approriate magic
- so function name has two or one leading periods.
- (ASM_OUTPUT_SOURCE_LINE): Delete, use version in svr4.h.
- (trampoline macros): Call trampoline functions in rs6000.c.
-
- * t-{eabi,ppc}{,gas} (EXTRA_HEADERS): Add ginclude/ppc-asm.h.
- (LIB2FUNCS_EXTRA): Depend on eabi.S, not eabi.s.
- (eabi.S): Rename from eabi.asm.
-
- * t-{eabi,ppc}gas (MULTILIB_*): Add -mcall-aixdesc libraries, but
- don't build either little endian or -mrelocatable versions of
- those libraries.
-
-Tue Nov 28 00:10:27 1995 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (divsi3): Reorder so common mode does not negate
- power-of-2 shift optimization.
-
-Wed Nov 29 22:06:11 1995 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * configure (sparc-*-solaris2*): Add gcrt1.o to extra_parts.
- * sparc/sol2.h (STARTFILE_SPEC): Link with gcrt1.o with -pg.
- * sparc/sol2-g1.asm: New file, startup code for profiled
- executables.
- * sparc/t-sol2: Add make rule for gcrt1.o.
- * sparc/gmon-sol2.c (_mcleanup): Add support for PROFDIR
- environment variable.
-
-Wed Nov 29 21:41:13 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips/abi64.h (CPP_SPEC): If -msingle-float and not
- -msoft-float, pass -D__mips_single_float. Likewise for -m4650 and
- not -msoft-float.
- * mips/dec-bsd.h (CPP_SPEC): Likewise.
- * mips/dec-osf1.h (CPP_SPEC): Likewise.
- * mips/elf64.h (CPP_SPEC): Likewise.
- * mips/iris3.h (CPP_SPEC): Likewise.
- * mips/iris5.h (CPP_SPEC): Likewise.
- * mips/mips.h (CPP_SPEC): Likewise.
- * mips/netbsd.h (CPP_SPEC): Likewise.
- * mips/osfrose.h (CPP_SPEC): Likewise.
- * mips/t-ecoff (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
- MULTILIB_MATCHES): Add -msingle-float support.
-
-Wed Nov 29 17:57:48 1995 Doug Evans <dje@cygnus.com>
-
- * toplev.c (main): Invoke OPTIMIZATION_OPTIONS after target_flags
- has been initialized so sets of target_flags aren't clobbered.
-
- * cccp.c (do_include): Recognize c:\foo as absolute path name in DOS.
-
- * svr4.h (MD_EXEC_PREFIX): Don't use if cross compiling.
- (MD_STARTFILE_PREFIX): Likewise.
- (LINK_SPEC): Don't use absolute path names if cross compiling.
- * svr3.h (LIB_SPEC): Likewise.
-
- * gcc.c (do_spec_1): Fix typos in version calculation.
-
-Wed Nov 29 14:06:13 1995 Jim Wilson <wilson@cygnus.com>
-
- * sh.md (ashrsi3_d): Use %0 not %1 in output pattern.
-
- * svr4.h (MAX_OFILE_ALIGNMENT): Define.
-
- * mips/iris5.h (WORD_SWITCH_TAKES_ARG): Define.
- (LINK_SPEC): Add rpath.
- * mips/iris6.h (LINK_SPEC): Likewise.
-
- * stupid.c (stupid_mark_regs): For hard registers, use regno+j
- instead of just regno in MARK_LIVE_AFTER and SET_HARD_REG_BIT calls.
-
- * c-common.c (combine_strings): Add support for WCHAR_TYPE as short.
-
-Wed Nov 29 13:59:58 1995 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * c-decl.c (duplicate_decls): Add new parameter different_binding_level.
- Lots of changes to use new new parameter.
- (pushdecl): Delete variable declared_global. New variable
- different_binding_level and code to set it. Move extern/static
- warning before duplicate_decls call. Don't let global typedefs
- conflict with nested extern declarations. Move oldglobal test
- inside code for setting IDENTIFIER_LIMBO_VALUE.
- (lookup_name_current_level_global): Delete.
- * c-tree.h (merge_attributes): New declaration.
- * c-typeck.c (merge_attributes): New function. Move code from
- common_type to here.
- (common_type): Call merge_attributes instead of having inline code.
- * integrate.c (integrate_decl_tree): Delete variable newd.
- Always set DECL_ABSTRACT_ORIGIN before calling pushdecl.
-
-Tue Nov 28 21:57:04 1995 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (mips_function_value): Add check for i > 0 when deciding
- if structure should be return in FP registers.
-
-Tue Nov 28 12:47:52 1995 Jeffrey A. Law <law@cygnus.com>
-
- * pa.md (define split for (plus (reg) (large_constant)): Try
- another way to handle this with only 2 insns. From Tege.
-
-Mon Nov 27 02:05:18 1995 Jeffrey A. Law <law@cygnus.com>
-
- * lib1funcs.asm, pa-pro.h, t-pro.h, xm-papro.h: New PA
- target files.
- * configure (hppa*-*-pro*): Use new target files.
-
- * toplev.c (rest_of_compilation): Always call jump_optimize
- at least once.
-
- * pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber
- the value of TREE_SYMBOL_REFERENCED.
-
- * pa-ghpux9.h (LINK_SPEC): Pass "-z" to the linker to enable
- trap on null pointer dereference for programs built on hpux9.
- * pa-hpux9.h, pa1-ghpux9.h, pa1-hpux9.h: Likewise.
-
- * pa.c (output_function_prologue): No longer need to keep
- track of the total number code bytes when TARGET_GAS &&
- not TARGET_PORTABLE_RUNTIME.
- * pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use .NSUBSPA when
- not TARGET_PORTABLE_RUNTIME.
- (ASM_OUTPUT_FUNCTION_PREFIX): Define. Prefix functions with
- .NSUBSPA when TARGET_GAS and not TARGET_PORTABLE_RUNTIME.
-
- * pa.md (symbolic high patterns): Use 'H' to print the symbolic
- address so that the constant part gets rounded.
- * pa.c (print_operand): Handle 'H' operand for high part of a
- symbolic address with a rounded constant.
- (output_global_address): New argument "rounded_constant". All
- callers changed appropriately.
-
- * x-pa-hpux (FIXPROTO_DEFINES): Add -D_HPUX_SOURCE.
-
- * pa.h (CPP_SPEC): Only pass -D_HPUX_SOURCE and -D_HIUX_SOURCE if
- -ansi is not present.
- (CPP_PREDEFINES): Remove -D_HPUX_SOURCE and/or -D_HIUX_SOURCE.
- * pa-ghiux.h (CPP_PREDEFINES): Likewise.
- * pa-gux7.h (CPP_PREDEFINES): Likewise.
- * pa-hiux.h (CPP_PREDEFINES): Likewise.
- * pa-hpux.h (CPP_PREDEFINES): Likewise.
- * pa-hpux7.h (CPP_PREDEFINES): Likewise.
- * pa1-ghiux.h (CPP_PREDEFINES): Likewise.
- * pa1-hiux.h (CPP_PREDEFINES): Likewise.
-
- * pa-hpux.h (LINK_SPEC): If -mlinker-opt, then pass -O to the
- linker.
- * pa-ghpux.h, pa-hpux9.h, pa-ghpux9.h: Likewise.
- * pa1-ghpux9.h, pa1-hpux9.h: Likewise.
- * pa.h (LINK_SPEC): Likewise.
- (TARGET_SWITCHES): Add -mlinker-opt.
-
- * pa.md (all peepholes): Disable if TARGET_SOFT_FLOAT.
-
- * pa.c (pa_reorg): If TARGET_GAS, then emit insns to mark
- the beginning and end of the branch table.
- * pa.md (begin_brtab): New insn. Just a marker so GCC knows
- where to put the .begin_brtab pseudo-op.
- (end_brtab): Similarly.
-
- * pa.h (EXTRA_SECTIONS): Add in_ctors and in_dtors if
- CTORS_SECTION_FUNCTION is defined. Else define dummy
- versions of CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION.
- (EXTRA_SECTION_FUNCTIONS): Add CTORS_SECTION_FUNCTION and
- DTORS_SECTION_FUNCTION.
-
- * pa.md: Add peepholes to improve spill code generated
- by reload when we run out of FP registers.
-
- * xm-pa.h: Remove spurious double-quote.
-
- * pa.md (call expanders): For indirect calls, load %r22 with the
- function's address.
- (indirect call patterns): No need to copy the call address into
- %r22 anymore.
-
- * pa.c (output_cbranch): Fix buglet in length handling of
- backwards branches with unfilled delay slots.
- (output_bb, output_bvb, output_dbra, output_movb): Likewise.
-
- * pa.md: Fix off-by-one error in length computations for all
- conditional branch patterns.
-
- * pa.h (output_bvb): Declare.
- * pa.c (output_bvb): New function to output branch on variable
- bit insns.
- * pa.md (branch-on-variable-bit): New patterns.
-
- * pa.h (TARGET_MILLICODE_LONG_CALLS): Delete swtich and all
- references.
- (output_millicode_call): Declare new function
- * pa.md (millicode calls): Update length computation to handle
- variable length millicode calls.
- (call pattners): Likewise.
- (indirect call patterns): Update length compuations and output
- templates to handle variable length millicode calls.
- (plabel_dereference): Likewise.
- * pa.c (override_options): Give warnings when incompatable
- options are used.
- (output_mul_insn): Call output_millicode_call instead of
- output_call, eliminate last argument to output_millicode_call.
- (output_div_insn): Likewise.
- (output_mod_insn): Likewise.
- (output_call): Rewrite long call code to handle variable length
- millicode calls. Eliminate support for calling mul, div and mod
- millicode routines.
- (output_millicode_call): New function for calling mul, div and mod
- millicode routines.
-
- * pa.md (abssi2): New pattern.
-
- * pa.c (secondary_reload_class): Loads from reg+d addresses into
- FP registers don't need secondary reloads.
- * pa.h: Delete soem #if 0 code. Update some comments.
- (EXTRA_CONSTRAINT, case 'Q'): Only accept valid memory addresses.
-
- * pa.h (RTX_COSTS): Tege's rewrite.
-
- * pa.c (hppa_legitimize_address): Generate unscaled indexed
- addressing for (plus (symbol_ref) (reg)).
- (emit_move_sequence): Set REGNO_POINTER_FLAG appropriately
- to encourage unscaled indexing modes.
- (basereg_operand): New function for unscaled index address support.
- * pa.md (unscaled indexing patterns): New patterns for unscaled
- index address support.
-
- * pa.h (MOVE_RATIO): Define.
- * pa.md (movstrsi expander): Refine tests for when to use the
- library routine instead of an inlined loop copy. Provide an
- additional scratch register for use in the inlined loop copy.
- (movstrsi_internal): Name the pattern for ease of use. Add
- additional scratch register.
- * pa.c (output_block_move): Greatly simplify. Use 2X unrolled
- copy loops to improve performance.
- (compute_movstrsi_length): Corresponding changes.
-
- * pa.c (print_operand): Handle 'y' case for reversed FP
- comparisons. Delete some #if 0 code. Fix various comment typos.
- * pa.md (fcmp patterns): Try and reverse the comparison to avoid
- useless add,tr insns.
-
-Sun Nov 26 14:47:42 1995 Richard Kenner <kenner@mole.gnu.ai.mit.edu>
-
- * Version 2.7.2 released.
-
- * function.c (fixup_var_refs_1): Make pseudo for DEST
- in PROMOTED_MODE unless in a SUBREG.
-
- * cse.c (insert): Don't put a REG into qty_const.
-
- * msdos/top.sed: Change version to 2.7.2.
- * winnt/config-nt.sed: Likewise.
-
-Sun Nov 26 14:41:49 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * Makefile.in (stamp-objlist): Change .o to $objext.
-
- * alpha/win-nt.h (CPP_PREDEFINES): Set __unaligned and __stdcall
- to null.
- (ASM_SPEC): Add a translation for -g to -Zi.
- * winnt/ld.c (main): Don't pass -g to link.
- * winnt/oldnames.c: Reformat and add some new functions for gnat1.
- * winnt/win-nt.h (LINK_SPEC): Pass -g to ld.exe.
- Increase default stack size.
- * configure ({alpha-dec,i386-ibm}-winnt3.5): Add oldnames.o
- to extra_objs.
- * libgcc2.c (trampoline): Add getpagesize and mprotect for WINNT.
-
-Sun Nov 26 14:25:26 1995 Uwe Seimet (seimet@chemie.uni-kl.de)
-
- * atari.h (FUNCTION_VALUE): Deleted; incorrect.
-
-Sun Nov 26 14:23:03 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * fixincludes (curses.h): Allow space or tab after bool keyword,
- instead of tab or tab.
-
-Sun Nov 26 14:14:11 1995 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
-
- * 1750a.md (pattern for HImode PSHM): Corrected.
- (trunchiqi2, zero_extendqihi2, extendhftqf2): Corrected.
- (pattern for movhi of CONST_INT to REG): Corrected.
- (divmodqi pattern for DISN): Corrected.
- (all shift patterns): Corrected.
-
- * 1750a.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Corrected.
- (ASM_OUTPUT_[datatype]): Corrected datalbl[].size computation
- for output of arrays.
-
-Sun Nov 26 14:08:57 1995 Dave Love <d.love@dl.ac.uk>
-
- * mips/iris5.h (NO_IMPLICIT_EXTERN_C): Define this again so
- that unistd.h doesn't get badly `fixed' for C++. libg++ will now
- build with this definition.
-
-Sun Nov 26 14:02:43 1995 Robert E. Brown (brown@grettir.bibliotech.com)
-
- * configure: Better workaround for Nextstep bug.
-
-Sun Nov 26 13:55:07 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * rs6000.md (load_multiple matcher): Fix typo in opcode.
-
-Sun Nov 26 13:51:08 1995 Lee Iverson <leei@Canada.AI.SRI.COM>
-
- * final.c (final_start_function): Move call to sdbout_begin_function
- back to final_scan_insn on MIPS systems so parameter descriptions are
- recognized.
-
-Sun Nov 26 13:43:06 1995 DJ Delorie (dj@delorie.com)
-
- * msdos/top.sed: Don't insert "go32".
-
-Sun Nov 26 12:08:23 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * combine.c (nonzero_bits, case REG): Put POINTERS_EXTEND_UNSIGNED
- code before stack pointer code. Return nonzero at end of stack
- pointer code.
-
- * sparc.h (PRINT_OPERAND_ADDRESS): Handle CONST inside PLUS.
-
- * Makefile.in (cppalloc.o): Add a rule to build it.
-
- * alpha.c (alpha_emit_set_const): Don't output SImode sequences
- that rely on invisible overflow. Sign extend new when SImode.
- Don't recur if new == c. Don't allow shift outside mode. Make
- logical right shift be unsigned.
-
-Sun Nov 26 11:37:50 1995 Arne H. Juul (arnej@idt.unit.no)
-
- * Makefile.in (compare*): Add "|| true" to avoid spurious
- failure messages from some versions of make.
-
-Sun Nov 26 11:20:09 1995 Dmitry K. Butskoy (buc@stu.spb.su)
-
- * expr.c (truthvalue_conversion): Add declaration.
-
-Sun Nov 12 18:09:35 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * Version 2.7.1 released.
-
- * function.c (put_reg_into_stack): New arg volatile_p.
- (put_var_into_stack): Call with new arg.
-
-Sat Nov 11 08:25:34 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * reload.c (output.h): Include it.
- * Makefile.in (reload.o): Add dependence on output.h.
-
-Thu Nov 9 11:24:20 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * mips.h (HARD_REGNO_NREGS): If FP_REG_P, always use UNITS_PER_FPREG
- to calculate number of words needed.
-
-Thu Nov 9 11:04:50 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de)
-
- * 1750a.md (cmphf): Addd Base Reg with Offset address mode (LB,STB,..)
- (movqi,movhi,movhf,addqi3,addhf3,subqi3,subhf3,mulqihi3): Likewise.
- (mulhf3,divhf3,andqi3,iorqi3): Likewise.
- (define_peephole): Remove the Base mode peepholes. Replace the
- special addqi define_insn for "LIM Ra,sym,Rb" by a define_peephole.
- (ashlqi3): Took out futile 0th alternative.
- (lshrqi3, lshrhi3, ashrqi3, ahsrhi3): Correct case of non-constant
- shift count.
-
- * 1750a.h (REG_ALLOC_ORDER): Define.
- (REGNO_OK_FOR_BASE_P): Include stack pointer in test against
- reg_renumber[REGNO].
- (ASM_OUTPUT_DESTRUCTOR): Remove bogus assembler comment.
-
-Thu Nov 9 11:01:33 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (expand_expr, case ARRAY_REF): Properly convert types
- of index, size, and multiplication.
-
-Wed Nov 8 09:00:22 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm.md (mov*cc_{,soft_}insn): Use match_operator to test the
- comparison and check that the condition code register is used.
-
-Wed Nov 8 08:49:35 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Undef before
- including svr4.h.
-
-Tue Nov 7 10:58:12 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * m68k.md (subxf3): Properly name pattern.
-
-Tue Nov 7 10:53:09 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * libgcc2.c (__{C,D}TOR_LIST): For AIX, initialize these arrays to
- 0,0, just like NeXT to avoid a warning message from the AIX 4.1
- linker.
-
-Tue Nov 7 09:58:34 1995 John F. Carr <jfc@mit.edu>
-
- * cppexp.c (cpp_lex): Correctly parse character constants.
-
-Tue Nov 7 09:52:15 1995 Jason Merrill <jason@yorick.cygnus.com>
-
- * rs6000.h (ASM_OUTPUT_{DES,CONS}TRUCTOR): Define.
-
-Mon Nov 6 10:27:15 1995 Doug Evans <dje@cygnus.com>
-
- * combine.c (force_to_mode): Fix typo.
-
-Sun Nov 5 18:37:02 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * m68k.md (cmpxf): Don't call force_const_mem, it looses for PIC;
- get predicates right instead. Get rid of separate DEFINE_EXPAND.
- (addxf3, subxf3, mulxf3, divxf3): Likewise.
- (All XFmode patterns): Delete `F' and `G' constraints.
- (absxf2, negxf2): Delete spurious condition on TARGET_FPA.
-
-Sun Nov 5 11:05:44 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * fixincludes (malloc.h): Fix return type of {m,re}alloc.
-
-Sun Nov 5 11:02:26 1995 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * cse.c (invalidate): For a pseudo register, do a loop to
- invalidate all table entries, irrespective of mode.
-
-Sun Nov 5 10:57:43 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * combine.c (force_to_mode): Put in last change properly.
-
-Sun Nov 5 10:53:49 1995 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (CONDITIONAL_REGISTER_USAGE): Make sure FP regs
- get disabled regardless of PA1.0 vs PA1.1 code generation
- when TARGET_SOFT_FLOAT or TARGET_DISABLE_FPREGS is on.
-
-Sun Nov 5 10:49:43 1995 Doug Evans <dje@lisa.cygnus.com>
-
- * i960.c (emit_move_sequence): Add a scratch register to
- multi-reg stores.
- (i960_output_move_{double,quad}): New functions.
- (i960_print_operand): Handle new operand types E, F.
- * i960.md (movdi matchers): Rewrite.
- (store_unaligned_di_reg): New pattern.
- (movti matchers): Rewrite.
- (store_unaligned_ti_reg): New pattern.
-
-Sun Nov 5 10:45:24 1995 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (MULTILIB_DEFAULTS): Define.
- * mips/elf64.h, mips/iris6.h (MULTILIB_DEFAULTS): Define.
-
-Sun Nov 5 10:41:48 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * reload.c (push_reload): Delete abort for RELOAD_OTHER case added
- in last change.
- * reload1.c (emit_reload_insns): For RELOAD_OTHER output reloads,
- output the reload insns in descending order of reloads.
-
- * sh.md (mulsidi3-1, mulsidi3, umulsidi3-1, umulsidi3): Enable.
- (smulsi3_highpart-1, smulsi3_highpart): New patterns.
- (umulsi3_highpart-1, umulsi3_highpart): Likewise.
- (movdi-1): Add r/x constraint.
- * t-sh (MULTILIB_OPTIONS): Add m2.
- (MULTILIB_DIRNAMES): Add m2.
- (MULTILIB_MATCHES): Define.
-
- * sparc.h (RTX_COSTS, case MULT): Check for TARGET_SPARCLITE.
-
- * abi64.h, elf64.h (CPP_SPEC): Add -EB and -EL support.
-
-Sat Nov 4 10:36:26 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sh.md (casesi_worker): Change constraint from = to +.
-
- * svr4.h (ASM_IDENTIFY_GCC_AFTER_SOURCE): Delete.
- (ASM_IDENTIFY_GCC): Output stab here.
-
-Sat Nov 4 10:32:37 1995 John Carr <jfc@mit.edu>
-
- * cpplib.c (finclude): Set current input pointer when input
- is not a regular file.
-
- * cppmain.c: Define progname, required by cpplib.
-
-Sun Oct 29 07:48:36 1995 Michael Meissner <meissner@cygnus.com>
-
- * xcoffout.h (DBX_FINISH_SYMBOL): Deal with names created via
- the __asm__ construct that start with a leading '*'.
- * xcoffout.c (xcoff_declare_function): Likewise.
-
-Sun Oct 29 07:45:41 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * stupid.c (stupid_mark_refs): Handle SUBREG of pseudo-reg in a
- SET_DEST same as we handle a pseudo-reg in a SET_DEST.
-
-Sun Oct 29 07:43:15 1995 Pat Rankin <rankin@eql.caltech.edu>
-
- * libgcc2.c (L_eh: __unwind_function): Implement for VAX.
- * vax.h (RETURN_ADDRESS_OFFSET, RETURN_ADDR_RTX): Define.
-
-Sun Oct 29 12:39:08 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>a
-
- * i386/sol2.h (CPP_PREDEFINES): Add -D__SVR4.
-
-Sun Oct 29 07:14:36 1995 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * reload.c (find_equiv_reg): Check for nonsaving setjmp.
-
-Fri Oct 27 15:15:56 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * Makefile.in (out_object_file): Depend on TREE_H.
-
-Fri Oct 27 06:42:36 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.c (call_operand): Only allow reg 27 on NT too.
- * alpha.md (call_value_nt, call_nt): Force non-SYMBOL_REF
- into reg 27, just like for OSF.
-
- * rs6000.c (struct asm_option): Changed from struct option.
- (expand_block_move_mem): Remove erroneously-added line.
-
- * expr.c (clear_storage): SIZE is now rtx, not int.
- (store_constructor): Call clear_storage with rtx.
- (get_inner_reference): Convert index to precision of
- sizetype, not POINTER_SIZE.
- (expand_expr, case ARRAY_REF): Likewise.
- * expr.h (clear_storage): Second arg is rtx, not int.
-
-Fri Oct 27 05:45:58 1995 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * combine.c (force_to_mode, case ASHIFTRT): Properly handle
- mask wider than HOST_WIDE_INT.
-
- * c-decl.c (pushdecl): Don't test TREE_PUBLIC when deciding whether
- to register a duplicate decl in the current block.
-
-Thu Oct 26 21:55:39 1995 Jason Merrill <jason@sethra.cygnus.com>
-
- * calls.c (expand_call): Don't trust the callee to copy a
- TREE_ADDRESSABLE type.
- * function.c (assign_parms): Likewise.
-
-Thu Oct 26 19:25:05 1995 Mike Stump <mrs@cygnus.com>
-
- * libgcc2.c (__unwind_function): Provide a default definition for
- implementations that don't yet have a function unwinder.
-
-Thu Oct 26 18:08:19 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (handle_directive): Don't treat newline as white
- space when coalescing white space around a backslash-newline.
-
-Thu Oct 26 17:57:34 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips-tdump.c (enum st): Define st_Struct, st_Union, and st_Enum.
- (st_to_string): Handle them.
- (type_to_string): Add fdp argument; pass it to emit_aggregate.
- (print_symbol): Add fdp argument; pass it to type_to_string.
- Handle st_Struct, st_Union, and st_Enum.
- (emit_aggregate): Add fdp argument. Handle opaque types. Map
- through RFD entries.
- (print_file_desc): Pass FDR to print_symbol.
- (main): Pass null FDR to type_to_string.
-
-Thu Oct 26 08:07:10 1995 Michael Meissner <meissner@cygnus.com>
-
- * configure (powerpc-ibm-aix[456789]*): Use rs6000/t-newas,
- not rs6000/t-rs6000.
- (rs6000-ibm-aix3.2.[456789]*): Likewise.
- (rs6000-ibm-aix[456789]*): Likewise.
-
- * rs6000/t-newas: Copy from t-rs6000.
- * t-rs6000: Don't build -mcpu=common multilib variants of libgcc.a.
-
- * rs6000.md (load_multiple insn): If address register is among regs,
- don't load it with a lwsi instruction, which is undefined on PowerPC.
-
-Thu Oct 26 08:01:32 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * dwarfout.c (output_compile_unit_die): Handle language_string
- of "GNU F77".
-
- * reload.c (find_reloads_address): When check for out of range constant
- plus register, accept any hard register instead of just fp, ap, sp.
-
- * combine.c (distribute_notes): For Oct 19 change, add additional
- check to verify that place has a valid INSN_CUID.
-
- * sparc/t-vxsparc (LIBGCC1_TEST): Define.
-
- * sh.md (negdi2): Use TARGET_LITTLE_ENDIAN.
-
- * combine.c (force_to_mode, case ASHIFTRT): Verify mode bitsize is
- within HOST_BITS_PER_WIDE_INT before shifting by it.
-
- * final.c (final_scan_insn): When recur for instruction in delay slot,
- add loop around recursive call in case the instruction gets split.
-
-Thu Oct 26 07:28:45 1995 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * genrecog.c (write_tree_1): Avoid emitting '-2147483648'.
-
- * jump.c (duplicate_loop_exit_test): Return 0 if found
- a NOTE_INSN_LOOP_CONT.
-
-Tue Oct 24 15:30:14 1995 Jeffrey A Law <law@cygnus.com>
-
- * calls.c (expand_call): Make sure valreg is at least
- a full word.
-
-Sun Oct 22 19:35:41 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sh.h (INIT_SECTION_ASM_OP): Delete.
- (HAVE_ATEXIT): Define.
-
-Sun Oct 22 07:46:04 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * libgcc2.c (__fixuns[xds]fsi): #undef MIN and MAX before #include
- of limits.h.
-
- * pa.c (pa_adjust_cost): Use pa_cpu, not pa_cpu_attr.
-
-Sun Oct 22 07:38:58 1995 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * alpha.h (CONST_OK_FOR_LETTER_P): Use 'U' for unsigned constants.
- * alpha.c (alpha_emit_set_const): Likewise.
- * mips.c (gen_int_relational): Likewise.
-
-Sun Oct 22 07:14:35 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * i386.c (i386_return_pops_args): Don't need a FUNDECL to
- check for type attributes in FUNTYPE.
-
-Sat Oct 21 18:17:42 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sh.md (define_delay): Don't accept any instruction for an annulled
- slot, only accept those for which in_delay_slot is yes.
- * sh.c (find_barrier): When hi_const returns true, increment count_si
- by two if found_si is true.
- Always use get_attr_length to compute length of instructions.
- If count_hi or count_si out of range at end, need two PREV_INSN calls
- not one.
- When create new label, set LABEL_NUSES to 1.
- (reg_unused_after): Ifdef out code for handling labels.
- (prepare_scc_operands): New local variable mode. Set it from
- sh_compare_op0 or sh_compare_op1. Use it instead of SImode in
- force_reg calls.
-
- * optabs.c (expand_float): Emit missing barrier after unconditional
- jump.
-
-Sat Oct 21 14:16:46 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * alpha.md (cmpdf): Make conditional on TARGET_FP.
-
-Fri Oct 20 19:11:12 1995 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * combine.c (distribute_notes): Delete instructions without
- side effect that set a subreg of an unused register.
-
- * m68k.h (PREFERRED_RELOAD_CLASS): Check for !G constants
- for DATA_OR_FP_REGS also.
-
-Fri Oct 20 18:57:10 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * genmultilib: Output negations of unused alternatives, even if
- one of the alternatives is selected.
-
-Fri Oct 20 18:48:50 1995 Jeff Law (law@hurl.cygnus.com)
-
- * integrate.c (output_inline_function): Turn on flag_no_inline
- to avoid function integration once we begin writing deferred
- output functions.
-
-Fri Oct 20 18:46:33 1995 Michael Meissner <meissner@wogglebug.tiac.net>
-
- * rs6000.c (float_conv_temp): Delete global variable.
- (stack_temps): New static array to hold stack temps.
- (offsettable_mem_operand): Delete function.
- (offsettable_addr_operand, rs6000_stack_temp): New functions.
- (output_epilog): Zero stack_temps.
-
- * rs6000.h (offsettable_addr_operand): Declare instead of
- offsettable_mem_operand.
- (PREDICATE_CODES): Use offsettable_addr_operand.
- (float_conv_temp): Delete variable.
-
- * rs6000.md (move_to_float insns): Change move_to_float so
- that it doesn't have a clobber of the memory address, and instead
- passes the stack temp's memory address as one of the unspec args.
- (fix_truncdfsi2): Use rs6000_stack_temp to allocate the temp.
- (multiply, shift insns): Fix all cases of multiply and shift insns so
- that the right mnemonics are used for -mcpu=common with both
- -m{old,new}-mnemonics.
-
-Fri Oct 20 17:58:19 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * expr.c (safe_from_p, case RTL_EXPR): Return 0 if RTL_EXPR_SEQUENCE
- exists. Delete code to return 0 if exp_rtl is zero.
-
- * function.c (init_function_start): Don't call init_insn_lengths here.
- * toplev.c (rest_of_compilation): Call it here.
-
-Thu Oct 19 19:19:06 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-common.c (check_format_info): Make test for null pointer
- more general.
-
-Thu Oct 19 18:56:16 1995 Satoshi Adachi (adachi@wisdom.aa.ap.titech.ac.jp)
-
- * fixincludes (stdlib.h): Be more general in edit to change
- declaration of {c,m,re}alloc.
-
-Thu Oct 19 18:48:53 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * libgcc2.c (__udiv_w_sdiv): If we don't have sdiv_qrnnd, define
- dummy variant of __udiv_w_sdiv.
-
-Thu Oct 19 18:45:21 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * alpha.h (ASM_SPEC): If GNU as is the default, then pass -g to
- the assembler if -malpha-as. If GNU as is not the default, then pass
- -g to the assembler is not -mgas.
-
- * combine.c (distribute_notes): When search for new place to put
- REG_DEAD note, call distribute_links if this new place is between
- i2 and i3, and i2 uses the register.
-
-Thu Oct 19 18:41:36 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (float{,uns}sidf2): Rewrite to break the conversion
- process into several general insns.
- (move_to_float): New insns to move 2 integer regs into a float register
- through memory, taking endianess into account. Make sure that the
- floating temporary is a valid address. Use one temporary for all
- floats converted.
- (fix_truncdfsi2): Take endianess into account.
-
- * rs6000.c ({low_32_bit,offsettable_mem}_operand): The function
- low_32_bit_operand is now unused, delete it. New function
- offsettable_mem_operand to determine if a memory address is
- offsettable.
- * rs6000.h ({low_32_bit,offsettable_mem}_operand): Ditto.
- (PREDICATE_CODES): Ditto.
-
- * rs6000.{c,h} (float_conv_temp): New global.
- * rs6000.c (output_epilog): Zero out float_conv_temp.
-
- * Makefile.in (libgcc{1,2}.a): Allow LIB{1,2}FUNCS_EXTRA files to
- end in .S as well as .c and .asm.
-
-Wed Oct 18 17:56:45 1995 Jose Alonso (sidinf@fpsp.fapesp.br)
-
- * c-typeck.c (parser_build_binary_op): Warn about x^y==z, etc.
-
-Mon Oct 9 12:38:06 1995 Michael Meissner <meissner@cygnus.com>
-
- * protoize.c (reverse_def_dec_list): Silence compiler warnings.
-
-Mon Oct 9 12:35:54 1995 Andrew Cagney <cagney@highland.com.au>
-
- * ginclude/va-ppc.h (va_arg): Deal with long longs that would be
- passed in the 7th register, and are passed in the stack instead.
-
-Fri Oct 6 13:47:10 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * alpha.h (ASM_SPEC): Add -g.
-
-Fri Oct 6 13:42:50 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha.h (alpha_{arg,auto}_offset): Make extern.
-
-Fri Oct 6 13:24:43 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h (RETURN_ADDRESS_OFFSET): Correct previous change.
-
-Fri Oct 6 13:14:43 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * rtlanal.c (reg_set_last): Fix call to reg_set_between_p.
-
-Tue Oct 3 12:31:38 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * stor-layout.c (layout_type, case ARRAY_TYPE): Strip MAX_EXPR
- from upper bound when computing length if it just protects against
- negative length.
-
- * expr.c (emit_move_insn_1): When doing multi-word move, show
- output is clobbered.
-
-Tue Oct 3 12:26:07 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * cse.c (set_nonvarying_address_components, case AND): Add *pend to
- end. Add constant to start instead of subtracting it.
-
-Tue Oct 3 12:23:28 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * combine.c (simplify_rtx): In code that attempts to simplify
- conditional expressions, if the result is an NE around another
- comparison, return the original expression.
-
- * longlong.h (mips umul_ppmm): Use `l' and `h' constraints;
- remove mflo and mfhi instructions.
-
-Tue Oct 3 12:21:29 1995 Michael Meissner <meissner@cygnus.com>
-
- * ginclude/va-ppc.h (va_start, stdarg case): Call
- __builtin_next_arg, and ignore the result, so that the compiler
- can report the proper error, if the second argument is not the
- last argument.
-
-Tue Oct 3 12:02:51 1995 Kohtala Marko <Marko.Kohtala@ntc.nokia.com>
-
- * function.c (assign_stack_temp): Adjust full_size field of
- temp_slot when splitting an unused slot.
-
-Tue Oct 3 11:51:59 1995 Mike Stump <mrs@cygnus.com>
-
- * expr.c (expand_builtin_return_addr): Break out functionality
- from expand_builtin.
- (expand_builtin): Call expand_builtin_return_addr.
- * rs6000.h (RETURN_ADDR_RTX): Remove call to copy_to_reg.
- Offset to return address is 4 when !TARGET_64BIT and v4_call_p,
- 8 otherwise.
- * sparc.h (RETURN_ADDR_RTX): Remove call to copy_to_reg.
- * alpha.h (RETURN_ADDR_RTX): New definition.
-
-Sun Oct 1 21:23:30 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.c (staticp, case INDIRECT_EXPR): Disable case.
-
- * expr.c (expand_expr, case COMPONENT_REF): If getting component
- of union of variable size, propagate TARGET.
-
-Fri Sep 29 07:48:09 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (store_expr): When storing promoted value, don't return
- MEM if address contains target.
-
-Thu Sep 28 14:30:03 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (rescan): Expand `#if foo && #bar' without a bogus
- complaint about preprocessor directives within macro args.
- Expand `foo' in `foo#bar' without requiring a space before `#'.
-
-Thu Sep 28 14:24:26 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.md (anonymous DImode shift patterns setting cc0): Turned
- off due to reload problems.
-
-Thu Sep 28 14:05:22 1995 Niklas Hallqvist (niklas@appli.se)
-
- * Makefile.in (USER_H): Move up so can override.
- (INSTALL_ASSERT_H): New definition.
- (install-headers): Use it.
- (stmp-int-hdrs): Handle USER_H being empty.
- * config/x-netbsd (INSTALL_ASSERT_H): Define as empty.
-
- * i386/netbsd.h (WCHAR_{TYPE,UNSIGNED,TYPE_SIZE}): Now int.
- * m68k/netbsd.h, ns32k/netbsd.h, sparc/netbsd.h: Likewise.
- * vax/netbsd.h: Likewise.
- (SIZE_TYPE): Use unsigned int.
-
- * m68k.c (output_scc_di): Swap operands when needed.
- * m68k.h (LEGITIMATE_PIC_OPERAND): Allow SYMBOL_REF_FLAG symref.
- * m68k.md: Make both assembler syntaxes do the same for PIC calls.
-
-Tue Sep 26 16:51:44 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * mips.c (override_options): Don't allow anything but integers to
- go in the HI/LO registers.
-
-Tue Sep 26 16:36:18 1995 John F. Carr <jfc@mit.edu>
-
- * c-common.c (check_format_info): Don't warn about format type
- mismatch if the argument is an ERROR_MARK.
-
-Mon Sep 25 17:50:50 1995 Craig Burley (burley@gnu.ai.mit.edu)
-
- * stor-layout.c (put_pending_sizes): New function.
- * tree.h (put_pending_sizes): Add declaration.
- * tree.c (save_expr): Return original for ERROR_MARK.
-
-Fri Sep 22 19:20:01 1995 Jeff Law (law@hurl.cygnus.com)
-
- * expr.c (expand_builtin, case BUILT_IN_MEMCPY): Strip off
- all NOP exprs from the source and destination nodes, then
- set MEM_IN_STRUCT_P.
-
-Fri Sep 22 18:50:31 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/eabi.h (ASM_OUTPUT_INT): Test for whether the integer
- being output is also a constant so &sym - &sym2 is not fixed up.
-
-Fri Sep 22 18:49:07 1995 Peter Flass (FLASS@LBDRSCS.BITNET)
-
- * i370.md (cmpsi): Add missing constraints to operand 1.
-
-Fri Sep 22 18:27:33 1995 Torbjorn Granlund <tege@matematik.su.se>
-
- * i386.h (CONST_OK_FOR_LETTER_P): Make `N' match range 0..255
- for `outb' instruction.
-
- * pyr.h (PRINT_OPERAND): Handle code `R' for REG.
- * longlong.h (pyr umul_ppmm): Use it.
-
-Fri Sep 22 18:24:38 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-parse.in (enumlist): Propagate error_mark_node.
-
- * c-aux-info.c (gen_type): Handle ERROR_MARK.
-
- * alpha.md (movdi): Avoid memory sharing problem when in reload.
-
-Wed Sep 20 14:27:09 1995 Peter Flass <flass@lbdrscs.bitnet>
-
- * mvs.h (FUNCTION_PROLOGUE): Maintain savearea forward chain
- per MVS standards.
-
-Wed Sep 20 14:20:52 1995 Torbjorn Granlund <tege@matematik.su.se>
-
- * pyr.md (cmphi recognizer): Make condition match constraints.
- (cmpqi recognizer): Likewise.
-
-Wed Sep 20 12:42:59 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * integrate.c (expand_inline_function): Do copy something setting
- the result register if it is setting it to itself and has a REG_NOTE.
-
- * integrate.c (set_decl_{origin_self,abstract_flags}): Treat
- a DECL_INITIAL of error_mark_node the same as one of NULL_TREE.
-
-Tue Sep 19 19:30:18 1995 Dave Pitts (dpitts@nyx.cs.du.edu)
-
- * i370.md (cmphi, movhi, movstricthi, extendhisi2): Correct generation
- of short integer (Halfword)
- ({add,sub,mul,and,ior,xor}hi3): Likewise.
- * i370/mvs.h (MACROPROLOGUE): New macro.
- (FUNCTION_{PRO,EPI}LOGUE): Added ability to use IBM supplied function
- prologue macros.
- (FUNCTION_PROLOGUE): Corrected function "in-line" prologue alignment
- problems.
- (ASM_DECLARE_FUNCTION_NAME): Changed alignment to FullWord.
- (ASM_OUTPUT_{SHORT,ASCII}): Reworked.
-
-Tue Sep 19 19:22:15 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * winnt/win-nt.h: Renamed from winnt/win-nt.h.
- (LINK_SPEC): Add -noinhibit-exec.
- * {alpha,i386}/win-nt.h: Renamed from {alpha,i386}/winnt.h.
- Include winnt/win-nt.h, not winnt/winnt.h.
- * winnt/oldnames.c: New file.
- * winnt/headers.mak (fixinc-nt.obj): Fix typo.
- * winnt/config-nt.bat: Change winnt.h to win-nt.h.
- * i386/config-nt.sed: Likewise.
- * configure ({alpha,i386}-*-winnt3*): Likewise.
-
-Mon Sep 18 14:00:45 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de)
-
- * 1750a.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
- Added R2 and R0_1.
- (REG_CLASS_FROM_LETTER): New letters 't' and 'z'.
- (EXTRA_CONSTRAINT): New letter 'Q'.
-
-Sun Sep 17 12:39:22 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * pa.h (ASM_DECLARE_FUNCTION_NAME): If a parameter's type
- has TYPE_NEEDS_CONSTRUCTING on, then it's passed by invisible
- reference.
-
-Sat Sep 16 17:42:33 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * loop.c (find_and_verify_loops): Fix error in last change.
-
-Sat Sep 16 08:38:22 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.h (GO_IF_LEGITIMATE_ADDRESS): Disallow SYMBOL_REF for
- current function.
-
- * cse.c (recorded_label_ref): New variable.
- (insert): Set instead of cse_jumps_altered.
- (cse_main): Initialize it and return 1 if nonzero at end.
-
-Fri Sep 15 18:26:49 1995 Torbjorn Granlund (tege@matematik.su.se)
-
- * fold-const (div_and_round_double): Change `carry', `quo_est',
- and `scale' from plain int to `unsigned HOST_WIDE_INT'.
-
-Fri Sep 15 18:24:24 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cse.c (insert): Set cse_jumps_altered when inserting a LABEL_REF.
-
-Fri Sep 15 17:29:41 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de)
-
- * 1750a.c (b_mode_operand): New function.
- (print_operand): Added code 'Q'.
-
-Fri Sep 15 17:27:23 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * loop.c (find_and_verify_loops): When moving exit blocks out of
- the loop, verify that the target of P is within the current loop.
-
- * reorg.c (fill_slots_from_thread): Update thread if it is split.
-
-Fri Sep 15 17:06:51 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (decrement_and_branchsi and related insns): Don't use
- a "2" to select a register preference for operand 1 if operand 2
- hasn't been seen yet.
- Add appropriate clobbers in decrement_and_branchsi.
- Add patterns where the pc/label_ref are interchanged.
-
- * Makefile.in (gnucompare, stmp-multilib-sub): Remove extra . in
- front of $(objext).
-
- * rs6000.c (output_toc): Align DF constants if STRICT_ALIGNMENT.
-
- * config/fp-bit.c (FLO_union_type): Add words field if double
- precision to get at the separate words.
- (FLO_union_type, pack_d, unpack_d): Use FLOAT_BIT_ORDER_MISMATCH
- to determine when the bitfields need to be reversed, and
- FLOAT_WORD_ORDER_MISMATCH when the words need to be reversed.
-
-Fri Sep 15 16:41:43 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * reorg.c (fill_simple_delay_slots): When filling insn's delay slot
- with JUMP_INSN, don't assume it immediately follows insn on
- unfilled slots obstack.
-
- * Makefile.in (caller-save.o): Depend on insn-codes.h.
-
-Thu Sep 14 17:41:49 1995 Jim Meyering (meyering@comco.com)
-
- * protoize.c (do_cleaning): Don't blank out backslash-escaped
- newlines in double quoted strings.
-
-Thu Sep 14 16:20:35 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * emit-rtl.c (gen_lowpart): If gen_lowpart_common fails
- for a REG, load it into a pseudo and try again.
-
-Thu Sep 14 14:15:16 1995 Stan Cox (coxs@dg-rtp.dg.com)
-
- * m88k.h (VERSION_INFO1): Removed BCS reference.
- * m88k/dgux.h (ASM_SPEC, *_LEGEND):
- Added -mno-legend option. -mstandard no longer implies that
- legend information not be produced.
- (LINK_SPEC): Removed -z text
-
-Tue Sep 12 19:05:39 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * cccp.c (is_system_include): Call skip_redundant_dir_prefix.
-
-Tue Sep 12 18:58:21 1995 John Carr <jfc@mit.edu>
-
- * sparc.md: Change `*return "string"' to "string" in patterns.
-
-Tue Sep 12 18:48:47 1995 Craig Burley (burley@gnu.ai.mit.edu)
-
- * function.c (put_var_into_stack): For CONCAT case, order of
- placement depends on FRAME_GROWS_DOWNWARD, not STACK_GROWS_DOWNWARD.
-
-Tue Sep 12 18:34:10 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * va-sparc.h (v9 varargs va_start): Handle __builtin_va_alist
- being stack argument.
-
- * sparc.h (STATIC_CHAIN_REGNUM): Use %g5 for sparc64.
- (TRAMPOLINE_TEMPLATE): Rewrite for sparc64.
- (TRAMPOLINE_SIZE): Is 40 for sparc64.
- * sparc.c (sparc64_initialize_trampoline): Rewrite.
-
-Tue Sep 12 18:30:22 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * cp/Make-lang.in (cc1plus) : Removed unnecessary $(exeext).
-
- * configure: Added code to handle gcc_extra_objs.
- (alpha-winnt): Changed xmake_file to winnt/x-winnt.
- Added extra_gcc_objs=spawnv.o; changed extra_programs to ld.exe.
- (i386-winnt): Changed xmake_file to winnt/x-winnt.
- Added extra_gcc_objs=spawnv.o; changed extra_programs to ld.exe.
- * configure.bat: Changed to used common winnt/config-nt.bat.
- * Makefile.in: Changed various .o's to .$(objext)'s
- (specs): Removed unnecessary $(exeext).
- (EXTRA_GCC_OBJS): New variable.
- (clean): Removed $(LIB2FUNCS_EXTRA)
- * objc/Makefile: Changed archive command for libobjc.a to use $?
- for objects.
-
- * alpha/x-winnt, i386/x-winnt: Deleted.
- * alpha/config-nt.bat, i386/config-nt.bat: Deleted.
- * alpha/config-nt.sed, i386/config-nt.sed: Moved architecture
- independent commands to config/winnt/config-nt.sed.
- * alpha/winnt.h: Added -D_M_ALPHA to CPP_PREDEFINES.
- Changed LIB_SPEC to be compatible with Gnu ld for NT.
- * i386/winnt.h: Added -D_cdecl=__attribute__((__cdecl__)).
- Change LIB_SPEC to be compatible with Gnu ld for NT.
- * winnt/config-nt.bat, winnt/config-nt.sed: New files.
- * winnt/dirent.{c,h}, winnt/fixinc-nt.c, winnt/headers.mak: New files.
- * winnt/ld.c: Changed precedence of libraries to look for
- libfoo.lib before libfoo.a
- Changed to work like Gnu ld for NT.
- * winnt/libgcc.mak, winnt/mklibgcc.c: New files.
- * winnt/spawnv.c: Changed spawn function entry points to __spawn*
- instead of spawn*.
- * winnt/x-winnt: New file.
- * fixinc-nt.sed: New file.
- * fixinc.winnt: Rewritten to use fixinc-nt.sed.
-
- * gcc.c: Remove fix_argv kludge.
-
-Tue Sep 12 13:24:17 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (power subdi3 pattern): Fix pattern to have 5
- alternatives, and correct 4th alternative to match reality.
-
- * rs6000.md (adddi3, subdi3, negdi2): Add constraints so output reg
- does not overlap one reg with one of the inputs.
-
-Tue Sep 12 13:09:48 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.c (output_scc_di): Fixed for non-SGS_CMP_ORDER syntax.
-
- * collect2.c (scan_libraries): Cast lsyms' alloca to LDSYM*.
-
-Tue Sep 12 13:04:12 1995 Niklas Hallqvist (niklas@appli.se)
-
- * stmt.c (expand_start_stmt_expr): Do stack adjust in right place.
-
- * stdarg.h (__gnuc_va_list): Make char * for NetBSD.
-
-Tue Sep 12 12:44:46 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * ginclude/va-ppc.h (va_arg): Reorganize to avoid BIND_EXPRs of
- aggregate or array type.
-
-Tue Sep 12 12:42:27 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * fixincludes: Fix HP/UX <sys/file.h> for g++ -pedantic-errors.
-
- * fixincludes (curses.h): typedef bool need not take up entire line.
-
-Mon Sep 11 19:05:42 1995 Stan Cox (coxs@dg-rtp.dg.com)
-
- * c-typeck.c (digest_init): Don't recursively call digest_init
- when in traditional mode if the type is invalid.
-
-Mon Sep 11 18:58:26 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de)
-
- * 1750a.md: Added DLB/DSTB peepholes for HFmode.
- Corrected mnemonics for HImode DSTB peephole.
-
-Mon Sep 11 18:48:06 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * config/fp-bit.c (FLO_union_type): Remove bitfields to set sign,
- exponent, and mantissa, and add value_raw field, which is an
- integer of the appropriate type. If _DEBUG_BITFLOAT is defined,
- provide little and big endian bitfields. If the macro
- FLOAT_BIT_ORDER_MISMATCH is defined, use explicit bitfields.
- (pack_d, unpack_d): Switch to use value_raw and explicit shifts
- and masks so that we don't have to worry about whether the target
- is big or little endian unless FLOAT_BIT_ORDER_MISMATCH is
- defined. If single precision floating point, rename to pack_f and
- unpack_f, so there is no confusion in the debugger.
-
- * rs6000.h (rs6000_abi): New enumeration to describe which
- ABI we're conforming to.
- (rs6000_stack): Use abi enum, not AIX vs. V.4 boolean.
- (ASM_OUTPUT_OPTIONS): New macro to print output options in .s file.
- (ASM_FILE_START): Use it.
- (output_options,rs6000_float_const): Declare new functions.
-
- * rs6000.c (output_option{,s}): New functions to write -f, -m,
- and -W options to the asm file.
- (rs6000_float_const): New function to generate floating point
- constants portably used in signed,unsigned -> double conversions.
- (rs6000_stack_info,debug_stack_info): Use ABI enumeration instead
- of AIX vs. V.4 boolean.
-
- * rs6000.md (float{,uns}sidf2): Call rs6000_float_const to
- portably build the proper floating point constant for conversions.
- (movdi): Properly handle movdi of CONST_{INT,DOUBLE} on little
- endian systems.
-
- * rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Define to be 0/1
- depending on the target endianess.
- (ASM_FILE_START): Define, to call output_options in addition to
- output_file_directive.
- (TRAMPOLINE_SIZE): Correct size to match code.
-
- * rs6000/eabi{,le}sim.h (CPP_SPEC): Define the correct endian
- macro for varargs/stdargs use.
-
-Mon Sep 11 18:41:58 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * c-decl.c (redeclaration_error_message): For TYPE_DECLs, return 0
- if TYPE_MAIN_VARIANT of old type is same as new type.
-
-Mon Sep 11 17:39:35 1995 Rob Ryan (robr@cmu.edu)
-
- * xcoffout.c (xcoff_inlining): New variable, used in place of
- xcoff_current_include_file when determining whether to use
- absolute line numbers.
- (xcoffout_source_file): Switched to using xcoff_inlining to
- determine when to emit .bi/.ei directives.
-
-Mon Sep 11 16:55:06 1995 Torbjorn Granlund <tege@matematik.su.se>
-
- * m68k.md (cmpdi): Change patterns to allocate scratch register at
- RTL generation time.
- (tstdi): Likewise.
-
-Sun Sep 3 09:03:50 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (size_binop): Don't pass 1 to NOTRUNC.
-
-Thu Aug 31 19:27:00 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * libgcc2.c: Include longlong.h.
- [L_udivdi3 || L_divdi3 || L_umoddi3 || L_moddi3] (__udivmoddi4):
- Define this `static inline' when defining these, so they all
- remain leaf functions.
-
-Thu Aug 31 18:38:21 1995 Paul Eggert <eggert@twinsun.com>
-
- * c-parse.in (ends_in_label): New %union member.
- (stmts, stmt_or_label): Use new member to avoid lexical lookahead hack.
- (lineno_stmt_or_labels): New rule.
- (lineno_stmt_or_label, stmt_or_label): Yield nonzero if it ends
- in a label.
-
-Thu Aug 31 08:31:40 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cse.c (canon_hash, CONST_DOUBLE): Hash integer and real
- differently.
- * varasm.c (struct rtx_const): Add new field DI to union.
- (decode_rtx_const, case CONST_DOUBLE): Use to hash CONST_DOUBLE
- representing an integer.
-
- * va-alpha.h (__gnuc_va_list): Make __offset an int.
- * alpha.c (alpha_builtin_saveregs): Properly compute address
- of __offset both OSF and WINNT.
-
- * xm-alpha.h (sbrk): Don't define here.
- * gmon.c (sbrk): Define here for __alpha.
- * toplev.c (sbrk): Likewise.
- * mips-tfile.c (malloc, calloc, realloc): Don't define for anybody.
-
- * reload.c (push_reload): Add case for output reload of a SUBREG
- of a hard reg when output mode is invalid for that mode.
- In both that case and existing case for in, don't remove SUBREG.
- * reload1.c (emit_reload_insns): Emit RELOAD_OTHER output reloads last.
-
-Tue Aug 29 19:16:06 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-common.c (decl_attribute, case A_PACKED): Check is_type first.
- (decl_attribute, case A_T_UNION): Likewise.
- Don't access TYPE_FIELDS if DECL is zero.
- * c-decl.c (finish_struct): If transparent_union attribute
- specified, validate it once we finish laying the union out.
-
-Mon Aug 28 05:58:03 1995 Paul Eggert <eggert@twinsun.com>
-
- * arm.c (arm_gen_movstrqi): Remove unused variable const_sxteen.
-
- * bi-lexer.c (buffer, inpoint): Remove unused variables.
-
- * i370/mvs.h, i370/mvs370.c (mvs_label_emitted): Renamed
- from mvs_label_emited.
-
- * msdos/configur.bat: Fix misspelling of `maintainer-clean'.
-
-Sat Aug 26 06:57:17 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * reload.c (push_secondary_reload): If X is a paradoxical SUBREG,
- get mode and thing to reload from inside.
- * reload1.c (emit_reload_insns): Do nothing for SUBREG whose
- operand is unused subsequently.
- In secondary reload case, if paradoxical SUBREG for output, reload
- thing inside SUBREG, just like gen_reload.
-
-Fri Aug 25 19:26:53 1995 Paul Eggert <eggert@twinsun.com>
-
- * c-typeck.c (set_init_label): Don't die if an entire
- brace-pair level is superfluous in the containing level.
-
-Fri Aug 25 19:22:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * configure (powerpc{,le}-eabisim): Add support for a new target
- that works under the PSIM simulator.
- * rs6000/eabisim.h, rs6000/eabilesim.h, rs6000/t-eabisim: New files.
-
- * rs6000/eabi.h (STRICT_ALIGNMENT): If little endian, always set
- strict alignment to 1.
-
-Fri Aug 25 19:22:23 1995 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md ({add,sub,mulsi}di3): Support both endian possibilities.
- (negdi2): Likewise.
-
-Fri Aug 25 19:10:41 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de)
-
- * 1750a.md: Added peephole definitions for Load/Store Base insns
- and eliminating redundant load in an equivalent store/load sequence.
-
-Fri Aug 25 18:33:27 1995 Craig Burley (burley@gnu.ai.mit.edu)
-
- * toplev.c (report_error_function): Don't attempt to use input
- file stack to identify nesting of #include's if file name oflocation
- diagnosed is not same as input_filename.
-
-Fri Aug 25 07:31:47 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * integrate.c (output_inline_function): Switch to function obstack.
-
-Mon Aug 21 13:29:54 1995 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * i386.c (arithmetic_comparison_operator): New function.
- (print_operand): Take into account that overflow flag is not
- set the same as after a compare instruction.
- * i386.md (decrement_and_branch_until_zero): Use
- arithmetic_comparison_operator to decide if there is comparison
- suitable to be expressed by condition code from an arithmetic op.
-
-Mon Aug 21 13:26:13 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.md (adddi3, subdi3): "&" added to clobber's constraints.
-
-Mon Aug 21 12:11:14 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * t-sparclite (MULTILIB_*, LIBGCC, INSTALL_LIBGCC): Define.
-
- * sh.md (movdi-1, movdf-1): Make conditional on reload_completed,
- delete conditions checking for pseudo registers and Q addresses.
- Add code to handle SUBREG.
-
- * local-alloc.c (wipe_dead_reg): Make a register mentioned in a
- REG_INC note die after the instruction.
-
- * m68k.md: For all dbra pattern, change constraint from 'g' to 'd*g'.
-
- * Makefile.in: (underscore.c): Rename rule to stamp-under, and
- touch stamp-under at the end. Add new rule for underscore.c that
- depends on stamp-under.
-
- * sh.c (reg_unused_after): For a SEQUENCE, make sure all insns are
- safe before returning 1.
-
- * sh.h (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN): Define.
-
- * sh.c (output_stack_adjust): Add new argument reg. Use it instead
- of stack_pointer_rtx.
- (sh_expand_prologue, sh_expand_epilogue): Pass new argument to
- output_stack_adjust.
-
-Sat Aug 19 17:34:15 1995 Jim Wilson <wilson@phydeaux.cygnus.com>
-
- * sparc/gmon-sol2.c (_mcount): Define.
- * sparc/sol2.h (STARTFILE_SPEC, ENDFILE_SPEC): Delete superfluous
- -pg tests.
- (LINK_SPEC): Add libp directories to -Y when -pg.
-
- * unroll.c (calculate_giv_inc): Handle increment computed by ASHIFT.
-
-Sat Aug 19 17:28:56 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.md (subdi3): Should not be commutative.
- (one_cmpldi2): Fixed typo with register operand.
-
-Sat Aug 19 17:20:43 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (output_prolog): Fixup code to set stack pointer
- if stack size > 32k.
- * rs6000.md (sync_isync): Renamed from sync; added an isync insn
- after the sync to properly deal with PowerPC's with split I/D caches.
- * sysv4.h (INITIALIZE_TRAMPOLINE): Sync function now named sync_isync.
-
-Sat Aug 19 17:07:09 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * h8300.h (STATIC_CHAIN_REGNUM): Use r3.
- (REGISTER_NAMES): Print r7 as sp.
- (ADDITIONAL_REGISTER_NAMES): Recognize r7.
- (ASM_OUTPUT_ALIGN): Alignment is power of 2.
- * h8300.md (fancy_btst,fancy_btst1): Branch target must be
- operand 0 for length attribute to work.
-
-Sat Aug 19 16:43:11 1995 Paul Franklin <paul@cs.washington.edu>
-
- * assert.h: Declare __eprintf with attribute noreturn.
-
-Sat Aug 19 16:40:12 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * stddef.h: Don't define wchar_t if __cplusplus is defined.
-
-Tue Aug 15 18:01:01 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (warning_with_line): Fix typo in declaration when
- !HAVE_VPRINTF and defined (__STDC__).
-
-Tue Aug 15 17:57:54 1995 Stephen L Moshier <moshier@world.std.com>
-
- * real.c (ediv, emul): Set sign bit of IEEE -0.0 result.
-
-Tue Aug 15 17:49:47 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (safe_from_p): Only safe if EXP is variable-size and X
- is BLKmode.
-
- * stmt.c (fixup_gotos): When some fixups done, reset to point
- to next instead of zeroing TREE_VALUE, which may be shared.
-
-Mon Aug 14 09:15:45 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * m68k/m68kemb.h (STARTFILE_SPEC): Define as empty.
-
-Mon Aug 14 09:08:57 1995 Pat Rankin <rankin@eql.caltech.edu>
-
- * vax.c (vms_check_external): Update `pending_head' properly
- when the first list element is removed.
-
-Mon Aug 14 09:01:32 1995 Jeffrey A. Law <law@adder.cygnus.com>
-
- * pa.md (call expanders): Emit a blockage insn after restoring
- %r19 when generating PIC.
-
-Sun Aug 13 21:58:49 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * toplev.c (main): Change text of unsupported -g option warning.
-
-Sun Aug 13 21:47:57 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
-
- * objc/selector.c (sel_get_any_typed_uid): New function.
- * objc/objc-api.h (sel_get_any_typed_uid): Declare new function.
-
-Sun Aug 13 21:43:17 1995 John Carr <jfc@mit.edu>
-
- * c-typeck.c (c_expand_asm_operands): Check for read-only output
- operand where the variable is read-only but the type is not.
-
-Sun Aug 13 21:16:12 1995 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (direct_return): Epilogue required if CR saved.
-
-Sun Aug 13 19:09:25 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * configure (hppa1.?-hp-hpux10): Recognize and treat just like hpux9.
-
-Sun Aug 13 19:07:23 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * i960.md (movdi matchers): Fix src/dest order in unaligned
- reg->reg case.
-
-Sun Aug 13 18:49:01 1995 DJ Delorie <dj@delorie.com>
-
- * i386/xm-dos.h (HAVE_STRERROR): New definition.
-
- * msdos/configur.bat: Add missing carriage return.
-
-Sun Aug 13 18:40:55 1995 Andrew Cagney <cagney@highland.com.au>
-
- * Makefile.in (USER_H): Add va-ppc.h.
-
-Sun Aug 13 18:36:17 1995 M. Warner Losh <imp@village.org>
-
- * stmt.c (expand_asm_operands): Type '0'..'4' operands may
- allow regs, so move them to the default case.
-
-Sun Aug 13 18:32:35 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (warning_with_line): New function.
- (trigraph_pcp): Use it, to avoid reporting line number.
- (vwarning_with_line): Don't report line number if zero.
-
-Sun Aug 13 18:23:08 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * toplev.c (vmessage): Support four arguments.
-
-Sun Aug 13 18:19:51 1995 Michael Meissner <meissner@cygnus.com>
-
- * ginclude/stdarg.h: Add ppc svr4 calling sequence support.
- * ginclude/varargs.h: Likewise.
- * ginclude/va-ppc.h: New file.
-
-Sun Aug 13 18:05:20 1995 Michael Gschwind <mike@donoussa.vlsivie.tuwien.ac.at>
-
- * configure (pdp-*-*): Add support for t-pdp11.
- * t-pdp11: New file.
- * Makefile.in (LIBGCC2_CFLAGS): Add TARGET_LIBGCC2_CFLAGS.
-
-Sun Aug 13 14:50:58 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * final.c (final_start_function): Always call sdbout_begin_function
- and xcoffout_begin_function, even if no line number info.
-
- * mips/abi64.h (SETUP_INCOMING_VARARGS): In if statement, only
- subtract one for stdarg. Don't subtract PRETEND_SIZE from
- argument pointer when calculating stack address.
- * mips.h (INITIAL_ELIMINATION_OFFSET): For 64 bit ABI, subtract
- current_function_pretend_args_size when converting from argument
- pointer.
- * va-mips.h (va_start): For stdarg, delete separate define for
- 64 bit ABI. For varargs, don't subtract 64, and only add -8 when
- all argument registers are used.
-
- * gcc.c (main): When concat gcc_exec_prefix and
- standard_startfile_prefix, put machine_suffix in the middle.
-
- * iris6.h (INIT_SECTION_ASM_OP): Don't define.
- (LD_INIT_SWITCH, LD_FINI_SWITCH, HAS_INIT_SECTION): Don't undef.
- (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Ifdef out.
- * configure (mips-sgi-irix6, mips-sgi-irix5cross64): Define
- use_collect2 to yes.
-
- * combine.c (move_deaths): When have a multi-reg hard register,
- if don't find a note, then recur for each individual hard register.
-
- * cse.c (set_nonvarying_address_components): Handle addresses
- which are the sum of two constant pseudo regs.
- (cse_rtx_addr_varies_p): Likewise.
-
- * Makefile.in (gfloat.h): Add a - before the rm command.
-
- * loop.c (find_and_verify_loops): Set dest_loop only if
- JUMP_LABEL (insn) is non-zero.
-
-Mon Jul 31 14:31:53 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * fixincludes: Avoid clobbering VxWorks drv/netif/if_med.h file.
-
-Sat Jul 29 16:21:42 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * collect2.c: (XCOFF_SCAN_LIBS): Define if OBJECT_FORMAT_COFF and
- XCOFF_DEBUGGING_FORMAT.
- (SCAN_LIBRARIES): Also define if XCOFF_SCAN_LIBS.
-
-Sat Jul 29 16:19:42 1995 Stuart D. Gathman <stuart@bmsi.com>
-
- * collect2.c (scan_libraries): Implement for AIX.
-
-Sat Jul 29 09:59:33 1995 Michael Gschwind <mike@lanai.vlsivie.tuwien.ac.at>
-
- * configure: (pdp11-*-bsd) New target.
- * 2bsd.h: New file.
-
- * pdp11.c (output_move_double): Handle CONST_INT parameters properly.
- * pdp11.h (RTX_COSTS): Fill in missing default values.
- * pdp11.md (truncdfsf2, extendsfdf2, floatsidf2, fix_truncdfsi2):
- Allow register parameters, required by gcc to generate correct code.
- * xm-pdp11.h: Include tm.h.
-
-Sat Jul 29 09:55:17 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * configure (m68k-*-linux*aout*, m68k-*-linux*): New targets.
- * m68k/linux-aout.h, m68k/linux.h, m68k/t-linux, m68k/xm-linux.h: New.
- * m68k.md [USE_GAS]: Output `jbsr' instead of `jsr' for normal
- function calls and `bsr.l' instead of `bsr' for pic function calls.
-
-Sat Jul 29 09:44:13 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sh.h (CAN_DEBUG_WITHOUT_FP): Comment out.
-
- * reload.c (find_reloads_address_1, case PLUS): When handle SUBREG,
- add SUBREG_WORD offset to SUBREG_REG register number.
- (find_reloads_address_1, case SUBREG): If a pseudo register inside
- a SUBREG is larger than the class, then reload the entire SUBREG.
- * sh.h (SUBREG_OK_FOR_INDEX_P): New macro.
- (INDEX_REGISTER_RTX_P): Use it.
-
-Sat Jul 29 09:33:19 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * mips/netbsd.h (CPP_SPEC): Fix typo.
-
- * configure (a29k-*-vxworks*): Define extra_parts for crt{begin,end}.o.
- * t-a29k, t-a29kbase, t-vx29k ({,CROSS_}LIBGCC1): Define as empty.
-
-Sat Jul 29 09:15:17 1995 Jeffrey A. Law <law@rtl.cygnus.com>
-
- * pa/lib2funcs.asm (gcc_plt_call): Rewrite to avoid the need
- for being called by _sr4export. Inline expand $$dyncall to
- avoid the need for long-call and PIC support.
-
-Sat Jul 29 07:30:04 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de)
-
- * ms1750.inc (ucim.m, ucr.m, uc.m): New.
- * 1750a.md (cmpqi): Account for unsigned comparisons.
- (rotrqi3, rotrhi3): Reworked.
- * 1750a.c (notice_update_cc): INCM and DECM set condition codes.
- (unsigned_comparison_operator, next_cc_user_is_unsigned): New fcns.
- * 1750a.h (FUNCTION_EPILOGUE): Local variables freed from SP, not FP.
- (ASM_OUTPUT_BYTE): Make distinct from ASM_OUTPUT_CHAR.
- (ASM_OUTPUT_CONSTRUCTOR): Add FILE arg to assemble_name.
-
-Fri Jul 28 09:40:07 1995 Jeffrey A. Law <law@rtl.cygnus.com>
-
- * pa.h (DO_GLOBAL_DTORS_BODY): Use an asm statement to keep optimizer
- from deleting an assignment it believes dead.
-
-Fri Jul 28 08:47:51 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * unroll.c (unroll_loop): When preconditioning, output code to
- execute loop once if initial value is greater than or equal to final
- value.
-
- * configure (lang_specs_files, lang_options_files): Add $srcdir to
- file names when adding them to these variables.
-
- * c-typeck.c (pointer_int_sum): Don't distribute if intop is unsigned
- and not the same size as ptrop.
-
- * function.c (assign_stack_temp): When split a slot, set base_offset
- and full_size in the newly created slot.
- (combine_temp_slots): Update full_size when slots are combined.
-
- * sh.c (reg_unused_after): New function.
- * sh.md (define_peephole): Add peepholes to use r0+rN addressing mode
- for some address reloads.
-
- * final.c (final_start_function): If SDB_DEBUG, call
- sdbout_begin_function. If XCOFF_DEBUG, call xcoffout_begin_function
- instead of xcoffout_output_first_source_line.
- (final_scan_insn): Don't call sdbout_begin_function or
- xcoffout_begin_function.
- * xcoffout.c (xcoffout_output_first_source_line): Delete.
- (xcoffout_begin_function): Call dbxout_parms and
- ASM_OUTPUT_SOURCE_LINE.
-
- * va-mips.h: Change every occurance of #if __mips>=3 to
- #ifdef __mips64.
- * mips/abi64.h (CPP_SPEC): Output -D__mips64 when -mips3, or -mips4,
- or -mgp64. Output -U__mips64 when -mgp32.
- * mips/dec-bsd.h, mips/elf64.h, mips/iris3.h: Likewise.
- * mips/iris5.h, mips/mips.h, mips/netbsd.h, mips/osfrose.h: Likewise.
-
- * i960.c (i960_function_epilogue): Don't clear g14 for functions with
- an argument block.
- (i960_output_reg_insn): Likewise.
- (i960_output_call_insn): Clear g14 for functions wtih an argument
- block.
-
-Fri Jul 28 08:43:52 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * i960.c (i960_arg_size_and_align): Correct alignment of XFmode
- values in library calls.
- * i960.md (movdi matchers): Support odd numbered regs.
-
-Fri Jul 28 08:37:25 1995 Michael Gschwind <mike@lanai.vlsivie.tuwien.ac.at>
-
- * pdp11.md (divhi3, modhi3, divmodhi4): Rewrite.
-
-Wed Jul 26 10:15:52 1995 Hallvard B Furuseth (h.b.furuseth@usit.uio.no)
-
- * collect2.c (end_file): Fix typo in error message text.
-
-Wed Jul 26 09:22:22 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * xm-pa.h (USE_C_ALLOCA): Always define.
- * xm-pahpux.h (USE_C_ALLOCA): Likewise.
-
- * x-pa (CC): Remove useless definition.
- * xm-pa.h (HAVE_STRERROR): Define.
- (__BSD_NET2__): Define.
-
-Wed Jul 26 09:10:25 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * expr.c (preexpand_calls): Don't look past a CLEANUP_POINT_EXPR.
-
-Wed Jul 26 08:43:42 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * cse.c (cse_insn): When do special handling for (set REG0 REG1),
- must delete REG_EQUAL note from insn if it mentions REG0.
-
- * loop.c (find_and_verify_loops): When moving blocks of code, verify
- that the just destination is not in an inner nested loop.
- (mark_loop_jump): Don't mark label as loop exit if it jumps to
- an inner nested loop.
-
-Wed Jul 26 08:40:31 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (do_include, read_name_map): Omit leading "./" and
- trailing "/" when it makes sense.
- (skip_redundant_dir_prefix): New function.
-
-Wed Jul 26 08:36:41 1995 Michael Meissner <meissner@cygnus.com>
-
- * stmt.c (emit_nop): Do not emit a nop if there is a single
- insn before a label or at the start of a function.
-
-Wed Jul 26 08:21:21 1995 Doug Evans <dje@cygnus.com>
-
- * Makefile.in (gfloat.h): Delete previous copy before updating.
-
-Wed Jul 26 08:18:29 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Makefile.in (STAGESTUFF): Add stamp-crtS.
- (crtbeginS.o, crtendS.o, stamp-crtS): New rules; just like
- crtbegin.o et al, but compiled using -fPIC.
- * configure (*-*-gnu*): Add crtbeginS.o and crtendS.o to $extra_parts.
-
-Wed Jul 26 08:11:52 1995 Michael Gschwind <mike@java.vlsivie.tuwien.ac.at>
-
- * pdp11.md: Fixed typos ('bhos' -> 'bhis').
-
-Wed Jul 26 08:05:41 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * hp320.h, m68k.h, m68kv4.h (LEGITIMATE_PIC_OPERAND_P): Reject
- CONST_DOUBLE with MEM with invalid pic address.
- * reload1.c (real.h): Include it.
- * Makefile.in (reload1.o): Depends on real.h.
-
-Wed Jul 26 07:58:22 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * gcc.c (MULTILIB_DIRS): Provide default if not defined.
- (multilib_defaults): New static variable.
- (default_arg): New static function.
- (set_multilib_dir): Ignore default arguments.
- (print_multilib_info): Ignore entries which use default arguments.
-
-Tue Jul 25 10:06:09 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (allocate_stack): Don't copy the LR register to
- the new stack end.
- * rs6000.c (rs6000_stack_info): Correctly store the LR in
- the caller's frame, not the current frame, for V.4 calls.
- * rs6000/eabi.asm (_save*, _rest*): Provide all mandated V.4 save
- and restore functions, except for the save*_g functions which
- return the GOT address.
-
-Fri Jul 21 14:24:25 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/eabi.h (__eabi): Load up r13 to be the small data
- pointer, unless -mrelocatable.
-
- * rs6000/aix3newas.h (LINK_SPEC): Import machine independent
- functions if -mcpu=common.
- * rs6000/milli.exp: Import file referenced in aix3newas.h.
-
- * rs6000/eabi.asm (__eabi): Support for fixing up user initialized
- pointers when -mrelocatable is used.
- * rs6000/eabi.h (ASM_OUTPUT_INT): Record any pointers initialized
- by the user if -mrelocatable, to be fixed up by __eabi.
- (CONST_SECTION_ASM_OP): If -mrelocatable, put read-only stuff in .data,
- not .rodata, to allow user initialized pointers to be updated by __eabi.
-
- * rs6000.h (TARGET_SWITCHES): Add -mdebug-{stack,arg}.
- (TARGET_{ELF,NO_TOC,TOC}): Add defaults for non system V.
- (rs6000_stack): New structure to describe stack layout.
- (RS6000_{REG_SAVE,SAVE_AREA,VARARGS_*}): New macros used to
- support both AIX and V.4 calling sequences.
- (FP_ARG_*, GP_ARG_*): Ditto.
- (FP_SAVE_INLINE): Ditto.
- (STARTING_FRAME_OFFSET): Modify to support both AIX and V.4
- calling sequences.
- (FIRST_PARM_OFFSET): Ditto.
- (REG_PARM_STACK_SPACE): Ditto.
- (STACK_POINTER_OFFSET): Ditto.
- (FUNCTION_ARG_REGNO_P): Ditto.
- ({,INIT_}CUMULATIVE_ARGS): Ditto.
- (LEGITIMATE_LO_SUM_ADDRESS_P): Ditto.
- (FUNCTION_ARG{,_ADVANCE,PARTIAL_NREGS,PASS_BY_REFERENCE}): Ditto.
- (SETUP_INCOMING_VARARGS): Ditto.
- (EXPAND_BUILTIN_SAVEREGS): Ditto.
- (CAN_ELIMINATE): Ditto.
- (INITIAL_ELIMINATION_OFFSET): Ditto.
- (LEGITIMATE_CONSTANT_POOL_{BASE,ADDRESS}_P): Ditto.
- (GO_IF_{LEGITIMATE_ADDRESS,MODE_DEPENDENT_ADDRESS}): Ditto.
- (LEGITIMIZE_ADDRESS): Ditto.
- (CONST_COSTS): Ditto.
- (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Ditto.
- (ASM_OUTPUT_REG_{PUSH,POP}): Use reg_names to print registers.
- (function declarations): Add new rs6000.c function declarations,
- and delete decls of deleted functions.
- (SHIFT_COUNT_TRUNCATED): Parenthesize the expression.
-
- * rs6000.c (init_cumulative_args): New function to support AIX
- and V.4 calling sequences.
- (function_arg{,_advance,partial_nregs,pass_by_reference}): Ditto.
- (setup_incoming_varargs): Ditto.
- (expand_builtin_saveregs): Ditto.
- (rs6000_stack_info): Ditto.
- (debug_stack_info): Ditto.
- (direct_return): Changes to support AIX and V.4 calling sequences.
- (first_reg_to_save): Ditto.
- (svr4_traceback): Ditto.
- (output_{prolog,epilog}): Ditto.
- (print_operand): Use reg_names to print registers. Add support
- for V.4 HIGH/LO_SUM address modes.
- (must_save_cr): Function deleted, in rewrite of AIX/V.4 calling
- sequence support.
- (rs6000_sa_size): Ditto.
- (rs6000_pushes_stack): Ditto.
- (output_toc): Add abort if no toc.
-
- * rs6000.md (call insns): Add a new argument to flag a V.4
- function needs to set bit 6 of the CR.
- (elf_{low,high}): New V.4 functions to create addresses via HIGH
- and LO_SUM patterns.
- (movsi): Use elf_{low,high} if appropriate.
- (mov{si,di}_update): Name these patterns for allocate_stack.
- (allocate_stack): Support for V.4 stack layout.
- (sync): New pattern for V.4 trampolines to issue the sync
- instruction.
-
- * rs6000/sysv4.h (TARGET_SWTICHES): Add -mcall-{aix,sysv}, and
- -mprototype. Remove separate flag bit for -mno-toc.
- (SUBTARGET_OVERRIDE_OPTIONS): Don't test for -mno-toc.
- (FP_ARG_*): Adjust for V.4 calling sequences.
- (RS6000_*): Ditto.
- (FP_SAVE_INLINE): Ditto.
- (toc_section): Eliminate use of AIX style full TOC.
- (TRAMPOLINE_{TEMPLATE,SIZE}): Redefine for V.4 support.
- (INITIALIZE_TRAMPOLINE): Ditto.
-
- * rs6000/eabi.h (CPP_SPEC): Define _CALL_SYSV or _CALL_AIX,
- depending on whether -mcall-sysv or -mcall-aix was used.
- * rs6000/eabile.h (CPP_SPEC): Ditto.
- * rs6000/sysv4le.h (CPP_SPEC): Ditto.
-
- * rs6000/t-eabigas (MULTILIB_{OPTIONS,DIRNAMES}): Delete no-toc
- libraries, explicit big endian libraries.
- * rs6000/t-ppcgas (MULTILIB_{OPTIONS,DIRNAMES}): Ditto.
-
- * rs6000/t-eabiaix: New file for eabi, using -mcall-aix as the
- default.
- * rs6000/eabiaix.h: Ditto.
-
- * rs6000/t-eabilegas: New file for eabi on little endian systems.
- * rs6000/t-ppclegas: New file for V.4 on little endian systems.
-
- * rs6000/t-rs6000 (MULTILIB_{OPTIONS,DIRNAMES}): Build libgcc.a
- for -mcpu=common.
-
- * configure (powerpc-*-eabiaix): New configuration for defaulting
- to old-style AIX calling sequence.
- (powerpcle*): Use new t-{eabi,ppc}legas files, to avoid building
- explicit little endian multilib libraries.
-
-Fri Jul 21 13:23:06 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * toplev.c (main): Don't define sbrk #ifdef __alpha__.
-
-Tue Jul 18 19:23:44 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (do_include): Prefix -H output lines with spaces, not dots.
- (output_dots): Remove.
-
- * cccp.c (main): cplusplus_comments now defaults to 1.
- But clear it if -traditional or the new option -lang-c89 is given.
- * gcc.c (default_compilers, cpp): Specify -lang-c89 if -ansi is given.
- This turns off C++ comment recognition.
-
-Tue Jul 18 19:16:38 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * va-sparc.h (va_arg): Add support for 128 bit long double type.
-
-Tue Jul 18 19:11:18 1995 Jorn Rennecke (amylaar@meolyon.hanse.de)
-
- * c-common.c (decl_attributes, case A_ALIGNED): Handle is_type
- case properly.
-
-Tue Jul 18 19:03:02 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (fold, case CONVERT_EXPR): Don't merge conversions
- if outer is to handle a type with differing precision.
-
-Mon Jul 17 14:37:35 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * vax/vms.h (HAVE_ATEXIT): Define.
- (DO_GLOBAL_CTORS_BODY): Don't call atexit; let __do_global_ctors do it.
- * vax/xm-vms.h (HAVE_VPRINTF): Define.
-
-Mon Jul 17 06:41:19 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-typeck.c ({unsigned,signed}_type): Handle intXX_type_node types.
-
- * xm-alpha.h (sbrk): Add declaration.
-
- * convert.c (convert_to_integer): If TYPE is a enumeral type or
- if its precision is not the same as the size of its mode,
- convert in two steps.
-
- * m68k.md (tstdi, cmpdi): Use match_scratch, not match_operand.
-
-Fri Jul 14 19:23:42 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-decl.c (field_decl_cmp): Rewritten to make sure that a null
- name always sorts low against other names.
- * c-typeck.c (lookup_field): Change name comparison to match what
- field_decl_cmp does.
-
-Fri Jul 14 18:46:24 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (movsi): Convert a CONST_DOUBLE into a CONST_INT of
- the low part.
-
-Fri Jul 14 18:30:52 1995 Doug Evans <dje@cygnus.com>
-
- * toplev.c (main): Reword dwarf/c++/-g warning.
-
-Fri Jul 14 18:19:34 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.h (NO_DEFER_POP): Remove last change.
- * expr.c (stor_expr): Force stack adjust before NO_DEFER_POP.
- (expand_expr, case COND_EXPR): Likewise.
- * stmt.c (expand_start_stmt_expr): Likewise.
-
-Fri Jul 14 07:58:35 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * function.c (struct temp_slot): New fields base_offset, full_size.
- (assign_stack_temp): For !FRAME_GROWS_DOWNWARD, set p->size to size.
- Set new fields base_offset and full_size.
- (combine_temp_slots): Use new fields base_offset and full_size instead
- of slot and size.
-
- * loop.c (loop_number_exit_count): New global variable.
- (loop_optimize): Allocate space for it.
- (find_and_verify_loops, mark_loop_jump): Set it.
- (strength_reduce, check_dbra_loop): Use loop_number_exit_count
- instead of loop_number_exit_labels.
- * loop.h (loop_number_exit_count): Declare it.
- * unroll.c (find_splittable_{regs,givs}, final_[bg]iv_value): Use
- loop_number_exit_count instead of loop_number_exit_labels.
- (reg_dead_after_loop): Check loop_number_exit_count, and fail
- if the count doesn't match loop_number_exit_labels.
-
- * cse.c (cse_insn): Ifdef out code that pre-truncates src_folded.
-
- * sparc.md (sethi_di_sp64): Return null string at end.
-
- * function.h (struct function): Add stdarg field.
- * function.c (current_function_stdarg): New global variable.
- (push_function_context_to): Save it.
- (pop_function_context_from): Restore it.
- (assign_parms): Set it.
- (init_function_start): Clear it.
- * output.h (current_function_stdarg): Declare it.
- * i960.md: Modify all patterns which handle stores to memory to also
- check current_function_varargs and current_function_stdarg.
-
- * reorg.c (fill_simple_delay_slots): When trying to take instruction
- from after the branch, don't continue past target label. Local
- variables passed_label and target_uses are no longer necessary.
-
-Thu Jul 13 19:30:04 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * pa.c (output_bb): Fix error in long backwards branch with
- nullified delay slot.
-
-Thu Jul 13 19:26:13 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * expmed.c (SHIFT_COUNT_TRUNCATED): Use #ifdef not #if.
-
-Mon Jul 10 20:16:44 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (rescan): Don't address outside of array when
- preprocessing C++ comments.
-
-Mon Jul 10 20:05:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (expand_block_move): Remove #if 0 conditionals
- against using larger block moves.
-
- * t-rs6000 (EXTRA_PARTS): Copy milli.exp to release dir.
- (milli.exp): Copy to build dir from machine dependend dir.
-
-Mon Jul 10 20:03:29 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm.md (matcher for (shiftable_op (cond-exp) (reg))): If
- shiftable_op is minus, then subtract from zero when cond fails.
-
-Mon Jul 10 19:58:26 1995 John F. Carr <jfc@mit.edu>
-
- * sparc.h (SELECT_SECTION): Use TREE_CODE_CLASS instead of directly
- referencing tree_code_type.
-
-Mon Jul 10 19:54:31 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * protoize.c (reverse_def_dec_list): Delete const qualifiers from
- local variables, and delete casts which were casting away const.
-
-Mon Jul 10 19:14:39 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-lang.c (finish_file): Add missing parm to start_function call.
-
- * jump.c (jump_optimize): Pass outer_code arg to rtx_cost.
-
- * varasm.c (assemble_name, bc_assemble_integer): Call
- bc_emit_labelref with proper args.
-
- * function.c (setjmp_args_warning): Remove bogus arg.
-
-Mon Jul 10 18:20:54 1995 Fergus Henderson (fjh@cs.mu.oz.au)
-
- * gcc.c (p{fatal,error}_with_name, perror_exec): Quote filename.
-
-Mon Jul 10 18:12:51 1995 Gran Uddeborg (uddeborg@carmen.se)
-
- * i386/iscdbx.h (STARTFILE_SPEC): Handle -Xp.
-
-Wed Jul 5 02:42:17 1995 Per Bothner (bothner@spiff.gnu.ai.mit.edu)
-
- * cpphash.h (enum node_type): Remove unneeded and non-standard
- forward declaration.
-
-Sat Jul 1 20:15:39 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * mips/t-mips, mips/t-mips-gas (MULTILIB_*, LIBGCC, INSTALL_LIBGCC):
- Delete.
-
- * sparc/sol2.h (LINK_SPEC): Revert March 16 change. Do not add -R
- for each -L.
-
- * collect2.c (libcompare): Verify that file name extensions are valid.
- Put files with invalid extensions last in the sort.
-
- * integrate.c (integrate_decl_tree): Set DECL_ABTRACT_ORIGIN before
- pushdecl call for local variables.
-
-Sat Jul 1 08:13:38 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * cpplib.c (output_line_command): If not emitting #line directives
- delay returning until after adjust_position has been called.
-
- * arm.md (mov{si,sf,df}cc): Call gen_compare_reg to generate
- the condition code register.
-
-Sat Jul 1 06:55:09 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (decode_field_reference): New parm PAND_MASK.
- (unextend): New parm MASK.
- (fold_truthop): Pass new parms to decode_field_reference and unextend.
-
- * va-alpha.h (__va_tsize): Use __extension__ to avoid warning
- on use of `long long'.
-
- * expr.h (NO_DEFER_POP): Do any pending stack adjusts.
-
- * recog.c (register_operand): Disallow subreg of reg not allowed to
- change size.
-
-Thu Jun 29 05:51:57 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * pa.md (reload addsi3): New pattern to avoid reload lossage
- with register eliminations.
-
- * pa.c (output_cbranch): When checking for a jump to the given
- insn's delay slot, handle the case where JUMP_LABEL for the
- given insn does not point to the first label in a series of
- labels.
- (output_bb, output_dbra, output_movb): Likewise.
-
-Wed Jun 28 18:04:56 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * pa.h (PIC_OFFEST_TABLE_REGNUM_SAVED): Define to %r4.
- (CONDITIONAL_REGISTER_USAGE): Make it fixed when compiling
- PIC code.
- (INIT_EXPANDERS): Delete.
- * pa.c (hppa_save_pic_table_rtx): Delete variable.
- (hppa_expand_prologue): For PIC generation, copy the PIC
- register into a fixed callee register at the end of the
- prologue of non-leaf functions.
- * pa.md (call expanders): Reload the PIC register from the
- fixed callee saved register. Don't try to save the PIC
- register before the call.
-
-Wed Jun 28 18:01:14 1995 Stan Cox (coxs@dg-rtp.dg.com)
-
- * m88k/dguxbcs.h (ASM_SPEC): Removed -h flag.
- * m88k/dgux.h (ASM_SPEC): Likewise.
-
-Wed Jun 28 17:01:58 1995 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (processor_target_table): Remove CPU name synonyms.
- * rs6000.h (CPP_SPEC): Likewise.
- * rs6000/sysv4.h (CPP_SPEC): Likewise.
- (ASM_SPEC): Likewise.
- * rs6000/sysv4le.h (CPP_SPEC): Likewise.
- * rs6000/eabile.h (CPP_SPEC): Likewise.
- * rs6000/powerpc.h (CPP_SPEC): Likewise.
- (ASM_SPEC): Set assembler target according to compiler target.
- * rs6000/aix3newas.h (CPP_SPEC): Likewise.
- (ASM_SPEC): Likewise.
- * rs6000/aix41.h (CPP_SPEC): Likewise.
- (ASM_SPEC): Likewise.
-
-Wed Jun 28 16:25:53 1995 Gran Uddeborg (uddeborg@carmen.se)
-
- * i386/x-isc3 (INSTALL_HEADERS_DIR): Delete; done by configure.
-
-Wed Jun 28 16:10:47 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * xm-rs6000.h (alloca): Extern decl added for non-GNU compiler.
-
-Wed Jun 28 11:31:30 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cpplib.c (progname): Remove definition from here.
-
- * final.c (final_scan_insn): Fix error in last change.
-
- * rtlanal.c (reg_set_p_1): Now static; add extra parm.
-
- * stmt.c: Delete redundant forward decls.
- (expand_anon_union_decl): Correctly call expand_decl.
-
- * toplev.c (strip_off_ending): Strip off any ending; don't
- pretend we know what valid endings are.
-
- * svr4.h (ASM_OUTPUT_SECTION_NAME): Don't crash if DECL is null.
-
- * rs6000.md ({load,store}_multiple): Don't use indirect_operand
- in define_insn; use explicit MEM of register_operand instead.
-
-Tue Jun 27 11:42:56 1995 Stephen L Moshier <moshier@world.std.com>
-
- * i386/i386.c (print_operand, case `J'): Use jns for GE and js for
- LT.
-
-Tue Jun 27 07:58:55 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * expr.c (expand_expr, TARGET_EXPR): Only use original_target
- if !ignore.
-
-Tue Jun 27 07:27:26 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (fold_truthop): Commute unextend and convert on
- l_const and r_const.
-
- * c-common.c (decl_attributes, case A_CONSTRUCTOR, A_DESTRUCTOR):
- Set TREE_USED.
-
- * final.c (final_scan_insn): Don't call alter_cond unless
- condition is on cc0.
-
- * stmt.c (expand_asm_operands): Handle input operands that may not
- be in a register.
-
-Mon Jun 26 19:23:05 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm/lib1funcs.asm (L_dvmd_tls): Renamed from L_divmodsi_tools.
- * arm/t-semi (LIB1ASMFUNCS): Rename _dvmd_tls from _divmodsi_tools.
-
-Mon Jun 26 19:18:06 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * unroll.c (find_splittable_regs): When completely unrolling loop,
- check for non-invariant initial biv values.
-
-Mon Jun 26 19:13:54 1995 Gran Uddeborg <uddeborg@carmen.se>
-
- * configure (i[345]86-*-isc*): Fix misspelled "rfile" to "ifile".
-
-Mon Jun 26 18:58:22 1995 Mike Stump <mrs@cygnus.com>
-
- * expr.c (expand_expr, case COND_EXPR): Protect the condition from
- being evaluated more than once.
- (do_jump, case TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR): Likewise.
-
-Mon Jun 26 18:52:36 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * fixincludes (string.h): Fix return value for mem{ccpy,chr,cpy,set}
- and str{len,spn,cspn} on sysV68.
-
-Mon Jun 26 06:54:50 1995 Michael Meissner (meissner@cygnus.com)
-
- * i386/osfrose.h (LONG_DOUBLE_TYPE_SIZE): Go back to making long
- double == double.
-
-Thu Jun 22 19:14:41 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * make-cc1.com (if DO_LINK): Skip c-parse.* processing when
- only relinking.
- (gas_message): Update to reflect current version, and give
- a different message if/when no version of gas is found.xo
-
-Thu Jun 22 18:52:37 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm/lib1funcs.asm (___modsi3): Correctly set SIGN register for
- modulo involving negative numbers.
-
-Thu Jun 22 18:32:27 1995 Uwe Seimet (seimet@chemie.uni-kl.de)
-
- * xm-atari.h (HZ): Now 100 and don't define if already defined.
-
-Thu Jun 22 18:26:12 1995 Jeffrey A Law (law@snake.cs.utah.edu)
-
- * calls.c (expand_call): Correctly handle returning BLKmode
- structures in registers when the size of the structure is not
- a multiple of word_size.
- * stmt.c (expand_return): Likewise.
-
- * pa-gux7.h (LIB_SPEC): Undefine before redefining.
- * pa-hpux.h (LIB_SPEC): Likewise.
- * pa-hpux7.h (LIB_SPEC): Likewise.
-
- * genmultilib: Work around hpux8 /bin/sh case bug.
-
- * pa.h (LIB_SPEC): Define to avoid -lg.
-
-Thu Jun 22 18:19:09 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * expr.c (expand_expr, TARGET_EXPR): Use original_target.
-
- * collect2.c (locatelib): Fix parsing of LD_LIBRARY_PATH.
-
-Thu Jun 22 18:15:54 1995 Paul Eggert <eggert@twinsun.com>
-
- * configure: Create an empty Makefile.sed first, to work
- around a Nextstep 3.3 bug.
-
-Thu Jun 22 18:03:44 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * Makefile.in (STAGESTUFF): Add stamp-crt.
- (crtbegin.o, crtend.o): Now depend on stamp-crt.
- (stamp-crt): New rule, to actually build crt{begin,end}.o.
-
- * collect2.c (main): Unlink export_file before we return.
-
-Thu Jun 22 14:25:56 1995 Michael Meissner (meissner@cygnus.com)
-
- * rs6000.h (STRIP_NAME_ENCODING): Store NAME and strlen(NAME) into
- local variables; cast result of alloca to avoid compiler warnings.
-
-Tue Jun 20 18:25:29 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * alpha/config-nt.sed, i386/config-nt.sed: Edit to add
- a missing $(exeext) for CCCP.
-
-Tue Jun 20 18:18:00 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * protoize.c (default_include): Use name and two ints to be
- compatible with definition of INCLUDE_DEFAULTS.
-
-Mon Jun 19 19:24:29 1995 Ted Lemon <mellon@toccata.fugue.com>
-
- * mips/netbsd.h (ASM_DECLARE_FUNCTION_NAME): Don't emit function label.
-
-Mon Jun 19 18:34:55 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * fixincludes: Don't define wchar_t under C++.
-
-Mon Jun 19 17:12:41 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (collect_expansion): Work around enum bug in vax
- ultrix 4.3 pcc.
- * tree.c (simple_cst_equal): Likewise.
-
-Mon Jun 19 16:53:00 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * winnt/spawnv.c: New file.
-
-Mon Jun 19 16:30:29 1995 Glenn Brown <glenn@mars.myri.com>
-
- * caller-save.c (save_call_clobbered_regs): If AUTO_INC_DEC, mark
- register indicated by REG_INC notes as live so they will be saved.
-
-Mon Jun 19 16:21:12 1995 Jeffrey A Law (law@snake.cs.utah.edu)
-
- * pa.h (PRINT_OPERAND_ADDRESS, case LOW_SUM): Fix logic bug
- in last change.
-
-Mon Jun 19 14:11:49 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * integrate.c (integrate_decl_tree): Only set DECL_ABSTRACT_ORIGIN
- if the decl returned by pushdecl is the one we started with.
-
- * mips.h (current_function_name): Delete declaration.
- (ASM_DECLARE_FUNCTION_NAME): Don't set current_function_name.
- * gnu.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
- * mips.c (current_function_decl): Delete declaration.
- (function_prologue): New variable fnname. Use it instead of
- current_function_name.
- (function_epilogue): Likewise.
-
-Mon Jun 19 13:13:15 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha.h (ASM_OUTPUT_ASCII): Always reset line count when
- starting new line.
-
- * scan-decls.c (scan_decls): Fix typo when resetting PREV_ID_START.
-
- * i386/config-nt.sed, alpha/config-nt.sed: Change version to 2.7.1.
-
-Mon Jun 19 13:06:14 1995 DJ Delorie (dj@delorie.com)
-
- * msdos/top.sed: Support new build variables.
- * msdos/configur.bat: Make options.h and specs.h.
- Change realclean to maintainer-clean.
-
-Fri Jun 16 06:54:03 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * Version 2.7.0 Released.
-
- * obstack.c: Always enable this code for now.
-
- * alpha.c (alpha_builtin_saveregs): Use ptr_mode and conversions
- when need so works for both OSF and NT.
- * va-alpha.h (__va_tsize): Round to long long not long.
-
-Thu Jun 15 17:54:52 1995 Bdale Garbee <bdale@gag.com>
-
- * configure (a29k-*-coff): Synonym for a29k-*-udi.
-
-Thu Jun 15 17:51:21 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * function.c (assign_parms): Do all conversions in CONVERSION_INSNS.
-
-Thu Jun 15 17:36:49 1995 Michael Meissner <meissner@cygnus.com>
-
- * reg-stack.c (record_reg_life): Call record_reg_life_pat with 0
- for douse argument so that USE's created to mark variables within
- blocks don't get marked as set.
-
-Thu Jun 15 06:28:15 1995 Dennis Glatting (dennisg@CyberSAFE.COM)
-
- * configure: Change one sed command to work around m68k-next bug.
-
-Wed Jun 14 22:14:39 1995 Jason Merrill <jason@deneb.cygnus.com>
-
- * collect2.c (main): Don't turn off auto_export because of -g.
- (main): Ignore the argument to -o.
-
- * alpha.h (LINK_SPEC): Don't pass -init __main anymore.
- * alpha/osf12.h (LINK_SPEC): Ditto.
- * mips/iris5.h (LINK_SPEC): Ditto.
-
- * collect2.c (main): Place o_file after an initial .o (like crt0.o).
- If we have LD_INIT_SWITCH, use init and fini functions for
- executables, too. Specify the unique function names.
- (write_c_file_stat): Fix the case of destructors but no constructors.
- Don't include the generic-named functions for executables.
- (write_c_file): If we have LD_INIT_SWITCH, always use
- write_c_file_stat.
-
- * collect2.c (main): Also add _GLOBAL__D? to export list.
-
- * ginclude/iso646.h: Do nothing if compiled as C++.
-
-Wed Jun 14 17:39:10 1995 Roland McGrath (roland@gnu.ai.mit.edu)
-
- * c-common.c (format_char_info, case 'm'): Set type to void.
- (check_format_info): If type is void, ignore operand.
-
-Wed Jun 14 17:04:10 1995 Paul F. Kunz (Paul_Kunz@SLAC.Stanford.EDU)
-
- * expr.c (expand_builtin_apply_args): Put back original
- register save and restore order.
-
-Wed Jun 14 16:56:22 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/eabi.h (INVOKE__main): Define, so __eabi is called after
- main's arguments are saved.
-
- * rs6000.c (output_prolog): Don't call __eabi here, let
- compiler call it after the arguments to main are saved.
- (output_{prolog,epilog}): Don't use functions under V.4 to save
- and restore floating point registers.
-
-Wed Jun 14 16:52:12 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k/mot3300.h (PCC_BITFIELD_TYPE_MATTERS): Defined.
-
-Wed Jun 14 16:48:53 1995 Jerry Frain (jerry@tivoli.com)
-
- * Makefile.in (stage[1-4]): Correctly link `as', `ld', and `collect2'.
-
-Wed Jun 14 05:52:04 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * objc-act.c (hack_method_prototype): Set DECL_CONTEXT of parms.
-
- * expmed.c (emit_store_flag): Always set LAST.
-
- * c-decl.c (start_function): New parameter for attributes.
- * c-tree.h (start_function): Likewise.
- * c-lang.c (finish_file): Pass extra parm to start_function.
- * objc-act.c (build_module_descriptor, really_start_method): Likewise.
- * c-parse.in (fndef, nested_function, notype_nested_function):
- Likewise.
-
- * function.c (assign_parms): Use convert_to_mode instead of
- gen_lowpart when converting incoming parm.
-
-Tue Jun 13 19:10:32 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * rs6000.md (decrement_and_branch): Finish last fix; update matching
- constraint.
-
-Tue Jun 13 18:32:51 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * fold-const.c (fold): When converting a COND_EXPR to an ABS_EXPR,
- get the types right for ABS_EXPR to work.
-
-Mon Jun 12 17:09:55 1995 Michael Tiemann (tiemann@axon.cygnus.com)
-
- * reorg.c (fill_simple_delay_slots): Set MAYBE_NEVER according to
- code of TRIAL_DELAY, not TRIAL.
-
-Mon Jun 12 15:02:37 1995 Doug Evans <dje@cygnus.com>
-
- * configure: Restore code to make ld symlink if ! use_collect2.
-
- * gcc.c (link_command_spec): Undo patch of May 11.
- -nostdlib implies -nostartfiles again.
- * dsp16xx.h (CROSS_LINK_SPEC): Likewise.
- * i386/freebsd.h (LINK_SPEC): Undo patch of May 24.
- Don't pass "-e start" if nostdlib.
- * i386/sun.h (LINK_SPEC): Likewise.
- * m68k/sun2o4.h (LINK_SPEC): Likewise.
- * m68k/sun3.h (LINK_SPEC): Likewise.
- * m68k/vxm68k.h (LINK_SPEC): Likewise.
- * mips/netbsd.h (LINK_SPEC): Likewise.
- * config/netbsd.h (LINK_SPEC): Likewise.
- * rs6000/mach.h (LINK_SPEC): Likewise.
- * sparc.h (LINK_SPEC): Likewise.
- * sparc/vxsparc.h (LINK_SPEC): Likewise.
-
- * gcc.c (link_command_spec): New argument -nodefaultlibs.
-
-Sun Jun 11 20:47:53 1995 Stephen L Moshier (moshier@world.std.com)
-
- * Makefile.in (fix-header.o): Depends on xsys-protos.h.
-
-Sun Jun 11 15:07:58 1995 Tim Carver (timc@ibeam.intel.com)
-
- * reload1.c (emit_reload_insns): Don't call HARD_REGNO_NREGS
- on psuedo when clearing reg_last_reload_reg.
-
-Sun Jun 11 14:07:05 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.md ({add,sub}di{_mem,3}): Patterns merged.
-
-Sun Jun 11 13:43:26 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * m68k.md (cmpdi matcher): Set cc_status before returning.
-
- * config/xm-freebsd.h (DONT_DECLARE_SYS_SIGLIST): Define.
-
-Sun Jun 11 13:38:49 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * fixincludes (math.h): Keep declaration of abs on HPUX.
-
-Sun Jun 11 12:31:42 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * stor-layout.c (variable_size): Do nothing if SIZE is constant.
-
- * stmt.c (expand_asm_operands): See if output operand permits
- register. If not, mark output addressable, call expand_operand
- on it, and give error if not MEM.
-
- * function.c (assign_parms): Handle promotions of both
- passed and nominal modes separately and insert needed conversions.
- (promoted_input_arg): Return 0 if nominal and passed modes differ.
-
- * stmt.c (all_cases_count, case INTEGER_TYPE): Fix typo in checking
- for integer bounds.
-
-Sat Jun 10 08:55:25 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * libgcc2.c (_floatdidf): Correctly set float sizes.
-
- * c-decl.c (c_decode_option, case "-Wall"): Don't set extra_warnings.
-
- * Makefile.in (cpplib.o, fix-header.o): Update dependencies.
- (cpperror.o, cppexp.o, cpphash.o): New rules, to show .h dependencies.
-
-Fri Jun 9 18:06:10 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * cse.c (cse_basic_block): Fix test for whether block ends with a
- barrier. Return next insn, not 0, if block ends in a barrier.
-
-Fri Jun 9 17:58:29 1995 Paul Eggert <eggert@twinsun.com>
-
- * fold-const.c (lshift_double): Replace `&' with `%' to fix typo.
- ([lr]shift_double): Truncate shift count only if SHIFT_COUNT_TRUNCATED.
- Remove unnecessary `count >= prec' test.
-
- * cexp.y (left_shift): Ignore integer overflow.
-
- * cexp.y (skip_evaluation): New variable.
- (&&, ||, ?:): Increment it in unevaluated subexpressions.
- (/, %, integer_overflow): Suppress diagnostics if skip_evaluation != 0.
- (yyerror): Clear skip_evaluation.
-
-Fri Jun 9 17:49:05 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * m68k.md (tstdi): Rewrite.
-
-Fri Jun 9 17:28:55 1995 Per Bothner <bothner@cygnus.com>
-
- * scan-decls.c (scan_decls): Handle declarations with
- multiple comma-separated declarators.
-
-Thu Jun 8 19:16:12 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm.md (mov[sd]f expands): Don't allow fp constants in pseudos
- when TARGET_SOFT_FLOAT.
-
-Thu Jun 8 19:11:43 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * expmed.c (store_split_bit_field): When adjust arg in
- BYTES_BIT_ENDIAN case, use number of bits in arg for MEM operands
- and BITS_PER_WORD for other operands.
- (extract_fixed_bit_field): Undo last change.
-
- * unroll.c (verify_addresses): New function.
- (find_splittable_givs): Use it instead of memory_address_p.
-
-Thu Jun 8 18:58:18 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * expmed.c (expand_divmod): Always check result of emit_store_flag.
-
-Thu Jun 8 12:02:34 1995 David D Zuhn (zoo@armadillo.com)
-
- * cpplib.c (cpp_push_buffer): Include filename in error message.
-
-Thu Jun 8 11:53:45 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * function.c (assign_parms): Don't call promote_mode on arg
- unless PROMOTE_FUNCTION_ARGS defined.
-
- * rs6000.md (decrement_and_branch): Ensure label is operand 0.
-
- * rs6000.md (aux_truncdfsf2): New pattern.
- (movsf): Use it instead of invalid SUBREG and truncdfsf2.
-
- * varasm.c (assemble_name): Disable warn_id_clash around
- get_identifier call.
-
-Wed Jun 7 17:22:25 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * configure (gdb_needs_out_file_path): New variable.
- (m68k-motorola-sysv): Set gdb_needs_out_file_path if not using gas.
- (.gdbinit): If gdb_needs_out_file_path is set, add a 'dir' command
- for $(out_file).
-
-Wed Jun 7 17:17:19 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * fold-const.c (fold): When folding `<' type nodes, make true_value
- and false_value have correct types.
-
-Wed Jun 7 05:06:42 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * collect2.c (COFF scan_prog_file): Use the AIX duplicate entry.
-
-Tue Jun 6 18:43:09 1995 Jeffrey A Law (law@snake.cs.utah.edu)
-
- * pa.h (FUNCTION_ARG_CALLEE_COPIES): Define.
-
-Tue Jun 6 18:21:18 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (expand_expr, case PLACEHOLDER_EXPR): Consider two types
- identical if their TYPE_MAIN_VARIANTs are the same.
-
- * c-decl.c (start_decl): Set DECL_COMMON before calling
- decl_attributes.
-
- * a29k.c (print_operands): Cast args to bcopy to char *.
-
- * c-decl.c (duplicate_decls): Don't clear DECL_CONTEXT of
- new decl if it is a function.
-
-Tue Jun 6 17:57:44 1995 Eberhard Mattes (mattes@azu.informatik.uni-stuttgart.de)
-
- * gcc.c (do_spec_1, case 'g'): Handle %O as suffix if MKTEMP_EACH_FILE.
-
-Tue Jun 6 17:53:05 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (expand_block_move): Update source and destination pointers
- inside the loop moving the bytes, not outside.
-
-Tue Jun 6 14:58:37 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.h (CONDITIONAL_REGISTER_USAGE): Don't mark pic reg as fixed.
- * m68k.c (finalize_pic): Emit USE insn at start and end of function.
-
-Tue Jun 6 13:46:57 1995 Jim Wilson <wilson@mole.gnu.ai.mit.edu>
-
- * sh.c (print_operand): Check for annulled branches.
- (output_movedouble): Handle SUBREG addresses.
- (output_branch): Handle annulled branches.
- (sh_expand_prologue): Correct number of saved registers for
- varargs functions.
- * sh.h: Add some comments.
- * sh.md: Add some comments. Cleanup formatting.
- (type attribute): Add pstore and call.
- (return define_delay): Reorganize to make clearer.
- (call/sfunc define_delay): Define.
- (cbranch define_delay): Define to have annul-true delay slot.
- (subsi3): Use arith_reg_operand for operand 2.
- (shift patterns): Use const_int_operand instead of immediate_operand
- for shift counts.
- (push): Add pstore constraint case.
- (movsi_i): Move t/z constraint pair to the front of the list.
- (calli, call_valuei): Add "call" attribute.
-
-Mon Jun 5 19:23:13 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sched.c (attach_deaths): In last change, use find_reg_note instead
- of find_regno_note.
-
-Mon Jun 5 19:17:31 1995 Tom Quiggle (quiggle@lovelace.engr.sgi.com)
-
- * mips/iris5.h (MACHINE_TYPE): Say "IRIX 5.x", not "5.0".
- (NO_DOLLAR_IN_LABEL): Undefine.
- * mips.h (sdb_begin_function_line): New declaration.
- (PUT_SDB_FUNCTION_END): New definition.
-
-Mon Jun 5 18:56:10 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (expand_block_move): Don't do block moves where we clobber
- fixed numbers of regs, instead move just 1-8 bytes at a time.
-
- * Makefile.in (STAGESTUFF): Copy files produced by -da and
- -save-temps to the stage subdirectories.
-
-Mon Jun 5 08:18:46 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * combine.c (reg_dead_at_p): When scanning backwards, stop at BARRIER.
-
- * m68k.c (print_operand): Handle 'R' for registers.
- * m68k.md (cmpdi): Rewrite to avoid bogus matching constraints.
-
- * optabs.c (expand_binop): In last change, don't defererence TARGET
- if it is 0.
-
- * pa.md (movsicc): Use MATCH_DUP for operand 4 and 5.
-
-Mon Jun 5 08:14:56 1995 Jeffrey A Law (law@cs.utah.edu)
-
- * pa.c (hppa_encode_label): Allocate stuff on permanent_obstack
- rather than via malloc.
-
- * c-common.c (decl_attributes): Fix typo in size passed to alloca.
-
-Mon Jun 5 08:10:55 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.md: Use "some_operand" for patterns valid only during
- reload and meant to handle adding more PLUS operators during
- register elimination.
-
-Mon Jun 5 07:31:53 1995 Stephen L Moshier (moshier@world.std.com)
-
- * cse.c (simplify_unary_operation, case FLOAT, UNSIGNED_FLOAT):
- Truncate to requested mode.
-
-Sat Jun 3 22:08:51 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sched.c (attach_deaths): Don't add a REG_DEAD note if a REG_UNUSED
- note is already present.
-
-Sat Jun 3 18:36:57 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * pa.h (hppa_builtin_saveregs): Add declaration.
-
-Sat Jun 3 18:11:26 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * Makefile.in (scan-decls.o): Depends on cpplib.h.
-
-Fri Jun 2 19:23:47 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * optabs.c (expand_binop): Don't use non-REG TARGET in 2-word case.
-
-Thu Jun 1 19:30:30 1995 Tor Egge (tegge@flipper.pvv.unit.no)
-
- * m88k.h (RETURN_POPS_ARGS): New argument.
- * m88k/dolphin.ld: Added start of comment.
-
-Thu Jun 1 19:12:28 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure (a29k-*-bsd*): Fix typo in last change.
-
-Thu Jun 1 18:51:53 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * expmed.c (extract_fixed_bit_field): For REG case, compute total_bits
- from mode instead of assuming BITS_PER_WORD.
-
-Thu Jun 1 18:34:31 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (FIXED_R13): Default to 0.
- ({FIXED,CALL_USED}_REGISTERS): Use FIXED_R13 for register 13.
- * sysv4.h (FIXED_R13): Define to be 1.
-
-Wed May 31 20:57:26 1995 Torbjorn Granlund <tege@matematik.su.se>
-
- * m68k.md ([su]mulsi3_highpart): Pass correct number of arguments to
- const_uint32_operand.
- * m68k.c (const_uint32_operand): Reject negative numbers.
-
- * expmed.c (expand_mult_highpart): Use wide_op1 for all multiplies.
- (expand_divmod): Undo Nov 12 change. Instead, add special case
- for division by MIN_INT in signed TRUNC_DIV_EXPR case.
-
-Wed May 31 20:44:21 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.md (one_cmpldi2): New pattern.
- ({a,l}shrdi{3,_const}): Allow 63 as shift count.
-
-Wed May 31 14:56:31 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * varasm.c (assemble_start_function, assemble_variable):
- Make sure first_global_object_name is in permanent obstack.
-
- * reload1.c (alter_reg): Clean up setting of RTX_UNCHANGING_P
- when making a MEM.
-
- * reorg.c (struct resources): New field unch_memory.
- (CLEAR_RESOURCES, mark_target_live_regs, dbr_schedule): Clear it.
- (mark_{referenced,set}_resources, redundant_insn): Set it.
- (fill_simple_delay_slots): Likewise.
- (resource_conflicts_p): Test it.
-
- * unroll.c (copy_loop_body): Fix typo in call to sets_cc0_p.
-
- * integrate.c (output_inline_function): Don't call expand_function_end.
-
- * calls.c (prepare_call_address): Only call use_reg on
- static_chain_rtx if it is a REG.
-
- * configure (a29k-*-bsd*): Use t-a29k.
- * t-a29k: New file.
- * a29k/t-a29kbare (LIBGCC1_TEST): New null definition.
- * a29k/t-vx29k (LIBGCC1_TEST): Likewise.
-
-Wed May 31 14:17:42 1995 Jeffrey A Law (law@snake.cs.utah.edu)
-
- * configure (hppa*-*-bsd*): Do not run fixincludes.
- (hppa*-*-osf*): Likewise.
- (hppa*-*-lites*): Likewise.
-
- * pa.h (PRINT_OPERAND_ADDRESS): Use "RR'" rather than "R'" for
- symbolic addresses.
- * pa.md (symbolic HIGH patterns): Likewise.
- (symbolic LO_SUM pattern): Likewise.
-
-Wed May 31 14:11:53 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (all movstri recognizers): Eliminate updating the pointers.
- * rs6000.c (expand_block_move): Don't pass argument of # bytes to
- increment pointers by to movstrsi expanders.
-
- * rs6000.c (rs6000_override_options): Fix typo with -mstring handling.
-
- * rs6000.h (TARGET_SWITCHES): Set MASK_STRING_SET explicitly
- if -mno-string, so that it can override the processor default.
-
-Wed May 31 07:31:53 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * c-common.c (truthvalue_conversion, BIT_AND_EXPR): Make sure that
- the result has boolean_type_node.
-
-Tue May 30 19:03:21 1995 J.T. Conklin <jtc@cygnus.com>
-
- * stddef.h: Undefine _BSD_XXX_T_ if _GCC_XXX_T is defined on BSD
- Net/2 derived systems.
-
-Tue May 30 08:17:37 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.md (decrement_and_branch_until_zero): Operand 0 constraint
- changed from "+g" to "+d*am".
- (similar anonymous HImode pattern): Likewise.
-
- * m68k.md (tstdi): Use tst/subx #0 instead of neg/negx.
- Allow "a" and ">" for operand 0.
-
-Mon May 29 19:24:43 1995 Niklas Hallqvist (niklas@appli.se)
-
- * m68k.md (addsi_lshrsi_31): Use match_dup, not constraint "1",
- for matching inputs.
-
-Mon May 29 12:39:58 1995 Allen Briggs <briggs@rrinc.com>
-
- * i386/isc.h ({STARTFILE,LIB,CPP}_SPEC): Handle -Xp like -posix.
- * i386/x-isc3 (X_CFLAGS): Add -Xp.
-
-Mon May 29 12:28:41 1995 J.T. Conklin (jtc@cygnus.com)
-
- * configure (sparc-*-netbsd): Add missing asterisk at end.
-
-Mon May 29 08:55:48 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (recog_for_combine): New parm PADDED_SCRATCHES; set it.
- (try_combine): Accumulate number of scratches and update max_scratch.
- (simplify_set): Add extra parm to recog_for_combine.
-
- * romp.md (call): Put USE for r0 in CALL_INSN; call call_internal
- to emit insn.
- (call_internal): New name for anonymous call.
- (call_value, call_value_internal): Likewise.
-
- * winnt/xm-winnt.h: Protect most definitions with #ifndef.
- * alpha/xm-winnt.h: Include alpha/xm-alpha.h, then winnt/xm-winnt.h.
- (POSIX): Undefine.
- * xm-alpha.h: Don't include alloca.h for winnt.
-
-Sun May 28 18:34:01 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure: Make sed commands more uniform.
-
- * Makefile.in: Properly use $(srcdir) for files that have it
- in their reference as a target of a rule.
- (libgcc1.a): Add missing RANLIB_TEST use.
-
- * stmt.c (expand_computed_goto): Call do_pending_stack_adjust.
-
-Sun May 28 18:08:41 1995 Torbjorn Granlund <tege@mole.gnu.ai.mit.edu>
-
- * m68k.md (divmodhi4, udivmodhi4): Use "dmsK" for operand 2.
-
-Fri May 26 17:01:22 1995 Paul Eggert <eggert@twinsun.com>
-
- * fixincludes: Fix bogus recursive <stdlib.h> in NEWS-OS 4.0C.
-
-Fri May 26 08:02:14 1995 Michael Meissner (meissner@cygnus.com)
-
- * c-typeck.c (initializer_constant_valid_p): For the CONSTRUCTOR
- case, if the type is a record, recurse, just like for unions.
-
-Thu May 25 07:56:14 1995 Paul Eggert <eggert@twinsun.com>
-
- * fixincludes: Add `sel', `tahoe', `r3000', `r4000' to the
- list of pre-ANSI symbols that need to be surrounded with __ __.
- Allow white space between `#' and `if' when looking for lines to patch.
-
- * objc/sarray.h (PRECOMPUTE_SELECTORS, struct soffset):
- Use #ifdef __sparc__, not sparc.
-
- * m68k.md (addsi_lshrsi_31, ashldi_const, ashrdi_const, lshrdi_const):
- Replace `mov' with `move'.
-
-Thu May 25 07:35:37 1995 Allen Briggs <briggs@rrinc.com>
-
- * libgcc2.c (L_eh, i386): Remove in-line comments in assembly
- code--the '#' character is not valid for the SYSV as.
-
-Thu May 25 07:28:54 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * Makefile.in (BC_ALL): Restore it from May 22 change; vms uses it.
- (STAGESTUFF): Use it.
-
-Thu May 25 07:11:56 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.c (alpha_emit_set_const): Don't call expand_binop for
- other than add if SImode and can't create pseudos.
-
-Wed May 24 21:38:24 1995 Jim Wilson <wilson@cygnus.com>
-
- * sched.c (reemit_notes): New function.
- (schedule_block): Call reemit_notes twice. Reorganize code for
- handling SCHED_GROUP_P insns, so that reemit_notes works.
-
- * sh/sh.c (shiftcosts, genshifty_op): Add SH3 support.
- * sh/sh.md (ashlsi3, lshrsi3): Add SH3 support.
- (ashlsi3_d, ashrsi3_d, lshrsi3_d): New patterns for SH3.
- (ashrsi2_31): Remove r/!r constraint.
-
-Wed May 24 17:00:47 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * tree.c (type_list_equal): Call simple_cst_equal before checking
- types.
-
-Wed May 24 16:49:49 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * Makefile.in (libgcc2.a): Handle case of separate srcdir.
-
-Wed May 24 16:22:01 1995 Paul Eggert <eggert@twinsun.com>
-
- * configure: Define $(MAKE) if `make' doesn't.
-
-Wed May 24 15:50:51 1995 Doug Evans <dje@cygnus.com>
-
- * dsp16xx.h (CROSS_LINK_SPEC): ENDFILE_SPEC moved to -nostartfiles.
- * i386/freebsd.h (LINK_SPEC): Don't pass "-e start" if nostartfiles
- rather than nostdlib.
- * i386/sun.h (LINK_SPEC): Likewise.
- * m68k/sun2o4.h (LINK_SPEC): Likewise.
- * m68k/sun3.h (LINK_SPEC): Likewise.
- * m68k/vxm68k.h (LINK_SPEC): Likewise.
- * mips/netbsd.h (LINK_SPEC): Likewise.
- * config/netbsd.h (LINK_SPEC): Likewise.
- * rs6000/mach.h (LINK_SPEC): Likewise.
- * sparc.h (LINK_SPEC): Likewise.
- * sparc/vxsparc.h (LINK_SPEC): Likewise.
-
- * m88k/m88k.h (FUNCTION_ARG_BOUNDARY): Use GET_MODE_BITSIZE.
-
-Wed May 24 15:44:04 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * fold-const.c (fold): Make sure that a folded TRUTH_NOT_EXPR
- retains the same type.
-
- * c-common.c (truthvalue_conversion): Also accept TRUTH_NOT_EXPR.
-
-Wed May 24 15:41:51 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cplus-dem.c (strstr, strncmp, strlen): Remove declarations.
-
- * tree.c (type_list_equal, simple_cst_list_equal, index_type_equal):
- Check for simple_cst_equal return value of -1.
-
-Wed May 24 10:05:24 1995 Michael Meissner <meissner@cygnus.com>
-
- * libgcc1-test.c (start, _start): Provide declarations, so that
- the GNU linker doesn't give a warning message about defaulting the
- start address.
-
- * rs6000/sysv4.h (STRIP_NAME_ENCODING): Redefine back to the
- original defination, rather than the defination used in rs6000.h.
- (ASM_OUTPUT_SOURCE_LINE): Use STRIP_NAME_ENCODING.
- * rs6000.h (STRIP_NAME_ENCODING): Skip leading '*'.
-
- * rs6000.h (MASK_STRING_SET, TARGET_STRING_SET): Add target
- flags bit for whether -mstring was actually used.
- (TARGET_SWITCHES): Add MASK_STRING to all power targets. Set
- MASK_STRING_SET for -mstring and -mno-string.
- (TARGET_DEFAULT): Add MASK_STRING.
-
- * rs6000.c (rs6000_override_options): Add MASK_STRING to
- all power targets. Make an explicit -mstring/-mno-string override
- the -mcpu=processor default.
-
- * rs6000/eabile.h (CPP_SPEC): Copy from sysvle.h to provide the
- appropriate little endian defaults.
-
- * rs6000/sysv4.h (ASM_OUTPUT_SOURCE_LINE): Use assemble_name to
- output the canonical name.
-
-Wed May 24 01:21:15 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * rs6000.h (STRIP_NAME_ENCODING): Define.
- (RS6000_OUTPUT_BASENAME): Use it.
-
-Tue May 23 19:54:21 1995 Doug Evans <dje@cygnus.com>
-
- * gcc.c (link_command_spec): Move ENDFILE_SPEC from -nostdlib
- to -nostartfiles.
-
-Tue May 23 17:01:50 1995 Jim Wilson <wilson@cygnus.com>
-
- * alpha.md (negsi2-2): Change output pattern to #.
-
- * mips.c (embedded_pic_offset): Output RTL to initialize
- embedded_pic_fnaddr_rtx.
- (mips_finalize_pic): Delete.
- * mips.h (mips_finalize_pic): Delete declaration.
- (FINALIZE_PIC): Delete.
- (INIT_EXPANDERS): Clear embedded_pic_fnaddr_rtx.
- * mips.md (get_fnaddr): Add = to output contraint.
-
- * sh.c (shift_amounts): Correct entry for shifts by 29.
- * sh.md (sett): New pattern.
- (movsi_i): Change source constraint for move to T reg to be 'z'.
-
- * mips/ecoff.h (STARTFILE_SPEC): Define to null string.
- * mips/elfl.h, mips/elfl64.h: Correct typo in comment.
-
- * mips/elflorion.h, mips/elforion.h (MIPS_CPU_DEFAULT): Delete.
- * mips.c (override_options): Delete #ifdef MIPS_CPU_DEFAULT code.
- Add #ifdef MIPS_CPU_DEFAULT_STRING code before the first
- mips_cpu_string test.
-
-Tue May 23 07:22:36 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * romp.c (hash_rtx): Avoid warning on int-to-pointer conversion.
- (output_fpops): Cast args to bcopy to char *.
-
- * cpplib.c (initialize_builtins): Add missing parm to timestamp call.
-
- * Makefile.in (install-libobjc): Don't depend on libobjc.a.
-
- * c-parse.in: Objc shift/reduce conflicts now 48.
- (parm): Use setspecs/restore here.
- (parmlist_or_identifiers): Not here.
-
-Mon May 22 19:30:30 1995 Doug Evans <dje@cygnus.com>
-
- * h8300.md (movsf_h8300h): Add missing post-inc case to constraints.
-
-Mon May 22 14:38:36 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (rs6000_override_options): Do SUBTARGET_OVERRIDE_OPTIONS
- here.
- * rs6000.h (OVERRIDE_OPTIONS): Not here.
-
- * rs6000.c (expand_block_move): Handle moves without string
- instructions by generating a series of loads and stores.
- (output_prolog): Support -mno-toc on V.4 and eabi systems.
-
- * rs6000/sysv4.h (TARGET_SWITCHES): Add -mtoc and -mno-toc.
- (SUBTARGET_OVERRIDE_OPTIONS): Add some warnings for incompatible
- switches.
- (TOC_SECTION_FUNCTION): Make -mno-toc like -mrelocatable in that
- we don't put the minimal toc pointer in the global toc section.
- (LINK_SPEC): Use -oformat to set link output format, not -m.
-
- * rs6000/t-eabigas (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Build
- libgcc.a variants with -mno-toc support.
- * rs6000/t-ppcgas (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Ditto.
-
-Mon May 22 07:10:52 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cplus-dem.c (mystrstr): Replacement for strstr.
-
- * configure: Split up long sed command.
- * Makefile.in (SYMLINK): Deleted; unused.
- (oldobjext): Deleted; no longer used.
- (FLAGS_TO_PASS): Include objext and exeext.
- (STAGESTUFF, protoize.o, unprotoize.o): Use $(objext), not .o.
- (test_protoize_simple, compare{,3}, gnucompare{,3}): Likewise.
- (STAGESTUFF, specs, gcc-cross, collect2): Add missing $(exeext).
- (libgcc1.null, libgcc[12].a, stage[1-4]): Likewise.
- (xgcc, cc1, cc1obj, enquire): Use $@ instead of filename for -o value.
- (collect2, mips-tfile, mips-tdump, gen*): Likewise.
- (bi-arity, bi-opcode, bi-opname, cccp, cppmain): Likewise.
- (protoize, unprotoize, gen-protos, fix-header): Likewise.
- (crtbegin.o, crtend.o): Don't use -o; move output to proper
- filename (using objext) instead.
- (BI_ALL, BC_ALL, bytecode): Deleted; unused.
- (bi-*.o, cexp.o, stamp-{proto,fixinc}): Remove unneeded $(srcdir).
- (getopt{,1}.o, SYSCALLS.c.X): Likewise.
- (install-driver): New target.
- (install-normal): Depend on it.
- (install-common): Don't depend on xgcc.
- (maketest): Deleted; no longer used.
- (stage[1-4]): Use name collect-ld, not real-ld.
- (risky-stage[1-4]): Use stage[1-4] as dependencies; don't copy.
- * alpha/config-nt.bat, i386/config-nt.bat: Make {,h,t}config.h
- and tm.h by writing a single #include line.
- Update way specs.h and options.h are written.
- * alpha/config-nt.sed, i386/config-nt.sed: Set new variables
- into Makefile.
- Build winnt.obj.
- Edit CCCP definition.
- * alpha/x-winnt, i386/x-winnt (oldobjext): Deleted.
- Add rules for .c.obj, .adb.obj, and .ads.obj.
- (LIB2FUNCS_EXTRA, spawnv.o): New rules.
- * i386/x-winnt (objext): Now .obj, not .o.
-
- * gcc.c (HAVE_OBJECT_SUFFIX): New macro.
- (process_command): Convert x.o to x.foo for OBJECT_SUFFIX of ".foo".
- (do_spec_1): Avoid shadow variable "i" and always use for loop var.
-
- * c-decl.c (finish_decl_top_level): Removed; no longer used.
- * objc-act.c: Numerous formatting changes.
- (NULLT): Deleted; all uses changed to NULL_TREE.
- (get_{static,object}_reference, objc_add_static_instance):
- Use push_obstacks instead of saving obstacks manually.
- (build_{selector,class}_reference_decl): Likewise.
- (build_objc_string_decl, build_protocol_reference): Likewise.
- (comp_{method,proto}_with_proto): Likewise.
- (create_builtin_decl, synth_module_prologue): Set DECL_ARTIFICIAL
- for internal objects.
- (build_{selector,class}_reference_decl, add_objc_decls): Likewise.
- (generate_objc_symtab_decl, build_module_descriptor): Likewise.
- (build_protocol_reference): Likewise.
- (build_objc_string_decl, synch_forward_declarations): Likewise.
- Delete call to end_temporary_allocation.
- (generate_static_references, generate_strings): Likewise.
- (build_selector_translation_table, generate_category): Likewise.
- (generate_{ivars,protocol}_list, build_protocol_reference): Likewise.
- (build_objc_string_object): If next_runtime, put everything in
- permanent obstack.
- (objc_add_static_instance): Use build_decl instead of start_decl
- and finish_decl_top_level.
- (build_{class_reference,objc_string}_decl): Clear DECL_CONTEXT.
- (start_class): Exit with FATAL_EXIT_CODE, not 1.
- (add_objc_decls): Don't set DECL_IN_SYSTEM_HEADER.
-
- * tree.c (valid_machine_attribute): Handle attribute on
- pointer-to-function types.
-
-Sun May 21 17:16:37 1995 J. T. Conklin <jtc@cygnus.com>
-
- * mips/netbsd.h (HAVE_STRERROR): Remove.
- * mips/xm-netbsd.h: New file.
- * mips/t-mips-netbsd: Deleted.
- * configure (mips-dec-netbsd): Use xm-netbsd.h and t-libc-ok.
-
-Sun May 21 17:16:37 1995 Arne H. Juul (arnej@pvv.unit.no)
-
- * mips/netbsd.h: Use __start as entry point. Ifdef some
- paths on CROSS_COMPILE.
-
-Sun May 21 08:39:26 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-parse.in (datadef, fndef, ivar_decl, mydecls):
- Restore declspec_stack since setspecs is used.
- (parmlist_or_identifiers): Use setspecs before parsing parms
- and restore after parsing parms.
-
-Sun May 21 01:04:52 1995 Jeffrey A. Law <law@snake.cs.utah.edu>
-
- * pa.c (hppa_encode_label): New variable "permanent" to
- where/how memory is allocated for the new label. All
- callers changed.
-
-Sat May 20 16:53:30 1995 Mike Meissner <meissner@cygnus.com>
-
- * rs6000.md (insv, extz): Fail if the structure is QI or HI reg to
- avoid paradoxical subreg's being created in RTL phase, which uses
- SImode to load from memory if structure is later moved to stack.
-
-Sat May 20 06:44:59 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.md (udivmodhi4): Output "divu" instead of "divs".
-
-Sat May 20 06:11:32 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * reload.c (push_reload): Don't reload inside a SUBREG
- when SUBREG_WORD is nonzero.
-
- * c-decl.c (shadow_tag_warned): Don't warn about useless keyword
- if in system header file.
-
- * tree.c (simple_cst_equal): Don't look at language-specific
- nodes since we don't know what's in them.
-
- * cpperror.c: #include config.h before any other .h file.
- * collect2.c: Likewise.
-
- * i386/config-nt.bat: Add missing ^M on two lines.
- Add case for Fortran; fix typo in Ada case.
- * alpha/config-nt.bat: Add case for Fortran; fix typo in Ada case.
-
- * m68k/t-next (LIBGCC1, CROSS_LIBGCC1): Make not, not "libgcc1.null".
- (OTHER_FIXINCLUDES_DIRS, LIMITS_H_TEST): Delete from here.
- * m68k/x-next (OTHER_FIXINCLUDES_DIR, LIMITS_H_TEST): Move to here.
-
-Fri May 19 19:30:20 1995 Stan Cox (gcc@dg-rtp.dg.com)
-
- * crtstuff.c: Added reference to INIT_SECTION_PREAMBLE for systems that
- do something which must be undone prior to __do_global_ctors.
-
-Fri May 19 19:27:08 1995 Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
-
- * i386/linux-aout.h (CPP_SPEC): Add defines for -fPIC.
- * i386/linux-oldld.h (CPP_SPEC): Likewise.
-
-Fri May 19 17:46:28 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * collect2.c (strstr): Deleted.
- * cplus-dem.c (strstr): Define ifndef POSIX.
-
-Fri May 19 11:16:51 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * cpplib.c (collect_expansion): Don't escape '@' inside string.
-
-Fri May 19 06:59:21 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * vmsconfig.com (process_objc_lib, configure_makefile): New routines.
- (bc_all.list, ./vax.md, objc-objs.opt, objc-hdrs.list): New files
- created at config time.
- (bc_all.opt, ./md.): No longer created.
- * make-cc1.com: Handle revised filenames from vmsconfig.com;
- (DO_OBJCLIB): New variable, plus code to compile objc/*.{c,m}.
-
-Wed May 17 16:15:31 1995 Torbjorn Granlund <tege@cygnus.com>
-
- * i960.c (i960_output_ldconst): New code for XFmode.
- Also, move SFmode code to immediately after DFmode code.
- (S_MODES, D_MODES): Handle XFmode.
- (XF_MODES): Was TF_MODES, handle XFmode instead of TFmode.
- (hard_regno_mode_ok): Replace TFmode with XFmode.
- (i960_output_long_double): New function.
-
- * i960.h (DATA_ALIGNMENT): Define.
- (ROUND_TYPE_ALIGN): Align XFmode scalars at 128 bit boundaries.
- (ROUND_TYPE_SIZE): Round up the size of XFmode objects to 128 bits.
- (CONST_DOUBLE_OK_FOR_LETTER_P): Use CONST0_RTX and CONST1_RTX
- so that all FP modes are recognized.
- (ASM_OUTPUT_LONG_DOUBLE): Define.
-
- * i960.md: Change all TFmode patterns to have XFmode.
- (movxf recognizer, frame version): Use movt, ldt, and stt.
- (movxf recognizer, non-frame version): Delete.
- (extenddfxf2): Delete * before f constraint.
- (extendsfxf2): Likewise.
-
-Wed May 17 17:53:35 1995 Jim Wilson <wilson@mole.gnu.ai.mit.edu>
-
- * unroll.c (unroll_loop): Increment copy_start_luid if copy_start
- is loop_start.
-
-Wed May 17 17:44:57 1995 Lee Iverson <leei@Canada.AI.SRI.COM>
-
- * fold-const.c (invert_truthvalue, case CLEANUP_POINT_EXPR): New case.
-
-Tue May 16 18:51:16 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/rs6000.h (TARGET_SWITCHES): Add -mstring to enable string
- instructions, and -mno-string to disable them.
- (MOVE_MAX): Don't test TARGET_MULTIPLE anymore.
- (MAX_MOVE_MAX): Set to 8, not 16.
- (expand_block_move): Add declaration.
-
- * rs6000/rs6000.c (expand_block_move): New function to expand
- block moves when -mstring is used.
-
- * rs6000/rs6000.md (movti): Use TARGET_STRING, not TARGET_MULTIPLE.
- (load_multiple, store_multiple): Ditto.
- (string insns): Add 8, 6, 4, 2, and 1 register variants for using
- the native string instructions if -mstring.
-
- * rs6000/sysv4.h (CPP_SPEC): If little endian, define
- _LITTLE_ENDIAN and set littleendian assertion. If big endian,
- define _BIG_ENDIAN and set bigendian assertion.
- * rs6000/sysv4le.h (CPP_SPEC): Copy from sysv4.h, and change
- default to little endian.
-
- * rs6000/rs6000.c (override_options): Check for -mmultiple and
- -mstring on little endian systems here.
- * rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't do the check
- here.
-
-Tue May 16 18:36:41 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * alpha.c: Changed WINNT to _WIN32.
- * alpha/config-nt.bat, i386/config-nt.bat: Added commands to
- generate specs.h and options.h.
- * i386/config-nt.sed: Changed link32 to link.
- * winnt/ld.c (main): Removed call to free.
- * configure.bat: Added line to echo usage on invalid input.
- * gcc.c (fix_argv): Removed call to free.
- * gcc.c, getpwd.c, protoize.c, sdbout.c: Changed WINNT to _WIN32.
- * toplev.c: Likewise.
-
-Tue May 16 18:04:47 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * toplev.c (pfatal_with_name, fatal_io_error, vfatal):
- Use FATAL_EXIT_CODE instead of magic number.
- * cccp.c, cpplib.c, cpplib.h: Use FATAL_EXIT_CODE instead
- of FAILURE_EXIT_CODE.
- * fix-header.c, gen-protos.c: Likewise.
- * cpperror.c, cppmain.c: Likewise.
- Include config.h #ifndef EMACS.
- * xm-alpha.h, xm-rs6000.h, xm-vms.h (FAILURE_EXIT_CODE): Remove.
-
-Tue May 16 17:46:57 1995 Adam Fedor <fedor@colorado.edu>
-
- * objc/archive.c (__objc_write_class): Write class version.
- (__objc_write_selector, objc_{write,read}_selector): Handle null
- selector.
-
- * objc/sarray.h (struct sarray): Make capacity size_t.
- * objc/sarray.c (sarray_realloc): Make array index variables size_t.
-
-Tue May 16 06:59:08 1995 Paul Eggert <eggert@twinsun.com>
-
- * dsp16xx.c (print_operand_address): Fix misspellings in messages.
- * i370/mvs.h (FUNCTION_PROFILER): Likewise.
- * mips-tdump.c (type_to_string): Likewise.
- * print-tree.c (print_node): Likewise.
-
- * protoize.c (edit_fn_definition): Fix mispelled local `have_flotsam'.
-
- * objc/sendmsg.c (__objc_init_install_dtable): Fix misspelling
- in name of local label `already_initialized'.
-
- * winnt/winnt.h (STDC_VALUE): Was misspelled.
-
- * m68k/ccur-GAS.h (FUNCTION_BOUNDARY): Was misspelled.
-
- * 1750a.h (DEFAULT_PCC_STRUCT_RETURN): Was misspelled.
-
-Mon May 15 23:41:25 1995 Jeffrey A. Law <law@snake.cs.utah.edu>
-
- * pa.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Make sure to encode section
- info for all libcalls.
-
-Mon May 15 20:58:00 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * collect2.c (strstr): Define ifndef POSIX.
-
- * defaults.h (SUPPORTS_WEAK): Provide default.
- * aoutos.h, sparc/sunos4.h: Don't support weak symbols.
- * netbsd.h, svr4.h, i386/freebsd.h, i386/osfrose.h,
- m88k/m88k.h: Define ASM_WEAKEN_LABEL instead of WEAK_ASM_OP.
- * c-pragma.h: Check ASM_WEAKEN_LABEL instead of WEAK_ASM_OP.
- HANDLE_PRAGMA_WEAK is never defined in a tm.h file.
- * c-decl.c (duplicate_decls): Propagate DECL_WEAK.
- * tree.h (DECL_WEAK): New macro.
- (tree_decl): Add weak_flag.
- * varasm.c (assemble_start_function): Declare the symbol weak if
- appropriate.
- (assemble_variable): Ditto.
- (assemble_alias): Ditto. Mark the decl as written.
- (declare_weak): Check for weak declaration after definition.
- Set DECL_WEAK.
- (weak_finish): Use ASM_WEAKEN_LABEL.
- * libgcc2.c: The C++ free-store management functions are weak
- aliases on targets that always support them.
-
-Mon May 15 19:01:43 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure (out_object_file): New variable; put value in Makefile.
- * Makefile.in (out_object_file): Use in place of aux-output.o.
-
- * fold-const.c (const_binop): Don't pass OVERFLOW to force_fit_type
- if type is unsigned.
-
-Mon May 15 18:48:26 1995 Paul Eggert <eggert@twinsun.com>
-
- * install.sh (transformbasename): Fix misspelling.
-
- * tahoe.h (CHECK_FLOAT_VALUE): Fix misspelling of OVERFLOW parameter.
-
- * i386.h (VALID_MACHINE_{DECL,TYPE_ATTRIBUTE): Fix typo.
-
- * fx80.h (CHECK_FLOAT_VALUE): Fix misspelled use of parameter.
-
- * a29k.c (spec_reg_operand): Fix misspelling of `default:'.
-
-Mon May 15 18:36:41 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.md (b{eq,ne,ge,lt}0_di): Fixed for non-MOTOROLA syntax.
- * m68k/xm-mot3300.h (alloca): Extern decl added for non-GNU compiler.
-
-Mon May 15 13:14:29 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * cppexp.c (cpp_reader): Test for '#' (start of assertion) *after*
- skipping hspace, not before.
-
-Mon May 15 08:13:54 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * vmsconfig.com: Construct options.h and specs.h to #include
- all "*/lang-{options|specs}.h" files found.
-
-Sun May 14 21:32:49 1995 Doug Evans <dje@cygnus.com>
-
- * alpha/alpha.md (movsicc, case NE): Don't generate unrecognizable
- insn.
- (movdicc, case NE): Likewise.
-
-Sun May 14 15:44:54 1995 Jim Wilson <wilson@mole.gnu.ai.mit.edu>
-
- * unroll.c (unroll_loop): Make local_regno have size
- max_reg_before_loop. Don't do local register optimization if
- copy_end has no INSN_LUID.
-
-Sun May 14 10:38:23 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * objc-act.c (start_method_def): Mark _self as possibly unused.
-
- * configure: Create specs.h and options.h from */lang-specs.h
- and */lang-options.h.
- Set lang_specs_files and lang_options_file variables in Makefile.
- * Makefile.in (lang_{specs,options}_files): New variables.
- (gcc.o): Depends on $(lang_specs_files).
- (toplev.o): Depends on $(lang_options_file); merge two dep lists.
- (distclean): Remove spes.h and options.
- * gcc.c (default_compilers): Remove entries for Ada, C++, Chill,
- and Fortran; #include specs.h instead.
- * toplev.c (lang_options): Remove entries for Ada, C++, and Fortran;
- include options.h instead.
-
-Sat May 13 23:11:21 1995 DJ Delorie <dj@delorie.com>
-
- * configure (i[345]86-go32-msdos, i[345]86-*-go32): New targets.
-
-Sat May 13 10:58:38 1995 Jim Wilson <wilson@cygnus.com>
-
- * loop.c (record_giv): When computing replaceable, use
- back_branch_in_range_p instead of looking for branches to named
- labels.
- * loop.h (back_branch_in_range_p): Declare.
- * unroll.c (back_branch_in_range_p): No longer static.
-
-Sat May 13 06:47:11 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (simplify_shift_count, case LSHIFTRT): Don't merge
- shifts of different modes if first is any right shift.
-
-Sat May 13 05:39:09 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * configure (arm-semi-aout): New configuration.
- * config.sub: Add support for semi-hosted ARM.
- * arm/t-semi, arm/semi.h: New files.
-
-Fri May 12 21:51:22 1995 Doug Evans <dje@cygnus.com>
-
- * flow.c (find_basic_blocks): Only perform n_basic_blocks sanity
- check on first pass, and on second pass ensure it has the correct
- value.
-
-Fri May 12 19:23:11 1995 Jim Wilson <wilson@cygnus.com>
-
- * c-typeck.c (build_binary_op): Warn when ~unsigned is compared
- against unsigned, and type promotions result in an unexpected
- answer.
-
-Fri May 12 19:10:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * configure (*-*-gnu*): Always use ELF; set tm_file=${cpu_type}/gnu.h.
- * config/i386/gnu.h: Contents replaced with old i386/gnuelf.h.
- * config/i386/gnuelf.h: File removed.
-
-Fri May 12 17:29:57 1995 Ken Raeburn (raeburn@cygnus.com)
-
- * m68k/lb1sf68.asm (__IMMEDIATE_PREFIX__): Default to #.
- (IMM): New macro.
- (all code): Use IMM macro instead of hardcoding # for immediate
- operands.
-
-Fri May 12 16:52:10 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * m68k.c (output_scc_di): New function.
- (extend_operator) : Allow DImode target.
- * m68k.h (HARD_REGNO_MODE_OK): Don't allow d7/a0 as DImode reg pair.
- * m68k.md (tstdi, cmpdi, addsi_lshrsi_31, ashldi_extsi): New patterns.
- (extendqidi2, extendhidi2, extendsidi2): Allow "general_operand"
- instead of "register_operand" 0.
- (adddid_sexthishl32, subdid_sexthishl32, subdi_dishl32): Likewise.
- (adddi_dilshr32): Operand 0 constraint changed from "ro" to "do";
- Code generation fixed.
- (adddi_mem, subdi_mem): Fixed for "<" and ">" operand 0.
- (adddi3, subdi3): Operand 2 constraint changed from "ao" to "*ao"
- (ashldi_sexthi, ashrdi_const32): Allow only "register_operand"
- instead of "general_operand" 0.
- (ash[lr]di_const, ash[lr]di3): Allow also 8 and 16 as shift count.
- (subreg1ashrdi_const32): Pattern deleted.
- (subreghi1ashrdi_const32, subregsi1ashrdi_const32): New pattern.
- (lshrsi_31): New implementation.
- (scc0_di, scc_di, beq0_di, bne0_di, bge0_di, blt0_di): New patterns.
-
-Fri May 12 16:50:49 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu>
-
- * pa.md (bb patterns): Fix bugs in length computation exposed by
- recent branch shortening and genattrtab changes.
-
-Fri May 12 16:22:27 1995 Ken Raeburn <raeburn@cygnus.com>
-
- * cccp.c (enum node_type): Add T_IMMEDIATE_PREFIX_TYPE.
- (special_symbol): Handle it; emit value of IMMEDIATE_PREFIX.
- (IMMEDIATE_PREFIX): Default to empty string.
- (initialize_builtins): Install __IMMEDIATE_PREFIX__ builtin,
- parallel to __REGISTER_PREFIX__.
-
-Fri May 12 14:40:03 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * cccp.c: #if VMS, don't define `stat' macro to be VMS_stat.
- Compare enums explicitly to 0 to work around VAX C bug.
- (do_include): Cast alloca's value.
-
- * make-cc1.com (bc_loop): Process comma-separated list rather
- than space-separated one; restore .h suffix stripped by vmsconfig;
- (loop1): More robust handling of directory prefix on file names.
- * vmsconfig.com (TPU makefile.in): Reorganize and reformat code.
- Make generated .opt files have more consistent format (all comma
- separated, excess whitespace eliminated);
- (additional_compiler): New routine.
- (process_makefile): Use it to handle cc1plus via cp/Make-lang.in.
-
-Fri May 12 13:35:07 1995 Doug Evans <dje@cygnus.com>
-
- * arm.h: Replace ARM_REG_PREFIX with REGISTER_PREFIX.
- Replace ARM_COMMENT_CHAR with ASM_COMMENT_START.
- (REGISTER_PREFIX): Define.
- (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Define.
- (SECONDARY_OUTPUT_RELOAD_CLASS): Handle DFmodes only if
- TARGET_HARD_FLOAT.
- (PREDICATE_CODES): Add soft_df_operand.
- * arm.c: Replace ARM_REG_PREFIX with REGISTER_PREFIX.
- Replace ARM_COMMENT_CHAR with ASM_COMMENT_START.
- (arm_asm_output_label): Use USER_LABEL_PREFIX.
- (soft_df_operand): New function.
- * arm.md (movsicc): New pattern.
- (movsfcc, movdfcc, *movsicc_insn, *movsfcc_hard_insn): Likewise.
- (*movsfcc_soft_insn, *movdfcc_insn): Likewise.
- (*movdf_soft_insn): Rewrite.
- (movsi matcher): Fix typo in type attribute.
-
-Fri May 12 10:25:40 1995 Michael Meissner (meissner@cygnus.com)
-
- * i386.h (TARGET_RTD): Use MASK_RTD, not MASK_REGPARM.
- (TARGET_SWITCHES): Add -m{,no-}align-double switch.
- (TARGET_OPTIONS): Add -mregparm= switch to set number of registers
- to use for passing arguments. Add -malign-loops= switch to set
- the alignment for loops. Add -malign-jumps= switch to set the
- alignment for code that is jumped to. Add -malign-functions=
- switch to set the initial alignment of functions.
- (TARGET_REGPARM): Delete, in favor of -mregparm=
- (TARGET_SWITCHES): Delete -mregparm, add -mdebug-arg switches.
- (RETURN_POPS_ARGS): Call i386_return_pops_args to do the real work.
- (VALID_MACHINE_DECL_ATTRIBUTE): Define as function call.
- (VALID_MACHINE_TYPE_ATTRIBUTE): Define as function call.
- (COMP_TYPE_ATTRIBUTES): Define as function call.
- (REGPARM_MAX): Maximum number of regs to use for passing arguments.
- (CUMULATIVE_ARGS): Make this a structure, not an int.
- (INIT_CUMULATIVE_ARGS, FUNCTION_ARG{,_ADVANCE}): Call function.
- (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
- (MAX_CODE_ALIGN): Maximum value to align loops/jumps to.
- (BIGGEST_ALIGNMENT): Return 64 if -malign-double, 32 otherwise.
- (ASM_OUTPUT_ALIGN_CODE): Use value of -malign-jumps= switch.
- (ASM_OUTPUT_LOOP_ALIGN): Use value of -malign-loops= switch.
- (toplevel): Declare all new functions and external variables added
- in i386.c.
-
- * i386.c (i386_regparm_string, i386_regparm): New variables
- for -mregparm= switch to set the number of registers to use for
- passing arguments.
- (i386_align_loops_string, i386_align_loops): New variables for
- -malign-loops= switch to set alignment to use for loops.
- (i386_align_jumps_string, i386_align_jumps): New variables for
- -malign-jumps= switch to set alignment to use for labels that are
- jumped to.
- (override_options): Support new switches.
- (i386_valid_decl_attribute_p): New function to validate decl
- specific attributes. Presently returns 0.
- (i386_valid_type_attribute_p): New function to validate type
- specific attributes. Recognize "stdcall", which says function
- with fixed numbers of arguments is responsible for popping stack,
- "cdecl", which says to use the normal C calling sequence, even if
- -mrtd is used, and "regparm", which specifies the number of
- registers to use for passing arguments.
- (i386_comp_type_attributes): New function, to validate whether
- attributes are compatible.
- (i386_return_pops_args): New function, to return whether or not
- the function pops its argument list or not, taking into account
- -mrtd, and the stdcall/cdecl attributes.
- (init_cumulative_args): Rewrite as a function, taking variable
- argument functions, and regparm support into account.
- (function_arg{,_advance,_partial_nreg}): Likewise.
- (print_operand): Support %J, to print appropriate jump insn.
-
- * i386.md (decrement_and_branch_until_zero): Define pattern,
- so that loops that count down to zero, don't have an unneeded
- compare after the decrement. Add a general insn recognizer for
- add to a value and compare against zero.
-
- * i386/go32.h, i386/winnt.h (VALID_MACHINE_DECL_ATTRIBUTE):
- Delete, code folded into the mainline.
- (RETURN_POPS_ARGS): Likewise.
-
- * i386/winnt.h (ENCODE_SECTION_INFO): The stdcall attribute is now
- stored on the type field, rather than the decl.
-
- * i386/gas.h (ASM_OUTPUT_ALIGN_CODE, ASM_OUTPUT_LOOP_ALIGN): Use
- i386_align_{loops,jumps} variables to do alignment.
- * i386/osfrose.h, i386/svr3dbx.h: Likewise.
-
-Fri May 12 12:48:19 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * stor-layout.c (layout_type, case ARRAY_TYPE): Compute length using
- MAX of length and zero if sizetype signed and neither bound constant.
-
- * i386/gnuelf.h, i386/linux-oldld.h, i386/lynx-ng.h, i386/v3gas.h:
- Use <...> in #include instead of "...".
- * m68k/lynx-ng.h, sparc/lynx-ng.h: Likewise.
-
- * c-parse.in (myparm): Handle attributes.
- * objc-act.c (unused_list): New variable.
- (build_tmp_function_decl): Call push_parm_decl with new format.
- (start_class): Initialize unused_list.
- (start_method_def): Call push_parm_decl with new format and
- mark _cmp as possibly unused.
-
- * combine.c (simplify_shift_const): Don't change SHIFT_MODE
- for LSHIFTRT either.
-
- * unroll.c (unroll_loop): Don't move reg if used in copy_end and
- that is a JUMP_INSN.
-
-Fri May 12 12:31:37 1995 Doug Evans <dje@cygnus.com>
-
- * arm/lib1funcs.asm: New file.
-
-Fri May 12 11:52:03 1995 Kung Hsu <kung@cygnus.com>
-
- * configure (a29k-*-vxworks*): New target.
- * config.sub (vxworks29k): New alias.
- * a29k/t-vx29k: New file.
- * a29k/vx29k.h: New file.
-
-Fri May 12 11:17:28 1995 Jim Wilson <wilson@mole.gnu.ai.mit.edu>
-
- * loop.c (check_dbra_loop): When reversing loop when
- no_use_except_counting is false, there must be only one biv.
-
-Fri May 12 07:10:00 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * unroll.c (unroll_loop): Only use local_regno for pseudos.
-
- * genattrtab.c (write_test_expr, case MATCH_DUP): Use operands[N]
- instead of JUMP_LABEL (which may not be set).
- (walk_attr_value, case MATCH_DUP): Set must_extract.
-
- * c-parse.in: Adjust number of shift/reduce conflicts.
- (parm): Support attributes.
- * c-decl.c (push_parm_decl): Pass any attributes to decl_attributes.
-
-Fri May 12 00:36:26 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * cpplib.c (skip_quoted_string): Removed - no longer needed.
- (skip_if_group): Use cpp_get_token instead of skip_quoted_string.
-
- * cpplib.h (struct cpp_reader): Remove start_line field.
- Add multiline_string_line field.
-
- * cpplib.c (cpp_error_with_line, cpp_warning_with_line,
- cpp_pedwarn_with_line): Take extra column number parameter.
- (macroexpand, cpp_get_token): Fix reporting of unterminated strings.
- (line_for_error): Removed - no longer needed.
-
-Fri May 12 02:21:34 1995 Jim Wilson <wilson@cygnus.com>
-
- * mips/svr4-t.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX,
- STARTFILE_SPEC, LINK_SPEC): Define.
- * configure (mips-tandem-sysv4): Use t-mips not t-svr4.
-
-Thu May 11 19:18:54 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * cpplib.c (line_for_error): Make it work; add extra parameter.
- (skip_quoted_string, cpp_get_token): Update calls to line_for_error.
- (macroexpand): Remember initial line so we can report it if the
- call is unterminated. Also, simplify error logic slightly.
- (do_include): Cast alloca return value, to avoid pcc warning.
-
- * cppexp.c (parse_number): Cleanup some Cygnus crud for MPW.
-
-Thu May 11 21:35:23 1995 Torbjorn Granlund <tege@cygnus.com>
-
- From Moshier:
- * i960.c (i960_output_ldconst): Let split_double handle DImode.
- (i960_print_operand): Use REAL_VALUE_TO_DECIMAL for decimal strings.
- (i960_output_double, i960_output_float): Likewise; also change arg
- VALUE from `double' to `REAL_VALUE_TYPE'.
-
-Thu May 11 21:09:25 1995 Per Bothner (bothner@wombat.gnu.ai.mit.edu)
-
- * cpperror.c (cpp_print_containing_files): Remove some
- Cygnus-local stuff.
-
-Thu May 11 21:06:47 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.c (link_command_spec): Make -nostdlib no longer imply
- -nostartfiles.
-
-Thu May 11 18:48:57 1995 Paul Eggert <eggert@twinsun.com>
-
- * c-common.c (convert_and_check): Don't diagnose overflow in constant
- expression merely because conversion overflowed.
-
-Thu May 11 18:43:59 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-decl.c (grokdeclarator): Use PARM_FLAG to see if should
- make PARM_DECL.
- * c-parse.in (nested_function, notype_nested_function):
- Allow old-style arg definitions (use xdecls).
-
- * c-decl.c (finish_struct): Properly update DECL_PACKED.
-
-Thu May 11 15:24:15 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * fold-const.c (fold): Also fold CLEANUP_POINT_EXPRs into
- TRUTH_*_EXPRs and into the first operand.
- (operand_equal_for_comparison_p): Also make sure the second operand
- is integral.
-
-Thu May 11 14:22:03 1995 Ted Lemon <mellon@toccata.fugue.com>
-
- * config/mips/netbsd.h: New file.
- * config/mips/t-mips-netbsd: New file.
- * config/mips/x-netbsd: New file.
-
- * configure (mips-dec-netbsd*): Add entry.
-
- * mips.h (LOCAL_LABEL_PREFIX, USER_LABEL_PREFIX): Define.
- (PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END, ASM_OUTPUT_LABEL_REF,
- ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL,
- ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use them.
-
- * mips.c (mips_output_lineno): Use LOCAL_LABEL_PREFIX.
-
-Thu May 11 14:22:03 1995 Stan Cox (gcc@dg-rtp.dg.com)
-
- * dwarfout.c (output_decl): Don't output DIE for struct or union type
- with no name or with ERROR_MARK for the fields.
-
-Thu May 11 06:36:34 1995 Michael Meissner (meissner@cygnus.com)
-
- * flow.c (mark_used_regs): If a SUBREG does not have a REG in the
- SUBREG_REG position, recursively call mark_used_regs, instead of
- segfaulting.
-
-Thu May 11 06:44:34 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * expr.c (do_jump, case EQ_EXPR, NE_EXPR): Fix typo for complex.
-
-Wed May 10 12:34:46 1995 Michael Meissner <meissner@cygnus.com>
-
- * configure: Add support for the little endian variant of the
- PowerPC System V.4 and Eabi targets. If the GNU assembler was not
- specified, don't build libgcc.a variants on the PowerPC systems
- that use -mrelocatable, -mlittle, and -mbig.
-
- * genmultilib: For MULTILIB_MATCHES arguments, map question marks
- into equal signs after spliting the left and right side of
- equivalent options, to all support for options like: -mcpu=403.
-
- * rs6000/rs6000.md (rs6000_immed_double_const): New function that
- is like immed_double_const, except that it reverses the two words
- in the constant if the target is little endian.
-
- * rs6000/rs6000.md (floatsidf2): Use rs6000_immed_double_const,
- not immed_double_const.
- (floatunssidf2): Ditto.
-
- * rs6000/rs6000.h: Add declarations for all functions in rs6000.c.
-
- * rs6000/sysv4.h (TARGET_SWITCHES): Add -mlittle, -mlittle-endian,
- -mbig, and -mbig-endian for bi-endian support.
- (ASM_SPEC): Pass -mlittle/-mbig to the assembler if it was passed
- to us.
- (LINK_SPEC): If explicit little or big endian support was
- requested, tell the GNU linker to use the appropriate target
- format.
-
- * rs6000/t-eabi (MULTILIB_*): Build libgcc.a variants for software
- floating point. Remove mrelocatable libgcc.a variant.
-
- * rs6000/t-eabigas: New file, cloned from t-eabi. Build
- mrelocatable libgcc.a variant in addition to the other variants.
-
- * rs6000/t-ppc: New file, for PowerPC System V.4 support without
- the GNU assembler.
-
- * rs6000/t-ppcgas: New file, for PowerPC System V.4 support with
- the GNU assembler.
-
- * rs6000/eabile.h: New file, little endian eabi config file.
- * rs6000/sysv4le.h: New file, little endian V.4 config file.
-
-Wed May 10 14:22:28 1995 Doug Evans <dje@cygnus.com>
-
- * libgcc1-test.c (main_without__main): Renamed from `main'.
- * Makefile.in (libgcc1-test): Tell the user to ignore warnings.
-
- * configure: Support --enable-foo, --disable-foo.
-
-Wed May 10 10:34:00 1995 Lee Iverson <leei@Canada.AI.SRI.COM>
-
- * unroll.c: Add declarations of static functions.
- (unroll_loop): Renumber regs local to loop for each unrolled iteration.
-
-Wed May 10 08:27:03 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.c (alpha_set_emit_const): Cleanups to work properly
- when run on 32-bit host.
-
- * configure: Instead of symlinking tm.h and {h,t,}config.h,
- make them files that #include the proper file; pass to Makefile.
- Pass out_file and md_file to Makefile instead of making symlinks.
- * Makefile.in (out_file, md_file, tm_file, {build,host}_xm_file):
- New symbols, to be overridden by configure.
- (insn-*): Use $(md_file), not md.
- (aux-output.o): Use $(out_file), not aux-output.c.
- ($(MD_FILE)): Rework to use new conventions.
- (gen*.o, bi-*.o): Depend on $(build_xm_file), not hconfig.h.
- (scan.o, fix-header.o, scan-decls.o): Likewise.
- (distclean): Adjust files removed for new convention.
-
-Tue May 9 19:26:42 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * rs6000/rs6000.h (LIBGCC_SPEC): Do link with libgcc when -shared.
-
- * Makefile.in (STAGESTUFF): Add underscore.c.
- (underscore.c): Rename temporary files to begin with 'tmp-' so that
- they will be removed by 'make mostlyclean'.
-
-Tue May 9 19:19:55 1995 Mike Stump <mrs@cygnus.com>
-
- * toplev.c (lang_options): Add new flag -ffor-scope.
-
-Tue May 9 19:11:47 1995 Lee Iverson (leei@ai.sri.com)
-
- * objc/init.c (objc_init_statics): Fix missing part of last change.
-
-Tue May 9 18:25:34 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i386/gnu.h, i386/linux.h, i386/linux-aout.h, i386/lynx.h:
- Use <...> in #include instead of "..." to avoid recursion.
- * i386/netbsd.h, i386/xm-gnu.h, i386/xm-linux.h: Likewise.
- * i386/xm-lynx.h, i386/xm-freebsd.h, i386/xm-netbsd.h: Likewise.
- * m68k/lynx.h, m68k/netbsd.h, m68k/xm-lynx.h: Likewise.
- * m68k/xm-netbsd.h, mips/gnu.h, ns32k/netbsd.h: Likewise.
- * ns32k/xm-netbsd.h, rs6000/lynx.h, rs6000/xm-lynx.h: Likewise.
- * sparc/lynx.h, sparc/netbsd.h, sparc/xm-lynx.h: Likewise.
- * sparc/xm-netbsd.h, vax/netbsd.h, vax/xm-netbsd.h: Likewise.
-
-Tue May 9 15:52:05 1995 Michael Meissner <meissner@cygnus.com>
-
- * config.sub: Recognize powerpcle as the little endian varient of
- the PowerPC. Recgonize ppc as a PowerPC variant, and ppcle as a
- powerpcle variant. Convert pentium into i586, not i486. Add p5
- alias for i586. Map new x86 variants p6, k5, nexgen into i586
- temporarily.
-
-Tue May 9 15:43:27 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * rs6000/rs6000.h (LINK_SPEC, LIB_SPEC): Don't mess with libg
- if -shared.
- * rs6000/aix41ppc.h (LINK_SPEC): Ditto.
-
- * rs6000/powerpc.h: Don't emit .extern directives.
-
-Tue May 9 14:08:09 1995 Jim Wilson <wilson@cygnus.com>
-
- * sh/lib1funcs.asm (__ashrsi3, __ashlsi3, __lshrsi3): Use .byte
- instead of .word offsets in switch table.
-
-Tue May 9 11:44:47 1995 Jeremy Bettis <jbettis@cse.unl.edu>
-
- * objc/sendmsg.c (__objc_send_initialize): Call superclass if object
- does not implement +initialize.
-
-Tue May 9 02:44:16 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * rs6000/xm-rs6000.h (COLLECT_EXPORT_LIST): Define if not
- cross-compiling.
- * rs6000/xm-mach.h: #undef COLLECT_EXPORT_LIST.
- * rs6000/rs6000.h (COLLECT_SCAN_OBJECTS): Lose.
-
- * collect2.c (collect_exit): Unlink export_file.
- (prefix_from_string): Broken out from prefix_from_env.
- (prefix_from_env): Call it.
- (main): Under AIX, recognize -bE: and -bexport:, and don't
- automatically export everything if we see one. Otherwise, scan the
- objects individually and add all their symbols to an export file to be
- passed to the linker.
- (write_export_file): New function.
- (scan_prog_file): Ignore symbols starting with '.'
-
- * c-common.c (declare_hidden_char_array): Mark decl artificial.
-
-Mon May 8 18:13:57 1995 Adam Fedor <fedor@colorado.edu>
-
- * objc/init.c (_objc_load_callback): Add declaration.
- (__objc_exec_class): Call _objc_load_callback after every Class
- or Category is added.
- * objc/objc-api.h (_objc_load_callback): Add declaration.
-
-Mon May 8 17:56:28 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (expand_expr, case INDIRECT_REF): Set RTX_UNCHANGING_P
- if both TREE_READONLY and TREE_STATIC set.
-
- * c-typeck.c (convert_for_assignment): Don't give errors about
- adding const or volatile unless both sides point to functions.
-
-Mon May 8 11:48:23 1995 Michael Meissner <meissner@cygnus.com>
-
- * configure: If ../ld/Makefile, symlink ../ld/ld.new to collect-ld,
- not real-ld. Don't test for $use_collect2 any more.
-
-Sun May 7 17:52:23 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * calls.c (expand_call): Improve -Winline warnings.
-
-Sun May 7 17:28:27 1995 DJ Delorie (dj@delorie.com)
-
- * configure.bat: Use "go32" instead of "msdos" for future expansion.
-
- * i386/go32.h: Add support for win32's stdcall functions.
-
- * configure.bat: Add ^M to end of each line.
- * i386/config-nt.bat, alpha/config-nt.bat: Likewise.
-
-Sun May 7 02:12:26 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * tree.h (DECL_ARTIFICIAL): New macro.
-
- * function.c (expand_function_end): Don't warn about unused
- anonymous or artificial parms.
-
-Fri May 5 18:41:22 1995 Jim Meyering (meyering@comco.com)
-
- * configure: Fix typo in name of "maintainer-clean".
-
-Fri May 5 14:58:01 1995 Jeffrey A. Law <law@snake.cs.utah.edu>
-
- * pa.c (emit_move_sequence): Force problematical constants
- into memory during the reload pass when generating PIC.
-
-Fri May 5 13:30:33 1995 Doug Evans <dje@cygnus.com>
-
- * objc/NXConstStr.m: NXConstantString.h renamed to NXConststr.h.
-
-Fri May 5 07:10:15 1995 Stephen L Moshier (moshier@world.std.com)
-
- * real.c (emdnorm, toe64, etoe64): Significand of Intel long double
- denormals is shifted down one bit.
-
-Fri May 5 07:04:12 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-typeck.c (process_init_element): Don't clear_momentary if
- constructor_stack is not empty.
-
- * objc/Makefile (SHELL): Now /bin/sh.
-
- * c-typeck.c (build_binary_op): Also warn about ordered
- comparison of pointer with zero if -Wall.
-
- * expr.c (do_jump, case EQ_EXPR, NE_EXPR): Properly compare complex.
-
-Thu May 4 18:01:25 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * objc/Makefile: NXConstantString renamed to NXConstStr.
- * objc/NXConstStr.m: Renamed from objc/NXConstantString.m.
- * objc/NXConstStr.h: Renamed from objc/NXConstantString.h.
-
-Thu May 4 17:38:21 1995 J.T. Conklin <jtc@netbsd.org>
-
- * configure (vax-*-netbsd*): New configuration.
- * vax/netbsd.h, vax/xm-netbsd.h: New files.
-
-Thu May 4 16:39:05 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * collect2.c (main): Add check for 'collect-ld', just like
- 'real-ld', except that old versions won't be looking for it in the
- path. Don't look for 'real-ld' in the path anymore. Sigh.
-
- * collect2.c: #include demangle.h and obstack.h.
- (obstack_chunk_alloc): Define.
- (obstack_chunk_free): Define.
- (generic): Don't define. Don't use.
- (main): Initialize obstacks and demangling.
-
- * collect2.c (dump_file): Adjust space padding in output to
- maintain tabulation with Solaris ld. Don't demangle if the
- environment variable COLLECT_NO_DEMANGLE is set.
-
- * collect2.c (main): Redirect the output of the first link and
- demangle it. Don't collect static c/dtors unless USE_COLLECT2 is
- defined. Null-terminate the list of objects.
- (dump_file): New function.
- (file_exists): New function.
- (collect_exit): Renamed from my_exit. Dump and remove the temporary
- ld output file.
- (collect_execute): Break out from fork_execute. Support redirection.
- (fork_execute): Call it.
- (fatal_perror, fatal, error): Make non-static.
- (xcalloc, xmalloc): Don't use generic.
- (xrealloc): Define.
- (collect_wait): Break out for do_wait. Just return the exit status.
- (do_wait): Call it.
-
- * collect2.c: Check SUNOS4_SHARED_LIBRARIES using #if, not #ifdef.
-
- * Makefile.in (collect2): Now uses cplus-dem.o and underscore.o.
- (collect2.o): Pass MAYBE_USE_COLLECT2 to compile.
- (underscore.c): Rules for creation.
-
- * cplus-dem.c, demangle.h: Copy from libiberty.
-
-Thu May 4 14:12:35 1995 Jim Wilson <wilson@cygnus.com>
-
- * sdbout.c (plain_type): Pass additional argument to plain_type_1.
- (plain_type_1): New parameter level. Increment it when making
- recursive calls. Force the type to void_type_mode before starting
- a 7th level of recursion.
-
- * sh.c (general_movsrc_operand, general_movdst_operand): Delete
- references to POST_DEC and PRE_INC.
- * sh.h: Clean up whitespace, comments, etc.
- (TARGET_SH, RTL_BIT, DT_BIT, C_BIT, R_BIT, TARGET_DUMP_RTL,
- TARGET_DUMP_R, TARGET_CDUMP): Delete.
- (TARGET_SWITCHES): Delete -mR, -mc, -mr options.
- (CONST_DOUBLE_OK_FOR_LETTER_P): Delete 'G' contraint.
- (FUNCTION_VALUE): Simplify.
- (REG_OK_FOR_PRE_POST_P, IS_INDEX): Delete.
- (BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P): Rewrite to allow
- SUBREGs.
- (GO_IF_LEGITIMATE_INDEX): Delete unused REGNO argument.
- (GO_IF_LEGITIMATE_ADDRESS): Use BASE_REGISTER_RTX_P instead of
- REG_OK_FOR_PRE_POST_P. Don't accept PRE_INC or POST_DEC addresses.
- (PREDICATE_CODES, PROMOTE_MODE): Define.
-
-Wed May 3 09:57:55 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/rs6000.md (non power abs insns): If not powerpc, use
- sf/subfc instructions, not subf.
-
-Wed May 3 08:49:06 1995 Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
-
- * protoize.c (gen_aux_info_file): Use strerror #ifdef HAVE_STRERROR.
-
-Wed May 3 01:06:01 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu>
-
- * pa.c (output_call): Fix typo/thinko in last change.
- (output_function_epilogue): Align the data section before
- emitting deferred plabels.
-
- From Torbjorn:
- * pa.c (before functions): Declare deferred_plabels and
- n_deferred_plabels.
- (output_call): When generating pic, don't use LP and RP. Use 32 bit
- plabel instead.
- (output_function_epilogue): Output plabels accumulated in output_call.
-
-Tue May 2 17:15:08 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu>
-
- * pa.c (hppa_expand_epilogue): Fix thinko in last change.
-
-Tue May 2 16:54:35 1995 Doug Evans <dje@cygnus.com>
-
- * jump.c (jump_optimize, can_reach_end determination): A barrier can
- follow the return insn.
-
-Tue May 2 12:39:55 1995 Mike Stump <mrs@cygnus.com>
-
- * fold-const.c (fold): Ensure that we don't alter the expression's
- type when folding CLEANUP_POINT_EXPRs.
-
-Tue May 2 13:36:08 1995 Michael Meissner <meissner@cygnus.com>
-
- * expmed.c (emit_store_flag): When creating store flag
- instructions from simpler parts, such as XOR, ABS, etc. do not
- reuse pseudo registers if expensive optimizations, instead create new
- pseudos for each insn result.
-
-Tue May 2 01:25:29 1995 Jeffrey A. Law <law@snake.cs.utah.edu>
-
- * pa.c (hppa_expand_epilogue): Correctly handle restore of %rp
- for functions with a stack size of exactly 8kbytes and no frame
- pointer.
-
-Mon May 1 19:27:08 1995 Jim Wilson <wilson@cygnus.com>
-
- * sdbout.c (sdbout_one_type): Don't switch to text section if
- in function with section attribute.
-
- * combine.c (combine_instrutions): Set subst_prev_insn to zero.
- (try_combine, undo_all): Likewise.
- (get_last_value): Return zero if subst_prev_insn set.
-
- * sparc.h (INIT_TARGET_OPTABS): Move INIT_SUBTARGET_OPTABS to end.
-
- * Makefile.in (install-dir): chmod a+rx all newly created directories.
-
- * expr.c (expand_expr, case SAVE_EXPR): Handle the case where
- mode is VOIDmode.
-
-Fri Apr 28 15:39:38 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * cpplib.h (cpp_buffer): Note new escape combination "@ ".
- * cpplib.c (macroexpand): Delete "@ " if stringifying.
- (cpp_skip_hspace): Also skip "@ " if input buffer has_escapes.
- (collect_expansion): Cleanup white-space handling.
- (create_definition): Remove all leading spaces, not just first one.
- (cpp_expand_to_buffer): Set has_escapes on resulting input buffer.
- (macroexpand): Set output_escapes during whole function (and
- specifically during calls of macarg).
- (macroexpand): Set "@ " before and after expansion result.
- (push_macro_expansion): Remove unneeded initial "@ ", not " ".
- (cpp_get_token): Remove unneeded "@ " (not " ") at end of expansion.
- (cpp_get_token): Handle "@ ".
-
- * cpplib.c (read_name_map): Add cpp_reader parameter. Access
- map_list from former (instead of having it be static).
- (open_include_file): Extra parameter (because of above changes).
- (do_include, lookup_import): Update calls of open_include_file.
-
- * cpplib.c (do_include): Fix memory leak.
-
- * cpplib.c (delete_assertion): Also delete tokenlist.
- (do_unassert): Don't delete tokenlist (handled by delete_assertion).
- (cpp_cleanup): New function. Frees resources used by a cpp_reader.
- * cpphash.c (cpp_hash_cleanup): New function.
- (delete_macro): Enable commented-out code.
- (file_cleanup): Free actual buffer.
-
- * cpplib.c (cpp_options): Add map_list.
-
- * cpplib.h (PARSE_GETC): Removed. Bogus and unused.
- * cppmain.c (main): Remove commented-out code that used PARSE_GETC.
-
- * cpplib.c: Don't #include <string.h>. Causes clashes
- on Nextstep (when index/rindex are macros).
- (cpp_grow_buffer, int_parse_file): Cast to U_CHAR*, rather than char*.
-
-Sun Apr 30 08:11:23 1995 Alan Modra (alan@spri.levels.unisa.edu.au)
-
- * stdarg.h, varargs.h (va_arg): Don't assume __va_rounded_size (char)
- has the value of 4.
-
-Sun Apr 30 07:13:43 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * vax.h (NOTICE_UPDATE_CC): Correctly handle aob insns.
-
- * expr.c (expand_expr, case CONSTRUCTOR): Don't set target to
- zero if more then one word.
- Pass size and alignment to move_by_pieces_ninsns in bytes, not bits.
-
- * cse.c (cse_insn): Properly set IN_MEMORY for SET_DEST.
-
- * tree.c (substitute_in_expr): Preserve TREE_READONLY.
-
- * c-common.c (enum attrs): Add A_UNUSED.
- (init_attributes): Initialize it.
- (decl_attributes, case A_UNUSED): New case.
-
-Sat Apr 29 15:42:03 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (do_include): Re-fix minor memory leak by using
- alloca instead of xmalloc and free.
-
- * cccp.c (macarg): Except for reporting error, treat unterminated
- macro call as if it were terminated, since `macroexpand' relies
- on *argptr being filled in.
-
-Sat Apr 29 06:09:35 1995 Torbjorn Granlund <tege@cygnus.com>
-
- * pa.c (output_mul_insn): Simplify, it is never called with
- UNSIGNEDP set.
-
- * pa.md (divsi3, udivsi3, modsi3, umodsi3): Simplify.
- (ashlsi3): Clean up indentation and commentary.
-
-Fri Apr 28 12:48:01 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * integrate.c (expand_inline_function): Don't emit any notes until
- after we've expanded the actual parameters.
-
-Fri Apr 28 11:51:06 1995 Stan Cox (gcc@dg-rtp.dg.com)
-
- * m88k/dgux.h: (ENDFILE_SPEC, LIB_SPEC) Fix crtbegin and crtend
- (SELECT_RTX_SECTION) Put relocatable pic constants in data section
-
- * m88k/dguxbcs.h: (LIB_SPEC) Likewise
-
- * m88k/m88k.c: (symbolic_operand) Put relocatable pic constants in data
-
- * m88k/m88k.h: (FRAME_POINTER_REQUIRED) Add -momit-leaf-frame-pointer
-
- * m88k/m88k.md: (umulsidi3) Doesn't work for 88110 with mod/div changes
-
- * m88k/x-dgux: (GCC_FOR_TARGET) tdesc gets mixed up for crtbegin/crtend
-
-Fri Apr 28 06:36:47 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-typeck.c (pop_init_level, output_init_element): Pass
- require_constant_* to digest_init.
-
- * alpha.c (alpha_emit_set_const): Now returns rtx and take MODE arg.
- Rework to use a new pseudo for intermediate values if high opt level.
- Also use expand_{bin,un}op.
- * alpha.h (alpha_emit_set_const): Add declaration.
- * alpha.md (mov[sd]i and splits): Change call to alpha_emit_set_const.
-
- * reg-stack.c (stack_result): Fix bug in last change.
-
-Fri Apr 28 01:08:43 1995 Doug Evans <dje@cygnus.com>
-
- * objc-act.c: Update calls to start_decl, finish_struct,
- pass NULLs for attributes.
-
-Thu Apr 27 21:13:14 1995 Doug Evans <dje@cygnus.com>
-
- * sparc.md (tablejump): Only if ! TARGET_MEDANY.
- (casesi): New pattern for TARGET_MEDANY case.
-
- * c-common.c (decl_attributes): Always continue if attribute not found.
- * c-typeck.c (common_type): Call lookup_attribute instead of
- value_member.
- * tree.c (attribute_hash_list): New function.
- (build_type_attribute_variant): Call it.
- (valid_machine_attribute): Handle attributes with arguments.
- (is_attribute_p): New function.
- (lookup_attribute): New function.
- (attribute_in_list): Deleted.
- (attribute_list_contained): Check TREE_PURPOSE and TREE_VALUE.
- * tree.h (valid_machine_attribute): Add prototype.
- (is_attribute_p, lookup_attribute): Likewise.
- * i386/winnt.h (RETURN_POPS_ARGS): Call lookup_attribute.
- (ENCODE_SECTION_INFO): Likewise.
- (CPP_PREDEFINES): Use __stdcall__, __cdecl__.
- (VALID_MACHINE_DECL_ATTRIBUTE): Call is_attribute_p.
- `args' must be NULL.
-
-Thu Apr 27 21:10:41 1995 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (insv): New anonymous patterns to combine insert with
- arbitrary ashift, ashiftrt, lshiftrt, or zero_extract. (Based on
- patch from John Brooks <jbrooks@ea.com>.)
- (ashlsi3): Remove extraneous operand processing.
-
-Thu Apr 27 18:47:24 1995 Jim Wilson <wilson@cygnus.com>
-
- * sh/ashlsi3.c, sh/ashrsi3.c, sh/lshrsi3.c: Delete.
- * sh/lib1funcs.asm (ashiftrt_r4_*): Rewrite for efficiency.
- (ashrsi3, lshrsi3, lshrsi3): Add.
- * t-sh (LIB1ASMFUNCS): Add new functions.
- (LIBGCC2_CFLAGS): Delete.
- (LIB2FUNCS_EXTRA): Remove deleted files.
- (ashlsi3.c, ashrsi3.c, lshrsi3.c): Remove rules for deleted files.
-
- * stmt.c (expand_return): When returning BLKmode structure, use
- operand_subword instead of doing arithmetic on the register number.
- Also, for structures smaller than word_mode, copy it into a word_mode
- temporary and then subreg it.
-
- * sparc.md: Delete two define_peepholes which print `bad peephole'.
-
-Thu Apr 27 16:17:01 1995 Torbjorn Granlund <tege@cygnus.com>
-
- * toplev.c (rest_of_compilation): Call shorten_branches even when
- !optimize.
- * final.c (shorten_branches): For non-optimizing compiles, break
- after first pass.
-
-Thu Apr 27 14:22:50 1995 Michael Meissner <meissner@cygnus.com>
-
- * i386/linux-oldld.h: New file, that is cloned from linux-aout.h,
- except that it does not pass -m i386linux to the linker. This is
- to support the original GNU/Linux ld that is on most distributions.
-
- * configure (i[345]86-*-linux*oldld*): Use i386/linux-oldld.h as
- the target file.
-
-Thu Apr 27 08:56:50 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.c (valid_machine_attribute): Update last change.
-
-Thu Apr 27 08:06:33 1995 Philippe De Muyter (phdm@info.ucl.ac.be)
-
- * fix-header.c, cpplib.c: Don't include <sys/stat.h> twice.
- * cpplib.c (cpp_grow_buffer, init_parse_file): Cast {xmalloc,xrealloc}
- for token_buffer to U_CHAR* instead of char*.
-
- * m68k/x-mot3300: New file.
- * configure (m68k-motorola-sysv*): Use x-mot3300 instead of x-alloca.
-
-Thu Apr 27 07:04:09 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (do_include): Fix minor memory leak.
-
- * cccp.c (struct argdata): Remove unused `comments' member.
- (macarg): Don't set `comments' member.
-
- * cccp.c (collect_expansion): Assume leading white space
- already removed.
- Don't allocate unnecessary space for expansion.
-
- * cccp.c (deps_output): Don't generate overly long output lines.
- Do not invoke self recursively with spacer == 0; this simplifies
- the code a bit.
-
-Wed Apr 26 19:20:02 1995 Andrew McCallum <mccallum@leopard.cs.rochester.edu>
-
- * objc/Object.h: Changed Class * to Class in order to match NEXTSTEP
- and OpenStep runtime.
- * objc/Object.m, objc/Object.h, objc/archive.c, objc/class.c: Likewise.
- * objc/encoding.c, objc/init.c, objc/objc-api.h, objc/objc.h: Likewise.
- * objc/objects.c, objc/runtime.h, objc/selector.c: Likewise.
- * objc/sendmsg.c, objc/typedstream.h: Likewise.
-
-Wed Apr 26 19:18:52 1995 Pieter Schoenmakers <tiggr@es.ele.tue.nl>
-
- * objc/objc-api.h (objc_static_instances): New struct to record
- static instances of a certain class.
- (objc_module): New tag STATICS to point to the table of
- objc_statics_instances.
-
- * objc/init.c (OBJC_VERSION): Version 7.
- (objc_init_statics): New function.
- (__objc_exec_class): Invoke objc_init_statics if needed.
-
- * objc/NXConstantString.m, objc/NXConstantString.h: New files.
- * objc/Makefile (OBJC_O): Added bare-bones implementation of
- NXConstantString.
-
- * objc-act.c (OBJC_VERSION): Version 7.
- (build_objc_string_object): Build a full declaration if not using
- the next runtime.
- (objc_add_static_instance): New function.
- (init_module_descriptor): Add reference to static instances table.
- (build_module_descriptor): Add field for static instances table.
- (get_objc_string_decl): New function.
- (generate_static_references): New function.
- (finish_objc): Call generate_static_references if needed.
-
- * c-tree.h (finish_decl_top_level): New declaration.
- * c-decl.c (finish_decl_top_level): New function.
-
-Wed Apr 26 18:04:32 1995 Dirk Steinberg (Dirk.Steinberg@gmd.de)
-
- * stddef.h: Treat _MACHINE_ANSI_H_ like _ANSI_H_.
-
-Wed Apr 26 14:09:59 1995 Jim Wilson <wilson@cygnus.com>
-
- * sparc.h (NEGTF2_LIBCALL): Define.
- (INIT_TARGET_OPTABS): Add support for all TFmode *_LIBCALL macros.
- * optabs.c (init_optabs): Delete all uses of undocumented TImode and
- TFmode *_LIBCALL macros.
-
- * combine.c (simplify_rtx, case TRUNCATE): Add. Use force_to_mode.
- (force_to_mode, case AND): Allow some simplifications when GET_MODE (x)
- has more bits than HOST_BITS_PER_WIDE_INT.
- * mips/mips.md (truncdiqi2+[456]): Add patterns to simplify ZERO_EXTEND
- of a TRUNCATE.
-
-Wed Apr 26 13:01:22 1995 Doug Evans <dje@cygnus.com>
-
- * sparc.md (memop define_splits): Rewrite to not use memop.
- Preserve MEM_IN_STRUCT_P, MEM_VOLATILE_P, RTX_UNCHANGING_P bits.
- * sparc.c (memop): Deleted.
- (splittable_symbolic_memory_operand): New function.
- (splittable_immediate_memory_operand): New function.
-
-Wed Apr 26 12:54:26 1995 Jeffrey A. Law <law@snake.cs.utah.edu>
-
- * configure: Add hppa1.1-hp-lites support.
-
-Wed Apr 26 08:04:46 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * sh.md (ashrsi2_31): Don't use dead_or_set_p after reload.
- * pyr.md: Remove bad peepholes that improperly use dead_or_set_p.
-
- * function.c (expand_function_end): Warn about unused parms
- if both -Wunused and -W.
-
- * tree.h (TYPE_PARSE_INFO): Delete unused field.
- (TYPE_PACKED): Add new macro.
- (struct tree_type): Delete unused field `parse_info'.
- Add new field `packed_flag'.
- * c-tree.h (finish_enum, finish_struct): Add ATTRIBUTES argument.
- * c-common.c (init_attributes): Don't require decl for A_PACKED.
- (decl_attributes, case A_PACKED): Set TYPE_PACKED for type.
- * c-parse.in: Update number of shift/reduce conflicts.
- (structsp): Pass attribute arg to finish_struct.
- Support attributes on enums and pass to finish_enum.
- * c-decl.c (finish_struct): Add ATTRIBUTES argument, call
- decl_attributes and set DECL_PACKED from TYPE_PACKED.
- (finish_enum): Add ATTRIBUTES argument, call decl_attributes,
- and make enum narrow if TYPE_PACKED.
- * print-tree.c (print_node): Print TYPE_PACKED.
-
- * c-decl.c (init_decl_processing): Don't give builtin__constant_p an
- argument type.
- * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): A pointer to a
- string constant is a constant.
-
- * c-typeck.c (output_init_element): Constructor is not simple if
- a bitfield is being assigned a non-integer.
-
- * c-typeck.c (push_init_level): Update constructor_depth when we
- push spelling level.
-
-Tue Apr 25 19:50:06 1995 Jeffrey A. Law <law@snake.cs.utah.edu>
-
- * pa.c (emit_move_sequence): Handle function label arithmetic for
- PIC code generation too.
-
-Tue Apr 25 18:52:43 1995 Stephen R. van den Berg (berg@pool.informatik.rwth-aachen.de)
-
- * reg-stack.c (current_function_returns_real): Deleted (unused).
- (FP_mode_reg): Trimmed to a smaller size, less overhead.
- (FP_MODE_REG): New macro over which FP_mode_reg will be accessed.
- (mark_regs_pat, straighten_stack): New functions.
- (reg_to_stack): Amend initialisation of FP_mode_reg.
- Mark FP registers mentioned in USE insns before NOTE_INSN_FUNCTION_BEG.
- (get_true_reg): Eliminate FP subreg accesses in favour of the
- actual FP register in use.
- (record_reg_life_pat): Make it work on SUBREGs as well. Make use of
- the new mark_regs_pat function. Handle USE insns if called unnested.
- (record_reg_life): Don't check for QImode again, we know that it
- is there. Process CALL_INSNs like all other insns, they might `use'
- some FP argument registers if register passing.
- (stack_result_p): Changed in stack_result and returning an rtx.
- (stack_reg_life_analysis): Take a new stackentry state argument.
- Use stack_result and the rtx to mark using mark_regs_pat. This ensures
- that types that need multiple FP registers are handled correctly.
- Delete the no_live_regs shortcut to save space.
- Use stackentry state to determine filled registers.
- (replace_reg): Accept COMPLEX_FLOAT as well.
- (move_for_stack_reg): Optimise away some pointer dereferencing.
- (subst_stack_regs): Make sure the stack is in the right order
- and of the right size for register passing.
- (goto_block_pat): Make sure the stack is in the right order
- to return possible multi-register values from the function.
- (convert_regs): Fix comment about CALL_INSN, it's no longer valid.
- Make sure the stack is of the right size and in the right order
- to return possible multi-register values from the function.
-
- * function.c (assign_parms): If STACK_REGS is defined, generate USE
- insns before the function body, thus showing which registers are filled
- with parameters.
- * expr.c (expand_builtin_apply_args): Likewise.
- Reverse order of saving registers, more compact code for i387.
- (expand_builtin_apply): Likewise.
- * emit-rtl.c (gen_highpart): Add comment about broken implementation.
- * i386.md (untyped_call): Make it return a complex double.
-
- * c-parse.in (attrib): Permit null-length argument list to attributes.
-
- * tree.c (valid_machine_attribute): Use new function attribute_in_list,
- makes sure type_attribute_variants are reused even when attributes have
- parameters.
- Assign any new type to TREE_TYPE (decl).
- (attribute_in_list): New function.
- (attribute_list_contained): Use it.
- * tree.h (attribute_in_list): New declaration.
-
-Tue Apr 25 18:25:53 1995 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (struct move_by_pieces): Add to_struct and from_struct fields.
- (move_by_pieces): Set to_struct and from_struct fields.
- (move_by_pieces_1): Set MEM_IN_STRUCT_P of to1 and from1.
- (expand_builtin, case BUILT_IN_MEMCPY): New variable type.
- Set MEM_IN_STRUCT_P of src_mem and dest_mem.
-
- * Makefile.in (clean): Delete libgcc1-asm.a.
-
- * m68k/vxm68k.h (CPP_SPEC): Define.
-
- * c-decl.c (pushdecl): Don't test DECL_EXTERNAL when deciding whether
- to register a duplicate decl in the current block.
-
- * cross64.h (INIT_ENVIRONMENT): Define as string not putenv call.
- * gcc.c (main): Pass INIT_ENVIRONMENT to putenv.
-
- * stmt.c (expand_return): When returning BLKmode structure in
- registers, copy it to a psuedo-reg instead of to hard registers.
-
-Tue Apr 25 15:14:58 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (LEGITIMIZE_ADDRESS): Don't create a DF address using two
- regs if -msoft-float or -mcpu=403.
-
-Tue Apr 25 15:45:44 1995 Richard Henderson (richard@atheist.tamu.edu)
-
- * m68k.md (divhi3, udivhi3, modhi3, umodhi3): Deleted
- these insns plus some surrounding trash.
- (divmodhi4, udivmodhi4): Added these insns.
-
-Tue Apr 25 10:12:40 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.c (alpha_builtin_saveregs): Refine last change to work
- for both stdarg and varargs.
-
- * tree.c (chain_member_purpose): Make similar to chain_member_value.
-
- * Makefile.in, configure: Change "realclean" to "maintainer-clean".
-
- * protoize.c: Removed __NetBSD__ from conditional.
- Declare strerror if HAVE_STRERROR is defined; otherwise
- declare sys_errlist and sys_nerr.
- (my_strerror): New function.
- (errno): Don't define if already defined as a macro.
-
- * alpha.c (current_file_function_operand): Return false if profiling.
-
- * expr.c (convert_move): Don't access a hard reg in an invalid
- mode when doing a truncation.
-
- * alpha.c (add_operand): Test for exactly the constants allowed by
- the constraints.
- * alpha.h (CONST_OK_FOR_LETTER_P, case 'L'): Reject 0x80000000.
-
- * c-parse.in (initdcl, notype_initdcl): Pass attributes to
- start_decl; delete call to decl_attributes.
- * c-tree.h (start_decl): Two new tree parameters.
- * c-decl.c (start_decl): New args for attributes; call decl_attributes.
-
- * c-decl.c (duplicate_decls): Don't look at TYPE_ACTUAL_ARG_TYPES
- if it is not set.
-
- * xm-1750a.h: New file.
-
- * alpha.c (alpha_builtin_saveregs): Add to incoming args addr
- if less than 6 named args, not less than or equal to.
-
-Mon Apr 24 15:25:19 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * mips-tfile.c (fatal, error): Make first arg const to avoid warning.
-
- * stmt.c (expand_end_bindings): Write a BARRIER after call
- to abort in nonlocal handler.
-
- * stmt.c (expand_decl_init): Call preserve_temp_slots to keep
- around any temp whose address was taken.
-
-Fri Apr 21 16:26:15 1995 Torbjorn Granlund <tege@adder.cygnus.com>
-
- * pa.md (call_internal_reg): Fix typos in length calculation.
- (call_value_internal_reg): Likewise.
-
-Fri Apr 21 13:17:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * config/gnu.h (STANDARD_INCLUDE_DIR): New macro.
- * config/mips/gnu.h (STANDARD_INCLUDE_DIR): Macro moved there.
-
-Fri Apr 21 08:23:58 1995 Tom Quiggle (quiggle@lovelace.engr.sgi.com)
-
- * toplev.c (lang_options): Add -I for GNAT.
- * gcc.c (default_compilers): Pass -I to gnat1.
-
-Fri Apr 21 07:58:06 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.c (integer_all_onesp): Test to size of mode, not TYPE_PRECISION.
-
- * toplev.c (main): Turn on -fforce-mem for -O2.
-
- * fold-const.c ([lr]rotate_double): Replace; old versions were bogus.
- (fold, shift and rotate): Don't call tree_int_cst_sgn on non-integer.
- (fold, case LROTATE_EXPR): If constant count, convert to RROTATE_EXPR.
- (fold, case RROTATE_EXPR): Sometimes commute logical op with rotate.
- Delete pair of counteracting shifts.
-
- * combine.c (simplify_logical, case AND): If still an AND, get
- new values for op0 and op1.
-
-Thu Apr 20 17:52:10 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sh.c: Completely rewritten.
- * sh.h (FAST_BIT, CONSTLEN_2_BIT, CONSTLEN_3_BIT, CONSTLEN_0_BIT,
- TARGET_FASTCODE, TARGET_CLEN3, TARGET_CLEN0, TARGET_OPTIONS): Delete.
- (TARGET_SWITCHES): Delete -mclen3 and -mclen0 options.
- (TARGET_DEFAULT): Is zero.
- (OVERRIDE_OPTIONS): Delete code to set max_count_si and max_count_hi.
- (SPECIAL_REG): New macro.
- (HARD_REGNO_MODE_OK): Allow any mode in any general register.
- (GO_IF_LEGITIMATE_ADDRESS): Delete constant + reg address case.
- (MOVE_RATIO): Define to 2 when TARGET_SMALLCODE.
- (max_si, max_hi, max_count_si, max_count_hi): Delete.
- * sh.md: Delete spurious constraints from all define_expands.
- (rotlsi3_1): Set T reg instead of clobbering it.
- (ashrsi3): Use expand_ashiftrt instead of gen_shifty_op.
- (movsi_i, movhi_i, movsf_i): Add conditions to reject patterns
- needing a reload.
- (movdi-2, movdf_k): Correct conditions to reject patterns needing
- a reload.
- ([inverse_]branch_{true,false}): Pass operands to output_branch.
- (jump): Delete unnecessary braces.
- (call, call_value): Don't use expand_acall. Force operand0 into
- a register.
-
-Thu Apr 20 12:57:16 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * function.c (assign_parms): Use TREE_ADDRESSABLE rather than
- TYPE_NEEDS_CONSTRUCTING to decide whether a parameter needs to be
- passed by invisible reference.
-
- * calls.c (expand_call): Ditto. Abort if we try to pre-evaluate a
- parameter of TREE_ADDRESSABLE type.
-
-Wed Apr 19 17:50:24 1995 Torbjorn Granlund <tege@cygnus.com>
-
- * pa.h (TARGET_SWITCHES): Fix typo.
-
-Tue Apr 18 18:06:03 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (store_constructor): Use BYTES_BIG_ENDIAN rather
- than BITS_BIG_ENDIAN to layout bits within bitstring.
- * tree.c (get_set_constructor_bytes): Likewise.
-
-Tue Apr 18 17:22:46 1995 Per Bothner (bothner@wombat.gnu.ai.mit.edu)
-
- * config/m68k/{x-hp320,x-hp320g} (FIXPROTO_DEFINES):
- Define _HPUX_SOURCE so putenv and other functions get seen.
-
-Tue Apr 18 03:57:35 1995 Michael Meissner (meissner@cygnus.com)
-
- * varasm.c (weak_decls): Make this a unique structure, instead of
- a tree structure.
- (handle_pragma_weak): Don't redeclare asm_out_file. Use new weak
- structure to copy name and value to. Protect name and value by
- copying them to the permanent obstack.
- (declare_weak): Call handle_pragma_weak, instead of duplicating
- the code.
- (finish_weak): Rewrite to use new weak symbols list structure.
-
- * c-pragma.h: New file to define the c-pragma.c interfaces.
- * c-pragma.c: Include it.
- * varasm.c: Include it.
- * c-lex.c: Include it.
- * cp/lex.c: Include it.
-
- * varasm.c (handle_pragma_weak): No longer pass output file
- stream, since weak pragmas are delayed until the end of the
- compilation.
- * c-pragma.c (handle_pragma_token): Call handle_pragma_weak
- without file stream argument.
-
- * Makefile.in (varasm.o, c-lex.o, c-pragma.o): Add dependencies on
- c-pragma.h.
-
- * config/rs6000.md (movdf): If -msoft-float, do not generate
- memory to memory references, like is already done for the
- -mhard-float case. Remove an extra test for -mhard-float inside
- of -mhard-float code.
-
-Tue Apr 18 06:19:50 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (size_int): Arg is unsigned HOST_WIDE_INT.
- * tree.h (size_int): Likewise.
-
-Mon Apr 17 23:36:57 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * rs6000/aix41.h: Restore March 11th changes, plus
- (ASM_OUTPUT_EXTERNAL): Do add [DS] or [RW], just don't emit
- anything.
- * rs6000/aix3newas.h (ASM_OUTPUT_EXTERNAL): Ditto.
-
-Mon Apr 17 15:58:52 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * config/mips/x-iris (FIXPROTO_DEFINES): Add -D_LANGUAGE_C_PLUS_PLUS.
- * config/mips/x-iris6: Likewise.
-
- * cpplib.c: Rename make_definition to cpp_define.
- * cpplib.h (cpp_define): New declaration.
-
- * cpplib.c (special_symbol): For T_SPECLINE, calculate __LINE__
- in enclosing file buffer, not current buffer (if macro expanding).
- (cpp_get_token): Fix thinko (in code for chopping unneeded space).
-
-Mon Apr 17 11:36:07 1995 Jim Wilson <wilson@cygnus.com>
-
- * abi64.h (CPP_SPECS): Define and use _ABI64 instead of
- _MIPS_SIM_ABI64.
- (SETUP_INCOMING_VARARGS): Set MEM_IN_STRUCT_P if big endian target.
- * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define.
-
- * combine.c (get_last_value): Ignore BARRIER when scanning backwards.
- (move_deaths): New variables before_dead and after_dead. Set them
- to instructions that have valid INSN_CUID values and use in test.
-
- * combine.c (subst_prev_insn): New variable.
- (try_combine): Set it.
- (get_last_value): Use it.
-
- * reload.c (find_reloads): Recompute reg_equiv_address from
- reg_equiv_memory_loc before using it.
- (find_reloads_toplev, make_memloc): Likewise.
-
- * expr.c (expand_builtin, case BUILT_IN_MEMCPY): Call force_operand
- on dest_rtx before returning it.
-
- * function.c (instantiate_decls): Use temporary allocation if
- DECL_DEFER_OUTPUT is set.
-
-Sat Apr 15 23:19:03 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * aoutos.h (ASM_OUTPUT_DEF): Define instead of SET_ASM_OP.
- * sparc/sunos4.h (ASM_OUTPUT_DEF): Ditto.
-
- * varasm.c (weak_finish): Don't handle aliases.
- (declare_weak): Ditto.
- (assemble_alias): Handle aliases.
-
- * c-common.c (enum attrs): Add A_ALIAS.
- (init_attributes): Ditto.
- (decl_attributes): Ditto.
-
-Sat Apr 15 13:26:34 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * calls.c (expand_call): Call preserve_temp_slots on temps
- made for BLKmode args returned in registers.
-
- * pa.c (override_options): Fix typo.
-
-Sat Apr 15 12:11:46 1995 Brendan Kehoe <brendan@cygnus.com>
-
- * alpha/alpha.c (output_epilog): Initialize fp_offset to 0, and
- make sure it's non-zero before we try to use it to restore the
- frame pointer.
-
-Fri Apr 14 19:45:05 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * ginclude/va-{clipper,pa,pyr,sparc,spur}.h (va_arg): Reorganize
- to avoid BIND_EXPRs and COND_EXPRs of aggregate type.
-
-Fri Apr 14 19:31:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * config/svr4.h (ASM_OUTPUT_SECTION_NAME): Make the section
- read-only executable "ax" if DECL is a FUNCTION_DECL; read-only
- "a" (previously the case always) if DECL is TREE_READONLY;
- otherwise writable "aw".
-
-Fri Apr 14 18:49:11 1995 Linus Torvalds <Linus.Torvalds@cs.Helsinki.FI>
-
- * alpha.md (probe_stack): Probe with write, not read.
- (allocate_stack): Update and correct stack probe code.
- * alpha.c (output_prolog): Changed stack probe at function entry.
-
-Fri Apr 14 18:42:34 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * jump.c (delete_insn): When deleting after label, delete
- a BARRIER as well.
-
-Fri Apr 14 14:40:48 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * toplev.c (compile_file): Call weak_finish.
-
- * c-common.c (enum attrs): Add A_WEAK.
- (init_attributes): Ditto.
- (decl_attributes): Support __attribute__ ((weak)) by
- calling declare_weak.
-
- * sparc/sunos4.h (HANDLE_PRAGMA_WEAK, WEAK_ASM_OP, SET_ASM_OP):
- Define to support weak symbols with -fgnu-linker.
- * aoutos.h: Ditto.
-
- * varasm.c (handle_pragma_weak): Add declared weak symbols to
- weak_decls rather than emitting them immediately.
- (declare_weak): Add the indicated declaration to weak_decls.
- (weak_finish): Emit .weak directives for any weak symbols.
-
- * libgcc2.c: The C++ free-store management functions are weak.
-
-Fri Apr 14 13:00:29 1995 Michael Meissner (meissner@cygnus.com)
-
- * rs6000/rs6000.c (output_prolog): For eabi systems, emit main's
- call to __eabi before setting up the minimal TOC used with the
- -mrelocatable support.
-
- * rs6000/eabi.h (INVOKE__main): Don't define any more,
- output_prolog will emit the call.
-
-Fri Apr 14 09:09:03 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.c (call_operand): Any reg is valid for NT.
- (output_prologue): Never need GP for Windows/NT.
- Set SYMBOL_REF_FLAG in current function decl.
-
-Thu Apr 13 20:19:30 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * alpha/xm-alpha.h (HAVE_VPRINTF): Define.
- (HAVE_PUTENV): Define.
- (POSIX): Define.
-
-Thu Apr 13 19:57:44 1995 Doug Evans <dje@cygnus.com>
-
- * emit-rtl.c (gen_sequence): If the insn has a non-null
- CALL_INSN_FUNCTION_USAGE field, output it as a sequence so the
- latter isn't discarded.
-
- * c-parse.in: Update expected conflict count.
-
-Thu Apr 13 08:10:20 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure.bat: Arg 2 is which machine (i386 or alpha).
- * configure (alpha-*-winnt3*): New configuration.
- * alpha.c: Don't #include stamp.h for WINNT.
- (input_operand, case CONST): Allow ptr_mode and DImode.
- * alpha.h (WINDOWS_NT): Provide default definition.
- (ASM_OUTPUT_INT): Use output_addr_const.
- (ASM_OUTPUT_ADDR_DIFF_ELT): Use .long for NT.
- * alpha.md (calll, tablejump, movsi): New variants for NT.
- * alpha/winnt.h, alpha/xm-winnt.h, alpha/x-winnt: New files.
- * alpha/config-nt.bat, alpha/config-nt.sed: New files.
- * i386/config-nt.bat: Add Ada fragments to Makefile.
- * i386/config-nt.sed: Adjust for deletion of config.run in Makefile.in
- Change version to 2.6.3.
- Add some missing tabs.
- * winnt/winnt.h (TARGET_MEM_FUNCTIONS): Define.
- (LINK_SPEC): Delete "align:0x1000".
- * winnt/xm-winnt.h (OBJECT_SUFFIX): Define.
- * ginclude/stdarg.h, ginclude/varargs.h: Clean up code that
- defines *DEFINED* symbols.
-
- * configure (a29k-*-sym1*): Same as a29k-*-bsd*.
- * a29k.h (ASM_OUTPUT_SECTION_NAME): New macro.
-
-Wed Apr 12 14:36:03 1995 Jim Wilson <wilson@cygnus.com>
-
- * dbxout.c (dbxout_type_fields): Correct arguments to CHARS macro
- in flag_minimal_debug case.
- (dbxout_symbol_name): Use DECL_ASSEMBLER_NAME unconditionally.
- * sdbout.c (sdbout_record_type_name): Correct indentation.
- (sdbout_symbol): Use DECL_ASSEMBLER_NAME unconditionally.
- (sdbout_one_type): Likewise.
-
-Tue Apr 11 13:24:13 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * fix-header.c (main): Fix loop over required_functions_list.
- (fatal): Also print inc_filename.
-
- * cpplib.c (cpp_push_buffer): Added missing initializatuon of buf.
- (cpp_file_buffer): Compare against CPP_NULL_BUFFER, not NULL.
- (finclude): No longer call cpp_push_buffer - let callers do it.
- (do_include): Add call to cpp_push_buffer.
- (push_parse_file): Call cpp_push_buffer early, so initial
- defines can use file and line from a valid cpp_buffer.
- (nreverse_pending): New function.
- (push_parse_file): Use nreverse_pending.
- (push_parse_file): For -include files, just push them in reverse
- order - we don't need to scan them now.
- (cpp_error_from_errno, cpp_perror_with_name): Don't emit extra '\n'.
-
-Tue Apr 11 13:36:44 1995 Jim Wilson <wilson@cygnus.com>
-
- * configure (mips-dec-mach3): Add.
-
- * sh.c (shiftby_operand): Delete.
- * sh.h (TARGET_SWITCHES): -m3 and -m3l also set SH2_BIT.
- (OVERRIDE_OPTIONS): Don't add CPU_SH2 to CPU_SH3 when TARGET_SH3.
- * sh.md (ashlsi3): Use nonmemory_operand as a predicate instead of
- shiftby_operand. Don't use shiftby_operand in the output statement.
- (lshrsi3): Likewise.
-
- * c-decl.c (poplevel): Do output inline function if
- DECL_ABSTRACT_ORIGIN points to itself.
-
- * varasm.c (output_constant): Cast assemble_string argument to char *.
-
-Mon Apr 10 14:29:28 1995 Torbjorn Granlund <tege@adder.cygnus.com>
-
- * recog.c (constrain_operands, case 'E'): Make this work like
- constraint character `F' when REAL_ARITHMETIC is defined.
- * regclass.c (record_reg_classes, case 'E'): Likewise.
- * reload.c (find_reloads, case 'E'): Likewise.
-
-Mon Apr 10 14:30:31 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/aix3newas.h, rs6000/aix41.h: Eliminate March 11th changes
- to undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}, since this causes the
- compiler not to bootstrap.
-
-Mon Apr 10 07:17:39 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cppalloc.c: #include config.h.
- * cppexp.c: Add declarations of xmalloc and xrealloc.
- (cpp_parse_expr): Cast args to bcopy to char *.
- * cpphash.c: Add declaration of xmalloc.
- * cpplib.c (init_parse_options, cpp_reader): Cast args to bcopy,
- bcmp, and bzero to char *.
- (add_import, push_parse_file, init_parse_file): Likewise.
-
- * c-common.c (enum attrs): New attribute, A_NOCOMMON.
- (init_attribute): Initialize it.
- (decl_attributes): Implement it.
- * varasm.c (make_decl_rtl): Allow section attribute if -fno-common
- or variable is not to be placed in common for some other reason.
-
- * combine.c (simplify_set): Don't move a SUBREG to dest if it
- is changing the size of a hard reg in CLASS_CANNOT_CHANGE_SIZE.
-
- * reload.c (find_equiv_reg): If goal is a pseudo that got memory,
- a store into memory makes it invalid.
- * reload1.c (reload_as_needed): Call forget_old_reloads_1 on
- pattern before reg elimination.
-
-Mon Apr 10 00:26:14 1995 Jeffrey A. Law <law@snake.cs.utah.edu>
-
- * pa.c (pa_reorg): Bump label use count for each entry in an
- exploded ADDR_VEC.
-
-Sun Apr 9 09:22:51 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * i386.md (adddi3, subdi3): Need scratch reg whenever operand 0 in
- mem and operands 1 not '0'.
- (subdi3): Don't treat two non-equal MEMs as non-aliasing.
-
-Sat Apr 8 22:53:38 1995 Jeffrey A. Law <law@snake.cs.utah.edu>
-
- * pa.c (pa_reorg): Fix typo.
-
-Sat Apr 8 19:36:36 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/rs6000.h (SELECT_SECTION): TREE_CODE_CLASS must be called
- with a tree code, not a tree value.
-
-Sat Apr 8 12:41:01 1995 Mike Stump <mrs@cygnus.com>
-
- * cpphash.c: Don't use const on compilers that don't support it.
-
-Sat Apr 8 16:32:22 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (expand_increment): Handle case where INCREMENTED
- has a non-trivial conversion.
-
-Fri Apr 7 19:33:21 1995 Phil Nelson (phil@cs.wwu.edu)
-
- * ns32k.h (TRAMPOLINE_TEMPLATE, TRANSFER_FROM_TRAMPOLINE):
- Fix assembler syntax errors.
-
-Fri Apr 7 19:27:23 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * cccp.c (VMS_fstat, VMS_stat): New functions.
-
-Fri Apr 7 19:25:21 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (collect_expansion): If traditional, set stringify
- member to SHARP_TOKEN regardless of the value of
- stringify_sharp_token_type.
-
-Fri Apr 7 07:48:35 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cse.c (simplify_unary_operation): #ifdef POINTERS_EXTEND_UNSIGNED,
- handle sign- or zero-extending addresses.
-
- * optabs.c (init{,_integral,_floating,_complex}_libfuncs):
- Change SUFFIX to "char" to avoid confusion with prototype.
-
- * explow.c (convert_memory_address): No longer static.
- New arg, TO_MODE.
- Do something special for SYMBOL_REF, LABEL_REF, and CONST.
- (memory_address): Add extra arg to call to convert_memory_address.
- * rtl.h (convert_memory_address): Add extra arg.
- * expr.c (expand_expr, case ADDR_EXPR): Always call
- convert_memory_address when converting; add extra arg.
- * stmt.c (expand_computed_goto): Convert from ptr_mode to Pmode.
-
- * gcc.c (OBJECT_SUFFIX): Default now ".o", not "o".
- (all specs): Remove "." before %O; use %O in a few missing cases.
- * i386/os2.h (OBJECT_SUFFIX): Delete from here.
- * i386/xm-os2.h (OBJECT_SUFFIX): Move to here; now has period.
-
- * Makefile.in (STAGESTUFF): Use $(exeext) for executables.
-
-Fri Apr 7 03:32:29 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * config.sub: Accept -lites* as op sys.
-
-Thu Apr 6 23:08:50 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * cpplib.c (bcopy, bzero, bcmp): Remove #undefs.
- * cppalloc.c (xcalloc): Re-implement using calloc,
- rather than malloc+bzero.
- * cpplib.c (SELF_DIR_DUMMY): New macro.
- (do_include): Don't pass searchptr to finclude if it is dsp,
- since that is on the stack, and would cause a dangling pointer.
- If handling #include_next, recognize SELF_DIR_DUMMY.
-
-Fri Apr 7 00:54:24 1995 Jeffrey A. Law <law@snake.cs.utah.edu>
-
- * pa.h (MACHINE_DEPENDENT_REORG): Define.
- * pa.md (switch_jump): New pattern for jumps which implement
- a switch table.
- * pa.c (pa_reorg): New function to explode jump tables.
- (pa_adjust_insn_length): Account for jumps in switch tables with
- unfilled delay slots.
-
-Thu Apr 6 14:31:10 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * c-typeck.c (build_binary_op): Don't call common_type for
- uncommon pointer types.
-
-Wed Apr 5 13:53:17 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- Re-write fixproto/fix-header/etc to use cpplib:
- * fix-header.c: Comment out support for adding missing extern "C"
- using #ifdef ADD_MISSING_EXTERN_C instead of #if 0.
- * fixproto: Removed case of required functions. Instead use ...
- * fix-header.c (std_include_table): ... new required-functions table.
- (cpp_file_line_for_message, cpp_print_containing_files, cpp_message):
- New stub functions, to intercept cpplib error message.
- * fixproto: Don't call $CPP, since fix-header now incorporates cpplib.
- * gen-protos.c (fatal, hashf): New functions.
- (main): Use hashf, instead of hash.
- * scan-decls.c (scan_decls, skip_to_closing_brace): Re-write to
- take a cpp_reader* as argument, not a FILE*.
- * scan.h (hash): Make parameter const.
- * scan.c (hash): Removed.
- * scan.c (memory_full, xmalloc, xrealloc): Removed.
- Use functions from cppalloc.c instead.
- * Makefile.in (gen-prtos, fix-header, stmp-fixproto): Update.
-
-Wed Apr 5 13:24:14 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * cpplib.c (cpp_get_token): If traditional, return after comment,
- instead of reading more, so end-of-line can be peeked at.
- * cpperror.c (cpp_file_line_for_message, cpp_message): New
- functions, that do the actual printing of error messages.
- (cpp_print_file_and_line, cpp_error, cpp_warning, cpp_pedwarn,
- cpp_error_with_line, cpp_warning_with_line, cpp_pedwarn_with_line,
- cpp_pedwarn_with_file_and_line, cpp_error_from_errno, my_strerror,
- cpp_perror_with_name): Re-write to use cpp_file_line_for_message
- and cpp_message, and move to cpplib.c.
-
-Tue Apr 4 23:35:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * config/gnu.h (GNU_CPP_PREDEFINES): Remove -D__HURD__.
-
-Tue Apr 4 17:15:54 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu>
-
- * pa.h (DO_GLOBAL_DTORS_BODY): Fix pointer -> integer assignment
- problem.
-
- * reorg.c (fill_simple_delay_slots): Don't use a JUMP_INSN
- a the target of another JUMP_INSN to fill a delay slot.
-
-Mon Apr 3 19:03:48 1995 Torbjorn Granlund <tege@adder.cygnus.com>
-
- * cse.c (simplify_unary_operation): Sign-extend constants when
- they have the most significant bit set for the target.
-
- * m68k.md (umulsi3_highpart): Test for CONST_INT and CONST_DOUBLE,
- not CONSTANT_P.
- (smulsi3_highpart): Likewise.
- * m68k.c (const_uint32_operand): New function.
- (const_sint32_operand): New function.
- * m68k.md (const_umulsi3_highpart): Use const_uint32_operand instead
- of immediate_operand for op3. Delete mode.
- (const_smulsi3_highpart): Analogous change.
-
-Mon Apr 3 19:03:48 1995 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (simplify_binary_operation): Sign-extend constants when
- they have the most significant bit set for the target.
-
- * combine.c (force_to_mode, case PLUS): Sign extend masks that are
- negative in OP_MODE.
- (simplify_and_const_int): Sign-extend constants when they have the
- most significant bit set for the target.
- (merge_outer_ops): Likewise.
- (simplify_shift_const): Likewise.
-
-Mon Apr 3 18:23:48 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * toplev.c (lang_options): Add -f{no-,}repo.
-
-Mon Apr 3 18:13:15 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (nonzero_bits, case REG): Check POINTERS_EXTEND_UNSIGNED.
- (num_sign_bit_copies, case REG): Likewise.
- * explow.c (convert_memory_address): New function.
- (memory_address): Call if it needed.
- (promote_mode, case POINTER_TYPE): Use Pmode and pointer extension.
- (allocate_dynamic_stack_space): Convert size from ptr_mode.
- * expr.c (clear_storage, expand_assignment, store_{expr,constructor}):
- Use ptr_mode instead of Pmode in some places.
- (expand_expr, expand_builtin): Likewise.
- (push_block, store_expr): Convert size to Pmode.
- (expand_expr, case ADDR_EXPR): Convert from Pmode to ptr_mode.
-
-Mon Apr 3 18:00:52 1995 Jim Wilson <wilson@cygnus.com>
-
- * explow.c (allocate_dynamic_stack_space): Correct typo in last
- change.
-
- * sh.c (gen_shifty_op, case ASHIFTRT): Return 0 if shift count is not
- a constant.
-
-Mon Apr 3 12:17:10 1995 Michael Meissner (meissner@cygnus.com)
-
- * expmed.c (extract_bit_field): When converting a SUBREG into a
- REG, if the system is big endian, adjust the bit offset
- appropriately.
-
-Mon Apr 3 00:08:45 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * config/i386/linux.h: Include "config/linux.h" instead of
- "linux.h", to avoid recursion.
-
-Sun Apr 2 23:50:27 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * config/i386/gnuelf.h: Include i386/linux.h instead of
- i386/linuxelf.h.
-
-Sun Apr 2 17:35:10 1995 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (simplify_relational_operation): Don't simplify A-B for
- compare of A and B when the compare is unsigned.
-
-Sun Apr 2 08:23:38 1995 Paul Eggert <eggert@twinsun.com>
-
- * fixincludes (stdio.h): BSDI 2.0 changed the spelling of _VA_LIST_
- to _BSD_VA_LIST_.
-
-Sun Apr 2 07:57:28 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i386/xm-bsd386.h: New file.
- * configure (i[345]86-*-bsd*): Add xm_file.
-
- * gcc.c (default_compilers): Pass -W and -w to gnat1.
-
- * winnt/winnt.h (STDC_VALUE): Add #undef.
- * i386/winnt.h (LIB_SPEC): Likewise.
-
-Sun Apr 2 07:55:25 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * i386/winnt.h (RETURN_POPS_ARGS, ENCODE_SECTION_INFO): Call
- chain_member_purpose, not chain_member_value.
- (ASM_FILE_START, LIB_SPEC): Move to here.
- * winnt/winnt.h (ASM_FILE_START, LIB_SPEC): Delete from here.
- * tree.c (chain_member_purpose): New function.
-
-Sat Apr 1 12:19:14 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * c-typeck.c (build_binary_op): New variable build_type controls
- type given to expression when created. Set to integer_type_node for
- comparison ops instead of result_type so result_type still holds type
- in which comparison is done. When checking for comparison between
- signed and unsigned, use result_type rather than (possibly shortened)
- type of op0. Don't warn about equality comparison of signed operand
- to unsigned constant that fits in signed type.
-
-Sat Apr 1 09:47:02 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * i386/winnt.h (CPP_PREDEFINES): Add definitions for __stdcall
- and __cdecl.
- * winnt/winnt.h (LIB_SPEC): Add OLDNAMES.LIB.
- * winnt/xm-winnt.h: Remove unneeded #define's for non-ANSI functions.
- * fixinc.winnt: Remove unneeded fixes relating to __stdcall.
-
- * objc/Makefile (SHELL): New definition.
-
-Sat Apr 1 08:25:26 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cse.c (cse_insn): When emitting a BARRIER, don't put it after
- a deleted insn.
-
- * reload.c (push_reload): Initialize secondary_{in,out}_icode.
-
- * gcc.c (print_multilib_info): Don't use LAST_PATH if not set.
-
-Sat Apr 1 08:15:59 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * vax.md (extv, extzv): Don't use immediate value for operand 1.
-
-Sat Apr 1 07:48:29 1995 Yury Shevchuk (sizif@botik.yaroslavl.su)
-
- * stmt.c (expand_asm_operands): Properly ignore invalid reg in clobber.
-
-Sat Apr 1 07:02:24 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c: General code cleanup.
- Add prototypes for static functions.
- Remove unnecessary casts to (char *); add casts to (U_CHAR *).
- Add parentheses suggested by `gcc -Wparentheses'.
- Rename local variables as suggested by `gcc -Wshadow'.
- <fcntl.h>, <stdlib.h>, <string.h>, <unistd.h>: New includes.
- <sys/time.h>, <sys/resource.h>: Include only if defined(RLIMIT_STACK).
- <time.h>: Include, unless <sys/time.h> already does.
- (HAVE_FCNTL_H, HAVE_STDLIB_H, HAVE_SYS_TIME_H): New symbols.
- (HAVE_UNISTD_H, STDC_HEADERS, TIME_WITH_SYS_TIME): Likewise.
- (__attribute__, PROTO, VA_START, PRINTF_ALIST, PRINTF_DCL): New macros.
- (PRINTF_PROTO{,_1,_2,_3}, DO_PROTO): Likewise.
- (bcopy, bzero, bcmp): If #defined by configuration file, use that.
- If STDC_HEADERS is defined, use standard C functions.
- If BSTRING is defined, or USG and VMS are not defined, use
- the C library. Otherwise, use my_bcopy, my_bzero, my_bcmp.
- (localtime): Remove no-longer-necessary explicit declaration.
- (getenv, index, rindex): Don't declare explicitly if the
- appropriate system header should declare it.
- (fdopen): Remove no-longer-used declaration.
- (vprintf): Define a subsitute macro if !defined(HAVE_VPRINTF).
- (main): Replace `fdopen (dup (fileno (stdout)), "w"))'
- with `stdout'.
- (get_lintcmd, rescan, create_definition): Use bcmp instead of strncmp
- when both operands are known to be free of null bytes.
- (check_macro_name, compare_defs, collect_expansion): Likewise.
- (do_assert, compare_token_lists, assertion_lookup, do_line): Likewise.
- (skip_if_group, lookup): Likewise.
- (rescan): Remove unused label `startagain'.
- Abort instead of printing nonsense if the stack is corrupted
- when there was an unterminated successful conditional.
- (pcfinclude): Include explicit double-cast through GENERICPTR
- to identify particularly egregious type puns.
- (create_definition, do_define, check_macro_name): Use %.*s
- printf format to avoid painful copying-and-casting.
- (do_once): Return void, not (unused) int.
- (do_ident, do_pragma, do_sccs): Accept extra arguments so that
- all directive-handler's types match.
- (do_sccs): Define only if SCCS_DIRECTIVE is defined.
- (skip_if_group, dump_single_macro): Add `default: break;' to
- keep -Wswitch happy.
- (error, warning, error_with_line, vwarning_with_line, pedwarn): Use
- stdarg/vararg/vfprintf instead of passing bogus char * args around.
- (pedwarn_with_line, pedwarn_with_file_and_line, fatal): Likewise.
- (verror, vwarning, verror_with_line, vwarning_with_line): New fcns.
- (dump_single_macro): Abort if ap points to garbage.
- (make_definition, make_undef, make_assertion): Parameter now char *.
- (xmalloc, xrealloc, xcalloc, savestring, index0): Make sizes size_t
- instead of unsigned; make pointer parameters GENERICPTR, not char *.
- (xcalloc): Use bzero to clear memory instead of using own loop.
-
-Fri Mar 31 08:33:07 1995 Ken Raeburn (raeburn@wombat.gnu.ai.mit.edu)
-
- * longlong.h (umul_ppmm mc68000): Use %# instead of #.
-
-Fri Mar 31 06:37:54 1995 Michael Meissner (meissner@cygnus.com)
-
- * stor-layout.c (layout_decl): Implment -fpack-struct.
- (layout_record): Ditto.
-
- * flags.h (flag_pack_struct): New flag variable.
-
- * toplev.c (flag_pack_struct): New flag variable.
- (f_options): Add -fpack-struct support.
-
- * Makefile.in (stor-layout.o): Add flags.h dependency.
-
-Fri Mar 31 08:40:16 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * configure (i[345]86-*-winnt3*): Add tmake_file.
- * i386/x-winnt (winnt.o): Deleted.
- * i386/t-winnt: New file.
-
-Fri Mar 31 07:26:37 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * m68k/netbsd.h, m68k/hp3bsd44.h: Remove #include of machine/ansi.h.
-
- * configure (a29k-*-bsd): Set tmake_file to t-libc-ok.
-
- * stmt.c (expand_asm_operands): Properly handle output that can't
- be directly written into.
-
- * c-parse.in (structsp): Correct error in last change.
- * c-common.c (init_attributes): A_FORMAT is only for decls.
-
-Thu Mar 30 18:27:34 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * libgcc2.c: Remove explicit 0-initializations of static variables.
-
-Thu Mar 30 18:22:39 1995 Fergus Henderson <fjh@cs.mu.oz.au>
-
- * c-typeck.c (internal_build_compound_expr): Warn if LHS of comma
- expression has no side effects, or computes value which is not used.
- * stmt.c (make warn_if_unused_value): No longer static.
- * tree.h (warn_if_unused_value): Add declaration.
-
-Thu Mar 30 18:15:11 1995 Jim Wilson <wilson@cygnus.com>
-
- * combine.c (get_last_value): Revert back to use prev_nonnote_insn
- instead of prev_real_insn. Modify test that ignores USE insns.
-
- * rs6000.h (SELECT_SECTION): Apply constant DECL_INITIAL test
- only to DECLs.
-
- * explow.c (allocate_dynamic_stack_space): Test STACK_BOUNDARY against
- BIGGEST_ALIGNMENT at run time instead of at compile time.
- Give MUST_ALIGN macro a value, and test this value in if statements.
-
-Thu Mar 30 08:59:56 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-parse.in: Now have 27 shift/reduce conflicts.
- (attribute_list): Just make chain of all attributes.
- (attrib): Consistently put name as PURPOSE, args, if any, as VALUE.
- (structsp): Allow attributes on any struct or union.
- * c-common.c (enum attrs): New enum class.
- (attrtab, attrtab_idx): New variables.
- (add_attribute, init_attributes): New functions.
- (decl_attributes): Major rewrite.
- * tree.c (valid_machine_attribute): Now receive name and args.
-
-Thu Mar 30 07:20:14 1995 Paul Eggert <eggert@twinsun.com>
-
- * protoize.c: Use the phrase `preprocessing directive' consistently.
- * cccp.c (handle_directive, do_line, skip_if_group): Likewise.
- (output_line_directive): Renamed from output_line_command.
- (no_line_directives): Renamed from no_line_commands.
-
- * cccp.c (rescan): Don't recognize preprocessing directives
- within macro args. Warn if one is found.
-
-Thu Mar 30 06:20:36 1995 H.J. Lu (hjl@nynexst.com)
-
- * configure (i[345]86-*-linux*): Set xmake_file=x-linux,
- tm_file=i386/linux.h, and don't set extra_parts.
- (i[345]86-*-linux*aout*): New configuration.
- (i[345]86-*-linuxelf): Deleted.
- * config/linux{,-aout}.h, config/x-linux, config/xm-linux.h: New files.
- * config/i386/linux-aout.h: New file.
- * config/i386/linux.h: Extensive modifications to use ELF format
- as default.
- (LIB_SPEC): Don't use libc_p.a for -p. don't use libg.a
- unless for -ggdb.
- (LINUX_DEFAULT_ELF): Defined.
- * config/i386/linuxelf.h,config/i386/x-linux: Files deleted.
- * config/i386/xm-linux.h: Just include xm-i386.h and xm-linux.h.
-
-Wed Mar 29 19:09:36 1995 Mike Stump <mrs@cygnus.com>
-
- * libgcc2.c (__throw_type_match): Update to use new calling convention.
-
-Wed Mar 29 14:53:23 1995 Jim Wilson <wilson@cygnus.com>
-
- * gcc.c (process_command): Delete code modifying gcc_exec_prefix.
- (main): Put it here after last use of gcc_exec_prefix. For cross
- compiler, set startfile_prefixes if gcc_exec_prefix is set and
- standard_startfile_prefix is a relative path.
-
- * combine.c (make_compound_operation, AND case): Undo July 7, 1994
- change.
-
- * mips/mips.md (call_internal1, call_value_internal1): Move %* from
- start of assembler output to immediately before the jal.
-
- * mips/mips.c (function_prologue): Put SDB_DEBUGGING_INFO ifdef around
- code for SDB_DEBUG support.
- (mips_select_rtx_section, mips_select_section): Change rdata_section
- to READONLY_DATA_SECTION and sdata_section to SMALL_DATA_SECTION.
- * mips/mips.h (SMALL_DATA_SECTION): Define.
-
- * reorg.c (mark_referenced_resources): Make setjmp use all registers.
-
- * flow.c (mark_used_regs, case SUBREG): Only fall through to REG case
- if operand is a REG.
-
- * i960/i960.h (TARGET_SWITCHES): Make -mold-align set
- TARGET_FLAG_STRICT_ALIGN.
- (STRICT_ALIGNMENT): Test TARGET_STRICT_ALIGN.
-
- * sh/sh.c (andcosts): Modify costs to match the hardware, and add
- explanatory comments.
-
- * sparc/sol2.h (CPP_PREDEFINES): Add -D__SVR4.
-
-Wed Mar 29 14:30:30 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/rs6000.md (movsf): When moving to/from integer registers,
- don't move floating point to memory if it is being simulated with
- -msoft-float.
-
-Wed Mar 29 06:47:36 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-parse.in (initdcl): Only call decl_attributes once.
- * c-common.c (decl_attributes): Clean up test for __mode__.
-
-Tue Mar 28 08:34:37 1995 John Hassey (hassey@dg-rtp.dg.com)
-
- * i386.md (adddi3): Don't treat two non-equal MEMs as non-aliasing.
-
-Tue Mar 28 08:20:49 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * a29k.h (CONSTANT_ADDRESS_P): Provide consistent definition.
-
-Tue Mar 28 07:26:41 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (do_xifdef, do_endif): Remove unnecessary pointer comparisons.
-
-Mon Mar 27 20:45:15 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * calls.c (expand_call, store_one_arg): Don't set KEEP in calls
- to assign_stack_temp.
- * function.c (preserve_temp_slots): Clear ADDR_TAKEN on item
- that we are preserving.
-
-Mon Mar 27 14:39:35 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips/mips.h (FIRST_PSEUDO_REGISTER): Increment.
- (FIXED_REGISTERS, CALL_USED_REGISTERS): Add new register.
- (MD_REG_LAST): Increment.
- (ST_REG_FIRST, ST_REG_LAST): Increment.
- (HILO_REGNUM): Define.
- (enum reg_class): Add HILO_REG.
- (REG_CLASS_NAMES): Add "HILO_REG".
- (REG_CLASS_CONTENTS): Add HILO_REG initializer, and adjust ST_REGS
- and ALL_REGS initializers.
- (SECONDARY_RELOAD_CLASS): Remove.
- (SECONDARY_INPUT_RELOAD_CLASS): Define.
- (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
- (REGISTER_MOVE_COST): Treat HILO_REG as MD_REGS.
- (REGISTER_NAMES): Add initialization line.
- (DEBUG_REGISTER_NAMES): Add "accum".
- * mips/mips.md: For each instruction which sets HI or LO, clobber
- HILO_REGNUM with (clobber (match_scratch:MODE N "=a")). Change
- each explicit reference to register 66 to register 67.
- (mulsidi3): Change to define_expand.
- (mulsidi3_internal): New name of old mulsidi3.
- (mulsidi3_64bit): New insn.
- (umulsidi3): Change to define_expand.
- (umulsidi3_internal): New name of old umulsidi3.
- (umulsidi3_64bit): New insn.
- (madddi_64bit, umaddi_64bit): New insns.
- (movdi_internal2): Add case for setting HILO_REG to zero.
- (reload_indi, reload_outdi): New define_expands.
- (movsi_internal1, movsi_internal2): Add cases for setting MD_REGS
- to zero, and for setting a general reg to HILO_REG.
- (reload_outsi): New define_expand.
- * mips/mips.c (mips_reg_names): Add "accum".
- (mips_sw_reg_names): Likewise.
- (mips_regno_to_class): Map HILO_REGNUM to HILO_REG.
- (mips_move_1word): Handle moving HILO_REGNUM to a general
- register. Make sure that the normal MD_REG cases aren't used for
- HILO_REGNUM. Handle moving zero to a MD_REG.
- (mips_move_2words): Make sure that the normal MD_REG cases aren't
- used for HILO_REGNUM. Handle moving zero to a MD_REG.
- (override_options): Set mips_char_to_class for 'a' and 'b'.
- (mips_secondary_reload_class): Add in_p argument. Handle
- HILO_REGNUM.
-
-Mon Mar 27 07:16:05 1995 Warner Losh <imp@village.org>
-
- * gcc.c: Removed __NetBSD__ from conditional.
- Declare strerror if HAVE_STRERROR is defined; otherwise
- declare sys_errlist and sys_nerr.
- (my_strerror): New function.
-
-Fri Mar 24 18:08:14 1995 Jason Merrill <jason@python.cygnus.com>
-
- * i386/linux.h (LIB_SPEC): Don't try to link with libraries we
- know only exist in archive form unless -static.
-
-Fri Mar 24 16:12:16 1995 Doug Evans <dje@cygnus.com>
-
- * Makefile.in (multilib.h): Depend on Makefile, not config.status.
-
-Fri Mar 24 15:01:17 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/rs6000.h (TARGET_MULTIPLE_SET): New target_flags bit that
- indicates -mmultiple or -mno-multiple was explicitly passed by the
- user, and not set as part of the cpu defaults.
- (TARGET_SWITCHES): Set TARGET_MULTIPLE_SET bit for both -mmultiple
- and -mno-multiple.
-
- * rs6000/rs6000.c (rs6000_override_options): If -mmultiple or
- -mno-multiple was explicitly used, don't override the setting with
- the processor default.
-
-Wed Mar 22 21:42:13 1995 Doug Evans <dje@cygnus.com>
-
- * i960/i960.c (i960_function_arg_advance): Ensure all regs marked
- as used if stack is also used (for va_start).
- (i960_setup_incoming_varargs): Rewrite to be similar to Intel's
- version, but don't allocate reg block unless necessary.
- * ginclude/va-i960.h (varargs va_start): Save g14 explicitly.
- Account for arguments preceding va_alist.
-
-Wed Mar 22 13:24:55 1995 Torbjorn Granlund <tege@adder.cygnus.com>
-
- * pa.c (singlemove_string): Handle SFmode constants again. Simplify.
- (zdepi_cint_p): Make some variables HOST_WIDE_INT.
- (lhs_lshift_cint_operand): Likewise.
- (output_and): Likewise.
- (output_ior): Likewise.
-
-Wed Mar 22 12:40:09 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * sh.md (udivsi3): Don't clobber register 6.
- (udivsi3, divsi3, mulsi3_call): Use a pseudo-reg with regclass 'z'
- for output rather than hard register 0.
- (block_move_real): Don't clobber registers 4 and 5.
-
- * mips.c (mips_select_section): Apply constant DEC_INITIAL tests
- only to VAR_DECLs.
-
-Wed Mar 22 03:53:17 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * config.sub (rm400, rm600): New machine names.
- (sinix5.*, sinix): New os aliases.
- (mips-siemens): Default os to sysv4.
-
-Mon Mar 20 21:56:47 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- Merged Paul Eggert's patch to cccp.c of Wed Mar 8 18:21:51 1995:
- * cpplib.c (do_include): Fix type typo: pcfbuflimit is char *, not int.
-
- Merged Doug Evans' patch to cccp.c of Mon Feb 27 17:06:47 1995:
- * cpplib.c (do_include): Check for redundant file before opening in
- relative path case. Don't call fstat unnecessarily.
-
- Merged J.T. Conklin's patch to cccp.c of Wed Feb 22 20:29:31 1995:
- * cpperror.c: Removed __NetBSD__ from conditional.
-
- Merged Kenner's patch to cccp.c & cexp.y of Tue Sep 20 17:49:47 1994:
- * cppexp.c (struct operation): Make value by HOST_WIDE_INT.
- (cpp_parse_expr): Change return type to HOST_WIDE_INT.
- * cpplib (eval_if_expr): Likewise.
- (do_if, do_elif): Update appropriately.
- * cpplib.h (cpp_parse_expr): Removed, to avoid defining HOST_WIDE_INT.
-
- Merged Paul Eggert's patch to cccp.c of Mon Aug 8 19:42:09 1994:
- * cpplib.c (create_definition): Warn about `#define a@', since a
- diagnostic is now required (see ISO TC1's addition to subclause 6.8).
- Also warn about `#define is-empty(x) (!x)'.
-
-Tue Mar 21 00:10:50 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu>
-
- * x-pa (CC): Add "-Dbsd4_4".
-
-Mon Mar 20 18:40:31 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * toplev.c (print_error_function): New function hook.
- (default_print_error_function): New function. Default value
- of print_error_function. Code moved here from report_error_function.
- (report_error_function): Use print_error_function hook.
-
-Mon Mar 20 20:27:43 1995 Doug Evans <dje@cygnus.com>
-
- * cccp.c (do_xifdef): Handle c++ comments.
- (do_endif): Likewise.
-
-Mon Mar 20 15:31:45 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * configure (i386 configurations): Prepend i386/ to t-crt*.
-
-Mon Mar 20 07:58:04 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * stmt.c (fixup_gotos): Add missing call from last change.
-
- * objc/misc.c: Put Alpha-specific decls before #include of runtime.h.
-
- * alpha.h (EXTRA_SECTIONS): Write zeros first time in .rdata.
-
-Sat Mar 18 16:37:24 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * flow.c (mark_used_regs, case SUBREG): Set reg_changes_size even
- for integer modes.
- (mark_used_regs): Set reg_changes_size for RHS, if necessary.
- * combine.c (gen_lowpart_for_combine): Set reg_changes_size, if needed.
- * reload.c (push_reload): Reload a SUBREG if paradoxical and
- class is CLASS_CANNOT_CHANGE_SIZE.
- * reload1.c (gen_reload): Handle paradoxical SUBREGs.
- * alpha.h (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Need GENERAL_REGS
- for paradoxical SUBREG and FLOAT_REGS.
- (SECONDARY_NEEDED_MODE): Use actual mode for 4 bytes or wider.
- * alpha.md (movsi): Allow FP regs and add case for store of FP reg.
- Remove cvtlq from MEM to FP reg case.
-
- * rtl.h (emit_insns_after): Add declaration.
- * stmt.c (fixup_gotos): Do a cleanup for a block when it is exited
- even if label if not defined yet.
-
- * function.c (pop_function_context): Fix error in last change;
- reference old value of current_function_decl before we modify it.
-
-Fri Mar 17 21:57:44 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * toplev.c (rest_of_compilation): Handle -Wreturn-type properly
- for inlines we aren't compiling yet.
-
-Fri Mar 17 21:26:48 1995 Mike Stump <mrs@cygnus.com>
-
- * libgcc2.c (__register_exceptions): Handle empty tables.
-
-Fri Mar 17 11:48:31 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * i386/winnt.c (winnt_function_prologue): Deleted.
- (gen_stdcall_suffix): New function.
-
-Thu Mar 16 17:36:52 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * svr4.h (LINK_SPEC): If the user did not specify -h name, use the
- output file name, if any.
- * sparc/sol2.h (LINK_SPEC): Ditto. Also, if the user did not
- specify -R path, add an -R for each -L.
-
- Move SunOS 4-specific assembler switches into the appropriate place.
- * m68k/sun[23].h (ASM_SPEC): Add %{R} %{j} %{J} %{h} %{d2}
- %{keep-local-as-symbols:-L}.
- * i386/sun.h (ASM_SPEC): Add %{R} %{keep-local-as-symbols:-L}.
- * sparc/sparc.h (ASM_SPEC): Ditto.
- * gcc.c (default_compilers): Remove %{R} %{j} %{J} %{h} %{d2}
- %{keep-local-as-symbols:-L} from assembler rules.
-
-Thu Mar 16 16:58:09 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/eabi-ctors.c: New file, handle C++ static constructors
- and destructors without requiring anything else from a libc.
-
- * rs6000/t-eabi (LIB2FUNCS_EXTRA): Build eabi-ctors.c.
-
- * rs6000/eabi.asm: Do not load up register 2 if there is no .got
- section. Jump to the __do_global_ctors function at the end of
- processing to call C++ static constructors, and it will return to
- __eabi's caller. Use normal volatile registers, instead of saving
- and restoring registers 30 and 31.
-
- * rs6000/eabi.h (STARTFILE_SPEC): Define as null.
- (LIB_SPEC): Ditto.
- (ENDFILE_SPEC): Ditto.
- (LIBGCC_SPEC): Always look for libgcc.a.
-
-Thu Mar 16 17:05:14 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * stmt.c (warn_if_unused_value, case SAVE_EXPR): New case.
- (warn_if_unused_value, case NOP_EXPR): OK if CALL_EXPR inside.
-
- * c-common.c (decl_attributes): Allow alignment for TYPE_DECLs.
-
- * Makefile.in (xsys-protos.h): Fix typo in -U operand.
-
-Thu Mar 16 13:49:10 1995 Per Bothner <bothner@rtl.cygnus.com>
-
- * cpplib.c, cpplib.h: New files - a C PreProcessor library.
- * cpphash.c, cpphash.h, cppalloc.c, cpperror.c, cppexp.c:
- New files - utility features used by cpplib.
- * cppmain.c: New file - cpp replacement main program for cpplib.
- * Makefile.in: New rules to build cppmain.
-
-Thu Mar 16 16:11:05 1995 Douglas Rupp (drupp@cs.washington.edu)
-
- * i386/winnt.h (FUNCTION_PROLOGUE, HAVE_probe, gen_probe): Deleted.
- (ENCODE_SECTION_INFO, VALID_MACHINE_DECL_ATTRIBUTE): New macro.
-
-Thu Mar 16 15:58:24 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (apply_distributive_law, case SUBREG): Fix typo when
- checking for paradoxical SUBREG.
-
-Wed Mar 15 18:45:08 1995 Doug Evans <dje@cygnus.com>
-
- * libgcc1-test.c: Renamed from cross-test.c.
- * Makefile.in (LIBGCC1_TEST): Renamed from CROSS_TEST.
- (all.cross): Delete $(ENQUIRE) dependency.
- (libgcc1-test): Renamed from cross-test.
- Delete unnecessary gcc-cross and $(LIBGCC) dependencies.
- Link with -nostartfiles -nostdlib
- `$(GCC_FOR_TARGET) --print-libgcc-file-name`.
- (libgcc1-test.o): Renamed from cross-test.o.
- Change gcc-cross dependency to xgcc since the latter is used.
-
-Wed Mar 15 13:49:21 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * tree.c (save_tree_status): Now takes a tree 'context' instead of
- a boolean 'toplevel' as an argument. If 'context' is not
- current_function_decl, create a new obstack for the new function.
- Also save inline_obstacks.
- (restore_tree_status): No longer takes a second argument. Also
- restore inline_obstacks.
- (temporary_allocation): Clear inline_obstacks.
- (permanent_allocation): Free up the obstacks in inline_obstacks.
-
- * function.h (struct function): New fields contains_functions and
- inline_obstacks.
-
- * function.c (push_function_context_to): Now takes a tree
- 'context' instead of a boolean 'toplevel' as an argument.
- Also save current_function_contains_functions.
- (push_function_context): Pass current_function_decl to it.
- (pop_function_context_from): Takes 'context' instead of 'toplevel'.
- Set current_function_contains_functions properly.
- (pop_function_context): Pass current_function_decl to it.
-
-Wed Mar 15 14:53:09 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/rs6000.md (abssi2): Turn into a define_expand. If
- TARGET_POWER, do old code that uses the abs instruction. If not,
- do abs in three instructions, using a temporary register, which
- enables generating more reasonable code for sne. Add a recognizer
- for negative of the absolute value. Add define_splits for the
- PowerPC.
- (sne insn): Add a recognizer for sne on the PowerPc to use two
- instructions, compared to the four generated using the absolute
- value insn.
-
-Tue Mar 14 18:38:40 1995 J.T. Conklin <jtc@cygnus.com>
-
- * m68k.md ({add,sub,mul,div}[sdx]f3): Add new patterns for recognizing
- SImode, HImode, and QImode operands.
-
-Mon Mar 13 18:59:36 EST 1995 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (CPP_SPEC): Add PPC403.
- (processor_type): Add PPC403.
- (RTX_COSTS): Add PPC403.
- * powerpc.h (CPP_SPEC): Add PPC403.
- * sysv4.h (CPP_SPEC): Add PPC403.
- * rs6000.c (processor_target_table): Add PPC403.
- * rs6000.md (define_attr cpu and function units): Add PPC403.
-
-Mon Mar 13 14:40:23 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/rs6000.md (call, call_value insns): Do not put a nop
- after a bl instruction on System V.4 and eABI.
-
- * rs6000/sysv.4 (SUBTARGET_SWITCHES): Add support for
- -mno-traceback to suppress the V.4 traceback word.
- (ASM_DECLARE_FUNCTION_NAME): Don't put out a traceback work if
- -mno-traceback.
-
-Mon Mar 13 13:36:37 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * t-svr4, i386/t-{crtpic,sol2}, m88k/t-svr4, sparc/t-sol2:
- Use -fPIC, rather than -fpic, for building crtstuff.
-
-Sat Mar 11 17:27:08 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * configure: Use aix3newas.h for AIX 3.2.4 and 5.
- * rs6000/aix41.h: Undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}.
- * rs6000/aix3newas.h: New file. Define ASM_SPEC to -u, and
- undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}.
-
-Sat Mar 11 06:42:50 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * dbxout.c (dbxout_symbol): Properly handle decl whose DECL_NAME
- points to a TYPE_DECL with a zero TYPE_NAME.
-
-Fri Mar 10 18:18:33 1995 Torbjorn Granlund <tege@cygnus.com>
-
- * pa.h (PROMOTE_MODE): Define.
-
-Fri Mar 10 14:37:58 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * sdbout.c (sdbout_record_type_name): If TYPE_NAME is
- a TYPE_DECL, get name from DECL_NAME.
-
-Fri Mar 10 14:09:26 1995 Doug Evans <dje@cygnus.com>
-
- * arm/riscix.h (SUBTARGET_SWITCHES): Renamed from
- ARM_EXTRA_TARGET_SWITCHES.
- * arm/riscix1-1.h (SUBTARGET_SWITCHES): Likewise.
- * arm.h (SUBTARGET_SWITCHES): Likewise.
- (TARGET_HARD_FLOAT, TARGET_SOFT_FLOAT): Define.
- (TARGET_SWITCHES): Add -msoft-float, -mhard-float.
- (BYTES_BIG_ENDIAN): Delete #ifndef/#endif.
- (CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable fp regs.
- (FUNCTION_VALUE): R16 is return reg only if !-msoft-float.
- (LIBCALL_VALUE): Likewise.
- * arm.md (all fp patterns): Conditionalize on TARGET_HARD_FLOAT.
- (*movsf_soft_insn, *movdf_soft_insn): New patterns.
-
-Fri Mar 10 13:53:46 1995 Jim Wilson <wilson@cygnus.com>
-
- * reorg.c (steal_delay_list_from_target): Exit at the top if the
- branch in SEQ is not a single set.
-
- * sh.md (movdi define_split, movdf define_split): Correct indentation
- and formatting. Make the condition fail if an operand is a MEM
- with an auto-inc address.
-
- * varasm.c (copy_constant): Copy operand of ADDR_EXPR if it is a
- constant.
-
- * mips/abi64.h (SETUP_INCOMING_VARARGS): Correct arguments to
- move_block_from_reg call.
-
- * expr.c (expand_assignment): When offset is zero, make new MEM
- before setting MEM_VOLATILE_P.
-
- * reload.c (find_reloads, case 'o'): Accept a fully reloaded
- auto-increment address.
-
- * combine.c (max_uid_cuid): New static variable.
- (INSN_CUID): Call abort if INSN is out of range.
- (combine_instructions): Set max_uid_cuid. Set uid_cuid directly
- instead of through INSN_CUID.
- (get_last_value): Use prev_real_insn instead of prev_nonnote_insn.
- Ignore USE insns generated by combine.
-
-Fri Mar 10 13:47:08 1995 Rod Barman <rodb@cs.ubc.ca>
-
- * m68k/fpgnulib.c (__fixdfsi): Catch values < 0.5 in magnitude.
-
-Fri Mar 10 12:02:33 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * fixincludes: Fix `typedef struct term;' on hppa1.1-hp-hpux9.
-
-Fri Mar 10 05:50:11 1995 Oliver Kellogg (Oliver.Kellogg@RST13.DASA.DBMAIL.d400.de)
-
- * 1750a.c (sectname): Reverse Init and Normal.
- (print_operand_address, case PLUS): Add case for LABEL_REF.
- (print_operand_address, case LABEL_REF): Split fom SYMBOL_REF.
- (print_operand_address, case CODE_LABEL): New case.
- (ASM_FILE_END): Delete.
- * 1750a.h (FUNCTION_EPILOGUE): Restore stack before freeing local vars.
- (DEFAULT_SIGNED_CHAR): Now 1.
- (DATA_SECTION_ASM_OP): Use pseudo-op for read-only data (later copied).
- (JUMP_TABLES_IN_TEXT_SECTION): Define.
- (ASM_OUTPUT_ASCII): Split into multiple lines if long.
- (ASM_OUTPUT_{CHAR,SHORT,INT,LONG_INT}): Split up.
- (ASM_OUTPUT_COMMON): Call check_section.
-
-Thu Mar 9 12:46:53 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (movsf): Do not call truncdfsf2 for non PowerPC
- when expanding a store to memory and -msoft-float was used.
-
-Thu Mar 9 08:51:35 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-decl.c (start_function): Handle new parameter ATTRIBUTES.
- * c-tree.h (start_function): Add new parameter.
- * c-lang.c (finish_file): Pass new parm to start_function.
- * objc-act.c (build_module_descriptor, really_start_method): Likewise.
- * c-parse.in (fndef, nested_function): Pass prefix_attributes
- to start_function.
- (setspecs): Save prefix_attributes in declspec_stack.
- (decl rules): Restore prefix_attributes along with current_declspecs.
- (setattrs): Concatenate prefix_attributes to previous value.
- * c-common.c (decl_attributes): Handle prefix and suffix attributes
- the same way.
-
- * print-tree.c (print_node): Fix typo in printing large INTEGER_CST.
-
- * varasm.c (assemble_variable): Consistently use DECL_SIZE for
- everything.
-
- * c-typeck.c (convert_for_assignment): Fix typo in testing for
- pointer to function type.
-
- * varasm.c (record_constant_1): Handle NON_LVALUE_EXPR.
- Rewrite to use switch instead of if/then/elseif/else.
-
-Wed Mar 8 18:21:51 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (do_include): Fix type typo: pcfbuflimit is char *, not int.
-
-Wed Mar 8 17:30:29 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (force_fit_type): Always propagate OVERFLOW.
-
- * rtl.def (INLINE_HEADER): Add new "e" field.
- * rtl.h (FORCED_LABELS): New field; other fields adjusted.
- (gen_inline_header_rtx): New parm FORCED_LABELS.
- * emit-rtl.c (gen_inline_header): Add new parm FORCED_LABELS.
- * integrate.c (initialize_for_inline, output_inline_function):
- Handle FORCED_LABELS.
-
-Wed Mar 8 13:47:20 1995 Jason Merrill (jason@cygnus.com)
-
- * alpha.h (WORD_SWITCH_TAKES_ARG): Add -rpath.
- (LINK_SPEC): Pass through -taso and -rpath.
- * alpha/osf12.h (LINK_SPEC): Ditto.
-
-Wed Mar 8 09:59:56 1995 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/eabi.asm: Rewrite so that the initialized pointers go
- into the .got2 section, which allows eabi.asm to be assembled with
- the -mrelocatable option. Move the data picked up from the bl
- instruction to before the traceback tag.
-
- * rs6000/sysv4.h (CPP_SPEC): Define _RELOCATABLE if -mrelocatable
- switch is used.
-
- * libgcc2.c (__new_handler): Don't initialize the pointer variable
- with the address of __default_new_handler, which may not work in
- some shared library mechanisms.
- (__builtin_new): If __new_handler is NULL, call the function
- __default_new_handler.
-
-Tue Mar 7 17:34:59 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * i960.h (PROCESS_PRAGMA): Define.
- (ROUND_TYPE_ALIGN): Pass maximum of COMPUTED and SPECIFIED to
- i960_round_align.
- (ROUND_TYPE_SIZE): Delete.
- * i960.c (process_pragma): Uncomment, and rewrite for gcc 2.
- (i960_round_size): Delete.
- (i960_round_align): Don't adjust suggested alignment downward.
- Restrict alignment to value set by #pragma align.
-
-Tue Mar 7 12:14:46 1995 Doug Evans <dje@cygnus.com>
-
- * configure (sparc64-*-elf): Add crtbegin.o, crtend.o to extra_parts.
- * sparc/sp64-elf.h (TARGET_VERSION): Define.
- (CPP_PREDEFINES): Delete sun, sparc, unix. Delete OS assertions.
- (ASM_SPEC): Define.
- (LINK_SPEC): Delete solaris stuff, this is an embedded target.
- (STARTFILE_SPEC, ENDFILE_SPEC): Define.
-
-Mon Mar 6 17:54:01 1995 Doug Evans <dje@cygnus.com>
-
- * Makefile.in (install-common): Fix typo in installation of cpp.
- Likewise with gcc-cross.
-
-Mon Mar 6 02:29:05 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu>
-
- * pa.md (movsicc): New expander.
-
-Fri Mar 3 13:34:20 1995 Michael Meissner (meissner@cygnus.com)
-
- * rs6000/sysv4.h (ASM_SPEC): If -mrelocatable was passed to
- compiler, pass it on to the assembler.
-
-Fri Mar 3 12:11:28 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * fixincludes: Add fixes for VxWorks header files.
- * ginclude/stddef.h: If VxWorks typedef macros are defined, invoke
- them as appropriate.
-
-Fri Mar 3 05:48:54 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (dump_single_macro): Fix typo: % wasn't properly
- doubled in printf formats.
-
-Thu Mar 2 19:44:02 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * expr.c (expand_expr, CLEANUP_POINT_EXPR): Force the operand out
- of memory before running cleanups.
-
-Thu Mar 2 19:15:24 1995 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (rescan): Prevent accidental token-pasting to
- get !=, *=, /=, ==, or ^=.
-
-Thu Mar 2 15:37:13 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * c-typeck.c (build_binary_op): Avoid spurious warning
- comparing enumerator to unsigned variable.
-
-Thu Mar 2 18:18:38 1995 J.T. Conklin <jtc@netbsd.org>
-
- * m68k.md (sqrtsf2,sqrtdf2): Use fp precision specifiers.
-
-Thu Mar 2 18:09:01 1995 Stephen L Moshier (moshier@world.std.com)
-
- * c-lex.c (yylex, case !NOT_FLOAT): Remove previous change.
-
-Thu Mar 2 15:26:50 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * Makefile.in (bootstrap*): Pass new STAGE_PREFIX to recursive makes.
-
-Wed Mar 1 14:52:16 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * i960/i960-coff.h (ASM_FILE_START): Define.
- (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define.
- (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Define.
- (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Define.
- (INT_ASM_OP): Define.
- (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
- * i960/vx960-coff.h (CPP_PREDEFINES): Define.
- (CPP_SPEC): Define.
- (CC1_SPEC): Default to -mca.
-
-Wed Mar 1 11:10:54 1995 Michael Meissner (meissner@cygnus.com)
-
- * rs6000/rs6000.c (output_prologue): Do not emit the word that
- gives the PC relative location to the local GOT table for the
- -mrelocatable option here.
- * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Emit it here.
-
- * t-eabi (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Build -msoft-float
- and -mrelocatable versions of the library.
-
- * rs6000/powerpc.h (CPP_PREDEFINES): Define the cpu and machine as
- powerpc, not rs6000.
-
- * libgcc2.c (_unwind_function): Clone for powerpc, using the
- PowerPC mnemonics.
-
- * rs6000/rs6000.md (uminsi3, umaxsi3): Silence warnings that
- -2147483648 is too large to fit in a signed integer on 32-bit
- hosts.
-
-Wed Mar 1 06:48:31 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (decode_field_reference): Don't check TREE_CODE
- of EXP; let get_inner_reference decide if have reference.
- Allow no bit reference if have AND_MASK.
- (all_ones_mask_p): Use tree_int_cst_equal, not operand_equal_p.
- (unextend): New function.
- (fold_truthop): For constant cases, use new function, rework
- conversion, and warn if comparison can never be true.
-
- * expr.c (store_expr): Do conversion in two steps for promoted lhs.
-
-See ChangeLog.9 for earlier changes.
diff --git a/gcc/FSFChangeLog.11 b/gcc/FSFChangeLog.11
deleted file mode 100755
index 2bc3d59..0000000
--- a/gcc/FSFChangeLog.11
+++ /dev/null
@@ -1,14493 +0,0 @@
-Wed Dec 31 18:40:26 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * stmt.c (expand_asm_operands): Treat ASM with no outputs as volatile.
-
-Wed Dec 31 08:03:45 1997 Paul Eggert <eggert@twinsun.com>
-
- * toplev.c (flag_verbose_asm): Default to 0, not 1.
-
- * i386/bsd386.h (ASM_COMMENT_START): Define to " #".
-
-Tue Dec 30 17:38:55 1997 Jim Wilson <wilson@cygnus.com>
-
- * unroll.c (find_splittable_givs): Handle givs with
- dest_reg created by loop.
-
-Tue Dec 30 14:21:33 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * svr4.h (LINK_SPEC): Never specify -h.
- * ptx4.h (LINK_SPEC): Likewise.
- * rs6000/sysv4.h (LINK_SPEC): Likewise.
- * sparc/sol2.h (LINK_SPEC): Likewise.
-
-Tue Dec 30 06:15:23 1997 Philippe De Muyter <phdm@macqel.be>
-
- * libgcc2.c (_eh_compat): Do not include stdlib.h, but provide a
- private extern declaration for malloc.
-
-Mon Dec 29 06:56:41 1997 Laurent Guerby <guerby@gnat.com>
-
- * Makefile.in (stmp-int-hdrs): Add "touch".
-
-Sun Dec 28 19:36:05 1997 Stephen L Moshier <moshier@mediaone.net>
-
- * mips.h (CACHE_FLUSH_FUNC): New, defaults to _flush_cache.
- (INITIALIZE_TRAMPOLINE): Use it.
- * mips/ultrix.h (CACHE_FLUSH_FUNC): Define as cacheflush.
- * mips/news4.h (CACHE_FLUSH_FUNC): Likewise.
-
-Sun Dec 28 08:19:13 1997 Paul Eggert <eggert@twinsun.com>
-
- * arm.c: Don't include assert.h.
- * i960.c: Likewise.
- (i960_arg_size_and_align): Rewrite to avoid assert.
- * m88k.c: Don't include assert.h.
- (expand_block_move): Rewrite to avoid assert.
- * except.c: Don't include assert.h.
- (scan_region): Rewrite to avoid assert.
- (save_eh_status, restore_eh_status, scan_region): Don't bother
- testing whether pointer is null.
- * dwarfout.c, dwarf2out.c: Do not include assert.h.
- (assert): New macro, since we can't use system assert.
-
-Sat Dec 27 19:08:17 1997 Stephen L Moshier <moshier@mediaone.net>
-
- * mips/ultrix.h (DWARF2_UNWIND_INFO): Define as 0.
-
-Fri Dec 26 05:57:06 1997 Philippe De Muyter <phdm@macqel.be>
-
- * m68k/mot3300.h (FINALIZE_TRAMPOLINE): Macro defined.
- * libgcc2.c (__clear_insn_cache): New sysV68-specific helper function
- for trampolines.
-
-Thu Dec 25 15:22:43 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * rs6000.c (function_arg_padding): All aggregates pad upward.
-
-Wed Dec 24 18:05:13 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * sparc.c: Add prototypes for static functions.
- (check_pic): Check for form of pic_pc_rtx, not it itself.
- (pic_setup_code): New function, from finalize_pic.
- (finalize_pic): Call pic_setup_code and insert after nonlocal_receiver.
- * sparc.md (nonlocal_goto_receiver): New pattern.
-
-Tue Dec 23 05:54:38 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (expand_builtin_setjmp): Call builtin_setjmp_receiver.
- * mips.md (builtin_setjmp_receiver): New pattern.
-
- * crtstuff.c (__do_global_ctors_aux): Add missing call to
- FORCE_INIT_SECTION_ALIGN and go back to text section.
- * i386/sol2.h (FORCE_INIT_SECTION_ALIGN): Remove loop.
-
- * expr.c (do_store_flag): For shift, get bit count using tree_pow2.
-
-Tue Dec 23 05:21:18 1997 Paul Eggert <eggert@twinsun.com>
-
- * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT too.
-
-Mon Dec 22 19:30:59 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * sdbout.c (plain_type_1): Add missing checks for named types "char"
- and "int" and check for int by size first.
-
-Mon Dec 22 19:13:58 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * m68k/xm-mot3300.h (ADD_MISSING_{POSIX,XOPEN}): Define.
- * m88k/xm-sysv3.h: Likewise.
-
- * configure.in (getrlimit, setrlimit): Call AC_CHECK_FUNCS.
- * cccp.c (main): Check HAVE_{G,S}ETRLIMIT in addition to RLIMIT_STACK.
- * toplev.c (main): Likewise.
-
- * fixincludes (target_canonical): New variable.
- (size_t): Add support for Motorola's stdlib.h which fails to provide
- a definition for size_t.
- (str{len,spn,cspn} return value): Handle different layout on sysV88.
- (fabs/hypot): Provide a fake for hypot which is broken on
- m88k-motorola-sysv3; emit a prototype for fabs on m88k-motorola-sysv3.
-
- * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in definition.
- (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
-
-Mon Dec 22 19:05:49 1997 Richard Henderson <rth@cygnus.com>
-
- * sparc.md (jump): Don't use the annul bit around an empty loop.
-
-Mon Dec 22 18:52:56 1997 Robert Lipe <robertl@dgii.com>
-
- * i386/x-sco5 (CLIB) Deleted.
- (ALLOCA) Added.
- * i386/xm-sco5.h (USE_C_ALLOCA) Added.
-
-Mon Dec 22 18:42:16 1997 Philippe De Muyter <phdm@macqel.be>
-
- * m68k/mot3300Mcrt0.S (mcount): Function removed.
- (__stop_monitor): New function.
- * m68k/mot3300-crt0.S (__stop_monitor): New (empty) function.
- (mcount, mcount%, monitor): Common symbols removed.
- * m68k/mot3300.h (FUNCTION_PROFILER): USE_GAS and !USE_GAS versions
- fixed and merged.
- (EXIT_BODY): Always call __stop_monitor without tricky tests.
-
-Mon Dec 22 18:35:05 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * objc/Make-lang.in (runtime-info.h, libobjc_entry.o): Create in
- build directory.
- (libobjc.a): Update dependency list.
- (libobjc.dll): Likewise. Use libobjc_entry.o from build directory.
- (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
- (objc.mostlyclean): Remove runtime-info.h.
-
-Mon Dec 22 18:27:47 1997 Paul Eggert <eggert@twinsun.com>
-
- * libgcc2.c (_eh_compat): New section.
- * Makefile.in (LIB2FUNCS): Add _eh_compat.
-
-Mon Dec 22 17:52:37 1997 Marcus G. Daniels <mgd@wijiji.santafe.edu>
-
- * objc/init.c (_objc_load_callback): Don't initialize.
-
-Sun Dec 21 15:06:00 1997 Paul Eggert <eggert@twinsun.com>
-
- * mips/xm-iris5.h (HAVE_INTTYPES_H): Force undefined.
-
-Sun Dec 21 14:51:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * dwarf2out.c (add_bound_info, case COMPONENT_REF): New case.
-
-Sun Dec 14 06:49:05 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (expand_expr, case PLACEHOLDER_EXPR): Use placeholder_list
- expression in preference to any other if correct type.
-
- * i386.h (INITIAL_ELIMINATION_OFFSET): Correctly test for PIC
- register used.
-
-Sat Dec 13 06:11:32 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * frame.h (__register_frame_info_table): Fix typo in declaration.
-
-Fri Dec 12 07:55:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * function.c (purge_addressof_1): For (mem (address (mem ...)),
- when collapsing, preserve mode of outer MEM.
-
- * frame.c (__register_frame_info): Renamed from __register_frame.
- (__register_frame_info_table, __deregister_frame_info): Similarly.
- * frame.h (__{,de}register_frame_info): Likewise.
- (__register_frame_info_table): New declaration.
- * crtstuff.c (__do_global_dtors{,_aux}): Rename __deregister_frame.
- (frame_dummy, __do_global_ctors): Likewise for __register_frame.
- * collect2.c (write_c_file_{stat,glob}): Rename __register_frame
- to __register_frame_info and similarly for __deregister_frame and
- __register_frame_table.
-
- * sched.c (remove_dependencies): Set RTX_INTEGRATED_P on dependency
- we delete. Properly update prev for multiple consecutive deletions.
- (priority): Skip deleted dependence.
-
- * integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL,
- look inside a (mem (addressof (mem ...))).
-
-Fri Dec 12 05:49:58 1997 Paul Eggert <eggert@twinsun.com>
-
- * collect2.c (write_c_file_glob):
- Allocate initial frame object in static storage and pass its address.
-
-Thu Dec 11 18:01:31 1997 Philippe De Muyter <phdm@macqel.be>
-
- * acconfig.h (NEED_DECLARATION_GETENV): Define slot added.
-
-Thu Dec 11 17:54:23 1997 Paul Eggert <eggert@twinsun.com>
-
- * crtstuff.c (__do_global_ctors): Fix typo in last change.
-
-Wed Dec 10 18:38:28 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * libgcc2.c (__bb_exit_func): Fix test of return value of fopen.
-
-Wed Dec 10 07:07:37 1997 Bernd Schmidt <crux@starsky.Informatik.RWTH-Aachen.DE>
- * combine.c (simplify_rtx, case ABS): Don't get confused by a
- VOIDmode operand.
-
-Tue Dec 9 17:44:14 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (FUNCTION_ARG_PADDING): Define.
- * rs6000.c (function_arg_padding): New function.
-
-Tue Dec 9 08:53:56 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
-
-Mon Dec 8 19:23:58 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * toplev.c (get_run_time): [#if VMS] Cast arg in times call.
-
- * vax/xm-vms.h (HAVE_UNISTD_H): Define for DEC C.
- * make-cccp.com [CC]: Add /Prefix=All for DEC C.
-
-Mon Dec 8 08:09:17 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * stmt.c (expand_decl_cleanup_no_eh): Properly return a value.
-
- * fold-const.c (fold_convert): Don't flag overflow when converting
- pointer to integer.
-
-Sun Dec 7 09:42:05 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * make-gcc.com (@make-l2): Pass along any command line arguments.
- * make-l2.com: Add latent support to compile cp/inc/* if `cc1plus'
- is specified [currently disabled].
- * make-cc1.com: When building with GNU C, use -O2.
- * make-cccp.com: Likewise.
-
-Sun Dec 7 06:56:48 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * crtstuff.c (__do_global_ctors): Add missing arg to __register_frame.
-
- * collect2.c (write_c_file_stat): Fix error in last change;
- use __SIZE_TYPE__, not size_t.
-
-Sun Dec 7 05:50:43 1997 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (strings.h): Fix misspelling of `include' introduced
- in last change to this file.
-
-Sat Dec 6 18:54:11 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha/vms.h (CPP_PREDEFINES): Remove redundant setting
- of GCC version and unneeded setting of __VMS_VER.
-
-Fri Dec 5 07:24:36 1997 Richard Stallman <rms@gnu.org>
-
- * sparc/linux64.h (TARGET_VERSION): Write "GNU/Linux".
- * sparc/linux.h, sparc/linux-aout.h, rs6000/linux.h: Likewise.
- * m68k/linux.h, arm/linux.h, alpha/{linux,elf}.h: Likewise.
- * listing: Change linux to gnu-linux.
-
-Fri Dec 5 06:23:22 1997 Paul Eggert <eggert@twinsun.com>
-
- Alter C startup code so that it doesn't invoke malloc on Solaris.
- * frame.h (struct object): Decl moved here from frame.c.
- * frame.c (struct object): Move decl to frame.h.
- ("frame.h"): Include after <stddef.h>, so that size_t is defined.
- (__register_frame, __register_frame_table, __deregister_frame):
- It's now the caller's responsibility to allocate storage for object.
- * crtstuff.c (frame_dummy), collect2.c (write_c_file_stat):
- Allocate initial frame object in static storage and pass its address.
- * crtstuff.c (<stddef.h>, "frame.h"): Include.
- * Makefile.in ($(T)crtbegin.o, $(T)crtend.o, stamp-crtS):
- Depend on defaults.h and frame.h.
-
- * Makefile.in (RTL_H, TREE_H): Add gansidecl.h.
- (DEMANGLE_H): New macro. All dependencies on demangle.h
- changed to $(DEMANGLE_H).
- (RECOG_H): Likewise.
- (libgcc2.a, stmp-multilib): Add dependencies on frame.h, gansidecl.h.
- (collect.o): Add dependency on gansidecl.h.
- (gcc.o, choose-temp.o, pexecute.o, prefix.o): Likewise.
- (obstack.o, choose-temp.o, pexecute.o): Add dependency on $(CONFIG_H).
-
-Fri Dec 5 06:20:06 1997 Dean Deaver <deaver@amt.tay1.dec.com>
-
- * arm.md (casesi_internal): Add USE of label.
-
-Fri Dec 5 05:59:44 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * configure.in (sys/times.h): Check for this instead of times.h.
- * cpplib.c, toplev.c: Properly test for and include sys/times.h.
-
-Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (final_prescan_insn): Use local label prefix when emitting
- .uses pseudo-ops.
-
-Thu Dec 4 07:00:48 1997 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (arm_finalize_pic): Use an offset of 4 when adjusting the
- GOT address.
-
-Thu Dec 4 06:58:32 1997 Dean Deaver <deaver@amt.tay1.dec.com>
-
- * genoutput.c (scan_operands): Treat format of "u" like "e".
-
-Thu Dec 4 06:28:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * msdos/top.sed, winnt/config-nt.sed: Change version to 2.8.0.
-
- * stmt.c (pushcase_range): Clean up handling of "infinite" values.
-
-Wed Dec 3 09:03:35 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
-
- * i386.c (notice_update_cc): Remove bogus Pentium GCC code.
-
-Wed Dec 3 08:46:32 1997 Paul Eggert <eggert@twinsun.com>
-
- * arm.h (CPP_ARCH_DEFAULT_SPEC): Fix misspelling: `TARGET_CPU_DEFUALT'.
- (TARGET_SWITCHES): Fix misspelling: `no-apcs-rentrant'.
- * pa.c (override_options): Fix misspelling: `compatable'.
- * enquire.c (main): Fix misspelling in diagnostic: `mallocatable'.
- * gcov.c (function_summary): Fix misspelling in diagnostic: `funcion'.
- * objc/thr-decosf1.c (__objc_thread_id): Fix misspelling in code:
- `pthread_getuniqe_np'.
-
- * tahoe.c (extensible_operand): Renamed from extendable_operand.
- All callers changed.
- * dwarf2.h (enum dwarf_discrim_list): Renamed from dwarf_descrim_list.
- * dwarf2out.c: Fix misspellings in forward static function
- declarations: `add_AT_setion_offset', `add_sibling_atttributes'.
- * dwarfout.c: Fix misspellings in forward static function
- declarations: `langauge_attribute', `geneate_new_sfname_entry'.
- * stmt.c, tree.h (start_cleanup_deferral):
- Renamed from start_cleanup_deferal.
- (end_cleanup_deferral): Renamed from end_cleanup_deferal.
- * toplev.c (rest_of_compilation): Rename local var from
- inlineable to inlinable.
-
-Wed Dec 3 06:17:03 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
-
-Wed Dec 3 06:06:38 1997 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (gen_type_die, case POINTER_TYPE): See TREE_ASM_WRITTEN
- before the recursive call.
-
-Wed Dec 3 05:57:29 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * configure.in (AC_HEADER_{STDC,TIME}): Add calls.
- (AC_CHECK_HEADERS): Add fcntl.h times.h, sys/times.h,
- sys/resource.h, and sys/param.h.
- (getenv): Check if need declaration.
- * cccp.c: Remove obsolete ways of including headers and use autoconf
- symbols instead.
- Include gansidecl.h; remove things defined there.
- See if getenv needs to be declared.
- * cpplib.c: Likewise.
- * cexp.y: Use autoconf symbols to select what include files are needed.
- * genattrtab.c, toplev.c: Likewise.
-
-Tue Dec 2 21:44:25 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * reload1.c (reload): Make copy of MEM before setting
- req_equiv_mem if the address is a PLUS.
-
-Tue Dec 2 07:03:47 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * vax/xm-vms.h (STDC_HEADERS, HAVE_STDLIB, HAVE_STRING): Define.
- (mesg_implicit_function_declaration): New macro.
-
- * make-l2.com: Compile libgcc2.c with `-fexceptions' specified.
-
-Mon Dec 1 17:44:59 1997 Jeffrey A Law (law@cygnus.com)
-
- * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
- output ASCII by default; only use ASM_OUTPUT_DWARF_STRING if
- flag_debug_asm is on.
- (output_die, output_pubnames, output_line_info): Likewise.
-
-Mon Dec 1 17:15:30 1997 Philip Blundell <pb@nexus.co.uk>
-
- * arm/linux.h (SUBTARGET_CPU_DEFAULT): Define instead
- of TARGET_CPU_DEFAULT.
-
-Mon Dec 1 16:51:23 1997 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
-
- * i386/mingw32.h (MATH_LIBRARY): Set to "-lcrtdll".
-
-Mon Dec 1 16:46:57 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * c-aux-info.c: Add prototypes for static functions.
- * c-lex.c, emit-rtl.c, rtl.c, xcoffout.c: Likewise.
-
- * i386.h (TARGET_SWITCHES): Add entries for "windows" and "dll".
-
-Mon Dec 1 16:42:20 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (fix_trunc{dfsi,sfsi,dfsi}2): Add '*' in operand 3.
-
-Sun Nov 30 20:25:59 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (get_inner_reference): For ARRAY_REF, if need
- WITH_RECORD_EXPR, make it with the ARRAY_REF as exp.
-
- * expr.c (store_constructor): Use TARGET, not EXP, for
- WITH_RECORD_EXPR when offset has a placeholder.
-
-Sun Nov 30 11:19:00 1997 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
-
- * objc/Make-lang.in (libobjc.dll): Rename -dll flag to -mdll.
-
-Sun Nov 30 08:42:29 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * stmt.c (expand_end_bindings): Cleanups and incoming gotos are
- not incompatible.
-
-Sun Nov 30 05:45:06 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * jump.c (jump_optimize): Use find_insert_position in two more places.
-
-Sat Nov 29 13:47:40 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha/vms.h (HAVE_STRERROR, HAVE_{LIMITS,STDDEF,TIME}_H): Define.
-
-Sat Nov 29 08:29:47 1997 J.J.van der Heijden <J.J.vanderHeijden@student.utwente.nl>
-
- * configure.in: Add check for kill.
- * gcc.c: Define kill as raise if not HAVE_KILL.
-
-Sat Nov 29 06:18:08 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * jump.c (find_insert_position): New function.
- (jump_optimize): Use it when making new copy of insn after test.
-
-Sat Nov 29 05:54:57 1997 Douglas Rupp <rupp@gnat.com>
-
- * alpha/vms.h (BIGGEST_ALIGNMENT, ENCODE_SECTION_INFO): No longer
- override.
-
-Sat Nov 29 05:43:37 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * getpwd.c (getpwd, [VMS]): Only add extra arg if VMS.
-
- * alpha/xm-vms.h (HAVE_VPRINTF, HAVE_PUTENV): Define.
-
- * cccp.c (index, rindex): Add conditional defs to strchr and strrchr.s
- * cpplib.c: Likewise.
- * gcov.c: Include gansidecl.h.
-
-Fri Nov 28 21:17:51 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * objc/objc-act.c: Include "output.h".
-
- * objc/Make-lang.in (objc-parse.o, objc-act.o): Also depend on
- $(srcdir)/output.h.
-
- * objc/Object.m (+conformsTo:): Surround assignment with parentheses.
-
- * objc/archive.c, objc/class.c, objc/encoding.c: Finish prototyping.
- * objc/init.c, objc/objc-act.c, objc/objc-api.h: Likewise.
- * objc/runtime.h, objc/sendmsg.c: Likewise.
-
-Fri Nov 28 19:15:53 1997 Mark Kettenis <kettenis@phys.uva.nl>
-
- * objc/thr-posix.c (__objc_mutex_allocate): Allocate
- mutex type instead of assuming it fits in a void * type.
- (__objc_mutex_deallocate): Free mutex type.
- (__objc_mutex_lock): Pass mutex type instead of pointer to it.
- (__objc_mutex_{try,un}lock): Likewise.
- (__objc_condition_allocate): Allocate condition type instead
- of assuming it fits in a void * type.
- (__objc_condition_deallocate): Free condition type.
- (__objc_condition_wait): Pass condition type instead of pointer to it.
- (__objc_condition_{broadcast,signal}): Likewise.
-
-Fri Nov 28 17:07:25 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (function_arg_partial_nregs): Undo 11/26 change.
-
-Fri Nov 28 12:34:03 1997 Scott Christley <scottc@net-community.com>
-
- * objc/Make-lang.in (runtime-info.h): Add comment in file.
-
- * objc/selector.c: Replace all occurences of sarray_get
- with sarray_get_safe.
- * objc/sendmsg.c: Likewise.
-
- * protoize.c (include_defaults): Add component element as in cccp.c.
- * nextstep.h (INCLUDE_DEFAULTS): Add component element.
- (ASM_COMMENT_START): Correct assembly comment string.
- * objc/Make-lang.in (objc/{NXConstStr,Object,Protocol,linking):
- Compile with GNU runtime.
-
-Fri Nov 28 12:27:50 1997 Ovidiu Predescu <ovidiu@net-community.com>
-
- Generate platform information required by ObjC runtime.
- * toplev.c (lang_options): New ObjC specific compiler flag.
- * objc/Make-lang.in: Add target to generate runtime-info.h file.
- * objc/objc-act.c (print_struct_values): New variable.
- (generate_struct_by_value_array): New function.
- (lang_init): Call generate_struct_by_value_array if requested.
- (lang_decode_option): Check for new compiler flag.s
- * objc/sendmsg.c (__objc_get_forward_imp): Check size of type
- for determining proper forwarding function.
-
-Fri Nov 28 05:58:30 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * regclass.c (record_address_regs): Use REG_OK_FOR_{INDEX,BASE},
- not the REGNO versions.
-
-Thu Nov 27 16:28:04 1997 Scott Snyder <snyder@d0sgif.fnal.gov>
-
- * dwarf2out.c (outout_call_frame_info): Ensure info has proper
- alignment.
-
- * libgcc2.c (__throw): Initialize HANDLER.
-
-Thu Nov 27 16:23:25 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * tree.h, rtl.h: See if need declarations for free.
- * tree.c, bc-optab.c: Get the declaration of free from stdlib.h.
-
-Thu Nov 27 07:21:54 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.h: Add outer_context_label_stack.
- * except.c: Likewise.
- (expand_start_all_catch): Push the outer_context for the try block
- onto outer_context_label_stack.
- (expand_end_all_catch): Use it and pop it.
-
- * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
-
- * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
-
-Thu Nov 27 07:15:10 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
- (print_operand{,_address}): Use SMALL_DATA_REG for register involved in
- small data relocations.
-
- * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
- -dynamic linker is not used.
-
- * rs6000.md (call insns): For local calls, use @local suffix under
- System V; don't use @plt under Solaris.
-
-Wed Nov 26 15:12:32 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
-
- * toplev.c (flag_exceptions): Default value is 2.
- (compile_file): If flag_exceptions still has the value 2, then
- set it to 0.
-
-Wed Nov 26 14:58:42 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (output_function_profiler): Put label address in r0, and
- store LR in 4(sp) for System V/eabi.
-
- * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
- byte boundary, and maintain stack backchain.
-
- (Originally from Geoffrey Keating)
- * rs6000.c (function_arg): Excess floating point arguments don't
- go into GPR registers after exhausting FP registers under the
- System V.4 ABI.
- (function_arg_partial_nregs): Likewise.
-
- * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
- suffix to calls.
-
-Wed Nov 26 14:09:01 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarfout.c (output_type): If finalizing, write out nested types
- of types we've already written.
-
- * toplev.c (main): Complain about -gdwarfn.
-
-Wed Nov 26 12:37:56 1997 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
-
- * mingw32.h (PATH_SEPARATOR): Moved to xm-mingw32.h
- * xm-mingw32.h (PATH_SEPARATOR): Moved here from mingw32.h.
-
- * getpwd.c (getpwd): Use VMS implementation of _WIN32 unless cygwin32.
-
-Wed Nov 26 12:26:44 1997 John Hassey <hassey@dg-rtp.dg.com>
-
- * m88k/dgux.h (ASM_CPU_SPEC) : No whitespace allowed.
-
- * m88k.h (SUPPORTS_ONE_ONLY) : Must be svr4.
-
- * i386/dgux.h (ASM_OUTPUT_ALIGN): Deleted.
-
- * i386/dgux.c (output_file_start) : Changed ix86_isa_string
- to ix86_arch_string.
-
- * cplus-dem.c (fancy_abort): Added.
-
-Wed Nov 26 06:07:50 1997 Richard Earnshaw <rearnsha@arm.com>
-
- * arm/coff.h (TARGET_DEFAULT): Add ARM_FLAG_APCS_32 to defaults.
-
- * configure.in (arm*-*-*): Recognize --with-cpu for ARM processors.
-
-Wed Nov 26 05:05:36 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * libgcc2.c (inhibit_libc): Define #ifdef CROSS_COMPILE.
-
- * mips/xm-iris6.h (malloc, realloc, calloc): No longer declare.
- (USG): Define here.
- (xm-iris5.h): No longer include; just include xm-mips.h.
-
- * mips-tfile.c (parse_def): Properly recognize bitfield and
- count array dimensions.
-
- * protoize.c: Remove declarations of void, exit, and free.
-
- * i386/mingw32.h (LINK_SPEC, STARTFILE_SPEC): Change -dll to -mdll.
-
- * configure.in: Check for sys/file.h.
- * gcc.c (sys/file.h): Include if HAVE_SYS_FILE_H.
-
- * configure.in: Only give error on bad --with-cpu value for target.
-
-Sat Nov 22 19:21:55 1997 Philippe De Muyter <phdm@macqel.be>
-
- * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
- (ASM_OUTPUT_DWARF_VALUE4): New macro.
- (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
- defined.
- (output_call_frame_info): Don't output forward label differences
- if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
- Substitute instead simple label and define this label later to be
- difference of desired labels after they have been defined.
- * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
-
- * gcc.c (process_command): Don't take address of function fatal when
- calling lang_specific_driver.
-
-Sat Nov 22 17:08:03 1997 J. Kean Johnston <jkj@sco.com>
-
- * i386/sco5.h (SELECT_RTX_SECTION): Redefine to work with -fpic.
- (LIBGCC_SPEC, LIB_SPEC): Link with correct libgcc.a.
- (HAVE_ATEXIT): Define.
-
-Sat Nov 22 12:20:22 1997 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.md (movsfcc{,_hard}_insn): Specify mode for all alternatives.
-
-Sat Nov 22 06:56:16 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * function.c (instantiate_decl): Only ignore ADDRESSOF if arg is REG.
-
- * configure.in: Check for functions before checking which need decls.
- (bcopy, bzero, bcmp, index, rindex): Add checks.
- (vax-*-sysv*): Fix typo in setting of xm_file.
- * aclocal.m4: Add conditional definitions of index and rindex.
- * gansidecl.h (bcopy, bzero, bcmp, index, rindex): If don't
- have one of these, define macro to use ANSI form.
- * pa/xm-pahpux.h (bcopy, bzero, bcmp, rindex, index): No longer define.
- * mips/xm-sysv.h, xm-m88k.h, m68k/xm-plexus.h: Likewise.
- * m68k/xm-mot3300.h, m68k/xm-m68kv.h, m68k/xm-hp320.h: Likewise.
- * winnt/xm-winnt.h, vax/xm-vms.h, m68k/xm-3b1.h: Likewise.
- * i386/xm-os2.h, i386/xm-mingw32.h, alpha/xm-vms.h: Likewise.
- * xm-svr4.h, xm-svr3.h: Likewise.
- * clipper/xm-clix.h: Likewise.
- (TARGET_MEM_FUNCTIONS): Define here.
- * xm-linux.h (bcmp, bcopy, bzero, index, rindex): No longer undefine.
- * xm-convex.h (bcopy, bzero): No longer define.
- * vax/xm-vaxv.h, sparc/xm-pbd.h, mips/xm-iris{3,4,5}.h: Likewise.
- * m68k/xm-crds.h, m68k/xm-altos3068.h, i386/xm-sun.h: Likewise.
- * i386/xm-osf.h, i386/xm-aix.h, xm-i370.h, ns32k/xm-genix.h: Likewise.
-
-Sat Nov 22 06:46:26 1997 Paul Eggert <eggert@twinsun.com>
-
- * c-typeck.c, collect2.c, cpplib.c, dwarfout.c, gcov.c, protoize.c:
- Don't include <strings.h> unless there's no <string.h>.
-
-Fri Nov 21 06:46:50 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * configure.in (i[3456]86-*-freebsd{,elf}*): Delete i386/xm-freebsd.h.
- * xm-freebsd.h, i386/xm-freebsd.h: Deleted.
-
- * i386/xm-cygwin32.h (HAVE_RUSAGE, HAVE_FILE_H): Deleted.
- * i386/xm-mingw32.h, rs6000/xm-cygwin32.h: Likewise.
-
- * xm-std32.h: New file, so far unused.
-
-Fri Nov 21 05:50:54 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.c (legitimize_pic_address): Make sure pic register marked used.
-
- * dwarf2out.c (output_call_frame_info): Call app_enable and
- app_disable if flag_debug_asm, not if flag_verbose_asm.
-
-Thu Nov 20 16:37:36 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (expand_builtin_apply): Fix typo in last change.
-
- * expr.c (expand_assignment): If assigning to readonly field,
- mark rtx as unchanging.
-
- * configure.in: Add checks for functions putenv, popen, and vprintf.
- (i[3456]86-*-netbsd*): No longer need i386/xm-netbsd.h.
- (i860-alliant-*): No longer need i860/xm-fx2800.h.
- (m68k-ncr-sysv*): Use xm-svr3.h instead of m68k/xm-tower.h.
- (m68k-sun-sunos*): No longer need m68k/xm-sun3.h.
- (m68k-*-netbsd*): No longer need m68k/xm-netbsd.h.
- (mips-dec-netbsd*): No longer need mips/xm-netbsd.h.
- (ns32k-pc532-netbsd*): No longer need ns32k/xm-netbsd.h.
- (sparc-*-netbsd*): No longer need sparc/xm-netbsd.h.
- (vax-*-netbsd*): No longer need config/xm-netbsd.h.
- * arm/xm-netbsd.h: No longer include xm-netbsd.h.
- * xm-linux.h (HAVE_VPRINTF, HAVE_POPEN, HAVE_PUTENV): Deleted.
- * xm-mips.h (HAVE_VPRINTF, HAVE_PUTENV): Deleted.
- * i386/xm-osf.h, xm-arm.h, xm-alpha.h: Likewise.
- * xm-sparc.h (HAVE_POPEN): Deleted.
- * xm-sh.h (HAVE_VPRINTF): Deleted.
- * mips/xm-iris4.h, mips/xm-iris5.h, xm-m88k.h: Likewise.
- * m68k/xm-crds.h, m68k/xm-atari.h, m68k/xm-amix.h: Likewise.
- * xm-svr3.h, xm-svr4.h, i386/xm-mingw32.h: Likewise.
- * i386/xm-os2.h (HAVE_PUTENV): Deleted.
- * i386/xm-dos.h, i386/xm-aix.h: Likewise.
- * arm/xm-netbsd.h (HAVE_VPRINTF, HAVE_STRERROR): No longer
- need undefine.
- * xm-netbsd.h, i386/xm-netbsd.h, m68k/xm-netbsd.h: Deleted.
- * mips/xm-netbsd.h, ns32k/xm-netbsd.h, sparc/xm-netbsd.h: Likewise.
- * i860/xm-fx2800.h, m68k/xm-sun3.h, m68k/xm-tower.h: Likewise.
-
-Thu Nov 20 16:04:24 1997 Richard Earnshaw <rearnsha@arm.com>
-
- * explow.c (plus_constant_wide, case MEM): If about to call
- force_const_mem, generate the rtl in a saveable obstack.
-
- * arm.md (movhi): Pass the full MEM to storeinthi, storehi and
- storehi_bigend.
- (storeinthi, storehi, storehi_bigend): Be more conservative about
- when not to force a PLUS or MINUS into a REG. Use change_address
- to create new MEMs.
-
-Wed Nov 19 15:16:04 1997 Ulrich Drepper <drepper@cygnus.com>
-
- * c-common.c (print_char_table): Add a and A to float formats.
- (scan_char_table): Likewise.
- (check_format_info): Recognize `a' as allocate flag only if used
- in correct context.
-
-Wed Nov 19 12:56:54 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * configure.in: Fix check for <inttypes.h>.
-
-Tue Nov 18 19:27:01 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (attribute "type"): Add nil.
- (movsi_ie): y/y alternative is type nil.
- (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X.
- (movsf_ie+1): Delete.
-
-Tue Nov 18 18:38:41 1997 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (warn_undef): Now static.
- (eval_if_expression): Don't warn about undefined preprocessor symbols
- in system headers.
- * cexp.y (parse_c_expression):
- Now takes new arg specifying whether to warn
- about undefined preprocessor symbols.
- (warn_undef): Now local and static; independent of warn_undef in cccp.c
- (yylex): `register' -> `register int', needed for C9X.
-
- The following changes are only if TEST_EXP_READER is defined:
- (expression_signedp): New var.
- (start): Set expression_signedp to signedness of expression.
- (print_unsigned_host_wide_int): New function.
- (main): Use it to print value of expression, instead of hoping that
- `long' is long enough. Print "u" after unsigned values.
-
-Tue Nov 18 18:33:30 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (save_restore_insns): If gp_offset or fp_offset are
- large_int, emit two insns instead of one splitable insn.
- * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
- from cfa_temp_value, use cfa_offset. Add assert checking that
- cfa_reg is SP.
-
-Tue Nov 18 09:11:58 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (div_and_round_double): Return overflow for
- divide-by-zero instead of aborting.
-
- * tree.c (substitute_in_expr, case TREE_LIST): Fix two typos.
-
-Tue Nov 18 05:03:52 1997 Jeffrey A Law <law@cygnus.com>
-
- * arm.c (output_move_double): Allocate 3 entries in otherops array.
-
-Tue Nov 18 02:41:01 1997 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (quote_string_for_make): New function.
- (deps_output): Use it to fix bug with file name quoting in -M output.
-
-Mon Nov 17 13:28:33 1997 Philip Blundell <Philip.Blundell@pobox.com>
-
- * arm/lib1funcs.asm (__div0): Provide GNU/Linux implementation.
- * arm/t-linux (LIB1ASMFUNCS): Use it.
-
-Mon Nov 17 09:13:59 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * function.c (purge_addressof_1): Make copy when substituting argument
- of ADDRESSOF.
- (fixup_var_refs_1): Likewise.
-
- * m68k.c: Include tree.h.
-
-Mon Nov 17 09:01:05 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * getpwd.c (getpwd, [VMS]): Add extra arg of 0 to getcwd call.
-
- * alpha/vms.h ({OPTIMIZATION,OVERRIDE}_OPTIONS): Delete, for now.
- * alpha/xm-vms.h (DIR_SEPARATOR, PATH_SEPARATOR): Delete.
-
-Mon Nov 17 08:52:45 1997 Richard Earnshaw <rearnsha@arm.com>
-
- * function.c (fixup_stack_1): Also fix-up refs via ARG_POINTER_REGNUM.
-
- * configure.in (arm-*-netbsd*): Doesn't need collect2.
-
-Mon Nov 17 08:50:01 1997 Stephen L Moshier <moshier@world.std.com>
-
- * i386/isc.h (DWARF2_UNWIND_INFO): Define as 0.
-
-Mon Nov 17 08:42:28 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * flow.c (propagate_block): Look for pre-inc/dec within PARALLEL.
-
-Mon Nov 17 03:14:46 1997 Paul Eggert <eggert@twinsun.com>
-
- * cpplib.c (file_size_and_mode): Remove.
- (finclude): Don't assume long and off_t are same size or that
- mode_t fits in int.
- * cccp.c: (main, finclude, check_precompiled): Don't assume size_t
- and off_t are same size.
- * gcov.c (read_files): Don't assume off_t and unsigned are same size.
-
-Sun Nov 16 18:56:40 1997 Scott Christley <scottc@net-community.com>
-
- * objc/objc-act.c (objc_demangle): New function.
- (objc_printable_name): New function.
- (init_objc): Change default function.
-
- * expr.c (expand_builtin_apply): Prefer nonlocal over block.
-
-Sun Nov 16 18:10:13 1997 Fila Kolodny <fila@ibi.com>
-
- * i370.c (i370_function_prolog): New function from i370.h.
- * i370.h (FUNCTION_PROLOG): Just call i370_function_prolog.
-
-Sun Nov 16 08:40:35 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * calls.c (expand_call, store_one_arg): Don't pass QImode arguments
- to emit_library_call.
- * expr.c (emit_push_insn, expand_assignment, store_expr): Likewise.
- (expand_expr, expand_builtin): Likewise.
- * function.c (put_var_into_stack, assign_parms): Likewise.
- * alpha.c (alpha_builtin_saveregs): Likewise.
- * clipper.c (clipper_builtin_saveregs): Likewise.
- * m88k.c (m88k_builtin_saveregs): Likewise.
- * pa.c (hppa_builtin_saveregs): Likewise.
- * sparc.c (sparc_builtin_saveregs): Likewise.
-
-Sun Nov 16 07:39:08 1997 Paul Eggert <eggert@twinsun.com>
-
- * real.h (REAL_VALUES_IDENTICAL): New macro.
- * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
- * fold-const.c (operand_equal_p): Don't consider -0.0 identical to 0.0.
- * tree.c (simple_cst_equal): Likewise.
- * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL macro.
-
-Sun Nov 16 07:29:12 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * acconfig.h (NEED_DECLARATION_{,R}INDEX): New cases.
- * configure.in: See if need declarations for index and rindex.
- * c-typeck.c, collect2.c, cpplib.c, dwarfout.c, gcov.c, protoize.c:
- Include stdlib.h, string.h, and strings.h, if they exist.
- Only declare index and rindex if needed.
- * collect2.c: Only declare free if needed.
-
- * regclass.c (record_address_regs): Refine choice of index and base
- when have sum of two regs, one of which is a hard reg.
-
-Sun Nov 16 07:07:45 1997 Robert Lipe (robertl@dgii.com)
-
- * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define as in sysv4 and linux
- (HAVE_ATEXIT): No longer define. This confused ELF destructors.
- (DBX_DEBUGGING_INFO): Define.
-
-Sat Nov 15 09:55:11 1997 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept MINUS (until reload
- knows what to do with it).
-
-Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
- pick apart floating point values, instead of using CONST_DOUBLE_LOW
- and CONST_DOUBLE_HIGH.
-
- * rs6000.md (define_splits for DF constants): Use the appropriate
- REAL_VALUE_* interface to pick apart DF floating point constants in
- a machine independent fashion.
-
-Thu Nov 13 07:30:53 1997 Richard Earnshaw (rearnsha@arm.com)
-
- * arm/netbsd.h (LINK_SPEC): Redefine -- pass -X.
-
- * arm.md (movsicc_insn): Add extra reload alternatives for better
- register tying.
- (movsfcc_hard_insn, movsfcc_soft_insn, movdfcc_insn): Likewise.
-
-Mon Nov 10 19:32:14 1997 Doug Evans <dje@cygnus.com>
-
- * sparc.md (mov[sdt]f_const_insn): Fix condition to match what
- instruction can handle.
-
-Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * stmt.c (expand_decl_cleanup_no_eh): New fn.
-
- * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
-
-Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
- swap instruction order.
-
-Sun Nov 9 09:51:08 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * machmode.def (QCmode, HCmode): New modes.
-
-Sun Nov 9 09:24:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * combine.c (sets_function_arg_p): New function.
- (combinable_i3pat): Check if combining with any but the first
- argument register setting insn for a function call.
-
- * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid sheduling load from
- stack slot.
-
-Sun Nov 9 09:17:53 1997 Richard Earnshaw (rearnsha@arm.com)
-
- * loop.c (strength_reduce): If initial value of BIV is equivalent to
- a constant, record that as initial value.
- (check_dbra_loop): Don't reverse loop if initial value isn't CONST_INT.
-
-Sun Nov 9 09:12:41 1997 Tristan Gingold <gingold@haendel.enst.fr>
-
- * expr.c (emit_push_insn): Avoid infinite recursion
- when -fcheck-memory-usage.
-
-Sun Nov 9 08:03:42 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * cse.c (simplify_binary_operation): Fix error in last change.
-
-Sun Nov 9 07:56:31 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * vmsconfig.com [version.opt]: Parse version string more robustly.
- [@variable@]: Discard configure tokens when using Makefile.in.
- [libgcc2-cxx.list]: Generate this new file for CXX_LIB2FUNCS.
- [cp/input.c]: Suppress it as workaround to avoid linker warning.
- [objc-parse.y]: Now lives in the objc subdirectory.
- * make-cc1.com [objc-parse.{c,y}]: Ditto.
- * make-cccp.com [prefix.c]: Compile additional source file.
-
- * cccp.c (VMS_freopen, VMS_fopen, VMS_open, VMS_fstat): Call
- corresponding library routine specified via its ordinary name
- rather than with a decc$ prefix. (Reverses Oct 19 change.)
-
- * cccp.c, cexp.y [HOST_WIDE_INT]: Manually splice long lines
- of avoid backslash+newline continuation on #if directives.
-
-Sun Nov 9 01:54:54 1997 Jeffrey A Law (law@cygnus.com)
-
- * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
- are shared.
-
-Sat Nov 8 23:01:37 1997 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * cse.c (simplify_binary_operation): Don't simplify divide by zero
- for targets that don't support a representation of INFINITY.
-
-Sat Nov 8 22:37:29 1997 Richard Earnshaw <rearnsha@arm.com>
-
- * Makefile.in (cse.o): Depend on expr.h.
- * cse.c: Include expr.h.
- (fold_rtx, case MEM): For ADDRESSOF, create new MEM.
-
-Sat Nov 8 19:27:56 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * expr.c (expand_increment): When enqueing a postincrement for a MEM,
- use copy_to_reg if address is not a general_operand.
-
-Sat Nov 8 18:39:56 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (L_eh): Define __eh_pc here.
- Replace __eh_type with generic pointer __eh_info.
-
-Sat Nov 8 07:03:47 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha.h (SECONDARY_OUTPUT_RELOAD_CLASS): If FLOAT_REGS,
- need secondary reload for QImode and HImode even if BWX.
-
- * expmed.c (store_split_bit_field): Force ADDRESSOF into register.
-
- * cse.c (fold_rtx, case ADDRESSOF): New case (that does nothing).
-
- * function.c (fixup_var_refs_1, case ADDRESSSOF): Check that
- new value is valid for insn.
-
- * stor-layout.c (get_best_mode): Refine test for field within
- unit to work properly for negative positions.
-
- * print-rtl.c (print_inline_rtx): Save and restore sawclose and indent.
-
- * reload.c (find_replacement): If PLUS, MINUS, or MULT, see if
- either arg contains a replacement.
-
-Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
- linked once FDEs.
-
-Fri Nov 7 06:50:57 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha.h (FUNCTION_VALUE): Take into account promotion of pointers.
-
- * unroll.c (back_branch_in_range_p): Refine check for INSN at loop end.
-
-Wed Nov 5 18:17:50 1997 Paul Eggert <eggert@twinsun.com>
-
- * fixinc.svr4: Replace `__STDC__ - 0 == 1'
- with `defined (__STRICT_ANSI__)'.
-
-Tue Nov 4 18:32:44 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (insv, extzv, extv): Add change_address call.
- (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
- * mips.c (mips_expand_epilogue): Emit blockage insn before call to
- save_restore_insns if no FP and GP will be restored.
-
- * acconfig.h (HAVE_INTTYPES_H): Undef.
- * configure.in (inttypes.h): Check for conflicts between sys/types.h
- and inttypes.h, and verify that intmax_t is defined.
- * mips/x-iris (CC, OPT, OLDCC): Comment out.
- * mips/x-iris3: Likewise.
-
-Tue Nov 4 17:28:31 1997 Doug Evans <dje@cygnus.com>
-
- * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
- (yylex): Record wide strings using target endianness, not host.
-
-Tue Nov 4 16:18:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (distdir-start): Add dependency on $(srcdir)/config.in.
-
-Tue Nov 4 06:14:30 1997 Paul Eggert <eggert@twinsun.com>
-
- * c-lex.c (yylex): Don't warn about constants like
- 9223372036854775807 and 18446744073709551615U on an L32LL64 host
- unless pedantic.
-
-Mon Nov 3 18:42:44 1997 Jim Wilson <wilson@cygnus.com>
-
- * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
- * i386.md (prologue_{set_got,get_pc}): Add UNSPEC_VOLATILE to pattern.
- (prologue_get_pc_and_set_got): New pattern.
-
-Mon Nov 3 13:42:21 1997 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c, cpplib.c (compare_defs): Don't complain about arg name
- respellings unless pedantic.
- * cpplib.c (compare_defs): Accept pfile as new arg.
- All callers changed.
-
-Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
-
- * global.c (global_alloc): Free the conflict matrix after
- reload has finished.
-
-Thu Oct 30 17:30:42 1997 Doug Evans <dje@cygnus.com>
-
- * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
- Set extra_parts.
- (sparc*-*-*): Recognize --with-cpu=v9.
- * sparc/elf.h: New file.
- * sparc/t-elf: New file.
-
-Thu Oct 30 16:36:17 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * stmt.c (expand_asm_operand): If error in matching constraint,
- don't emit asm.
-
-Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * va-sh.h (__va_arg_sh1): Define.
- (va_arg): Use it.
- SH3E doesn't use any integer registers for subsequent arguments
- once a non-float value was passed in the stack.
- * sh.c (machine_dependent_reorg): If optimizing, put explicit
- alignment in front label for ADDR_DIFF_VEC.
- * sh.h (PASS_IN_REG_P): Fix SH3E case.
- (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
-
-Tue Oct 28 21:09:25 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k.md (btst patterns): Add 5200 support.
-
-1997-10-28 Brendan Kehoe <brendan@cygnus.com>
-
- * global.c (global_alloc): Use xmalloc instead of alloca for
- CONFLICTS, since max_allocno * allocno_row_words alone can be more
- than 2.5Mb sometimes.
-
-Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
- svr4.h.
-
-Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- From Brendan:
- * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
-
-Mon Oct 27 16:01:14 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
-
-Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
- put an use_sfunc_addr before each sfunc.
- * sh.md (use_sfunc_addr, dummy_jump): New insns.
- (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
-
-Mon Oct 27 11:49:43 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2.h: Remove dwarf2out prototypes.
- * tree.h: And put them here.
- * m68k.c, i386.c: Don't include dwarf2.h.
-
-Mon Oct 27 00:02:13 1997 Paul Eggert <eggert@twinsun.com>
-
- Remap include files with header.gcc only if user or configuration
- file specifies "-remap".
-
- * cccp.c (remap): New var.
- (main): Set it if user specifies "-remap".
- (open_include_file): Remap only if `remap' is nonzero.
-
- * cpplib.h (struct cpp_options): New member `remap'.
- * cpplib.c (cpp_options_init): Set remap to 0.
- (open_include_file): Remap only if `remap' is nonzero.
- (cpp_handle_options): Set remap if user specifies "-remap".
-
- * i386/cygwin32.h, rs6000/cygwin32.h (CPP_SPEC): Define with -remap.
-
-Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
- bit PC-relative offset. The exception range table pointer is now in
- the CIE.
- * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
- (count_fdes, add_fdes, get_cie): Adjust.
- (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
-
- From H.J. Lu:
- * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
-
-Sat Oct 25 20:29:39 1997 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * Makefile.in (float.h-nat): If float.h is to be empty, ensure it is.
-
-Sat Oct 25 20:16:52 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
- use varargs.h. Wrap header with <>, not "".
-
-Sat Oct 25 20:10:57 1997 Robert Lipe (robertl@dgii.com)
-
- * i386/sco5.h (EH_FRAME_SECTION_ASM_OP{,_ELF,_COFF}): Define.
- (DWARF2_UNWIND_INFO): Likewise.
- (EXTRA_SECTIONS): Add in_eh.
-
-Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
- (TARGET_MULT_BUG): Define.
- (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
- * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
-
-Fri Oct 24 15:43:57 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (toplevel): Move include stdio.h before config.h.
-
- (Patch from H.J. Lu, Aug 27, 1997)
- * rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New; defined as 1.
-
- (Patch from Jeff Law, Oct 22, 1997)
- * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
- (rs6000_{save,restore}_machine_status): Save/restore it.
-
- * rs6000.md (movsi_got_internal_mem): New pattern to work around
- case where GOT value did not get a register.
- (movsi_got_internal_mem splitter): Split above pattern.
-
- (Patch from Geoffrey Keating, Oct 21, 1997)
- * rs6000.c (rs6000_stack_info): Avoid creating a stack
- frame under System V ABI if we only need to save the LR.
-
- (Patch from Joel Sherrill, Sep 1, 1997)
- * rs6000/sysv4.h (SUBTARGET_SWITCHES): Add new macro
- EXTRA_SUBTARGET_SWITCHES, which defaults to nothing.
-
- (Patch from Geoffrey Keating, Oct 20, 1997)
- * rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS{,_S}): Add -msdata=none
- switch.
-
-Fri Oct 24 15:25:50 1997 Doug Evans <dje@cygnus.com>
-
- * sparc.h (ASM_SPEC): Delete.
-
-Fri Oct 24 13:16:24 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.c (indirect_memory_operand): Delete unused function.
- * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
- * mn10200.md (bset, bclr insns): Handle output in a reg too.
-
- * mn10300.c (symbolic_operand, legitimize_address): New functions.
- * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
- (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
-
-Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
- for FILENAME.
-
-Tue Oct 21 16:18:13 1997 Paul Eggert <eggert@twinsun.com>
-
- * winnt/win-nt.h (CPP_SPEC): Remove reference to obsolete
- option -lang-c-c++-comments.
-
-Tue Oct 21 10:00:20 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (movqi, movhi): Avoid using address registers as
- destinations unless absolutely necessary.
-
- * mn10200.c (expand_prologue): Fix typo.
-
- * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed addresses.
- * mn10200.md (neghi2): Provide an alternative which works if
- the input and output register are the same.
-
- * mn10300.c (print_operand): Handle 'S'.
- * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
- shift amount in last alternative
-
- * mn10300.c (expand_epilogue): Rework to handle register restores
- in "ret" and "retf" instructions correctly.
-
-Tue Oct 21 07:35:19 1997 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.md (insv): Avoid writing result into a paradoxical subreg.
-
-Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
-
-Mon Oct 20 12:04:04 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (CPP_SPEC): Define __v850__.
- (CPP_PREDEFINES): Do not define __v850__.
-
- * xm-v850.h: Use __v850 rather than __v850__ to identify v850 port.
-
-Mon Oct 20 17:29:55 1997 Doug Evans <dje@cygnus.com>
-
- * sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
- (DEFAULT_ARCH32_P): New macro.
- (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
- (enum cmodel): Declare.
- (sparc_cmodel_string,sparc_cmodel): Declare.
- (SPARC_DEFAULT_CMODEL): Provide default.
- (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
- (TARGET_FULLANY): Deleted.
- (TARGET_CM_MEDMID): New macro.
- (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
- (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
- (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
- (CPP_SPEC): Rewrite.
- (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
- (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
- (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
- (ASM_SPEC): Add %(asm_arch).
- (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
- Rename asm_default to asm_cpu_default.
- Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
- cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
- (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
- ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
- (MASK_INT64,MASK_LONG64): Delete.
- (MASK_ARCH64): Renamed to MASK_64BIT.
- (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
- (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
- (TARGET_SWITCHES): Always provide 64 bit options.
- (ARCH64_SWITCHES): Delete.
- (TARGET_OPTIONS): New option -mcmodel=.
- (INT_TYPE_SIZE): Always 32.
- (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
- (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
- (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
- (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
- * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
- CPP_SPEC.
- (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- * sparc/linux.h: Likewise.
- * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
- (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
- (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
- (SPARC_DEFAULT_CMODEL): Define.
- (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
- (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- (LONG_DOUBLE_TYPE_SIZE): Define.
- (ASM_SPEC): Add %(asm_arch).
- * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
- (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- (TARGET_CPU_DEFAULT): Add ultrasparc case.
- * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
- (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
- (SPARC_DEFAULT_CMODEL): Define.
- * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
- (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
- MASK_LONG64, MASK_MEDANY.
- (SPARC_DEFAULT_CMODEL): Define.
- (CPP_PREDEFINES): Delete.
- (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- (ASM_SPEC): Add %(asm_arch).
- (LONG_DOUBLE_TYPE_SIZE): Define.
- (DWARF2_DEBUGGING_INFO): Define.
- * sparc/splet.h (CPP_SPEC): Delete.
- * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
- (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
- (BLOCK_PROFILER): Likewise.
- * sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
- (sparc_override_options): Handle code model selection.
- (sparc_init_expanders): Renamed from sparc64_init_expanders.
- * sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
- TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
- (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
- (sethi_di_fullany): Delete.
-
-Mon Oct 20 17:20:17 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (compute_frame_size): Not a leaf function if profile_flag set.
-
-Sun Oct 19 17:46:02 1997 Douglas Rupp <rupp@gnat.com>
-
- * cccp.c (OBJECT_SUFFIX): Add default definition.
- (main): Use OBJECT_SUFFIX.
- (VMS_{freopen,fopen,open}): Use instead of using macro on
- unprefixed name.
- (VMS_fstat): Use decc$fstat explicitly, not via macro.
-
-Sun Oct 19 09:07:38 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * prefix.c (get_key_value): Initialize prefix to null.
- * Makefile.in (prefix.o): Properly pass in prefix.
-
- * objc/Make-lang.in (objc.distdir): Make the objc directory.
- * Makefile.in (distdir-start): No longer depend on objc-parse.[cy].
- Don't copy objc files here.
- (TAGS): Don't delete objc-parse.y
-
- * i386/mingw32.h (LIB_SPEC): Add -ladvapi32.
- (STARTFILE_SPEC): If -dll, use dllcrt1.o.
- (INCOMING_RETURN_ADDR_RTX): Undefine.
-
- * Makefile.in (float.h-nat): Avoid using /dev/null for input,
- since it's not present on all systems.
-
- * prefix.c : New file.
- * Makefile.in (xgcc, cccp, cppmain, fix-header): Add prefix.o.
- (prefix.o): New rule.
- * cccp.c (update_path): Add extern definition.
- (struct default_include): New field `component'.
- (default_include): Add initializer for new field to all entries.
- (new_include_prefix): Take new arg and call update_path;
- all callers changed.
- Add trailing "." before doing stat of file.
- * cpplib.c (update_path): Add extern definition.
- (struct default_include): New field `component'.
- (default_include): Add initializer for new field to all entries.
- (cpp_start_read): Call update_path.
- * gcc.c (upate_path): Add extern definition.
- (find_a_file): For MS-DOS-based, consider a drive spec as absolute.
- (add_prefix): New arg component and pass to update_path;
- all callers changed.
- * netbsd.h (INCLUDE_DEFAULTS): Add `component' to values.
- * i386/freebsd.h, mips/netbsd.h, winnt/win-nt.h: Likewise.
- * i386/mingw32 (STANDARD_INCLUDE_COMPONENT): New macro.
- * vax/vms.h (INCLUDE_DEFAULTS): New macro.
- * vax/xm-vms.h (INCLUDE_DEFAULTS): Delete from here.
-
- * sparc/sol2.h (WIDEST_HARDWARE_FP_SIZE): New macro.
-
- * i386.c (ix86_prologue): Conditionalize Dwarf2 calls
- on #ifdef INCOMING_RETURN_ADDR_RTX.
- * i386.md (allocate_stack): Fix incorrect operand number.
-
- * alpha.c (vmskrunch): Deleted.
- (output_prolog, VMS): Use alloca for entry_label and don't
- truncate to 64 characters.
- * alpha/vms.h (vmskrunch): No longer define.
- (ENCODE_SECTION_INFO): No longer call vmskrunch.
- (ASM_DECLARE_FUNCTION_NAME): No longer override.
-
- * toplev.c (output_quoted_string): Call new OUTPUT_QUOTED_STRING macro.
- * i386/mingw32.h (OUTPUT_QUOTED_STRING): New macro.
-
- * stmt.c (using_eh_for_cleanups_p): New variable.
- (using_eh_for_cleanups): New function.
- (expand_decl_cleanup): Don't call expand_eh_region_start_tree
- unless using EH for cleanups.
-
- * function.c (purge_addressof_1): When dealing with a
- bare (address (mem)), verify that what's inside is valid in insn.
- (instantiate_virtual_regs_1, case ADDRESSOF): If have MEM, just
- do instantiation inside and leave alone here.
-
- * fold-const.c (fold, case COND_EXPR): Allow creation
- of {MIN,MAX}_EXPR, but preserve info on orginal comparison code.
-
- * function.h (restore_tree_status): Update prototype.
-
- * cse.c (cse_basic_block): Flush the hash table every 1,000 insns.
-
-Sat Oct 18 13:48:14 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * longlong.h (count_leading_zeros): Add missing casts to USItype.
-
-Sat Oct 18 13:35:09 1997 Marc Lehmann (pcg@goof.com)
-
- * toplev.c (main): Don't execute "ps" under MSDOS.
-
-Sat Oct 18 13:26:42 1997 Richard Earnshaw (rearnsha@arm.com)
-
- * function.c (instantiate_virtual_regs): Don't instantiate the
- stack slots for the parm registers until after the insns have had
- their virtuals instantiated.
-
- * varargs.h (va_arg): For ARM systems, definition is endian-dependent.
- * stdarg.h (va_arg): Likewise.
-
-Sat Oct 18 11:23:04 1997 Nick Clifton <nickc@cygnus.com>
-
- * final.c (end_final): Use ASM_OUTPUT_ALIGNED_DECL_LOCAL if defined.
- * varasm.c (assemble_static_space): Likewise.
- (assemble_variable): Use ASM_OUTPUT_ALIGNED_DECL_{COMMON,LOCAL} if def.
-
-Sat Oct 18 11:02:19 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * expr.c (use_group_regs): Don't call use_reg unless REG.
-
-Sat Oct 18 10:39:22 1997 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
- redundant conditional moves to single operand.
-
- * expmed.c (extract_bit_field): Don't make flag_force_mem disable
- extzv for memory operands.
-
-Sat Oct 18 09:58:44 1997 Jeffrey A Law <law@cygnus.com>
-
- * ptx4.h: Fix typo.
-
- * integrate.c (save_for_inline_copying): Avoid undefined pointer
- operations.
- (expand_inline_function): Likewise.
-
-Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * tree.c (restore_tree_status): Also free up temporary storage
- when we finish a toplevel function.
- (dump_tree_statistics): Print stats for backend obstacks.
-
- * libgcc2.c (__throw): Don't copy the return address.
- * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
-
- * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
- * tree.h: Declare them.
-
- * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
- * toplev.c (main): Initialize exceptions_via_longjmp.
-
- * tree.c: Add extra_inline_obstacks.
- (save_tree_status): Use it.
- (restore_tree_status): If this is a toplevel inline obstack and we
- didn't want to save anything on it, recycle it.
- (print_inline_obstack_statistics): New fn.
- * function.c (pop_function_context_from): Pass context to
- restore_tree_status.
-
-Sat Oct 18 09:45:22 1997 Michael Meissner <meissner@cygnus.com>
-
- * profile.c (get_file_function_name): Remove declaration.
- * c-lang.c (finish_file): Likewise.
-
-Sat Oct 18 09:35:40 1997 Tristan Gingold <gingold@messiaen.enst.fr>
-
- * expr.c (expand_assignment): If -fcheck-memory-usage, add call to
- chkr_check_addr if size not zero.
- (expand_expr, case COMPONENT_REF): Likewise.
- (expand_builtin): If -fcheck_memory-usage, check memory usage
- of operands for strlen, strcpy, and memcpy or don't use builtins
- for memcmp and strcmp.
- * expr.h (chkr_check_str_libfunc): Declare.
- * optabs.c (chkr_check_str_libfunc): New variable.
- (init_optabs): Initialize it.
-
-Sat Oct 18 09:29:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * i386/cygwin32.h (ASM_COMMENT_START): Redefine.
-
-Sat Oct 18 09:23:54 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * frame.c (__frame_state_for): Execute the FDE insns until the
- current pc value is strictly bigger than the target pc value.
-
- * expr.c (expand_expr, case TARGET_EXPR): If target and slot has
- no DECL_RTL, then call mark_addressable again for the slot after
- we give it RTL.
-
-Sat Oct 18 08:58:36 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
-
- * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
- * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Unconditionally define.
- * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
- __DOLPHIN__.
-
- * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment.
- * dwarf2out.c (output_call_frame_info): Call app_enable and
- app_disable to let GNU as accept the generated comments.
-
- * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
-
-Sat Oct 18 08:50:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * flow.c (print_rtl_with_bb): Cast alloca return values.
-
-Sat Oct 18 08:47:46 1997 Douglas Rupp <rupp@gnat.com>
-
- * alpha/vms.h (LITERALS_SECTION_ASM_OP, ASM_OUTPUT_DEF):
- (EXTRA_SECTION_FUNCTIONS): Add literals_section.
- (EXTRA_SECTIONS): Include in_literals.
-
-Sat Oct 18 08:40:55 1997 Nick Burrett <nick.burrett@btinternet.com>
-
- * cpplib.c: (initialize_builtins): Cast all string constants for the
- function install, to type U_CHAR *.
- (eval_if_expression): Likewise.
- * cppexp.c: (cpp_lex): Cast string, for cpp_lookup, to type U_CHAR *.
-
-Sat Oct 18 08:38:13 1997 Ken Raeburn <raeburn@cygnus.com>
-
- * c-lex.c (check_newline) At `skipline', flush nextchar as well.
-
-Sat Oct 18 08:17:13 1997 Paul Russell <Paul.Russell@RustCorp.com.au>
-
- * input.h (struct file_stack): Added indent_level.
- * c-lex.c (check_newline): Add {}-count & balance warning.
-
-Sat Oct 18 06:54:39 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * regclass.c (record_address_regs, case PLUS): Refine how to choose
- which is base and index.
-
- * alpha.h (FUNCTION_VALUE): Use word_mode only for integral types,
- not types with integral modes.
-
- * final.c (alter_cond): Properly conditionalize forward decl.
-
- * tree.h (SAVE_EXPR_NOPLACEHOLDER): New flag.
- * tree.c (contains_placeholder_p, case SAVE_EXPR): Avoid
- checking each SAVE_EXPR more than once.
-
- * rs6000.md (nonlocal_goto_receiver): Don't test pool size.
-
- * i386.c (load_pic_register): New function.
- (ix86_prologue): Code to load PIC register moved to new function.
- Don't emit blockage if not generating RTL.
- * i386.md (nolocal_goto_receiver): New pattern.
-
- * i386.c: Major cleanup, mostly reformatting.
- Include dwarf2.h.
- Remove many spurious casts.
- (ix86_{pro,epi}logue): Use proper mode for SET rtx.
-
-Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
-
- * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
- * sparc.h (FUNCTION_PROFILER): Fix format string when TARGET_MEDANY.
- * sparc.c (output_double_int): Output DI mode values
- correctly when HOST_BITS_PER_WIDE_INT is 64.
- (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
- fmovd so it works if a quad float ends up in one of the upper 32
- float regs.
- * sparc.md (pic_{lo_sum,sethi}_di): New patterns for PIC support
- on sparc64.
-
-Fri Oct 17 16:27:07 1997 Doug Evans <dje@cygnus.com>
-
- * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
- * sparc.h (PROMOTE_MODE): Promote small ints if arch64.
- (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
- (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
- (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
- (SPARC_FP_ARG_FIRST): New macro.
- (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
- (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
- (NPARM_REGS): There are 32 fp argument registers now.
- (FUNCTION_ARG_REGNO_P): Likewise.
- (FIRST_PARM_OFFSET): Update to new v9 abi.
- (REG_PARM_STACK_SPACE): Define for arch64.
- (enum sparc_arg_class): Delete.
- (sparc_arg_count,sparc_n_named_args): Delete.
- (struct sparc_args): Redefine and use for arch32 as well as arch64.
- (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
- (FUNCTION_ARG_ADVANCE): Rewrite.
- (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
- (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
- (FUNCTION_ARG_CALLEE_COPIES): Delete.
- (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
- (STRICT_ARGUMENT_NAMING): Define.
- (doublemove_string): Declare.
- * sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
- (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
- (doublemove_string): New function.
- (output_move_quad): Clean up some of the arch64 support.
- (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
- Don't add 8 bytes of reserved space if arch64.
- (sparc_builtin_saveregs): Combine arch32/arch64 versions.
- (init_cumulative_args): New function.
- (function_arg_slotno): New static function.
- (function_arg,function_arg_partial_nregs): New functions.
- (function_arg_{pass_by_reference,advance}): New functions.
- (function_arg_padding): New function.
- * ginclude/va-sparc.h: Rewrite v9 support.
-
-Fri Oct 17 13:21:45 EDT 1997 Philip Blundell <pb@nexus.co.uk>
-
- * arm/netbsd.h (TYPE_OPERAND_FMT): use % not @ to avoid
- problems with comments.
-
-Fri Oct 17 13:00:38 EDT 1997 Richard Earnshaw (rearnsha@arm.com)
-
- * arm/aout.h (ASM_OUTPUT_LABEL): Define in place of ARM_OUTPUT_LABEL.
- * arm/aof.h (ASM_OUTPUT_LABEL): Likewise.
- * arm.h (ASM_OUTPUT_LABEL): Delete.
- (ASM_OUTPUT_INTERNAL_LABEL): Call ASM_OUTPUT_LABEL directly.
- * arm.c (arm_asm_output_label): Delete.
-
- * arm/aout.h (ASM_OUTPUT_ALIGNED_LOCAL): Do what is needed inline.
- * arm.c (output_lcomm_directive): Delete.
-
- * arm.h (PUSH_ROUNDING): Delete; this is not what happens.
- (ACCUMULATE_OUTGOING_ARGS): Define.
- (PROMOTE_FUNCTION_ARGS): Define.
- (INITIAL_ELIMINATION_OFFSET): Take current_function_outgoing_args_size
- into account.
- * arm.c (use_return_insn, output_func_epilogue,
- arm_expand_prologue): Likewise.
-
- * arm.c (const_ok_for_arm): If HOST_WIDE_INT more than 32 bits,
- insist high bits are all zero or all one.
- (output_move_double): Handle case where CONST_INT is more than 32 bits.
-
- * arm.c (load_multiple_sequence): Support SUBREG of MEM.
- (store_multiple_sequence): Likewise.
-
- * arm.c (arm_gen_load_multiple): New args UNCHANGING_P and IN_STRUCT_P.
- Use them if we create any new MEMs; all callers changed.
- (arm_gen_store_multiple): Likewise.
- (arm_gen_movstrqi): Preserve RTX_UNCHANGING_P and MEM_IN_STRUCT_P
- on any MEMs created.
-
- * arm.h (ASM_OUTPUT_MI_THUNK): Use branch instruction to jump to label.
- (RETURN_ADDR_RTX): Use NULL_RTX rather than casting zero.
- (output_move_double): Correct typo in prototype.
-
- * arm.md (movsfcc): If not TARGET_HARD_FLOAT, ensure operand[3] valid.
-
- * arm/netbsd.h (CPP_PREDEFINES): Always predefine __arm__.
- * arm/xm-netbsd.h (SYS_SIGLIST_DECLARED, HAVE_STRERROR): Define these.
-
- * arm/t-netbsd (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS) Don't define
- these any more.
- * configure.in (arm-*-netbsd*): Pick up t-netbsd before arm/t-netbsd.
-
-Thu Oct 16 19:31:22 1997 Jim Wilson <wilson@cygnus.com>
-
- * v850.c (ep_memory_offset): New function.
- (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
-
- * v850.h (CONST_OK_FOR_*): Add and correct comments.
- (CONSTANT_ADDRESS_P): Add comment.
- (EXTRA_CONSTRAINT): Define 'U'.
- * v850.md: Add comments on bit field instructions.
- (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
- (lshrsi3): Use N not J constraint.
-
- * v850.md (v850_tst1+1): New define_split for tst1 instruction.
-
- * v850.c (reg_or_0_operand): Call register_operand.
- (reg_or_int5_operand): Likewise.
- * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
- (TARGET_SWITCHES): Add "big-switch".
- (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
- ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
- (CASE_DROPS_THROUGH): Comment out.
- (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
- * v850.md (cmpsi): Delete compare mode.
- (casesi): New pattern.
-
- * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
- * v850.md (ashlsi3): Use SImode not QImode for shift count.
- (lshrsi3): Likewise.
-
- * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
- unreachable switch statement after 'b' support. Remove "b" from
- strings for 'b' support.
- * v850.md (branch_normal, branch_invert): Change %b to b%b.
-
-Thu Oct 16 13:08:45 1997 Doug Evans <dje@cygnus.com>
-
- * configure.in (sparc-*-elf*): New target.
-
-Wed Oct 15 22:30:37 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * h8300.h (REG_CLASS_CONTENTS): AP is a general register.
- (REG_OK_FOR_BASE_P, ! REG_OK_STRICT case): Reject special registers.
-
-Wed Oct 15 22:00:57 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (movhi+1): Add x/r alternative.
-
- * sh/elf.h (HANDLE_SYSV_PRAGMA): Undefine.
-
- * va-sh.h (va_arg): Fix big endian bugs for small integers.
-
-Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
- PPC601.
- (umulsidi3,umulsi3_highpart): Likewise.
- (smulsi3_highpart_no_mq): Add !TARGET_POWER.
-
-Wed Oct 15 18:45:31 1997 Doug Evans <dje@cygnus.com>
-
- * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
-
-Wed Oct 15 17:17:33 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (following_call): Fail if the CALL_INSN is an indirect call.
-
-Wed Oct 1 17:52:09 1997 Douglas Rupp <rupp@gnat.com>
-
- * vms.h (UNALIGNED_{SHORT,INT,DOUBLE_INT}_ASM_OP): Define.
-
-Wed Oct 1 16:09:42 1997 Benjamin Kosnik <bkoz@melange.gnu.ai.mit.edu>
-
- * fixincludes: Fix sys/param.h so that MAXINT will not be redefined
- on HPUX.
-
-Wed Oct 1 08:08:21 1997 Jeffrey A Law <law@chunks.cygnus.com>
-
- * cse.c (this_insn_cc0_mode): Initialize.
-
-Wed Oct 1 07:22:12 1997 Richard Henderson <rth@cygnus.com>
-
- * i386.h (RETURN_ADDR_RTX): Use FRAME arg, not ap.
-
-Tue Sep 30 19:19:58 1997 Jim Wilson <wilson@cygnus.com>
-
- * except.c (find_exception_handler_labels): Correct argument to free.
-
-Fri Sep 26 14:06:45 1997 Mike Stump <mrs@wrs.com>
-
- * c-decl.c (start_struct): Ensure that structs with forward
- declarations are in fact packed when -fpack-struct is given.
-
-Wed Sep 24 11:31:24 1997 Mike Stump <mrs@wrs.com>
-
- * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
- packing structure. This allows a structure with only bytes to be
- aligned on a byte boundary and have no padding on a m68k.
-
-Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * except.c (find_exception_handler_labels): Free LABELS when done.
-
-Tue Sep 30 10:47:33 1997 Paul Eggert <eggert@twinsun.com>
-
- * cexp.y, cppexp.c (HOST_BITS_PER_WIDE_INT):
- Define only if not already defined.
-
-Mon Sep 29 17:55:55 1997 Gavin Koch <gavin@cygnus.com>
-
- * c-decl.c (warn_implicit): Deleted.
- (warn_implicit_int, mesg_implicit_function_declaration}): New vars.
- (c_decode_option): For -Wimplicit, set both new variables.
- Add -Wimplicit-function-declarations, -Wimplicit-int,
- and -Werror-implicit-function-declaration.
- (implicitly_declare, grokdeclarator): Use new flags.
- * toplev.c (lang_options): Add new -W options.
-
-Mon Sep 29 17:55:15 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * c-common.c (check_format_info): Add check for scanf into
- constant object or via constant pointer type.
-
-Mon Sep 29 16:10:12 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne.
- (bne): Likewise for cmpeq+beq.
-
-Mon Sep 29 15:58:22 1997 Doug Evans <dje@cygnus.com>
-
- * reload1.c (reload_cse_simplify_set): Fix return values.
-
-Mon Sep 29 08:21:35 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * i386.c (notice_update_cc): Use reg_overlap_mentioned_p.
-
-Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (__throw): Fix thinko.
-
-Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
-
- * cplus-dem.c (demangle_template): Add new parameter. Handle new
- template-function mangling.
- (consume_count_with_underscores): New function.
- (demangle_signature): Handle new name-mangling scheme.
-
-Sun Sep 28 11:19:09 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * flow.c (print_rtl_with_bb): Reformat messages about BB boundaries.
-
- * calls.c: Include regs.h.
- * profile.c: Likewise.
- * Makefile.in (calls.o, profile.o): Depend on regs.h.
- * except.h (expand_builtin_dwarf_reg_size): Put in #ifdef TREE_CODE.
-
- * tree.h (get_file_function_name): Add decl.
- * dwarf2out.c (output_call_frame_info): Don't cast its result.
-
-Sun Sep 28 10:58:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (sub-makes): Pass value of LANGUAGES.
-
-Sun Sep 28 10:52:59 1997 Ian Dall <ian.dall@dsto.defence.gov.au>
-
- * regs.h (SMALL_REGISTER_CLASSES): Default to 0.
- * calls.c (prepare_call_address, expand_call):
- Remove #if test on SMALL_REGISTER_CLASSES.
- * combine.c (can_combine_p, combinable_i3pat, try_combine): Likewise.
- * cse.c (canon_hash): Likewise.
- * function.c (expand_function_start): Likewise.
- * jump.c (jump_optimize): Likewise.
- * local-alloc.c (optimize_reg_copy_1): Likewise.
- * loop.c (scan_loop, valid_initial_value_p): Likewise.
- * profile.c (output_arc_profiler): Likewise.
- * reload.c (push_secondary_reload, push_reload): Likewise.
- (combine_reloads): Likewise.
- * reload1.c (reload, scan_paradoxical_subregs): Likewise.
- (order_regs_for_reload, reload_as_needed): Likewise.
- (choose_reload_regs): Likewise.
- (merge_assigned_reloads): Declare unconditionally.
-
-Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
- * tree.h (built_in_function): Likewise.
- * expr.c (expand_builtin): Likewise.
- * except.h: Likewise.
- * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
- * libgcc2.c (copy_reg): New fn.
- (__throw): Use it.
-
-Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * frame.c (gansidecl.h): New include, for PROTO.
- * dwarf2out.c: Move inclusion of dwarf2.h down.
- (dwarf2out_cfi_label): Don't declare here.
- * dwarf2.h (dwarf2out_{do_frame,cfi_label,def_cfa}): New declarations.
- (dwarf2out_{window_save,args_size,reg_save,return_save}): Likewise.
- (dwarf2out_{return_reg,begin_prologue,end_epilogue}): Likewise.
- * m68k.c (dwarf2.h): Include.
- (output_function_prologue): Add dwarf2 support.
- * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
- (INCOMING_FRAME_SP_OFFSET): Likewise.
-
- * integrate.c (copy_rtx_and_substitute, case ADDRESSOF): New case.
-
- * integrate.c (expand_inline_function): Make sure there is at
- least one insn that can be used as an insertion point.
-
-Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
-
- * c-typeck.c (build_binary_op): Warn about comparing signed vs
- unsigned if -W is specified and -Wno-sign-compare is not.
- * c-decl.c (warn_sign_compare): Initialize to -1.
- (c_decode_option): -Wall no longer implies -Wsign-compare.
-
-Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
-
-Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
-
- * sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
- (get_pc_via_rdpc): Renamed from get_pc_sp64.
- * sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
-
-Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
-
- * sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
- (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
- and -malign-functions=.
- (sparc_align_{loops,jumps,funcs}_string): Declare.
- (sparc_align_{loops,jumps,funcs}): Declare.
- (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
- (FUNCTION_BOUNDARY): Use sparc_align_funcs.
- (STACK_BIAS): Define.
- (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT, then perform test.
- (SPARC_SETHI_P): New macro.
- (CONST_OK_FOR_LETTER_P): Use it.
- (ASM_OUTPUT_ALIGN_CODE): Define.
- (ASM_OUTPUT_LOOP_ALIGN): Define.
- * sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
- (sparc_align_{loops,jumps,funcs}): New globals.
- (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
- -malign-functions=.
- (move_operand): Use SPARC_SETHI_P.
- (arith_double_operand): Cast to unsigned HOST_WIDE_INT, then test.
- (arith11_double_operand): Likewise.
- (arith10_double_operand): Likewise.
- (finalize_pic): Finish sparc64 support.
- (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
- 64 bit constants if able.
- (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
- (sparc_builtin_saveregs [sparc64]): Don't save fp regs if ! TARGET_FPU.
- * sparc.md: Use GEN_INT instead of gen_rtx.
- (get_pc_sp32): Use for sparc64 as well.
- (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
- (sethi_di_sp64_const): Likewise.
- (movtf_cc_sp64): Check TARGET_HARD_QUAD.
- (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
- (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
-
-Wed Sep 24 08:25:28 1997 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * i386.md (allocate_stack): Fix typo in last change.
-
-Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
-
- * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
- * sparc/linux.h (COMMENT_BEGIN): Likewise.
- * sparc/linux64.h (COMMENT_BEGIN): Likewise.
-
-Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
-
- Add sparc64 linux support.
- * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
- to xm_file list on 32-bit sparc-linux.
- * sparc/xm-sp64.h: New file.
- * sparc/linux64.h: New file.
- * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
- Don't include xm-sparc.h.
- * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
- * glimits.h (LONG_MAX): Handle sparc64.
-
-Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * final.c (final_end_function): Also do dwarf2 thing if
- DWARF2_DEBUGGING_INFO.
- (final_start_function): Likewise.
-
-Tue Sep 23 06:55:40 1997 David S. Miller <davem@tanya.rutgers.edu>
-
- * expmed.c (expand_divmod): If compute_mode is not same as mode,
- handle case where convert_modes causes op1 to no longer be CONST_INT.
-
-Tue Sep 23 00:58:48 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
-
-Mon Sep 22 18:26:25 1997 J. Kean Johnston <jkj@sco.com>
-
- * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
- (MULTILIB_DEFAULTS): Define.
- (ASM_SPEC, CPP_SPEC): Handle -mcoff.
- (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
- (LIBGCC_SPEC): Likewise.
- (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
- (SUBTARGET_SWITCHES): Add -mcoff and -melf.
- * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
- (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
- (EXTRA_PARTS, TAROUTOPTS): Delete.
- (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
- (MULTILIB_OPTIONS): Define.
- (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
- (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
-
-Mon Sep 22 14:42:11 1997 Jeffrey A Law (law@cygnus.com)
-
- * reg-stack.c (find_blocks): Fix thinko in last change.
-
-Mon Sep 22 16:22:41 1997 David S. Miller <davem@tanya.rutgers.edu>
-
- * combine.c (try_combine): Use NULL_RTX, not 0, in gen_rtx calls.
- * cse.c (cse_main): Likewise.
- * emit-rtl.c (gen_label_rtx): Likewise.
- * expr.c (init_expr_once): Likewise.
- * sched.c (schedule_insns): Likewise.
- * varasm.c (immed_double_const): Likewise.
-
- * sparc.h (INCOMING_FRAME_SP_OFFSET): Define as SPARC_STACK_BIAS.
-
-Mon Sep 22 16:13:21 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * alpha/linux.h (HANDLE_SYSV_PRAGMA): Define.
-
-Mon Sep 22 16:02:01 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
-
- * c-common.c (decl_attributes): Add support for TYPE_UNUSED on types.
- * c-decl.c (finish_decl): Set TREE_USED on decls if TREE_USED on type.
- * stmt.c (expand_end_bindings): Check DECL_NAME and DECL_ARTIFICIAL
- before unused variable warning.
-
-Mon Sep 22 14:04:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * rtlanal.c (computed_jump_p): Fix typo in last change.
-
- * clipper.md (movstrsi): Use change_address instead of making new MEM.
- * dsp16xx.md (movstrqi): Likewise.
- * i370.md (movstrsi): Likewise.
- * i860.md (movstrsi): Likewise.
- * pa.md (movstrsi): Likewise.
- * mips.md (movstrsi): Fix (unused) pattern in define_expand.
- * pdp11.md (movstrhi): Likewise.
-
- * alpha.md (allocate_stack): Use virtual_stack_dynamic for result.
- * i386.md (allocate_stack): Likewise.
- * rs6000.md (allocate_stack): Likewise.
-
- * alpha.h (FLOAT_STORE_FLAG_VALUE): Different for VAX and IEEE float.
-
- * function.c (assign_parms): Make max_parm_reg handling more
- precise and make it agree with size of parm_reg_stack_loc.
- * integrate.c (save_for_inline_{nocopy,copying}): Remove
- redundant assignment of max_parm_reg.
-
- * function.c (assign_parms): Properly set RTX_UNCHANGING_P for
- copy of parm.
-
- * integrate.c (copy_rtx_and_substitute, case SET): Handle
- a SET_DEST of the virtual fp or ap specially and undo
- the adjustment into the local area as well.
- (mark_stores): Don't wipe out map entries for virtual fp and ap.
-
- * alpha.h (FLOAT_STORE_FLAG_VALUE): Different for VAX and IEEE float.
-
- * emit-rtl.c (gen_lowpart): Handle ADDRESSOF.
-
-Mon Sep 22 13:35:56 1997 Doug Evans <dje@cygnus.com>
-
- * rtlanal.c (replace_regs): Fix up lossage in last patch.
-
-Sun Sep 21 19:28:48 1997 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
- (find_basic_blocks): Use computed_jump_p to determine if a
- particular JUMP_INSN is a computed jump.
- * reg-stack.c (find_blocks): Use computed_jump_p to determine
- if a particular JUMP_INSN is a computed jump.
- * rtlanal.c (jmp_uses_reg_or_mem): New function.
- (computed_jump_p): Likewise.
- * rtl.h (computed_jump_p): Declare.
- * genattrtab.c (pc_rtx): Define and initialize.
-
- * cse.c (simplify_relational_operation): Set h0u just like h0s.
- Similarly for h1u and h1s.
-
-Sun Sep 21 14:13:31 1997 Doug Evans <dje@cygnus.com>
-
- * function.c (instantiate_virtual_regs): Fix thinko in last patch.
-
-Sun Sep 21 10:33:26 1997 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c, cpplib.c (special_symbol): If STDC_0_IN_SYSTEM_HEADERS
- is defined, expand __STDC__ to 0 in system headers.
- * i386/sol2.h, rs6000/sol2.h, sparc/sol2.h:
- (STDC_0_IN_SYSTEM_HEADERS): New macro.
- (CPP_SPEC): Remove -D__STDC__=0; it's no longer needed.
-
- * fixinc.math (_MATH_H_WRAPPER): Define at the end of the
- wrapper, not the start, so that if #include_next gets another
- instance of the wrapper, this will follow the #include_next
- chain until we arrive at the real <math.h>.
-
- * fixproto (subdirs_made): New var, to keep track of which
- subdirectories we've made (in reverse order). At the end,
- attempt to rmdir them all, so that we don't create any empty
- directories.
-
-Sun Sep 21 10:02:07 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * pa.c (move_operand): Respect -mdisable-indexing.
- * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
-
-Sun Sep 21 09:29:23 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * function.c (purge_addressof_1): Don't convert (MEM (ADDRESSOF (REG)))
- to (SUBREG (REG)) on big endian machines.
- Don't fall through to substitute the inner (REG) unchanged
- when the above conversion cannot be validated.
-
-Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * frame.c (__deregister_frame): Properly check for initialized object.
-
- * function.c (instantiate_virtual_regs): Instantiate
- parm_reg_stack_locs.
-
-Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
-
- * sparc/sysv4.h (ASM_COMMENT_START): Delete.
- * sparc.h (ASM_COMMENT_START): Define.
- * sparc.c (output_function_prologue): Use it.
- (sparc_flat_output_function_{epi,pro}logue): Likewise.
-
-Fri Sep 19 19:43:09 1997 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (strength_reduce): Fix typo.
-
- * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
- * mips.h, xm-rs6000.h, rs6000/xm-sysv4.h: Likewise.
-
-Fri Sep 19 20:10:30 1997 Doug Evans <dje@cygnus.com>
-
- * rtl.h (find_use_as_address): Delete accidentally added decl.
-
-Fri Sep 19 08:36:16 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * jump.c (thread_jumps): Check can_reverse_comparison_p before
- threading a reversed-condition jump.
-
-Fri Sep 19 08:16:12 1997 Andrew M. Bishop <amb@gedanken.demon.co.uk>.
-
- * Add support for new -dI option for cxref,
- * cccp.c (dump_includes): New variable.
- (struct directive, directive_table): Remove members angle_brackets,
- traditional_comments, pass_thru; all code using struct directive
- now uses `type' member instead.
- (IS_INCLUDE_DIRECTIVE_TYPE): New macro.
- (main, handle_directive): Add support for new -dI option.
- (do_ident): Avoid unnecessary alloca.
- (do_pragma): Avoid unnecessary comparison to newline.
-
- * cpplib.h (struct cpp_options): New member dump_includes.
- * cpplib.c (struct directive, directive_table): Remove members
- traditional_comments, pass_thru; all code using struct directive
- now uses `type' member instead.
- (IS_INCLUDE_DIRECTIVE_TYPE): New macro.
- (handle_directive, cpp_handle_options): Add support for new -dI option.
-
-Fri Sep 19 07:57:19 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * vax/xm-vms.h (expand_builtin_{extract,set}_return_addr): New macros.
-
-Fri Sep 19 07:47:29 1997 Nick Burrett <n.a.burrett@btinternet.com>
-
- * cpplib.c (pcstring_used, pcfinclude): Delete unused declarations.
- (check_preconditions, print_containing_files, pipe_closed): Likewise.
- (dump_defn_1, dump_arg_n, make_undef): Likewise.
- (trigraph_pcp): Pre-process out decl.
- (quote_string): Cast CPP_PWRITTEN macro to char * for sprintf.
- (output_line_command): Likewise.
- (macro_expand): Likewise.
- (do_line): Cast atoi argument to char *.
- * genattrtab.c (simplify_by_alternatives): Pre-process out decl.
- * genpeep.c (gen_exp): Remove decl.
-
-Fri Sep 19 07:29:40 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * enquire.c (basic): Elminate dangling else warning.
- * except.h (struct function, save_eh_status, restore_eh_status):
- Don't declare.
- * expr.c (clear_storage): Don't return without a value.
- * function.h ({save,restore}_machine_status): Add proper prototype.
- ({save,restore}_{tree,eh,stmt,expr,emit,storage}_status): Declare.
- * real.h (real_value_truncate): Add proper prototype.
- (target_isnan, target_isinf, target_negative, debug_real): Declare.
- (assemble_real): Likewise.
- * recog.c (strict_memory_address_p, memory_address_p): Don't declare.
- (find_single_use_1): Add prototype.
- * recog.h (init_recog, init_recog_no_volatile): Declare.
- (check_asm_operands, constrain_operands, memory_address_p): Likewise.
- (strict_memory_address_p, validate_replace_rtx): Likewise.
- (reg_fits_class_p, find_single_use, general_operand): Likewise.
- (address_operand, register_operand, scratch_operand): Likewise.
- (immediate_operand, const_int_operand, const_double_operand): Likewise.
- (nonimmediate_operand, nonmemory_operand, push_operand): Likewise.
- (memory_operand, indirect_operand, mode_independent_operand): Likewise.
- (comparison_operator, offsettable_{,nonstrict_}memref_p): Likewise.
- (offsettable_address_p, mode_dependent_address_p, recog): Likewise.
- (add_clobbers): Likewise.
- * reload.h (strict_memory_address_p): Don't declare here.
- * rtl.h (struct rtvec_def): Make num_elem an integer.
- (PUT_NUM_ELEM): Delete cast to unsigned.
- (rtx_unstable_p, rtx_varies_p, reg_mentioned_p): Declare.
- (reg_{referenced,used_between,referenced_between}_p: Likewise.
- ({reg_set,modified,no_labels}_between_p, modified_in_p): Likewise.
- (reg_set_p, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
- (note_stores, rtx_equal_p, dead_or_set{,_regno}_p): Likewise.
- (remove_note, side_effects_p, volatile_{refs,insn}_p): Likewise.
- (may_trap_p, inequality_comparison_p): Likewise.
- * rtlanal.c (note_stores, reg_set_p): Don't declare.
- (rtx_addr_can_trap_p): Add prototype, make static.
- (reg_set_p_1): Add declaration for parameter pat.
- * emit-rtl.c: Include recog.h.
- * integrate.c: Likewise.
- * jump.c: Likewise.
- * unroll.c: Likewise.
- * Makefile.in (emit-rtl.o, integrate.o, jump.o, unroll.o): Depend
- on recog.h.
-
-Fri Sep 19 06:52:22 1997 Paul Eggert <eggert@twinsun.com>
-
- * enquire.c (SYS_FLOAT_H_WRAP): New macro.
- Include "float.h" if SYS_FLOAT_H_WRAP is nonzero.
- (f_define): New argument `req'.
- (main): Output `#include_next <float.h>' if wrapping float.h.
- (i_define, f_define): Don't output anything if wrapping float.h
- and if the system defn is already correct. Put other value tests
- inside `#ifdef VERIFY'.
- (UNDEFINED): New macro.
- (I_MAX, I_MIN, U_MAX, F_RADIX, F_MANT_DIG, F_DIG, F_ROUNDS):
- Define even if VERIFY isn't defined, because SYS_FLOAT_H_WRAP may need
- these values. Give them the value UNDEFINED if not already defined.
- (F_EPSILON, F_MIN_EXP, F_MIN, F_MIN_10_EXP, F_MAX_EXP): Likewise.
- (F_MAX, F_MAX_10_EXP): Likewise.
- (FPROP): Prefer system float.h definition of F_ROUNDS.
- Pass system values to f_define.
- * Makefile.in (FLOAT_H_TEST): New var.
- (float.h-nat): Make it empty if we can use the system float.h without
- change.
- (enquire.o): Define SYS_FLOAT_H_WRAP=1 if we can build a wrapper
- around the system <float.h>. Remove include/float.h before compiling.
- (stmp-headers): Remove include/float.h if we would just be installing
- an empty file (which is a placeholder that stands for no file).
-
- * fix-header.c: Don't munge headers for POSIX and XOPEN,
- as this is too error-prone.
- (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): New macros, normally undefed.
- (POSIX1_SYMBOL, POSIX2_SYMBOL): Now 0 unless ADD_MISSING_POSIX.
- (XOPEN_SYMBOL, XOPEN_EXTENDED_SYMBOL): Now 0 unless ADD_MISSING_XOPEN.
- (main): Ignore symbols whose flags are 0.
-
-Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.c (compute_register_save_size): Correct register number.
- * v850.md (save_interrupt, return_interrupt): Likewise.
- * v850/lib1funcs.asm (save_interrupt): Likewise.
- (return_interrupt): Use stack pointer, not element pointer.
-
-Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * final.c (final_scan_insn): Hand BARRIERs to dwarf2 code.
- * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
- (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
-
- * except.c (end_eh_unwinder): Subtract 1 from return address.
- * libgcc2.c (__throw): Likewise.
- (find_exception_handler): Don't change PC here. Compare end with >.
-
-Thu Sep 18 14:01:20 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * configure.in: Make sure to create the stage* and include
- symbolic links in each subdirectory.
-
-Thu Sep 18 13:20:37 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh/lib1funcs.asm (LOCAL): Define.
- (whole file): Use it.
-
-Thu Sep 18 09:52:24 1997 Benjamin Kosnik <bkoz@beauty.cygnus.com>
-
- * collect2.c (collect_execute): Specify name of new file when
- redirecting stdout/stderr.
-
-Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (reload_peepholes): Don't allow addresses with side
- effects for the memory operand.
-
-Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (find_exception_handler): Subtract one from our PC when
- looking for a handler, to avoid hitting the beginning of the next
- region.
-
- * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
-
-Wed Sep 17 18:23:09 1997 Jeffrey A Law (law@cygnus.com)
-
- * mips/abi64.h (LONG_MAX_SPEC): Define.
- * mips.h (LONG_MAX_SPEC): Define.
- (CPP_SPEC): Include long_max_spec.
- (EXTRA_SPECS): Include long_max_spec.
-
-Wed Sep 17 14:17:26 1997 Paul Eggert <eggert@twinsun.com>
-
- * configure.in (AC_CHECK_HEADERS): Add inttypes.h, limits.h.
- ({sparc,i[3456]86,powerpcle}-*-solaris2*): Use fixinc.math.
-
- * fixinc.math (PWDCMD, ORIGDIR, LINKS): Remove.
- Remove duplicate test for missing $1.
- Don't cd to $INPUT.
- Build wrapper around system <math.h> instead of copying it;
- this is better if the system <math.h> is updated later by a software
- patch or upgrade.
-
- * cccp.c (HAVE_STDLIB_H, HAVE_UNISTD_H):
- Do not define any more; now autoconfed.
- <limits.h>: Include if HAVE_LIMITS_H.
- (HOST_BITS_PER_WIDE_INT): Remove.
- (HOST_WIDE_INT): Use intmax_t or long long if available.
- (pcfinclude): Use size_t, not HOST_WIDE_INT, for cast from pointer;
- this is less likely to annoy the compiler.
-
- * cexp.y (HAVE_STDLIB_H): Do not define any more; now autoconfed.
- <limits.h>: Include if HAVE_LIMITS_H.
- (HOST_WIDE_INT): Use intmax_t or long long if available.
- (unsigned_HOST_WIDE_INT, CHAR_BIT): New macros.
- (HOST_BITS_PER_WIDE_INT): Define in terms of CHAR_BIT and sizeof.
- (MAX_CHAR_TYPE_MASK, MAX_CHAR_TYPE_MASK): Rewrite so that we don't use
- HOST_BITS_PER_WIDE_INT in a preprocessor expression, since it now
- uses sizeof.
-
- * cppexp.c: <limits.h>: Include if HAVE_LIMITS_H.
- (HOST_WIDE_INT): Use intmax_t or long long if available.
- (CHAR_BIT): New macro.
- (HOST_BITS_PER_WIDE_INT): Define in terms of CHAR_BIT and sizeof.
- * cpplib.c: <limits.h>: Include if HAVE_LIMITS_H.
- (HOST_WIDE_INT): Use intmax_t or long long if available.
- (HOST_BITS_PER_WIDE_INT): Remove.
-
-Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
-
- * v850.c (construct_save_jarl): Fix thinko in last change.
-
-Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
-
- * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
- use sparc.h's copies.
- * sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print ascii form
- as well.
-
-Wed Sep 17 14:08:20 1997 Nick Burrett <nick.burrett@btinternet.com>
-
- * explow.c (allocate_dynamic_stack_space): Make allocate_stack
- pass 'target' as an extra operand.
- * expr.c (expand_builtin_apply): Use allocate_dynamic_stack_space
- to push a block of memory onto the stack.
- * alpha.md (allocate_stack): Alter in accordance with new operand.
- * i386.md (allocate_stack): Likewise.
- * rs6000.md (allocate_stack): Likewise.
-
-Wed Sep 17 13:34:43 1997 Robert Lipe <robertl@dgii.com>
-
- * i386/xm-sco5.h (sys_siglist, SYS_SYGLIST_DECLARED): Define.
-
-Wed Sep 17 13:27:05 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (native): Correct dependency to auto-config.h from
- config.h.
-
-Tue Sep 16 10:02:02 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c (find_exception_handler): Not found is -1.
-
- * integrate.c (expand_inline_function): Move expand_start_bindings
- after expanding the arguments.
-
- * i386.c (ix86_prologue): Pass SYMBOL_REF to
- gen_prologue_{get_pc,set_got}.
- * i386.md (prologue_set_got, prologue_get_pc): Adjust.
-
-Tue Sep 16 07:33:15 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (make_range): Correctly handle cases of converting
- from unsigned to signed type.
-
- * function.c (flush_addressof): New function.
-
- * combine.c (num_sign_bit_copies): If asking about wider mode,
- treat like paradoxical subreg.
-
-Tue Sep 16 00:26:52 1997 Jeffrey A Law (law@cygnus.com)
-
- * cse.c (simplify_relational_operation): If MODE specifies mode wider
- than HOST_WIDE_INT, high word of CONST_INT is derived from sign bit
- of low word.
-
-Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.c ({register,pattern}_is_ok_for_epilogue): New functions.
- (construct_{save,restore}_jr, pattern_is_ok_for_prologue): Likewise.
- * v850.h (pattern_is_ok_for_{pro,epi}logue): New predicates.
- (register_is_ok_for_epilogue): Likewise.
- * v850.md: Replace prologue and epilogue patterns with a
- match_parallel pattern.
- * v850.c (output_move_single_unsigned): Cope with zero
- extending and moving between registers at the same time.
-
-Mon Sep 15 22:02:46 1997 Jeffrey A Law (law@cygnus.com)
-
- * fixinc.math: New file to fix math.h on some systems.
- * configure.in (*-*-freebsd*, *-*-netbsd*): Use fixinc.math on these
- systems.
-
-Mon Sep 15 18:58:36 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sched.c (update_flow_info) When looking if to set found_split_dest
- or found_orig_dest, look at all parts of a PARALLEL.
-
- * sh.md (casesi_0): Reduce functionality, exclude insns from
- mova onwards. Changed expander caller.
- (casesi_worker_0): New insn.
- (casesi_worker_0+[12]): New define_splits.
- (casesi_worker): Need no gen_* function.
- (casesi): Use casesi_worker_0 instead of casesi_worker.
- * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
-
-Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
- * dwarf2.h: Add DW_CFA_GNU_args_size.
- * frame.c (execute_cfa_insn): Likewise.
- * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
- (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
- (dwarf2out_frame_debug): If this isn't a prologue or epilogue
- insn, hand it off to dwarf2out_stack_adjust.
- (dwarf2out_begin_prologue): Initialize args_size.
- * frame.h (struct frame_state): Add args_size.
- * libgcc2.c (__throw): Use args_size.
- * final.c (final_scan_insn): If we push args, hand off all insns
- to dwarf2out_frame_debug.
- * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
-
- * dwarf2out.c (dwarf2out_frame_debug): Fix typo.
- Handle epilogue restore of SP from FP.
- * emit-rtl.c (gen_sequence): Still generate a sequence if the
- lone insn has RTX_FRAME_RELATED_P set.
-
- * frame.c (extract_cie_info): Handle "e" augmentation.
- * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
- absence of UNALIGNED_*_ASM_OP.
- (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
- (output_call_frame_info): Use "e" instead of "z" for augmentation.
- Don't emit augmentation fields length.
- (dwarf2out_do_frame): Move outside of #ifdefs.
- * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
- opcodes.
-
- * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
- * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
- * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
- * sparc/sun4gas.h: New file.
- * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
-
- * collect2.c (write_c_file_stat, write_c_file_glob): Declare
- __register_frame_table and __deregister_frame.
-
-Mon Sep 15 19:04:34 1997 Brendan Kehoe <brendan@cygnus.com>
-
- * except.c (find_exception_handler_labels): Use xmalloc instead of
- alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
- in some cases.
-
-Sat Sep 13 23:13:51 1997 Paul Eggert <eggert@twinsun.com>
-
- * cpplib.h (PARAMS): Fix misspelling of __STDC__.
- (cpp_get_token): Arg is cpp_reader *, not struct parse_marker *.
-
- * cpplib.c (cpp_fatal, cpp_file_line_for_message): New decls.
- (ppp_hash_cleanup, cpp_message, cpp_print_containing_files): Likewise.
- (copy_rest_of_line): Fix typo that prevented recognition of
- C++ style comments.
- (output_line_command, special_symbol): Use %ld for long, not %d.
-
- * cppexp.c (xrealloc): Declare first arg as void *, not char *.
- (cpp_lex): Cast 2nd arg of cpp_parse_escape from const char ** to
- char **.
-
-Fri Sep 12 16:54:04 1997 Doug Evans <dje@cygnus.com>
-
- * bitmap.h (bitmap_print): Don't use STDIO_PROTO.
-
-Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.h: Prototype dwarf2 hooks.
- * expr.c: Adjust.
-
-Thu Sep 11 18:36:51 1997 Jim Wilson <wilson@cygnus.com>
-
- * local-alloc.c (contains_replace_regs): New function.
- (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
- verify that there is no existing REG_EQUIV note, and add a call to
- contains_place_regs.
-
- * m68k.h (MACHINE_STATE_{SAVE,RESTORE}): Add __HPUX_ASM__ versions.
-
-Wed Sep 10 21:49:38 1997 Michael Meissner <meissner@cygnus.com>
-
- * toplev.c (rest_of_compilation): For passes starting with
- flow_analysis, use print_rtl_with_bb instead of print_rtl.
- * print-rtl.c (print_rtl_single): Print a single rtl value to a
- file.
- * flow.c (print_rtl_with_bb): Print which insns start and end
- basic blocks. For the start of a basic block, also print the live
- information.
- * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
- two bitmaps ANDed together.
- (bitmap_print): Declare.
- * bitmap.c (function_obstack): Don't declare any more.
- (bitmap_obstack): Obstack for allocating links from.
- (bitmap_obstack_init): New static to say whether to initialize
- bitmap_obstack.
- (bitmap_element_allocate): Use bitmap_obstack to allocate from.
- (bitmap_release_memory): Free all memory allocated from
- bitmap_obstack.
- (toplevel): Conditionally include stdlib.h.
- (free): Provide a declaration if NEED_DECLARATION_FREE.
-
- * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
- EXECUTE_IF_AND_IN_BITMAP.
-
-Wed Sep 10 17:53:33 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (addr_diff_vec_adjust): Properly propagate considered
- address changes through alignments.
-
-Wed Sep 10 13:10:52 1997 Per Bothner <bothner@cygnus.com>
-
- * stor-layout.c (layout_type): Simplify special BOOLEAN_TYPE handling.
-
-Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
- if DWARF2_UNWIND_INFO.
-
-Wed Sep 10 15:43:10 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * cplus-dem.c (demangle_fund_type): Change "complex" to "__complex".
-
-Wed Sep 10 11:13:53 1997 Paul Eggert <eggert@twinsun.com>
-
- Handle `extern int errno;' correctly when fixing <errno.h>.
- * fix-header.c (recognized_extern): Use name_length when comparing.
- * scan-decls.c (scan_decls): Don't ignore the first CPP_NAME in a
- declaration, so that we see the `extern' in `extern int errno;'.
-
-Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- Add support for exception handling using DWARF 2 frame unwind info.
- * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
- next_stack_level, in_reg_window): Helper fns.
- (__throw): Implement for DWARF2_UNWIND_INFO.
-
- * expr.c (expand_builtin): Handle builtins used by __throw.
- * tree.h (enum built_in_function): Add builtins used by __throw.
- * c-decl.c (init_decl_processing): Declare builtins used by __throw.
- * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
- * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
- (expand_builtin_extract_return_addr): Likewise.
- (expand_builtin_frob_return_addr): Likewise.
- (expand_builtin_set_return_addr_reg): Likewise.
- (expand_builtin_eh_stub): Likewise.
- (expand_builtin_set_eh_regs): Likewise.
- (eh_regs): Choose two call-clobbered registers for passing back values.
-
- * frame.c, frame.h: New files for parsing dwarf 2 frame info.
- * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
- (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
- (stmp-multilib): Likewise.
- ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
-
- * except.c: #include "defaults.h".
- (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
- (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
- (register_exception_table_p): New fn.
- (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
- (end_eh_unwinder): Likewise.
-
- * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
- call __register_frame and __deregister_frame as needed.
- * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
- * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
- EH_FRAME_SECTION_ASM_OP.
- * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
- * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
- (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
-
- * dwarf2out.c (output_call_frame_info): If no support for
- EXCEPTION_SECTION, mark the start of the frame info with a
- collectable tag.
- * collect2.c (frame_tables): New list.
- (is_ctor_dtor): Recognise frame entries.
- (scan_prog_file): Likewise.
- (main): Pass -fno-exceptions to sub-compile. Also do collection
- if there are any frame entries.
- (write_c_file_stat): Call __register_frame_table and
- __deregister_frame as needed.
- (write_c_file_glob): Likewise.
-
- * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
- Also require unaligned reloc support.
- * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
- * sparc/sysv4.h: Not here.
-
- * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
- * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
- (dwarf2out_finish): Don't call dwarf2out_frame_finish.
-
- * libgcc2.c (L_eh): Reorganize, moving code shared by different
- EH implementations to the top.
- (find_exception_handler): Split out. Start from 0. Compare against
- end with >=.
- (__find_first_exception_table_match): Use it.
- * except.c (output_exception_table): Don't do anything if there's
- no table. Don't output a first entry of zeroes.
- (eh_outer_context): Adjust properly.
- (add_eh_table_entry): Use xrealloc.
- * toplev.c (compile_file): Just call output_exception_table.
-
-Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * varasm.c (save_varasm_status): Take the target function context.
- * function.c (push_function_context_to): Pass it in.
-
- * rtl.def (ADDRESSOF): Add new field for original regno.
- * function.c (put_reg_into_stack and callers): Add original_regno
- argument.
- (gen_mem_addressof): Remember the original regno.
- * rtl.def (INLINE_HEADER): Add new field for parm_reg_stack_loc.
- * rtl.h (PARMREG_STACK_LOC): New macro.
- (ADDRESSOF_REGNO): New macro.
- * emit-rtl.c (gen_inline_header_rtx): Add parm_reg_stack_loc.
- * function.c (max_parm_reg, parm_reg_stack_loc): No longer static.
- (assign_parms): Allocate parm_reg_stack_loc on saveable obstack.
- * integrate.c (output_inline_function): Set max_parm_reg and
- parm_reg_stack_loc from inline header.
- (initialize_for_inline): Pass in parm_reg_stack_loc.
-
-Wed Sep 10 11:30:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.c (override_options): Don't set TARGET_SCHEDULE_PROLOGUE
- (ix86_expand_prologue, ix86_expand_epilogue): Emit rtl by default.
-
-Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
-
- * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
-
-Wed Sep 10 08:48:44 1997 Jeffrey A Law (law@cygnus.com)
-
- * xm-m88k.h (USG): Only define if it hasn't already been defined.
-
- * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
-
- * expr.c (do_jump_by_parts_equality_rtx): Don't clobber the
- source operand when performing an IOR of the parts.
-
- * expr.c (emit_block_move): Always return a value.
-
- * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
- when clearing non-BLKmode data.
-
- * final.c (shorten_branches): Remove last change for ADDR_VEC
- alignment computation. During first pass, assume worst
- possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
-
-Wed Sep 10 09:33:19 1997 Kamil Iskra <iskra@student.uci.agh.edu.pl>
-
- * explow.c (emit_stack_save, emit_stack_restore): Correctly
- handle HAVE_{save,restore}_stack_* evaluating to 0.
-
-Wed Sep 10 09:27:45 1997 Weiwen Liu <liu@hepvms.physics.yale.edu>
-
- * Makefile.in (sdbout.o): Add dependency on insn-config.h.
-
-Wed Sep 10 09:24:56 1997 Nick Burrett <n.a.burrett@btinternet.com>
-
- * sched.c (birthing_insn_p): Rename prototype decl from birthing_insn.
- * final.c (leaf_renumber_regs, alter_cond): Declare prototype only
- if LEAF_REGISTERS is defined.
- * reload1.c (merge_assigned_reloads): Declare prototype only if
- SMALL_REGISTER_CLASSES is defined.
- * loop.c (replace_call_address): Pre-process out prototype decl.
- * real.c (dectoe, etodec, todec): Declare proto if DEC is defined
- (ibmtoe, etoibm, toibm): Declare proto if IBM is defined
-
-Wed Sep 10 09:13:51 1997 Manfred Hollstein <manfred@s-direktnet.de>
-
- * configure.in (out_file): Emit definition to config.status.
-
-Wed Sep 10 08:37:56 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * final.c (shorten_branches): Fix alignment calculation.
- Don't count the lengths of deleted instructions.
-
-Wed Sep 10 08:34:11 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * cpplib.c (cpp_start_read): Make known_suffixes static.
-
-Wed Sep 10 08:27:05 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.c (print_operand_address) [MOTOROLA]: When compiling
- with -fpic (not -fPIC) force the GOT offset to 16 bits.
-
-Wed Sep 10 08:22:51 1997 Christian Iseli <chris@lslsun.epfl.ch>
-
- * expr.c (convert_move): Add missing use of trunctqtf2.
-
-Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
-
- * except.c (eh_outer_context): Do masking using expand_and.
-
-Wed Sep 10 07:52:21 1997 Joel Sherrill <joel@OARcorp.com>
-
- * pa/rtems.h (subtarget_switches): Removed -mrtems subtarget_switch.
- * configure.in (sh*-*-rtems*): New target.
- * sh.h (TARGET_SWITCHES: Call SUBTARGET_SWITCHES.
- (SUBTARGET_SWITCHES): Provide default definition.
-
-Wed Sep 10 06:33:47 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i386/mingw32.h ({LIB,LINK}_SPEC): Check for -mwindows, not -windows.
-
- * alpha/vms.h (ASM_OUTPUT_SECTION): Clear NAME if overlaid.
-
- * c-parse.in (unary_expr): Test DECL_C_BIT_FIELD, not DECL_BIT_FIELD.
- * c-typeck.c (default_conversion): Likewise.
-
- * tree.c (contains_placeholder_p, substitute_in_expr):
- Handle placeholders inside args of CALL_EXPR (and hence in TREE_LIST).
-
- * expr.c (expand_expr, case PLACEHOLDER_EXPR): Check all
- expressions in placeholder_list.
-
-Tue Sep 9 18:10:30 1997 Doug Evans <dje@cygnus.com>
-
- Add port done awhile ago for the ARC cpu.
- * arc.h, arc.c, arc.md, t-arc, xm-arc.h: New files.
- * arc/initfini.c, arc/lib1funcs.asm: New files.
- * ginclude/va-arc.h: New file.
- * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
- * ginclude/varargs.h: Likewise.
- * Makefile.in (USER_H): Add va-arc.h.
- * configure.in (arc-*-elf*): Recognize.
- * longlong.h: Add ARC support.
-
-Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
- write_symbols.
-
-Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (ASM_SPEC): Pass on target processor.
- (CPP_PREDEFINES): Only define if not already specified.
- (TARGET_VERSION): Only define if not already specified.
- (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
- processor.
- (EXTRA_SWITCHES): Extra entries in the switches array.
- (TARGET_DEFAULT): Set default target processor.
-
-Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * configure.in (alpha*-*-*): Support pca56 and ev6.
-
- * varasm.c (named_section): Set in section after writing directive.
- * dwarf2out.c (output_call_frame_info): Call named_section.
-
-Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * mips.c (function_prologue): Set up the CFA when ABI_32.
-
- * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
- for dwarf2 unwind info.
- (output_function_prologue, sparc_flat_output_function_prologue): Same.
-
- * final.c (final_end_function): Check dwarf2out_do_frame instead
- of DWARF2_DEBUG for dwarf2 unwind info.
- (final_scan_insn): Likewise.
- (final_start_function): Likewise. Initialize dwarf2 frame debug here.
- (final): Not here.
-
- * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
- count > 0.
-
- * varasm.c (exception_section): Check EXCEPTION_SECTION first.
-
-Mon Sep 8 14:58:07 1997 Jim Wilson <wilson@cygnus.com>
-
- * toplev.c (main): Change #elif to #else/#ifdef
-
- * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
-
-Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha.h (processor_type): Add EV6.
- ({TARGET,MASK}_BWX): Renamed from _BYTE_OPS.
- ({TARGET,MASK}_{CIX,MAX}): New macros.
- (MASK_CPU_EV5): Change bit number.
- (MASK_CPU_EV6, {TARGET,MASK}_SUPPORT_ARCH): New macros.
- (TARGET_OPTIONS): Rename "byte" to "bwx" and add "cix" and "max".
- (MINIMUM_ATOMIC_ALIGNMENT): Rename TARGET_BYTE_OPS to TARGET_BWX.
- (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS, ASM_FILE_START): Likewise.
- (SECONDARY_MEMORY_NEEDED): Not needed if CIX.
- (ASM_FILE_START): Only write if TARGET_SUPPORT_ARCH.
- Add "pca56" and "ev6".
- * alpha.c (input_operand): Rename TARGET_BYTE_OPS to TARGET_BWX.
- (override_options): Likewise; also add new CPU types and subset flags.
- * alpha.md: Rename TARGET_BYTE_OPS to TARGET_BWX.
- (cpu attr): Add "ev6".
- (ev5 function units): Use for ev6 as well, for now.
- (ffsdi2): New define_expand and define_insn, for TARGET_CIX.
- (sqrt[sd]f2): New patterns, for TARGET_CIX.
- (s{min,max}[qh]i3): New patterns, for TARGET_MAX.
- (movsi): Use ldf/lsf when appropriate, instead of lds/sts.
- (mov[sd]i): Add use of ftio/itof for TARGET_CIX.
- * configure.in (alpha*-dec-osf*): Set MASK_SUPPORT_ARCH for >= 4.0B.
- Rename MASK_BYTE_OPS to MASK_BWX.
-
- * i386/mingw32.h (STANDARD_INCLUDE_DIR): New macros.
- (STARTFILE_SPEC, PATH_SEPARATOR): Likewise.
-
- * configure.in (AC_PROG_LN_S): Remove; unneeded.
- (*cygwin32*, *mingw32*): Default prefix to /usr.
- (symbolic_link): Set to "cp -p" if no "ln -s"; add AC_SUBST.
- (configure.lang call): Change remaining use of config.h to auto-conf.h.
-
- * Makefile.in (LN): Add new symbol.
- (FLAGS_TO_PASS): Pass it down.
- (stage[1-4]-start): Use $(LN), not "ln -s".
-
- * mips.h (flag_omit_frame_pointer, frame_pointer_needed, optimize):
- Remove declarations: no longer needed.
- * pyr.md: Remove unneeded declarations of `optimize'.
- * h8300.md: Likewise.
- * sparc.c (dwarf2out_cfi_label): Add declaration.
- (save_regs, output_function_prologue): Remove cast for it.
- (sparc_flat_{save_restore,output_function_prologue): Likewise.
- ({save,restore}_regs): No longer inline.
-
-Mon Sep 8 03:08:35 1997 Jim Wilson <wilson@cygnus.com>
-
- * i960.h (LINK_SPEC): Handle -mjX and -mrp switches.
-
- * mips.md (nonlocal_goto_receiver): Define.
-
- * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
-
- * alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
- is passed in.
- * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
- SFmode for 64 bit hosts.
-
- * profile.c (output_arc_profiler): Verify next_insert_after is an
- INSN before and after skipping a stack pop. Check next_insert_after
- for non NULL before deferencing it.
- (output_func_start_profiler): Set DECL_EXTERNAL to zero.
-
- * va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
-
- * m68k.md (iorsi_zexthi_ashl16): Disable.
-
- * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
-
-Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
- prologue insn, only the first elt is significant.
- (output_call_frame_info): For exception handling, always use 4-byte
- fields as specified by the dwarf2 spec.
- Don't skip trivial FDEs.
-
-Sun Sep 7 03:35:28 1997 Paul Eggert <eggert@twinsun.com>
-
- * fix-header.c (std_include_table): Remove bogus entry for popen
- under stdio.h with ANSI_SYMBOL. popen is a POSIX2_SYMBOL.
-
-Fri Sep 5 17:19:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (movsf_ie+1): Typo fix.
-
-Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
-
- * v850: New directory for v850 port.
- * v850/lib1funcs.asm: New file.
- * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
- * ginclude/va-v850.h: New file.
- * varargs.h, stdarg.h: Include va-mn10200.h.
- * configure.in (mn10200-*-*): New target.
- * Makefile.in (USER_H): Add va-mn10200.h.
-
- * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
- * mips/xm-news.h (SYS_SIGLIST_DECLARED): Define.
- * mips/xm-sysv4.h (SYS_SIGLIST_DECLARED): Define.
-
-Fri Sep 5 03:50:15 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.md (fma patterns): Extend previous -mno-fused-madd
- patch to DFmode patterns inadvertently omitted.
-
-Thu Sep 4 20:06:02 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
-
- * sparc.md: Add ultrasparc scheduling support.
- * sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
-
-Wed Sep 3 20:56:24 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Define.
-
-Wed Sep 3 20:52:07 1997 Joel Sherrill <joel@OARcorp.com>
-
- * sh/rtems.h: New file.
-
-Wed Sep 3 17:30:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * reg-stack.c (subst_stack_regs): Pop the stack register for a
- computed goto which sets the same stack register.
-
-Wed Sep 3 17:30:36 1997 Jim Wilson <wilson@cygnus.com>
-
- * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
-
-Wed Sep 3 11:25:19 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (reload peepholes): Fix typo in last change.
-
-Wed Sep 3 03:02:02 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (movsi_ie): Move t/r alternative after r/r alternative.
-
-Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
-
- * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
- * collect2.c (sys_errlist): Likewise.
- * cpplib.c (sys_errlist): Likewise.
- * gcc.c (sys_errlist): Likewise.
- * protoize.c (sys_errlist): Likewise.
- * configure.in: Check for strerror.
- * xm-freebsd.h (HAVE_STRERROR): Remove definition.
- * xm-gnu.h (HAVE_STRERROR): Likewise.
- * xm-linux.h (HAVE_STRERROR): Likewise.
- * xm-netbsd.h (HAVE_STRERROR): Likewise.
- * alpha/xm-linux.h (HAVE_STRERROR): Likewise.
- * i386/xm-bsd386.h (HAVE_STRERROR): Likewise.
- * i386/xm-cygwin32.h (HAVE_STRERROR): Likewise.
- * i386/xm-dos.h (HAVE_STRERROR): Likewise.
- * i386/xm-mingw32.h (HAVE_STRERROR): Likewise.
- * pa/xm-pa.h (HAVE_STRERROR): Likewise.
- * pa/xm-papro.h (HAVE_STRERROR): Likewise.
- * rs6000/xm-cygwin32.h (HAVE_STRERROR): Likewise.
- * rs6000/xm-sysv4.h (HAVE_STRERROR): Likewise.
-
- * collect2.c (SYS_SIGLIST_DECLARED): Renamed from
- DONT_DECLARE_SYS_SIGLIST.
- * mips-tfile.c (SYS_SIGLIST_DECLARED): Likewise.
- * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
- * xm-freebsd.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
- * alpha/xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
- * i386/xm-bsd386.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
- * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
- * mips/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
- * rs6000/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
- * sparc/xm-sol2.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
- * configure.in: Check for sys_siglist declaration.
-
- * Makefile.in (libgcc2.a): Add missing "else true" clause.
- (stage{1,2,3,4}-start): Likewise.
-
- * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
- are relative to the next instruction, not the current instruction.
-
-Tue Sep 2 14:15:32 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (xrealloc): Handle null ptr.
-
-Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
-
- * fixincludes: Permits spaces between # and define. Discard C++
- comments in sys/pci.h on HP/UX 10.20.
-
-Tue Sep 2 09:28:31 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
-
-Tue Sep 2 00:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * expr.c (expand_expr, case COND_EXPR): It's OK to merge two
- SAVE_EXPRs.
-
-Mon Sep 1 23:36:45 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (restore_unscaled_index_insn_codes): New function.
- (record_unscaled_index_insn_codes): Likewise.
- (output_function_prologue): Call restore_unscaled_index_insn_codes.
- (output_function_epilogue): Free memory for unscaled_index_insn_codes.
- (pa_reorg): Call record_unscaled_index_insn_codes.
-
-Mon Sep 1 14:46:09 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (casesi_jump_1, casesi_jump2): Generate expanders.
- (casesi_jump): Delete.
- (casesi) Use gen_casesi_jump_1 and gen_casesi_jump2 instead of
- gen_casesi_jump.
-
-Mon Sep 1 14:36:36 1997 Paul Eggert <eggert@twinsun.com>
-
- * sparc/sol2.h (CPP_SPEC): Add -D__STDC__=0 unless -ansi
- or -traditional, for compatibility with Sun's practice.
- * i386/sol2.h (CPP_SPEC), rs6000/sol2.h (CPP_SPEC): Likewise.
- * configure.in ({sparc,i[3456]86,powerpcle}-*-solaris2*):
- Set fixincludes=Makefile.in.
-
-Mon Sep 1 14:08:23 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * Makefile.in (config.status): Depend on version.c.
-
-Mon Sep 1 13:48:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * acconfig.h: Remove include of config2.h.
- * configure.in: Build auto-config.h, not config.h, from autoconf data.
- Add auto-conf.h in front of all other host_xm_file entries.
- Make config.h, not config2.h, from host_xm_file.
- * Makefile.in (auto-config.h): New rule; was config.h.
- (distclean): Remove auto-config.h, not config2.h.
-
- * expr.c (do_jump_by_parts_equality_rtx): Try to do by IOR of
- all the words.
-
-Mon Sep 1 13:07:36 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * sparc/t-vxsparc (TARGET_LIBGCC2_CFLAGS): New definition.
- (LIBGCC2_CFLAGS): Deleted.
- * m68k/t-vxworks68: Likewise.
- * i960/t-vxworks960: Likewise.
- * a29k/t-vx29k: Likewise.
-
-Sun Aug 31 17:12:27 1997 Paul Eggert <eggert@twinsun.com>
-
- * real.c (EMULONG): Correct typo in spelling of HOST_BITS_PER_LONGLONG.
-
-Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
-
- * mips.md (movstrsi_internal[23]): Set insn type to "store" to
- get more accurate schedules.
-
- * pa.md (reload_peepholes): Make sure operand is a REG before
- examining REGNO. Allow general registers too.
-
-Thu Aug 28 12:34:56 1997 Doug Evans <dje@seba.cygnus.com>
-
- * reload1.c (reload_cse_no_longer_dead): Don't pass incremented regno
- to SET_HARD_REG_BIT, it can be evaluated twice.
-
-Wed Aug 27 20:15:53 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh/elf.h: (LINK_SPEC): Use shlelf.
- (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX, ASM_FILE_START): Redefine.
- * sh/lib1funcs.asm (___ashrsi3, ___ashlsi3, ___lshrsi3):
- Truncate shift count. Use braf if not SH1.
- * sh.c (sfunc_uses_reg): No longer static.
- Check for SImode inside the USE.
- (shiftcosts, expand_ashiftrt, shl_sext_kind):
- Use SH_DYNAMIC_SHIFT_COST.
- (sh_dynamicalize_shift_p, output_branchy_insn): New functions.
- (output_ieee_ccmpeq, mova_p, cache_align_p, fixup_aligns): Likewise.
- (branch_offset, short_cbranch_p, med_branch_p): Likewise.
- (braf_branch_p, align_length, fixup_addr_diff_vecs): Likewise.
- (addr_diff_vec_adjust, get_dest_uid, gen_far_branch): Likewise.
- (split_branches, regs_used, gen_block_redirect): Likewise.
- (from_compare): Can't compare non-zero DImode constant directly.
- Emit special code for TARGET_SH3E floating point with code == GE.
- Force 0.0 into a register for SH3E.
- (print_operand): Add ','.
- Emit the actual comparison instruction.
- (sh_builtin_saveregs): Save floating point registers in order that
- allows pre-decrement.
- (find_barrier): New arguments num_mova and mova. Changed caller.
- When rewinding to before a mova, also restore the last found barrier.
- Branch is now known to be shortened.
- Prefer barriers where no new alignment is needed.
- More generic alignment for cache lines.
- Add checks for pieces of code that use more table space than their
- own size.
- Fix up the barrier we return so that the alignment will always be
- after the table.
- Remove limit adjustments for table alignment.
- Handle PARALLELs correctly.
- (machine_dependent_reorg): Add extra pass to split insns.
- Don't scan instructions twice for broken moves.
- Calculate insn length, call fixup_addr_diff_vecs.
- Call split_branches.
- Add alignment for loops and after BARRIERs.
- Initialize max_uid_before_fixup_addr_diff_vecs.
- Advance mdep_reorg_phase.
- Clear insn_addresses.
- (output_far_jump): Use braf and/or pre-allocated scratch register
- when possible.
- (expand_ashiftrt): Truncate shift count.
- (push_regs): Push PR last.
- (sh_expand_epilogue): Pop PR first.
- (code_for_indirect_jump_scratch, mdep_reorg_phase): New variables.
- (uid_align, uid_align_max): Likewise.
- (max_uid_before_fixup_addr_diff_vecs, sh_addr_diff_vec_mode): Likewise.
- (braf_label_ref_operand): New predicate.
- (initial_elimination_offset): calculate offset from
- RETURN_ADDRESS_POINTER_REGNUM starting with total_saved_regs_space.
- (output_branch): Expect out-of-range condbranches to have been split.
- * sh.md (rotlsi3_16): Named insn.
- (rotlsi3): Rewritten to use superoptimizer patterns.
- (adddi3, subdi3, ashrsi2_16, ashrsi2_31): Always split.
- (movsi_i, movsi_ie): replace t/z alternative with t/r alternative.
- Use pcload_si and load_si insn types.
- (adddi3+1, subdi3+1, ashrsi2_16+1, ashrsi2_31+1) New define_splits.
- (addc, subc, ashlsi_c): New insns.
- (attribute "type"): New values dyn_shift, load_si, pcload_si, fmove,
- jump_ind, arith3 and arith3b.
- (function_unit "fp"): Take fmove into account.
- (function_unit "int"): Uses one cycle for !dyn_shift.
- (function_unit "memory"): Special case for load_si and pcload_si.
- (attribute "in_delay_slot): handle pcload_si.
- (cmpgtdi_t, cmpgedi_t, cmpgeudi_t, cmpgtudi_t): Type arith3.
- (cmpsi+1, cmpeqdi_t) Type arith3b.
- (movsf_ie, alternatives f/fGH/X, f/y/X, y/f/X): Type fmove.
- (extendsidi2): Delete.
- (cmpeqsi_t-2): Delete. (Redundant with movt.)
- (*rotlhi3_8) Name.
- (iorsi3, rotlsi3_1, rotlsi3_31, rotlsi3_16, (*rotlhi3_8): Type arith.
- (ashlsi3_k, ashlhi3_ki, ashrsi2_16, ashrsi2_31, lshrsi3_m): Likewise.
- (lshrsi3_k, lshrhi3_m, lshrhi3_k, ashldi3_k, lshrdi3_k): Likewise.
- (ashrdi3_k, xtrct_left, xtrct_right, dect, mova, movt): Likewise.
- (movt): Likewise.
- (ashlsi3_d, ashrsi3_d, lshrsi3_d): Type dyn_shift.
- (indirect_jump_scratch, *casesi_jump_1, *casesi_jump_2): Type jump_ind.
- (ashlsi3, ashlsi3_n, lshrsi3, lshrsi3_n): Use sh_dynamicalize_shift_p.
- (movsf_ie+1, movsf_ie+2): Exchange.
- (cmpeqdi_t-1, cmpeqdi_t, cmpgtdi_t, cmpgedi_t): New insns.
- (cmpgeudi_t, cmpgtudi_t, movsi_i_lowpart, ieee_ccmpeqsf_t): Likewise.
- (cmpdi, movnegt): New define_expands.
- (movsi_ie): Add y,y alternative.
- (sge): Use it for ! TARGET_IEEE. Use special code for TARGET_IEEE.
- (sle): Use sge.
- (align_4, casesi_jump): Now define_expand.
- (casesi_0, addr_diff_vec_adjust, align_log): New patterns.
- (*casesi_jump_[12]): Likewise.
- (casesi): Use casesi_0 and casesi_jump.
- (casesi_worker): Depends on the mode used for the table.
- (define_delay for cbranches): Test TARGET_SH2.
- Changed all callers of from_compare.
- (attribute "length"): Take use of braf and scratch registers into
- account.
- (indirect_jump_scratch, block_branch_redirect): New patterns.
- (jump): Call output_far_jump for any jump larger than 4 bytes.
- (inverse_branch_true, inverse_branch_false): Remove.
- (bne, blt, ble, bltu, bleu): Canonicalize.
- (attribute "cpu"): Remove "sh0" alternative.
- * sh.h (ADJUST_COST): Lower cost of non-address sfunc dependencies.
- Adjust cost of load_si / pcload_si insns when not used for call.
- (enum reg_class): Move GENERAL_REGS after FPUL_REGS.
- (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
- (REGISTER_MOVE_COST): Add costs for fpul <-> mac, pr moves.
- Fix to match default cost in regclass. Move to T reg not costly.
- When checking for GENERAL_REGS, check for R0_REGS too.
- (INITIALIZE_TRAMPOLINE): Include code for constant parts.
- (SHIFT_COUNT_TRUNCATED): Not true for TARGET_SH3.
- (CPP_SPEC): Define __sh1__ if no specific cpu is selected.
- (FUNCTION_BOUNDARY): Align to cache line boundary.
- (optimize, sh_addr_diff_vec_mode, machine_dependent_reorg): Declare.
- (addr_diff_vec_adjust, code_for_indirect_jump_scratch): Declare.
- (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Declare.
- (output_ieee_ccmpeq, output_branchy_insn, sfunc_uses_reg): Declare.
- (ASM_OUTPUT_ADDR_DIFF_ELT): Depends on sh_addr_diff_vec_mode.
- (PREDICATE_CODES): Add braf_label_ref_operand and register_operand.
- (IEEE_BIT, TAGET_IEEE, LOCAL_LABEL_PREFIX, ASSEMBLER_DIALECT): Define.
- (CACHE_LOG, enum mdep_reorg_phase_e, TRAMPOLINE_ALIGNMENT): Define.
- (SH_DYNAMIC_SHIFT_COST): Define.
- (TARGET_SWITCHES): Remove -m0 entry. Add -mieee, -mno-ieee.
- (OVERRIDE_OPTIONS): sh_cpu defaults to CPU_SH1.
- Initialize sh_addr_diff_vec_mode.
- (REG_ALLOC_ORDER): Move FP0 behind FP7.
- Move all FP registers in front of the general registers.
- (SECONDARY_OUTPUT_RELOAD_CLASS): Add case for MAC_REGS / PR_REGS.
- When checking for GENERAL_REGS, check for R0_REGS too.
- Fix direction of compares to {FIR,LA}ST_FP_REG.
- (SECONDARY_INPUT_RELOAD_CLASS): check for fp_one_operand.
- (ASM_OUTPUT_ALIGN_CODE, ASM_OUTPUT_LOOP_ALIGN, SH0_BIT): Delete.
- (TARGET_SH0, PUSH_ROUNDING, TRAMPOLINE_TEMPLATE): Delete.
- (TRAMPOLINE_ALIGN): Delete.
- (processor_type): Remove PROCESSOR_SH0.
- (ADJUST_INSN_LENGTH): Remove check for preceding BARRIER.
- Adjust ADDR_DIFF_VECs. Add code for alignment instructions.
- Check if insn needing a delay slot is already inside a SEQUENCE.
-
- * va-sh.h (__va_rounded_size): Delete.
- (__LITTLE_ENDIAN_P, __SCALAR_TYPE, __PASS_AS_FLOAT): Define.
- (va_arg): Unify big and little endian code.
- Optimization for small integers.
-
- From Fred Fish:
- * sh.h (INITIAL_ELIMINATION_OFFSET): Proper bracketing.
- (REGNO_REG_CLASS, PREFERRED_RELOAD_CLASS): Likewise.
- (SECONDARY_{OUTPUT,INPUT}_RELOAD_CLASS, LIBCALL_VALUE): Likewise.
- (ROUND_ADVANCE, FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS): Likewise.
- (FUNCTION_PROFILE, FUNCTION_EPILOGUE, RETURN_ADDR_RTX): Likewise.
- (REGNO_OK_FOR_INDEX_P, EXTRA_CONSTRAINT_Q, MODE_DISP_OK_4): Likewise.
- (GO_IF_LEGITIMATE_{INDEX,ADDRES}, LEGITIMIZE_ADDRESS): Likewise.
- (CONST_COSTS, REGISTER_MOVE_COST, ASM_OUTPUT_CONSTRUCTOR): Likewise.
- (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Likewise.
- (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP, ASM_OUTPUT_LABEL): Likewise.
- (ASM_OUTPUT_ALIGN), ASM_DECLARE_FUNCTION_NAME): Likewise.
- (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_CASE_LABEL): Likewise.
- (ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT) Likewise.
- (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_INT): Likewise.
- (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE): Likewise.
- (ASM_OUTPUT_SKIP, FINAL_PRESCAN_INSN, PRINT_OPERAND): Likewise.
- (PRINT_OPERAND_ADDRESS, HANDLE_PRAGMA, ADJUST_INSN_LENGTH): Likewise.
- (PROMOTE_MODE): Likewise.
- (ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
- (ASM_OUTPUT_INTERNAL_LABEL): Use %L.
- * sh/elf.h: (ASM_OUTPUT_LABELREF): Use %U.
- (ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
- (ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SOURCE_LINE): Use %L.
-
-Wed Aug 27 16:42:21 1997 Bob Manson (manson@cygnus.com)
-
- * t-h8300 (TARGET_LIBGCC2_CFLAGS): New definit.
- (LIBGCC2_CFLAGS): Deleted.
- * t-mn10200: Likewise.
-
-Wed Aug 27 17:10:51 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
- last change.
-
-Wed Aug 27 15:19:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * dwarfout.c (dwarfout_start_new_source_file): Strip leading '*'s
- from label names.
-
-Wed Aug 27 14:33:38 1997 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
- address where an offsettable address is required.
-
-Wed Aug 27 10:38:32 1997 Jeffrey A Law (law@cygnus.com)
-
- * reorg.c (dbr_schedule): Allow current_function_return_rtx
- to be something other than a REG.
- * function.c (expand_function_end): Fix current_function_return_rtx
- if it was a pseudo.
-
- * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
- * x-netbsd: Likewise
- * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
- (INSTALL_HEADERS): Delete.
- * x-dguxbcs: Likewise.
- * x-hp3bsd44: Likewise
- * x-pa: Likewise.
-
-Wed Aug 27 07:15:58 1997 Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>
-
- * configure.in (AC_PROG_CC, AC_PROG_MAKE_SET): Check for gcc before
- testing for flex.
-
-Wed Aug 27 02:24:35 1997 Jim Wilson <wilson@cygnus.com>
-
- * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
- TYPE_DECL_IS_STUB instead of DECL_NAME.
-
- * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
- filenames. Use sed to extract base filename for install.
-
-Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
-
- * loop.c (combine_movables): Earlier insns don't match later ones.
-
- * c-decl.c (grokdeclarator): If array index or size calculations
- overflow, issue an error.
- * fold-const.c (int_const_binop): New static function.
- (const_binop, size_binop): Call it.
-
-Tue Aug 26 17:51:56 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * collect2.c (main): Check SCAN_LIBRARIES instead of LDD_SUFFIX
- to decide whether to always emit init and fini handles.
-
-Tue Aug 26 13:51:10 1997 Jim Wilson <wilson@cygnus.com>
-
- * stor-layout.c (layout_record): Test DECL_PACKED instead of
- TYPE_PACKED to determine alignment.
-
- * combine.c (try_combine): Distribute REG_DEAD notes created for
- i3dest_killed similar to the ones created for i2dest_in_i2src
- and for i1dest_in_i1src.
-
-Tue Aug 26 11:36:34 1997 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (check_final_value): Don't miss a biv increment in a
- parallel.
-
- * loop.c (check_dbra_loop): If the loop biv is only used
- for counting, then normalize it so that the initial
- value is zero.
-
-Tue Aug 26 06:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarfout.c (*_LABEL): Add initial '*'.
-
-Tue Aug 26 05:27:28 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
- * configure.in (alpha-*-linux-gnulibc1): New target.
- (alpha-*-linux-gnu*): Don't build crtbegin/end.
-
-Mon Aug 25 19:11:38 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * reload1.c (reload_cse_simplify_operands): Fix typo.
-
-Mon Aug 25 19:04:42 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * c-typeck.c (common_type): Always prefer long double to double.
-
-Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (secondary_reload_class): (mem (mem ... )) does not need
- secondary reloads.
-
- * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
- store of the argument registers.
-
-Sun Aug 24 21:25:06 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * reload1.c (reload_cse_mem_conflict_p, case MEM): Also check
- for conflict with the address.
-
-Sat Aug 23 18:43:22 1997 Jim Wilson <wilson@cygnus.com>
-
- * acconfig.h (NEED_DECLARATION_CALLOC): Add.
- * configure.in: Add GCC_NEED_DECLARATION call for calloc.
- * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
- declarations.
-
- * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
- * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
-
-Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
- around branch tables.
- * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
- and .end_brtab directives if TARGET_GAS.
-
-Fri Aug 22 19:17:25 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * function.c (instantiate_virtual_regs_1, case ADDRESSOF):
- New case.
- (fix_lexical_addr): Handle (addressof (mem ...)).
-
-Thu Aug 21 17:56:06 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * reload.c (push_secondary_reload): If SECONDARY_MEM_NEEDED,
- call get_secondary_mem for input before adding reload and
- for output after.
- (push_reload): Likewise.
-
-Thu Aug 21 15:57:03 1997 Jim Wilson <wilson@cygnus.com>
-
- * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
- block_stack before dereferencing it.
-
-Wed Aug 20 15:45:52 1997 Dave Love <d.love@dl.ac.uk>
-
- * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
- list.
-
-Wed Aug 20 15:30:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.c (ix86_prologue, ix86_epilogue): New functions.
- ({function,ix86_expand}_{pro,epi}logue, ix86_expand_prologue):
- Use ix86_prologue.
-
-Wed Aug 20 14:57:11 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
-
-Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * cplus-dem.c: Add 'extern' to prepends_underscore.
-
-Tue Aug 19 15:46:30 1997 Jeffrey A Law (law@cygnus.com)
-
- * mips/r3900.h (SUBTARGET_CC1_SPEC): Remove some unnecessary stuff.
- (MIPS_CPU_STRING_DEFAULT, MIPS_ISA_DEFAULT): Define.
-
-Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
- reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
-
-Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
-
- * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
- quotes around the name.
-
-Mon Aug 18 17:26:42 1997 Doug Evans <dje@cygnus.com>
-
- * mips.md (movsi_ulw,movsi_usw,loadgp): Give unspec a mode.
-
-Mon Aug 18 11:05:17 1997 Jeffrey A Law (law@cygnus.com)
-
- * mips/r3900.h (TARGET_DEFAULT): Turn on MASK_MIPS3900.
-
-Sun Aug 17 14:39:18 1997 Gavin Koch (gavin@cygnus.com)
-
- * mips/elf.h (PREFERRED_DEBUGGING_TYPE): Only set if not already set.
- * mips.c (TARGET_{SINGLE,SOFT}_FLOAT): Make sure both aren't set.
- (PROCESSOR_R3900): Set flag from option.
- * mips.h: Add m3900 option.
- ({PROCESSOR,TARGET,MASK}_R3900): Define.
- (GENERATE_{BRANCHLIKELY,MADD,MULT3): Likewise.
- (debugj,MASK_DEBUG_J): Delete to make room for m3900.
- (BRANCH_LIKELY_P): Redefine to include 3900.
- (GAS_ASM_SPEC,CC1_SPEC): Add m3900 option.
- (RTX_COSTS): Add 3900.
- * mips.md: Add 3900, including three op madd and mult.
- * configure.in (mipstx39{,el}-*-elf*): New cases.
- * mips/r3900.h: New file.
-
-Fri Aug 15 07:34:12 1997 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.md (umulsi3_highpart, smulsi3_highpart): Add extra reloading
- alternatives.
-
-Fri Aug 15 07:34:12 1997 Torbjorn Granlund <tege@tege.pdc.kth.se>
-
- * arm.md (umulsi3_highpart, smulsi3_highpart): New patterns.
- * arm.c (arm_rtx_costs, case TRUNCATE): New case.
-
-Fri Aug 15 06:40:03 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * genemit.c (main): Write an include for flags.h.
- * genoutput.c (main): Likewise.
-
- * alpha.c (override_options): Turn off byte insns for cpu=ev4 or ev5.
-
- * alpha.md (allocate_stack): If stupid reg allocation, add USE
- for loop variable.
-
- * fold-const.c (fold, compare cases): Add calls to `fold' to
- previous change.
-
-Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * rtl.h ({SET,}ADDRESSOF_DECL): op 1 of ADDRESSOF is now the decl.
- * function.c (put_var_into_stack, gen_mem_addressof,
- put_addressof_into_stack): Adjust.
-
- * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
- again for the slot after we give it RTL.
- (expand_expr, case VAR_DECL): Lose gen_mem_addressof case.
-
-Wed Aug 13 17:29:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * c-lex.c (check_newline): Pass finput again to HANDLE_PRAGMA.
-
-Wed Aug 13 16:51:35 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * reload1.c (reload_cse_simplify_operands): New function.
- (reload_cse_no_longer_dead,reload_cse_delete_death_notes): Likewise.
- (no_longer_dead_regs): New static variable.
- (reload_cse_simplify_set): Now returns int.
- Don't delete death notes on previous insns, call
- reload_cse_no_longer_dead instead.
- Call validate_change with nonzero value for in_group.
- (reload_cse_noop_set_p): Don't delete death notes on previous insns,
- call reload_cse_no_longer_dead instead.
- (reload_cse_regs): Initialize no_longer_dead_regs and call
- reload_cse_delete_death_notes as appropriate.
- Call apply_change_group after calling reload_cse_simplify_set.
- Call reload_cse_simplify_set on elements of a PARALLEL.
- Call reload_cse_simplify_operands if reload_cse_simplify_set could
- not simplify things.
-
-Wed Aug 13 16:18:42 1997 Douglas Rupp <rupp@gnat.com>
-
- * vms.h (LINK_SPEC): Echo -shared, not -share, to linker.
-
-Wed Aug 13 12:51:11 1997 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
-
- * m68k.md: Add braces to clarify nesting.
-
-Wed Aug 13 12:51:11 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * calls.c (expand_call): Use assign_temp and mark_addressable
- instead of calling gen_mem_addressof directly.
-
-Wed Aug 13 12:40:15 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (install-man): Add missing $(exeext).
-
- * configure.in (alpha*-dec-osf*): Merge various cases;
- split off version-specific files in new case statement.
- Include osf2or3.h even for OSF1.2.
-
- * alpha.c (NUM_ARGS): New macro.
- (CURRENT_FUNCTION_ARGS_INFO): Deleted.
- (alpha_builtin_saveregs): Use new macro.
- (function_arg): Deleted.
- (alpha_arg_type, alpha_arg_info_reg_val): New functions.
- * vms.h (enum avms_arg_type, avms_arg_info): New types.
- (CUMULATIVE_ARGS, INIT_CUMULATIVE_ARGS): Update definitions
- to use new types.
- (SETUP_INCOMING_VARARGS): Likewise.
- (FUNCTION_ARG{,_PARTIAL_NREGS}, FUNCTION_ARG_ADVANCE): Likewise.
- Only update CUM in FUNCTION_ARG_ADVANCE.
-
-Tue Aug 12 19:27:32 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
- as initial value for real_label_map.
- (copy_for_inline): Likewise.
-
-Tue Aug 12 16:15:36 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * rtl.h (BYTECODE_LABEL): Use XSTR, not XEXP.
-
- * calls.c (expand_calls): Properly call any_pending_cleanups.
-
-Tue Aug 12 12:18:01 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * function.c (purge_addressof_1): Add force argument.
- (purge_addressof): If there are any ASM_OPERANDS in an insn, always
- put ADDRESSOFs into the stack.
-
- * function.c (setjmp_protect): See through addressof.
- (setjmp_protect_args): Likewise.
- * calls.c (expand_call): For now, only use addressof if the type
- doesn't promote.
- * function.c (put_var_into_stack): Likewise.
- * expr.c (expand_expr): Likewise.
- * toplev.c (rest_of_compilation): Check inlineable instead of
- DECL_INLINE.
- * function.c (purge_addressof_1): Try recognizing the insn with
- and without the SUBREG. If it doesn't work, just put the REG into
- the stack.
- (gen_mem_addressof): Set the mode of the MEM to the mode of the type.
- (put_var_into_stack): Don't be fooled by addressof in an enclosing
- scope.
-
-Sun Aug 10 22:19:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * explow.c (probe_stack_range): Add USE for test_addr if -O0.
-
-Sun Aug 10 22:15:40 1997 Jason Merrill <merrill@churchy.gnu.ai.mit.edu>
-
- * toplev.c (rest_of_compilation): Move purge_addressof before loop.
-
-Sun Aug 10 15:25:51 1997 Jim Wilson <wilson@cygnus.com>
-
- * toplev.c (main): In -g handling code, add code to set len.
-
- * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
- has integer TYPE_{MAX,MIN}_VALUE before using them.
-
- * alpha.md (extendqihi2): Use HImode not QImode in force_reg call.
-
-Sun Aug 10 16:47:34 1997 Nick Burrett <nick.burrett@btinternet.com>
-
- * arm/aof.h (COMMON_SECTION): New macro, define common_section.
- (EXTRA_SECTION_FUNCTIONS): Add COMMON_SECTION.
- (EXTRA_SECTIONS): Add in_common.
- (ASM_OUTPUT_COMMON): Call common_section() to indicate we've
- changed areas.
-
-Sat Aug 9 20:04:35 1997 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
- extern inline function.
-
-Sat Aug 9 13:01:06 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/sysv4.h (*_SPEC): Add support for -mads and -myellowknife.
- Use a common crt0.o for all embedded platforms. Use --start-group
- and --end-group instead of -( and -) to allow better cut and pasting
- when debugging the linker. Set default start for MVME text.
- (TARGET_SWITCHES): Add -mads and -myellowknife.
-
-Fri Aug 8 20:12:43 1997 Per Bothner <bothner@cygnus.com>
-
- * dwarf2out.c (gen_enumeration_type_die):
- Make code work for a tag name, without a TYPE_STUB_DECL.
- (gen_struct_or_union_type_die): Likewise.
-
-Fri Aug 8 18:10:40 1997 Marc Lehmann <pcg@goof.com>
-
- * i386/go32.h (HAS_INIT_SECTION, HAVE_ATEXIT): New macros.
-
-Fri Aug 8 17:30:22 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
-
- * i386.c (output_pic_addr_const, case PLUS): Emit the constant first.
-
-Fri Aug 8 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
- template.
-
- * reg-stack.c (compare_for_stack_reg): Swap only if the source and
- destination are both on the regstack.
- (subst_stack_regs_pat): Put the destination at the top of the regstack.
-
-Fri Aug 8 17:03:21 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * i386.md (pop): pop increments the stack pointer.
- (prologue_set_stack_ptr): New pattern.
- * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
- instead of subsi3.
-
-Fri Aug 8 17:00:36 1997 Paul Eggert <eggert@twinsun.com>
-
- * gansidecl.h, halfpic.h (STDIO_PROTO): Remove.
- * bitmap.h, c-tree.h, output.h, reload.h, rtl.h (STDIO_PROTO):
- Replace with PROTO in include files.
- * bc-emit.c: Include <stdio.h> before include files that formerly
- used STDIO_PROTO.
- * bc-optab.c, c-common.c, c-decl.c, caller-save.c, calls.c: Likewise.
- * convex.c, i860.c, mips.c, spur.c, tahoe.c, emit-rtl.c: Likewise.
- * explow.c, expmed.c, expr.c, genattrtab.c, halfpic.c: Likewise.
- * jump.c, optabs.c, profile.c, recog.c, regclass.c: Likewise.
- * rtlanal.c, sdbout.c, unroll.c: Likewise.
- * genattrtab.c (main): Generate files that include <stdio.h>
- before including files that formerly used STDIO_PROTO.
- * genemit.c (main), genextract.c (main), genopinit.c (main): Likewise.
- * genoutput.c (output_prologue), genpeep.c (main): Likewise.
- * genrecog.c (main): Likewise.
- * halfpic.h (PROTO): Use "gansidecl.h" to define this instead.
- (half_pic_finish): Declare without prototype; FILE isn't defined.
-
- * bitmap.c, c-aux-info.c, c-lex.c: Include "config.h" first.
- * c-parse.in, c-pragma.c, 1750a.c, a29k.c, alpha.c: Likewise.
- * arm.c, clipper.c, dsp16xx.c, elxsi.c, fx80.c, gmicro.c: Likewise.
- * h8300.c, i370.c, i386.c, i386/winnt.c, i960.c: Likewise.
- * m32r.c, m68k.c, m88k.c, mn10200.c, mn10300.c, ns32k.c: Likewise.
- * pa.c, pdp11.c, pyr.c, romp.c, rs6000.c, sparc.c, vax.c: Likewise.
- * we32k.c, cppmain.c, dbxout.c, flow.c, fold-const.c: Likewise.
- * gcc.c, gcov.c, global.c, integrate.c, local-alloc.c: Likewise.
- * loop.c, mips-tdump.c, mips-tfile.c, objc-act.c: Likewise.
- * real.c, reg-stack.c, reload.c, reload1.c, reorg.c, sched.c: Likewise.
- * stupid.c, tree.c, varasm.c, xcoffout.c: Likewise.
-
-Fri Aug 8 14:52:35 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * function.c (fixup_stack_1): Stack slots can also be relative to
- the frame or stack pointers.
-
-Fri Aug 8 14:13:49 1997 Richard Henderson <richard@gnu.ai.mit.edu>
-
- * dwarf2out.c (reg_loc_descriptor): Fix prototype.
- (concat_loc_descriptor): New function.
- (loc_descriptor): Call it.
- (add_AT_location_description): Also elide the descriptor if both
- halves of a CONCAT are pseudos.
- (add_location_or_const_value_attribute): Recognize CONCAT too.
-
-Fri Aug 8 06:36:29 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * c-common.c (if_stack{,_space,_pointer}): New static variables.
- (c_expand_{start_cond,start_else,end_cond}): New functions.
- * c-parse.in (compstmt_count): New static variable.
- (compstmt_start): New rule.
- (compstmt): Use new rule.
- (do_stmt_start): Update compstmt_count.
- (simple_if, stmt): Use new versions of start_cond, start_else,
- and end_cond.
-
-Thu Aug 7 15:35:25 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips/iris6.h (TARGET_LONG64): Don't define here.
- * mips.c (override_options): Set MASK_LONG64 for ABI_64.
-
- * mips.c (function_prologue): Don't emit ".ent", ".frame",
- ".mask", ".fmask" if flag_inhibit_size_directive is true.
- (function_epilogue): Don't emit ".end" if
- flag_inhibit_size_directive is true.
-
- * mips/iris6.h (STARTFILE_SPEC, LIB_SPEC): Move
- -L/usr/lib{32,64}/mips? from STARTFILE_SPEC to LIB_SPEC.
-
-Thu Aug 7 13:14:21 1997 Torbjorn Granlund <tege@tunnis.tmg.se>
-
- * fold-const.c (fold): Optimize unsigned x <= 0x7fffffff.
-
-Thu Aug 7 12:46:31 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * explow.c (convert_memory_address, case LABEL_REF): Copy
- LABEL_REF_NONLOCAL_P.
-
- * expr.c (store_constructor): Use CONST0_RTX macro, not always
- the integer version, when clearing a register.
-
- * varasm.c (output_constructor): Correctly check for
- multi-word constant.
-
-Thu Aug 7 10:04:42 1997 Douglas Rupp <rupp@gnat.com>
-
- * alpha/vms-tramp.asm: New file.
-
- * gcc.c (execute): Don't allow -pipe on VMS.
-
- * alpha.c (vmskrunch): Don't strip off trailing digits.
- (vms_valid_decl_attribute_p): New function.
- * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add another quadword of zeros.
- (TRAMPOLINE_SIZE): Now 32 bytes.
- (INITIALIZE_TRAMPOLINE): Put FNADDR at offset 16, CXT at 24.
- (DBX_DEBUGGING_INFO, ASM_FORMAT_PRIVATE_NAME): Always undefine.
- (STARTFILE_SPEC): Likewise.
- (PREFERRED_DEBUGGING_TYPE): Define to be Dwarf-2.
- (VALID_MACHINE_DECL_ATTRIBUTE, ASM_OUTPUT_SECTION{,_NAME}): New macros.
- (ASM_OUTPUT_ALIGN{,ED_COMMON}): Redefine.
- (LINK_SPEC): Pass -share and -v.
- (ENDFILE_SPEC, LIBGCC2_SPEC): Don't redefine.
-
-Thu Aug 7 06:21:47 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * Eliminate most -Wswitch warnings.
- * c-common.c (binary_op_error): Add default case to switch.
- (shorten_compare, truthvalue_conversion): Likewise.
- * c-iterate.c (collect_iteratores): Likewise.
- * c-typeck.c (comptypes, build_component_ref): Likewise.
- (build_binary_op, lvalue_p, build_unary_op): Likewise.
- (build_modify_expr, initializer_constant_valid_p): Likewise.
- (c_expand_return): Likewise.
- * calls.c (calls_function_1): Likewise.
- * combine.c (find_split_point, simplify_rtx): Likewise.
- (simplify_if_then_else, simplify_logical): Likewise.
- (extract_left_shift, make_compound_operation, force_to_mode): Likewise.
- (known_cond, nonzero_bits, num_sign_bit_copies): Likewise.
- (merge_outer_ops, simplify_shift_const, simplify_comparison): Likewise.
- (reversible_comparison_p, mark_used_regs_combine): Likewise.
- * convert.c (convert_to_integer): Likewise.
- * cse.c (canon_hash, exp_equiv_p): Likewise.
- (set_nonvarying_address_components, canon_reg): Likewise.
- (simplify_unary_operation, simplify_plus_minus): Likewise.
- (simplify_relational_operation, fold_rtx): Likewise.
- (cse_process_note, count_reg_usage): Likewise.
- * dbxout.c (dbxout_symbol): Likewise.
- * dwarf2out.c (lookup_cfa_1, print_die): Likewise.
- * emit_rtl.c (copy_rtx_if_shared, reset_used_flags): Likewise.
- * explow.c (plus_constant_wide, convert_memory_address): Likewise.
- (promote_mode, emit_stack_save, emit_stack_restore): Likewise.
- * expmed.c (expand_divmod, emit_store_flag): Likewise.
- * expr.c (queued_subexp_p, is_zeros_p, safe_from_p): Likewise.
- (bc_expand_expr, preexpand_calls, convert_move): Likewise.
- * final.c (get_attr_length, final_scan_insn): Likewise.
- (walk_alter_subreg, alter_cond): Likewise.
- * flow.c (jmp_uses_reg_or_mem, mark_used_regs): Likewise.
- * fold-const.c (operand_equal_p, twoval_comparison_p): Likewise.
- (eval_subst, invert_truthvalue, range_binop): Likewise.
- (make_range, fold): Likewise.
- * function.c (fixup_var_refs_1, instantiate_virtual_regs_1): Likewise.
- * genattrtab.c (attr_copy_rtx, make_canonical): Likewise.
- (encode_units_mask, simplify_test_exp): Likewise.
- (find_and_mark_used_attributes, write_test_expr): Likewise.
- (simplify_with_current_value_aux, clear_struct_flag): Likewise.
- (count_sub_rtxs, gen_insn walk_attr_value): Likewise.
- (copy_rtx_unchanging): Likewise.
- * genconfig.c (walk_insn_part): Likewise.
- * genextract.c (walk_rtx): Likewise.
- * genoutput.c (scan_operands): Likewise.
- * genpeep.c (match_rtx): Likewise.
- * genrecog.c (add_to_sequence): Likewise.
- * integrate.c (copy_for_inline, copy_rtx_and_substitute): Likewise.
- (subst_constants): Likewise.
- * jump.c (duplicate_loop_exit_test, comparison_dominates_p): Likewise.
- (mark_jump_label, rtx_renumbered_equal_p): Likewise.
- (rtx_equal_for_thread_p): Likewise.
- * local-alloc.c (memref_referenced_p): Likewise.
- * loop.c (record_excess_regs, reg_in_basic_block_p): Likewise.
- (get_condition, replace_call_address): Likewise.
- (count_nonfixed_reads, find_and_verify_loops, find_mem_givs): Likewise.
- (maybe_eliminate_biv_1, invariant_p, simplify_giv_expr): Likewise.
- * optabs.c (emit_float_lib_cmp): Likewise.
- * print-tree.c (print_node): Likewise.
- * recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
- * reload.c (subst_reg_equivs, find_reloads_address_1): Likewise.
- (refers_to_regno_for_reload_p, find_equiv_reg): Likewise.
- * reload1.c (set_label_offsets, eliminate_regs): Likewise.
- (scan_paradoxical_subregs, count_occurrences): Likewise.
- * rtl.c (copy_rtx, copy_most_rtx): Likewise.
- * rtlanal.c (rtx_varies_p, rtx_addr_can_trap_p): Likewise.
- (reg_mentioned_p, reg_referenced_p, modified_between_p): Likewise.
- (modified_in_p, refers_to_regno_p, volatile_insn_p): Likewise.
- (volatile_refs_p, side_effects_p): Likewise.
- (inequality_comparison_p, replace_regs): Likewise.
- * sched.c (sched_analyze_2): Likewise.
- * stmt.c (expand_return): Likewise.
- * tree.c (staticp, unsave_expr_now, contains_placeholder_p): Likewise.
- (substitute_in_expr, build_type_attribute_variant): Likewise.
- (simple_cst_equal): Likewise.
- * unroll.c (remap_split_bivs): Likewise.
- * varasm.c (const_hash, compare_constant_1): Likewise.
- (decode_rtx_const, output_addressed_constants): Likewise.
- (output_constant): Likewise.
- * print-tree.c (print_node): Convert switch with one case into an if.
- * sched.c (memrefs_conflict_p): Likewise.
- * genrecog.c (write_tree_1): Output default case for every switch.
-
- * profile.c (output_arc_profiler) [SMALL_REGISTER_CLASSES]:
- Apply PATTERN only to insns.
-
-Thu Aug 7 06:13:20 1997 Robert Lipe <robertl@dgii.com>
-
- * i386/t-sco5 (libgcc2-elf.a): Resync with Makefile.in.
-
-Wed Aug 6 19:28:05 1997 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (build_abbrev_table): Use xrealloc not xmalloc.
-
-Wed Aug 6 12:57:24 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (output_call_frame_info): Always emit the info.
- (dwarf2out_frame_debug): We can initialize the temp reg in the
- epilogue, too.
-
- * rtl.def: Add ADDRESSOF.
- * rtl.h (ADDRESSOF_TYPE, SET_ADDRESSOF_TYPE): New macros.
- * Makefile.in (mostlyclean): Remove *.addressof.
- * toplev.c (rest_of_compilation): Set DECL_DEFER_OUTPUT on
- non-nested inlines. Run purge_addressof after CSE.
- (various): Add .addressof RTL dump file.
- * rtl.c (copy_rtx): No need to copy ADDRESSOF.
- * reload1.c (eliminate_regs): Elide ADDRESSOF.
- * recog.c (general_operand): (MEM (ADDRESSOF ())) is a valid operand.
- So is (ADDRESSOF ()).
- (memory_address_p): (ADDRESSOF ()) is a valid memory address.
- * integrate.c (expand_inline_function): If the structure_value_addr
- is an ADDRESSOF, we can use it as a constant.
- (copy_rtx_and_substitute): Copy a '0' operand over unchanged.
- * function.c (fixup_var_refs_1): Remove (ADDRESSOF (MEM ())).
- (gen_mem_addressof): New fn.
- (put_addressof_into_stack): New fn.
- (purge_addressof_1): New fn.
- (purge_addressof): New fn.
- (instantiate_decl): Don't bother looking into an ADDRESSOF.
- (put_var_into_stack): Call gen_mem_addressof for local REGs instead
- of calling put_reg_into_stack.
- * expr.c (expand_expr, case TARGET_EXPR): Put the temp in a register
- if it will fit.
- (expand_expr, case ADDR_EXPR): Call gen_mem_addressof to take the
- address of a REG.
- * explow.c (memory_address): An ADDRESSOF is a valid memory address.
- * dwarfout.c (location_or_const_value_attribute): Handle ADDRESSOF.
- * dwarf2out.c (add_location_or_const_value_attribute): Handle
- ADDRESSOF.
- * cse.c (FIXED_BASE_PLUS_P): Add ADDRESSOF.
- (NONZERO_BASE_PLUS_P): Add ADDRESSOF.
- (canon_hash): Ignore '0' operands.
- (find_best_addr): Don't try to replace an ADDRESSOF.
- (fold_rtx): If our address has a const equiv of an ADDRESSOF, use it.
- * calls.c (expand_call): Put the struct value in a register if
- it fits.
-
-Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * mips.c (function_arg): Handle passing a struct
- containing a double in a DFmode register without the PARALLEL.
-
-Tue Aug 5 12:27:31 1997 Doug Evans <dje@cygnus.com>
-
- * configure.in (sparc-*-solaris2): Set float_format to i128.
- * config/float-i128.h: New file.
-
-Mon Aug 4 17:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * combine.c (try_combine): If have PARALLEL of independent SETs
- and have cc0, ensure insn using CC0 come first.
-
-Mon Aug 4 15:22:41 1997 Mike Meissner <meissner@cygnus.com>
-
- * rs6000/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Undef for System V
- environments.
-
-Mon Aug 4 12:34:41 1997 Philip Blundell <pb@nexus.co.uk>
-
- * configure.in (arm-*-aout): Set tmake_file correctly.
-
-Mon Aug 4 08:06:48 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * reload.c (find_reloads_address_1): Don't pass VOIDmode for an
- integer argument of push_reload.
-
- * rtlanal.c (may_trap_p): Fix unintended fall-through so divisions by
- non-zero constants are handled properly. Return 1 for FP divisions.
-
-Mon Aug 4 06:52:20 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-common.c (check_format_info): Store each flag character only
- once in the flag_chars array.
-
-Sun Aug 3 21:57:31 1997 Jim Meyering <meyering@eng.ascend.com>
-
- * objc/Make-lang.in (objc/*.o): Depend on $(GCC_PASSES).
-
-Sun Aug 3 21:54:51 1997 Nick Burrett <n.a.burrett@btinternet.com>
-
- * cpplib.c (cpp_start_read): Recognise suffixes 'cp' and 'c++'.
-
-Sun Aug 3 19:18:27 1997 Ralf Baechle <ralf@uni-koblenz.de>
-
- * Makefile.in (mostlyclean): Remove libgcc1-test.
-
-Sun Aug 3 19:10:27 1997 Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>
-
- * Makefile.in (T): Move to place where it can be overridden.
- (install_common): Fix permissions of specs and EXTRA_PARTS files.
-
-Sun Aug 3 19:07:04 1997 Jan-Jaap van der Heijden <J.J.vanderHeijden@student.utwente.nl>
-
- * gcc.c (default_compilers): Add default entries for Pascal.
-
-Sun Aug 3 18:38:41 1997 Richard Henderson <rth@cygnus.com>
-
- * alpha.c (alpha_return_addr): New function.
- (output_epilog): Zero alpha_return_addr_rtx.
- * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
-
-Sun Aug 3 17:27:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * Makefile.in (INSTALL): Build in $(srcdir).
-
- * config/linux.h (DEFAULT_VTABLE_THUNKS): New macro.
-
-Sun Aug 3 17:18:31 1997 Richard Earnshaw (rearnshaw@cambridge.arm.com)
-
- * expr.c (expand_builtin, case BUILT_IN_RETURN_ADDRESS): Emit warning
- if return address cannot be determined.
-
-Sun Aug 3 17:04:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * stupid.c (stupid_life_analysis): If function receives non-local
- goto, don't let any registers live across calls.
-
- * fold-const.c (merge_ranges): Make sure that if one range is subset
- of another, it will always be the second range. Correct (+,-) case to
- account for this.
-
-Sun Aug 3 16:48:30 1997 Paul Eggert <eggert@twinsun.com>
-
- * c-lex.c (yylex): Remove duplicate check on high bit before
- invoking int_fits_type_p.
-
-Sun Aug 3 16:44:41 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
-
- * reload.c (find_equiv_reg): If goal is a pseudo that got memory, a
- store into memory makes it invalid. This was handled in the single
- set case, but missing in the PARALLEL case.
-
-Sun Aug 3 09:13:47 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (store_field): Return quickly if EXP is ERROR_MARK.
-
- * c-typeck.c (unary_complex_lvalue): Don't warn about COMPOUND_EXPR
- or COND_EXPR if FUNCTION_TYPE.
-
- * alpha.h (ASM_SPEC): Add -O0.
-
- * expr.h (clear_storage): Now returns rtx.
- (emit_block_move): Likewise; delete duplicate declaration.
- * expr.c (clear_storage, emit_block_move): Return address of
- dest if calling memset/memcpy.
- (expand_builtin, BUILT_IN_MEM{CPY,SET}): Return value from
- clear_storage or emit_block_move if present.
-
- * c-decl.c (start_function): Reset immediate_size_expand on
- error return.
-
-Sat Aug 2 18:50:43 1997 Paul Eggert <eggert@twinsun.com>
-
- * tree.c (int_fits_type_p): Negative ints never fit unsigned
- types, and unsigned ints with top-bit-set never fit signed types.
-
-Sat Aug 2 16:25:43 1997 Per Bothner <bothner@frobnitz.gnu.ai.mit.edu>
-
- * Makefile.in (EXTRA_C_OBJS): Removed.
- (C_AND_OBJC_OBJS): New. Subsumes EXTRA_C_OBJS and OBJC_CCOMMON.
- * objc/Make-lang.in (OBJC_CCOMMON): Removed.
-
-Sat Aug 2 16:11:57 1997 Doug Evans <dje@cygnus.com>
-
- * configure.in: Build .gdbinit for top level build dir here.
- (AC_OUTPUT): Pass oldstyle_subdirs to configure.lang.
- * configure.lang: Fix building of .gdbinit for oldstyle lang subdirs.
-
-Sat Aug 2 13:48:15 1997 Ken Raeburn <raeburn@cygnus.com>
-
- * cse.c (cse_insn): Ignore paradoxical SUBREGs unless we are
- looking for such.
-
-Sat Aug 2 13:25:33 1997 Tristan Gingold (gingold@email.enst.fr)
-
- * calls.c (expand_call): If -fcheck-memory-usage, use pseudo-register,
- check indirectly called function is executable, and set rights of
- memory for aggregate as write only.
- (store_one_arg): If -fcheck-memory-usage, set rights for pushed
- stack argument.
- * c-decl.c (init_decl_processing): Add
- __builtin_aggregate_incoming_address.
- * explow.c (expr_size): Call expand_expr with appropriate flag.
- * expr.c (expand_builtin, case BUILT_IN_AGGREGATE_INCOMING_ADDRESS):
- New case.
- (expand_assignment, expand_expr, emit_push_insn, store_expr):
- Insert calls to chkr_check_addr, chkr_set_right, and chkr_copy_bitmap
- when -fcheck-memory-usage.
- (get_push_address, get_memory_usage_from_modifier): New functions.
- * expr.h: Add expand_modifier flags.
- (chkr_*_libfunc): New decls.
- (memory_use_mode): New declaration.
- * flags.h (flag_check_memory_usage, flag_prefix_function_name): New
- declaration.
- * function.c (put_var_into_stack, assign_parms): If
- -fcheck-memory-usage, set the rights of pushed variable.
- * optabs.c (chkr_{check_addr,set_right}_libfunc): New definitions.
- (chkr_{copy_bitmap,check_exec}_libfunc): Likewise.
- (init_optabs): Initialize these chkr_*_libfunc.
- * stmt.c (expand_computed_goto): If -fcheck-memory-usage, check that
- computed address of a goto is executable.
- (expand_asm, expand_asm_operands): If -fcheck-memory-usage,
- disallow asm statments.
- * toplev.c (flag_check_memory_usage, flag_prefix_function_name): New
- variable.
- (f_options): Add `check-memory-usage' and `prefix_function_name'.
- (main): Disable `-fomit-frame-pointer' if `-fcheck-memory-usage' is set
- and the machine can't debug without the frame pointer.
- * tree.h (built_in_function): Add BUILT_IN_AGGREGATE_INCOMING_ADDRESS.
- * varasm.c (make_function_rtl, make_decl_rtl): Add a prefix when
- flag_prefix_function_name_usage is set.
- (assemble_name): Strip the CHKR_PREFIX.
- * alpha.c (alpha_builtin_saveregs): If -fcheck-memory-usage,
- set rights of saved registers.
- * clipper.c (clipper_builtin_saveregs): Likewise.
- * m88k.c (m88k_builtin_saveregs): Likewise.
- * pa.c (hppa_builtin_saveregs): Likewise.
- * sparc.c (sparc_builtin_saveregs): Likewise.
-
-Sat Aug 2 08:01:12 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * c-decl.c (grokdeclarator): Give error for `long double' and
- refine text of some error messages.
-
- * alpha.h (FLOAT_VALUE_TYPE, INTIFY, FLOATIFY, FLOAT_ARG_TYPE): Define.
- * i860.h (FLOAT_VALUE_TYPE): Fix typo; was FLOAT_TYPE_VALLUE.
-
- * calls.c (store_one_arg): Allow stack_slot to be SP in
- ARGS_GROW_DOWNWARD case.
-
- * c-decl.c (parmlist_tags_warning): Only suppress warning on
- union if anonymous.
-
- * libgcc2.c (_trampoline): Rework last change; both getpagesize
- and mprotect are in cygwin32.
-
- * reload1.c (reload): Add IN_ADDR to IN_ADDR_ADDR when computing
- needs since they conflict.
-
- * print-rtl.c (indent): Move to file level; was static in print_rtx.
- (print_inline_rtx): New function.
- * reload.c (debug_reload): Rework to make output more compact.
-
- * dwarfout.c (output_compile_unit_die): Add support for Pascal.
- * dwarf2out.c (gen_compile_unit_die): Likewise.
-
- * c-typeck.c (lvalue_p, case BIND_EXPR, RTL_EXPR): Return 1 if array.
-
- * Makefile.in (OBJC_OBJC): Delete from here.
-
- * varasm.c (compare_constant_1, case STRING_CST): Compare TYPE_MODE.
- (record_constant_1, case STRING_CST): Record TYPE_MODE.
-
- * tree.c (contains_this_placeholder_p): Delete.
- (contains_placeholder_p): Now contains code from above function.
- (contains_placeholder_p, case 'r'): Don't look at offset info.
- * expr.c (expand_expr, case PLACEHOLDER_EXPR): Find innermost
- matching and don't check contains_placeholder_p.
-
-Fri Aug 1 17:15:07 1997 Per Bothner <bothner@cygnus.com>
-
- * objc/objc-act.c (lang_init): Don't check_newline #if USE_CPPLIB.
- * c-lex.c (lang_init): Remove (recently moved here).
- * c-lang.c (lang_init): Restore, but add #if !USE_CPPLIB.
-
-Fri Aug 1 11:26:45 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (pa_reorg): Explode ADDR_DIFF_VEC insns too.
-
-Thu Jul 31 19:37:22 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * libgcc2.c (getpagesize): Don't compile if __CYGWIN32__.
-
-Thu Jul 31 16:04:42 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.c (output_to_reg, output_fix_trunc): Use scratch memory,
- if available, instead of dynamically extending the stack.
- (put_condition_code, print_operand): Added reverse_cc to reverse the
- comparison when $ah is accessed directly instead of using eflags
-
- * i386.md (*trunc*): Use scratch memory for output_fix_trunc.
- (movsicc_1, movhicc_1) Change alternative 3 to:
- jCC L1; mov; jmp L2; L1:mov; L2:
- (movsfcc, movdfcc, movxfcc): Force constant operands to memory.
- (movsfcc_1, movdfcc_1, movxfcc_1): Change alternative 3 as above.
-
-Thu Jul 31 16:04:42 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * i386.h (MAX_FIXED_MODE_SIZE): Define.
-
-Thu Jul 31 16:04:42 1997 Robert Lipe <robertl@dgii.com>
-
- * i386/sco5.h (SWITCHES_NEED_SPACES) Define.
- Required by the COFF (but not ELF) linker.
-
-Wed Jul 30 15:03:52 1997 Per Bothner <bothner@cygnus.com>
-
- * demangle.h (DMGL_JAVA): New option to request Java demangling.
- * cplus-dem.c: Various changes to produce Java output when passed
- DMGL_JAVA. Thus "::" becomes "." and "JArray<Foo>" becomes "Foo[]".
- (main): Support --java and -j flags to set DMGL_JAVA.
-
-Wed Jul 30 08:56:08 1997 Philip Blundell <Philip.Blundell@pobox.com>
-
- * configure.in (arm-*-*): Replace with arm-*-aout.
- * arm/aout.h (SET_ASM_OP): Define by default.
- * arm/riscix.h (SET_ASM_OP: Undefine.
- * arm.h (CPP_SPEC): Add %(subtarget_cpp_spec).
- (SUBTARGET_CPP_SPEC): New macro.
- * arm/linux.h: Include aout.h rather than arm.h directly.
- (TARGET_CPU_DEFAULT): Define.
- ({ASM,CPP}_SPEC): Remove.
- * arm/t-linux (MULTILIB_OPTIONS): Use -mapcs-NN instead of -mN.
- (LIB1ASMSRC): Use generic ARM version.
- (CROSS_LIBGCC1): Define.
- * arm/lib1funcs-linux.asm: Remove.
-
-Tue Jul 29 17:57:47 1997 Per Bothner <bothner@cygnus.com>
-
- * Add hooks for using autconf-style Makefile.in in language subdirs.
- * configure.in (all_outputs, oldstyle_subdirs): New variables.
- Pass all_outputs to AC_OUTPUT.
- * configure.lang: Only iterate over oldstyle_subdirs.
-
- * Patches to use cpplib with cc1 #if USE_CPPLIB.
- * configure.in (--enable-c-cpplib): New option.
- (extra_c_flags, extra_c_objs): New variables.
- * Makefile.in (EXTRA_C_OBJS): New variable.
- (INTERNAL_CFLAGS): Add @extra_c_flags@.
- (C_OBJS): Add $(EXTRA_C_OBJS).
- * c-lex.c (generally): Replace getc and ungetc by macros GETC and
- UNGETC. Avoid explicit references to finput.
- (yy_get_token): New function, that calls cpp_get_token.
- (init_parse): New function - calls init_lex.
- (finish_parse): New function (called by compile_file).
- (GET_DIRECTIVE_LINE): New macro wrapper replaces get_directive_line.
- (lang_init): Don't check_newline - already know main_input_filename.
- (handle_sysv_pragma): Remove FILE* parameter.
- * toplev.c (finput): Remove #if USE_CPPLIB.
- (compile_file): #if USE_CPPLIB don't open input file here,
- do it in cpp_start_read. Call init_parse instead of init_lex.
- At end, call finish_parse instead of fclose(finput).
-
-Mon Jul 28 15:48:29 1997 Brendan Kehoe <brendan@cygnus.com>
-
- * integrate.c (expand_inline_function): Use xmalloc instead of
- alloca for the LABEL_MAP.
- (save_for_inline_copying): Likewise.
-
-Mon Jul 28 11:22:16 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (compile_file): Also emit any deferred TREE_PUBLIC inlines.
- (rest_of_compilation): Use decl_printable_name instead of DECL_NAME
- to identify functions in the RTL dump files.
-
- * dwarf2out.c (add_location_or_const_value_attribute):
- leaf_renumber_regs_insn. Also eliminate_regs here.
- (add_AT_location_description): Not here. Don't emit anything
- for a variable that has been optimized away.
- (add_const_value_attribute): Likewise.
-
- * dwarfout.c (location_or_const_value_attribute):
- leaf_renumber_regs_insn. Also eliminate_regs here.
- (location_attribute): Not here.
-
- * stor-layout.c (layout_type): Fix ancient code to match ancient
- comment. Use mode of field for one-field structs.
-
-Sun Jul 27 12:09:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * function.c (put_var_into_stack, trampoline_address): Treat
- inline_function_decl like current_function_decl.
- * expr.c (expand_expr, case LABEL_DECL): Likewise.
- (expand_expr, case SAVE_EXPR): Handle top-level SAVE_EXPR by
- moving into current function; abort if in incorrect context.
- * fold-const.c (fold_range_test, fold): Avoid making SAVE_EXPR
- if at top level.
-
- * dwarfout.c (ASM_OUTPUT_SOURCE_FILENAME): Delete default value.
-
- * alpha.h (TARGET_SWITCHES): Add -mno-byte.
-
- * expr.c (get_inner_unaligned_p): Deleted.
- (expand_assignment): Remove special-case of constant array.
- (expand_expr, case ARRAY_REF): Likewise, and clean up remaining code.
-
- * explow.c (probe_stack_range): Do probing with loop if more
- than a small number.
-
-Fri Jul 25 15:42:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * configure.in: Finish fixing calculation if default thread
- support is enabled.
-
-Fri Jul 25 15:30:09 1997 Doug Evans <dje@cygnus.com>
-
- * Makefile.in (native): Depend on config.h.
- (gcc.o): Depend on Makefile, not config.status.
-
-Fri Jul 25 10:56:50 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (pa_reorg): If TARGET_BIG_SWITCH, then do not explode
- ADDR_VEC insns. Slightly rework code which explodes ADDR_VEC
- insns.
- * pa.h (TARGET_BIG_SWITCH): Define.
- (TARGET_SWITCHES): Add "big-switch" and "no-big-switch".
- (CASE_VECTOR_MODE): Use TI or DI depending on TARGET_BIG_SWITCH.
- (CASE_DROPS_THROUGH): Remove definition.
- (ASM_OUTPUT_ADDR_VEC_ELT): Rewrite to handle TARGET_BIG_SWITCH.
- (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
- * pa.md (casesi): Rework to avoid some potential long branch
- problems (also makes generated code faster!). Handle
- TARGET_BIG_SWITCH.
- (casesi0): Corresponding changes.
-
-Fri Jul 25 08:36:47 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * calls.c: (expand_call): If -fstack-check and temp needed
- for arg is too large, use alloca.
- * expr.c (expand_expr, case MODIFY_EXPR): Don't preexpand calls
- if LHS is an indirect via a constant pointer.
-
-Thu Jul 24 21:49:11 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * bitmap.c (bitmap_operation): Reset CURRENT on deferred deletion.
-
-Wed Jul 23 23:52:14 1997 Chris Smith <csmith@convex.hp.com>
-
- * convex.h (CHECK_FLOAT_VALUE): Fix OVERFLOW capitalization.
-
-Wed Jul 23 13:00:47 1997 Richard Earnshaw <rearnsha@cambridge.arm.com>
-
- * configure.in (arm-*-netbsd*): Fix typo setting tmake_file.
-
-Wed Jul 23 06:39:35 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * configure.in (alpha*): Put quotes around MASK_GAS.
-
-Tue Jul 22 15:24:45 1997 Brendan Kehoe <brendan@cygnus.com>
-
- * tree.c (array_type_nelts): Make sure the domain of TYPE is set
- before we try to use it.
-
-Tue Jul 22 12:26:13 1997 Doug Evans <dje@cygnus.com>
-
- * sparc.c (gen_v9_scc): Handle early clobber of result.
- * sparc.md (seqdi_special): Don't clobber %xcc.
- (snedi_special, seqdi_special_trunc, snedi_special_trunc): Likewise.
- (snedi_zero, neg_snedi_zero, seqdi_zero, neg_seqdi_zero): Likewise.
- (snedi_zero_trunc, seqdi_zero_trunc): Likewise. Renamed from ..._sp64.
- (snedi_zero_trunc_sp32, seqdi_zero_trunc_sp32): Delete.
-
- * Makefile.in (Makefile): Pass xmake_file, tmake_file to
- configure.frag
- (distclean): Delete Make-host, Make-target.
- * configure.in (host_overrides): Set to Make-host.
- (dep_host_xmakefile): Loop over all elements in host_make_file.
- (target_overrides): Set to Make-target.
- (dep_tmake_file): Loop over all elements in tmake_file.
- (configure.frag): Pass dep_host_xmake_file, dep_tmake_file.
- * configure.frag: New arguments xmake_files, tmake_files.
- Build Make-host, Make-target.
-
-Mon Jul 21 23:17:44 1997 Paul Eggert <eggert@twinsun.com>
-
- * objc/Make-lang.in, objc/Makefile.in: Comment out lines containing
- just formfeeds.
-
-Mon Jul 21 14:05:46 1997 Doug Evans <dje@cygnus.com>
-
- * Makefile.in (Makefile): Depend on config.status instead
- of configure.
- (config.status): Depend on configure. Run config.status --recheck
- if out of date.
- (cstamp-h.in): Use echo instead of touch.
-
- * reload1.c (reload_cse_mem_conflict_p): Restore handling of
- (mem:BLK const0_rtx) meaning all memory is clobbered.
-
-Mon Jul 21 06:20:10 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.md (iorsi_zexthi_ashl16): Mark output operand as earlyclobber.
-
-Sun Jul 20 06:11:30 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * configure.in (alpha*-*-*): Set cpu_type to alpha.
- Change "alpha-" to "alpha*-" in all entries.
- Set target_cpu_default for ev5 and ev56 systems.
- Use symbolic names for target_cpu_default.
- * alpha.c (override_options): Set default for alpha_cpu
- from TARGET_CPU_DEFAULT.
- * alpha.h (MASK_CPU_EV5): New macro.
-
- * tree.c (contains_placeholder_p): Call contains_this_placeholder_p.
- (contains_this_placeholder_p): Renamed from contains_placeholder_p.
- Added new arg, PL.
- Rework to make more consistent, check more codes, and avoid
- undefined fields.
- * expr.c (expand_expr, case PLACEHOLDER_EXPR): Pick outermost
- object in placeholder_list of right type without a PLACEHOLDER_EXPR.
-
-Sat Jul 19 18:00:01 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha.c (override_options): Allow processor of ev56 or 21164a.
- (input_operand, case MEM): Correct test involving TARGET_BYTE_OPS.
- * alpha.h (SECONDARY_{IN,OUT}PUT_RELOAD_CLASS): Don't need for
- QImode or HImode if TARGET_BYTE_OPS.
- (ASM_FILE_START): Write a .arch directive.
- (STACK_CHECK_BUILTIN): New macro.
- * alpha.md ({zero_,}extend[qh]i[dsh]i2): Rework TARGET_BYTE_OPS cases.
- (mov[hq]i): Likewise.
- (extend[qh]i[hsd]i2x): Add missing cases and fix typo in constraint.
- (reload_{in,out}[qh]i): Disable for TARGET_BYTE_OPS.
-
-Fri Jul 18 23:24:57 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * varasm.c (make_decl_rtl): Don't use ASM_FORMAT_PRIVATE_NAME for
- local decls with TREE_PUBLIC set.
- (bc_make_decl_rtl): Likewise.
-
-Fri Jul 18 22:16:28 1997 Doug Evans <dje@cygnus.com>
-
- * configure.in: Invoke AC_CONFIG_HEADER.
- Check for string.h, strings.h, stdlib.h, time.h, unistd.h.
- Check for whether malloc/realloc/free need to be declared.
- (links): Rename config.h to config2.h.
- (AC_OUTPUT): Create cstamp-h.
- * Makefile.in (config.in,cstamp-h.in): Add rules for.
- (config.h,cstamp-h): Add rules for.
- (distclean): Delete config2.h, cstamp-h.
- (ALL_CFLAGS): Add @DEFS@.
- * aclocal.m4, acconfig.h: New files.
-
- * Makefile.in (distclean): Delete Make-host, Make-target.
- * configure.in (host_overrides): Set to host_xmake_file, don't create
- Make-host.
- (target_overrides): Set to tmake_file, don't create Make-target.
- (language subdir support): Keep together.
-
- * c-decl.c (duplicate_decls): Set DECL_ABSTRACT_ORIGIN to olddecl
- if inline function and not new definition.
-
- * configure.in: Don't loop trying to configure language subdirs.
- Don't pass to configure.lang variables it doesn't use.
- * configure.lang: Delete top level directory from loop.
- Delete code not useful for language subdirs.
-
-Fri Jul 18 08:12:53 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * toplev.c (rest_of_compilation): Call reload_cse_regs here.
- * reload1.c (reload): Don't call it here.
- (reload_cse_mem_conflict_p): Remove MEM_OFFSET and MEM_MODE args.
- (reload_cse_mem_conflict_p, case MEM): Call anti_dependence.
- (reload_cse_invalidate_mem): Update call to reload_cse_mem_conflict_p.
- (reload_cse_regs): No longer static.
- Call init_alias_analysis.
- Ignore CLOBBER in a PARALLEL.
-
-Fri Jul 18 06:44:22 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * objc/Make-lang.in (objc-headers): Fix command for the new build
- directory layout, don't pass srcdir variable.
- * objc/Makefile.in (copy-headers): Use $(srcdir) from this
- makefile, not the parent's.
-
-Thu Jul 17 16:03:03 1997 Doug Evans <dje@cygnus.com>
-
- * configure.lang (EXTRA_HEADERS,EXTRA_PASSES,EXTRA_PARTS): Delete.
- (EXTRA_PROGRAMS,EXTRA_OBJS,EXTRA_GCC_OBJS,MD_DEPS): Delete.
- (version) Delete duplicate entry.
- * configure.in (merged_frags): Delete unused variable.
- (extra_headers_list): Move setting outside of subdir loop.
- (extra_headers,extra_passes): Don't pass to configure.lang.
- (extra_programs,extra_parts,extra_objs): Likewise.
- (host_extra_gcc_objs,gxx_include_dir,md_cppflags): Likewise.
-
-Thu Jul 17 07:00:43 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.h (STACK_CHECK_*): Provide default values.
- (probe_stack_range): New declaration.
- * flags.h (flag_stack_check): Likewise.
- * explow.c (allocate_dynamic_stack_space): Call probe_stack_range.
- (emit_stack_probe, probe_stack_range): New functions.
- * function.c (expand_function_end): If function is non-leaf and stack
- checking is requested, emit needed probes.
- * reload1.c (reload): If checking stack, verify frame small enough.
- * stmt.c (expand_decl): If stack checking, use alloca for large vars.
- * toplev.c (flag_stack_check): New variable.
- (f_options): Add "stack-check".
-
- * reorg.c (mark_target_live_regs): Pass FIRST_PSEUDO_REGISTER to
- call to EXECUTE_IF_SET_IN_REG_SET.
-
-Wed Jul 16 14:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * i960.h (ASM_OUTPUT_ALIGNED_BSS): Define.
- (ASM_OUTPUT_ALIGNED_LOCAL): Use standard method to convert ALIGN
- to power-of-two of bytes.
-
- * sparc.h (ASM_OUTPUT_ALIGNED_BSS): Define.
- * sparc/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Undef before definition.
-
-Wed Jul 16 14:34:09 1997 Klaus Espenlaub (kespenla@hydra.informatik.uni-ulm.de)
-
- * calls.c (emit_library_call_value): Initialize all argvec elements.
-
-Wed Jul 16 14:31:39 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * global.c (global_conflicts): Pass FIRST_PSEUDO_REGISTER to
- call to EXECUTE_IF_SET_IN_REG_SET.
-
-Wed Jul 16 10:57:03 1997 Richard Earnshaw (rearnsha@cambridge.arm.com)
-
- * From Rob Black (r.black@ic.ac.uk) and Mark Brinicombe
- (amb@physig.ph.kcl.ac.uk):
- * configure.in (arm-*-netbsd*): New configuration.
- * arm/netbsd.h, arm/t-netbsd, arm/xm-netbsd.h: New files.
-
-Wed Jul 16 10:57:03 1997 Richard Earnshaw (rearnsha@cambridge.arm.com)
-
- * arm.c (tune_flags): New variable.
- (target_{cpu,fpe}_name): Delete.
- (arm_fpu_arch): New variable.
- (arm_select): Also allow -march=... to configure just the
- architecture.
- (all_procs): Allow armv{2,2a,3,3m,4,4t} for use with -march=.
- (arm_override_options): Handle -march=, but don't let -mcpu=
- and -mtune= match the architecture names, since we can only
- tune for an implementation. Rework selection of tuning options
- for floating point.
- (use_return_insn): Support interworking with Thumb code.
- (arm_rtx_costs): Rework multiply costs so that cost is based on
- the tune, not the architecture.
- (f_register_operand): New function.
- (output_return_instruction): Support interworking with Thumb code.
- (output_func_epilogue): Support interworking with Thumb code.
- Remove redundant calculation of code_size. Use floating-point
- load-multiples if permitted.
- (emit_sfm): New function.
- (arm_expand_prologue): Use floating-point store-multiples if
- permitted.
-
- * arm.h (CPP_CPU_ARCH_SPEC): Handle -march=...
- (TARGET_OPTIONS): Add arch= and fp=. Delete fpe=.
- (enum processor_type): Add PROCESSOR_NONE, for use in all_procs table.
- (FP_DEFAULT): Default floating point architecture for generic
- back-end.
- (PREDICATE_CODES): Add f_register_operand.
-
- * arm.md (*push_fp_multi): New pattern.
-
-
-Tue Jul 15 22:08:47 1997 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (exeext): Set to build_exeext not exeext.
- * configure.in (exeext): Delete redundant set and AC_SUBST call.
- Change remaining AC_SUBST to use build_exeext instead of exeext.
-
-Tue Jul 15 15:48:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * configure.in: Fix calculation if default thread support is enabled.
-
-Tue Jul 15 13:38:46 1997 Mike Meissner <meissner@cygnus.com>
-
- * rtl.h (replace_regs): Declare.
-
-Mon Jul 14 16:18:19 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * i960.h (ASM_OUTPUT_MI_THUNK): Define.
-
- * dwarf2out.c (gen_subprogram_die): Remove unreachable and redundant
- code.
-
-Mon Jul 14 14:22:45 1997 Jeffrey A Law (law@cygnus.com)
-
- * calls.c (emit_library_call): Use right index into argvec array
- when iterating over arguments which need to be pushed on the stack.
- (emit_library_call_value): Likewise.
-
-Mon Jul 14 08:17:41 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * gcc.c (convert_filename): Fix typo.
-
-Mon Jul 14 08:10:12 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * configure.in: Clear headers and lib2funcs before re-reading
- config-lang.in.
-
- * m68k/linux.h (LINK_SPEC): Fix last change.
-
-Mon Jul 14 08:03:38 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * configure.in (sparc-*-linux-gnu{*,libc1*}): Add sparc/t-linux.
- * sparc/t-linux: New file.
-
- * alpha/elf.h (LINK_SPEC): Fix typo.
- * configure.in (alpha-*-linux-gnu*): Set tmake_file.
- * alpha/t-linux: New file.
-
-Mon Jul 14 07:41:37 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k.c (output_{and,ior,xor}si3): New functions from patterns bodies.
- * m68k.h (output_{and,ior,xor}si3): New extern declarations.
- * m68k.md (adddi3, subdi3): Allow constant operand.
- (anddi3, iordi3, xordi3): New patterns.
- ({and,ior,xor}si3_internal): Use corresponding output_???si3 function.
-
-Mon Jul 14 07:33:11 1997 Fila Kolodny <fila@ibi.com>
-
- * configure.in (*-*-gnu*): Add crt{begin,end}S.o to extra_parts.
-
-Mon Jul 14 07:26:36 1997 Craig Burley <burley@gnu.ai.mit.edu>
-
- * varasm.c (assemble_variable): If low part of size
- doesn't fit in an int, variable is too large.
-
-Mon Jul 14 06:51:37 1997 Mike Meissner <meissner@cygnus.com>
-
- * bitmap.{h,c}: New files.
- * Makefile.in (OBJS): Add bitmap.o.
- (BASIC_BLOCK_H): New make variable for basic-block.h, bitmap.h.
- ({flow,combine,regclass,local-alloc,reload1,reorg,sched}.o): Use
- BASIC_BLOCK_H variable instead of basic-block.h.
- * basic-block.h (*REG_SET): Delete old implementation; use bitmap.h.
- (regset_{size,bytes}): Delete.
- (regs_live_at_setjmp): Declare.
- (EXECUTE_IF_SET_AND_RESET_IN_REG_SET): Delete.
- * flow.c (init_regset_vector): Make global; don't take basic block
- times # of pseduos as argument.
- (life_analysis): Change all init_regset_vector calls.
- Use free_regset_vector to release arrays only flow uses at end.
- (allocate_for_life_analysis): Change init_regset_vector call.
- Don't set regset_{size,bytes}.
- (free_regset_vector): Call FREE_REG_SET to release any
- memory allocated by each vector.
- (propagate_block): Call FREE_REG_SET on dead/live.
- (mark_used_regs): Don't use REGSET_ELT_TYPE anymore.
- * output.h (allocate_for_life_analysis): Add declaration.
- (regno_uninitialized, regno_clobbered_at_setjmp): Likewise.
- (dump_flow_info, flow_analysis): Likewise.
- * regclass.c (init_reg_sets): Invoke INIT_ONCE_REG_SET.
- (allocate_reg_info): Invoke MAX_REGNO_REG_SET.
- (regset_release_memory): Free basic_block_live_at_start storage.
- * reorg.c (mark_target_live_regs): Delete unused variables.
- * sched.c (schedule_block): Free space associated with
- reg_pending_sets and old_live_regs.
- (schedule_insns): Free bb_{dead,live}_regs on first pass.
- (sched_analyze_insn): Use EXECUTE_IF_SET_IN_REG_SET and then clear.
- * toplev.c (rest_of_compilation): Call regset_release_memory.
-
-Mon Jul 14 00:14:13 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (main): Prefer DWARF 2 or stabs with -ggdb.
- * ns32k/tek6000.h (PREFERRED_DEBUGGING_TYPE): DBX_DEBUG.
- * alpha.h (PREFERRED_DEBUGGING_TYPE): SDB_DEBUG.
- * mips.h (PREFERRED_DEBUGGING_TYPE): SDB_DEBUG.
-
-Sun Jul 13 15:11:08 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * stupid.c (stupid_mark_refs): If setting reg set only in this
- insn and not referenced, make REG_UNUSED note.
-
-Sun Jul 13 14:03:19 1997 Michael Meissner <meissner@cygnus.com>
-
- * gcc.c (process_command): If -save-temps and -pipe were specified
- together, don't do -pipe.
-
-Sun Jul 13 12:27:03 1997 Doug Evans <dje@cygnus.com>
-
- * gcc.c (main): Handle blank in version_string when comparing
- with compiler_version.
-
-Sat Jul 12 01:53:55 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * sparc.c (output_function_prologue): Fix offset from CFA.
- (sparc_flat_output_function_prologue): Likewise.
-
-Fri Jul 11 09:49:15 1997 Jeffrey A Law (law@cygnus.com)
-
- * mips.c (epilogue_reg_mentioned_p): Delete unused function.
- (mips_epilogue_delay_slots): Likewise.
- (function_epilogue): Greatly simplify.
- (mips_expand_epilogue): If we have a null prologue/epilogue,
- then use a normal return insn. Emit blockage insns before
- stack pointer adjustments.
- (mips_can_use_return_insn): Renamed from simple_epilogue_p. All
- callers changed. Do not use return insns if $31 is live in the
- function or if generating profiling information.
- * mips.h (DELAY_SLOTS_FOR_EPILOGUE): Delete.
- (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
- * mips.md (return): Remove expander and change the pattern to
- look like a standard "return" insn.
- (return_internal): Show use of $31 explictly.
- (epilogue expander): Enable.
-
-Thu Jul 10 13:04:53 1997 Doug Evans <dje@cygnus.com>
-
- * cccp.c (INO_T_EQ): Return 0 for MSDOS.
-
- * Makefile.in (CC): Use autoconf value.
-
-Tue Jul 8 18:08:00 1997 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (gen_subprogram_die): When handling declarations, test
- DECL_CONTEXT not decl_class_context before equate_decl_number_to_die.
-
-Tue Jul 8 16:47:13 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (movsi define_split): Use unsigned HOST_WIDE_INT,
- not unsigned.
-
-Sat Jul 7 00:01:41 1997 Jim Meyering <meyering@eng.ascend.com>
-
- * i386/t-sol2 (crt[1in].o): Also depend on $(GCC_PASSES).
-
-Fri Jul 4 11:45:39 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (DWARF_CIE_HEADER_SIZE, DWARF_FDE_HEADER_SIZE,
- size_of_cfi, size_of_fde, calc_fde_sizes, next_fde_offset,
- cie_size): Lose.
- (ASM_OUTPUT_DWARF_STRING): Move earlier.
- (INCOMING_FRAME_SP_OFFSET): Provide default.
- (initial_return_save): Adjust for CFA offset.
- (dwarf2out_frame_debug): Lookup initial CFA offset when setting up.
- (output_call_frame_info): Use label subtraction for length fields.
- Add pointer to exception region information in for_eh case.
- (dwarf2out_do_frame): New fn.
- (dwarf2out_frame_init): Use INCOMING_FRAME_SP_OFFSET.
- (dwarf2out_frame_finish): Don't bother emitting .debug_frame for
- non-Irix targets. Just emit .eh_frame.
- (output_die): Refer to an FDE with label subtraction.
- * i386.h (INCOMING_FRAME_SP_OFFSET): Define.
- * defaults.h (DWARF2_UNWIND_INFO): Define if
- INCOMING_RETURN_ADDR_RTX is provided.
- * final.c (final): Don't call dwarf2out_frame_debug unless we are
- doing dwarf 2.
-
-Thu Jul 3 17:37:52 1997 Jim Wilson <wilson@cygnus.com>
-
- * fp-bit.c (unpack_d): Check fraction not sign to distinquish QNaN.
-
-Wed Jul 2 09:48:03 1997 Michael Meissner <meissner@cygnus.com>
-
- * loop.c (strength_reduce): Make sure register does not exceed the
- table size when looking up the last UID.
-
-Wed Jul 2 07:47:44 1997 Nick Burrett <n.a.burrett@btinternet.com>
-
- * genoutput.c (process_template): Place increment expression
- outside of putchar function call.
-
-Wed Jul 2 06:56:52 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * sparc/linux.h (LIBGCC_SPEC): Removed.
- (CC1_SPEC): Add %{profile:-p}.
- ({CPP,LIB,LINK}_SPEC): Choose glibc 1 or 2 depending on USE_GNULIBC_1.
- * configure.in (sparc-*-linux-gnulibc1*): New configuration.
-
- * configure.in (powerpc-*-linuxgnu*): Default thread_file is posix.
- Set xmake_file to x-linux. Add extra_parts.
- * rs6000/linux.h (LINK_SPEC): Defined.
-
- * m68k/linux.h (LINK_SPEC): Pass -shared for -shared.
- ({CPP,LINK}_SPEC): Choose for glibc 1 or 2 depending on USE_GNULIBC_1.
- * configure.in (m68k-*-linux-gnu*): Default thread_file is `posix'.
- (m68k-*-linux-gnulibc1): New configuration.
-
- * alpha/elf.h (LINK_SPEC): Change ld-gnu.so.1 to ld-linux.so.2.
- * configure.in (alpha-*-linux-gnu*): Default thread_file is `posix'.
-
-Wed Jul 2 06:12:37 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * alpha.md (divsi3, modsi3, udivsi3): Comment out.
- (extendsfsd2_no_tp): Add alternative with output in MEM, input in REG.
-
- * configure.in (*-linux*): Add "-gnu" to names to match.
-
- * libgcc2.c (_trampoline): Add stdcall attribute to VirtualProtect
- on i386.
-
- * objc/objc.gperf: Renamed from gperf.
-
-Wed Jul 2 05:42:19 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * objc/Make-lang.in ($(srcdir)/objc/objc-parse.c): Fix command
- to use the right file names.
-
-Tue Jul 1 23:25:42 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * reorg.c (redundant_insn): If INSN or possible match has REG_UNUSED
- note, don't have match.
-
-Tue Jul 1 18:36:24 1997 Doug Evans <dje@cygnus.com>
-
- * mips.c (mips_output_external): Don't output .extern's for
- variables in user specified sections unless they're .sbss/.sdata.
-
-Tue Jul 1 18:30:26 1997 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (find_best_addr): Add missing rtx_cost arguments.
-
- * fp-bit.c (float_to_usi): Move code for negative numbers before code
- for infinity. Modify infinty code to only handle positive infinities.
-
-Tue Jul 1 11:16:41 1997 Robert Lipe <robertl@dgii.com>
-
- * fixinc.sco: Restore pwd after copy.
- Convert declaration of abs in math.h to prototype.
- Fix static functions in sys/stat.h for C++.
-
-Tue Jul 1 10:55:47 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md ({add,ior,xor}si3): Change to use define_expand wrapper
- and split add/ior/xor of large constants early.
- (andsi3): Remove 6/29 code to do and of large constants.
- (nor, nand, eqv, maskir): Add names to all logical define_insns.
-
-Tue Jul 1 09:03:35 1997 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (BIGGEST_FIELD_ALIGNMENT): Remove definition.
- * mips.h (BIGGEST_FIELD_ALIGNMENT): Likewise.
-
-Mon Jun 30 14:58:00 1997 Jeffrey A Law (law@cygnus.com)
-
- * sh.c (sh_expand_epilogue): Emit blockage insn before cutting
- back stack.
-
-Sun Jun 29 11:27:07 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (TARGET_FLAGS): Add -m{,no-}update to suppress
- creating load/store with update instructions, and also
- -m{,no-}fused-madd to suppress the generation of fused add and
- multiply instructions. Move debug flags to TARGET_OPTIONS.
- (GO_IF_LEGITIMATE_ADDRESS): Don't allow PRE_{INC,DEC} if -mno-update.
- (GO_IF_MODE_DEPENDENT_ADDRESS): Ditto.
- (rs6000_debug_{name,stack,arg}): Add declarations.
- (toc_initialized): Likewise.
- (got_no_const_operand): Likewise.
- (PREDICATE_CODES): Add got_no_const_operand.
- (toc_section): Make toc_initialized a global.
- (RTX_COSTS): Set appropriate costs for add, logical operators that
- are really two instructions.
-
- * rs6000.c (rs6000_debug_{name,stack,arg}): Add definitions.
- (rs6000_override_options): Process debug flags.
- (toc_initialized): Global to say toc initialized.
- (small_data_operand): Use #if TARGET_ELF, not #ifdef TARGET_SDATA.
- (rs6000_init_expanders): Likewise.
- (SMALL_DATA_RELOC): Likewise.
- (got_no_const_operand): Recognize SYMBOL_REF and LABEL_REF.
- (rs6000_makes_calls): System V profiling doesn't count as a call.
- (rs6000_stack_info): Likewise.
- (rs6000_output_load_toc_table): Take register number argument to
- determine register to load. Generate correct code if more than
- one toc table is done in System V due to profiling or non-local
- gotos. If System V toc is not initialized, initialize it now.
- (rs6000_allocate_stack_space): Move code from output_prolog to
- allocate stack space. Take -mno-update into account.
- (output_prolog): Call rs6000_allocate_stack_space. Only set
- rs6000_pic_func_labelno if not profiling.
- (output_function_profiler): Implement System V profiling.
- (and_operand): Don't call reg_or_short_operand.
- (rs6000_finalize_pic): If not optimizing, insert a USE of the GOT
- register as the last insn.
-
- * rs6000.md (load/store update): Take -mno-update into account.
- If -msoft-float, support SF load/store with update to GPR regs.
- (allocate_stack): Take -mno-update into account.
- (add/subtract + multiply instructions): Take -mno-fused-madd into
- account.
- (nonlocal_goto_receiver): Specify register # to load.
- ({add,and,ior,xor}si3): Recognize operation done with full 32 bit
- constant, splitting latter if need be.
- (andsi3 define_split): Fix up splitting andsi3 of large constant.
- ({ior,xor}si3 define_split): Use GEN_INT to create integer rtx
- values.
- (movsi_got{,_internal}): Split the load of a CONST into load of
- the SYMBOL_REF/LABEL_REF and an add.
- (movsi): Know that addsi3 can handle large values now for NT.
-
- * sysv4.h (TARGET_SDATA): Remove explicit bit for -msdata.
- (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
- (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
- (SUBTARGET_SWITCHES): Indicate -m{,no-}sdata doesn't set any flags.
- (ASM_SPEC): Only pass -m{,no-}reg-names if assembling .s/.S files.
- (CC1_SPEC): If -msdata, invoke compiler with -msdata=default.
- (PROFILE_BEFORE_PROLOGUE): Likewise.
- (RS6000_MCOUNT): Define as "_mcount".
- (toc_section): Make toc_initialized a global.
-
-Fri Jun 27 19:01:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * config/t-linux-gnulibc1: New file.
- * configure.in (i[3456]86-*-linux*): Default thread_file is `posix'.
- (i[3456]86-*-linux*gnulibc1): New case.
- * config/linux.h (LIB_SPEC): Choose for glibc 1 or 2 depending
- on USE_GNULIBC_1.
- * i386/linux.h (CPP_SPEC, LINK_SPEC): Likewise.
-
-Fri Jun 27 19:00:52 1997 Ralf Baechle <ralf@waldorf-gmbh.de>
-
- * config/linux.h (PREFERRED_DEBUGGING_TYPE): Undefine before define.
-
-Fri Jun 27 18:35:04 1997 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * configure.in: Clean up Make-{host,target,hooks} in all
- subdirs, not just '.'.
- * Makefile.in (distclean): Delete */Make-{host,target,lang,hooks}.
-
-Fri Jun 27 18:27:11 1997 Fila Kolodny <fila@ibi.com>
-
- * config/xm-gnu.h (fcntl.h): Only include if not building libgcc.a.
-
-Fri Jun 27 18:17:44 1997 Doug Evans <dje@cygnus.com>
-
- * configure.frag: Rewrite.
-
- * objc/Make-lang.in (OBJC_CCOMMON): Object files don't go in srcdir.
- (OBJC_OBJS): Likewise.
- (OBJC_O): Likewise.
- (objc-parse.o, objc-act.o): Fix rules.
- (objc/libobjc files): Fix rules.
-
-Fri Jun 27 13:23:38 1997 Andrew Cagney <cagney@tpgi.com.au>
-
- * fp-bit.c (float_to_si): Correct return value when Inf.
-
-Fri Jun 27 10:47:09 1997 Scott Christley <scottc@net-community.com>
-
- * Makefile.in (DLLTOOL): Define.
- * objc/Make-lang.in (libobjc_entry.o, libobjc_s.a, libobjc.dll):
- New targets.
- (objc.install-normal): Install Objective-C runtime as a DLL.
- (objc.mostlyclean): Clean up files used to build DLL.
- * objc/libobjc.def: New file.
- * objc/libobjc_entry.c: New file.
-
- * objc/sendmsg.c (search_for_method_in_list): No longer static.
-
- * Makefile.in (GCC_THREAD_FILE): Renamed from OBJC_THREAD_FILE.
- * configure.lang (GCC_THREAD_FILE): Likewise.
- * configure.in (--enable-threads): New parameter.
- * objc/Make-lang.in (OBJC_THREAD_FILE): New definition.e
- * objc/config-lang.in: Print message about ObjC thread file.
-
- * cccp.c (INO_T_EQ): Define for Win32 but not Cygwin32.
- * i386/mingw32.h: New file.
- * i386/xm-mingw32.h: New file.
- * configure.in (i[3456]86-*-mingw32): New target.
- * protoize.c (link): Eliminate definition on Win32.
-
- * objc/thr-posix.c (__objc_thread_yield): Use sched_yield instead.
-
-Fri Jun 27 10:36:41 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
- Round up when calculating possible end address.
-
-Wed Jun 25 19:54:29 1997 Jim Wilson <wilson@cygnus.com>
-
- * unroll.c (final_giv_value): Verify that bl->initial_value is
- invariant before trying to use it.
-
-Wed Jun 25 18:13:05 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/sysv4.h (WCHAR_TYPE{,_SIZE}): Make wchar_t long as per
- ABI spec.
-
-Wed Jun 25 16:56:16 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * sparc.h (INCOMING_RETURN_ADDR_RTX): Define.
- (DBX_REGISTER_NUMBER): Fix frame pointer regno for -mflat.
- * sol2.h (DBX_REGISTER_NUMBER): Likewise.
- * sparc.c (save_regs): Emit dwarf2 frame debug info.
- (output_function_prologue, sparc_flat_save_restore,
- sparc_flat_output_function_prologue): Likewise.
-
- * dwarf2.h (enum dwarf_call_frame_info): Add DW_CFA_GNU_window_save.
- * dwarf2out.c (dwarf_cfi_name, output_cfi): Support it.
- (dwarf2out_cfi_label): Make non-static.
- (initial_return_save): Support PLUS.
- (dwarf2out_window_save, dwarf2out_return_save,
- dwarf2out_return_reg): New fns.
-
- * dwarf2out.c (SECTION_FORMAT): Use PUSHSECTION_FORMAT, if defined.
- (DEBUG_INFO_SECTION): Rename from DEBUG_SECTION.
- (DEBUG_LINE_SECTION): Rename from LINE_SECTION.
- * mips/iris6.h: Likewise.
-
-Wed Jun 25 16:25:41 1997 Scott Christley <scottc@net-community.com>
-
- * Makefile.in (GCC_PASSES): Don't define with $(exeext).
- * configure.in ({cc,stage_prefix}_set_by_configure): Eliminate extra
- comma and don't pass value to configure.lang.
- * objc/Make-lang.in (objc-runtime): Add objc-headers.
-
- * configure.in: Execute configure.frag in a shell.
-
- * configure.in (cross_overrides, build_overrides): Default to
- /dev/null to help platforms where sed cannot handle empty filenames.
-
- * Reorganize thread implementation to make a clearly defined
- front-end/back-end interface.
- * objc/thr-{decosf1,irix,mach,os2,posix,pthreads,single}.c: Completely
- rework according to new interface.
- * objc/thr-{solaris,win32}.c: Likewise.
- * objc/thr.c: Likewise.
- * objc/thr.h: Define front-end/back-end interface functions and
- structures.
-
-Wed Jun 25 16:14:10 1997 Ovidiu Predescu <ovidiu@net-community.com>
-
- * Complete implementation of +load.
- * objc/init.c (objc_send_load): New function.
- (objc_class_tree): New structure.
- (create_tree_of_subclasses_inherited_from): New function.
- (__objc_tree_insert_class): New function.
- (objc_tree_insert_class): New function.
- (objc_preorder_traverse): New function.
- (objc_postorder_traverse): New function.
- (__objc_tree_print): New function.
- (__objc_destroy_class_tree_node): New function.
- (class_is_subclass_of_class): New function.
- (__objc_exec_class): Allocate class tree list and load hash table.
- (__objc_send_message_in_list): Rewrite using hash table.
- (__objc_send_load): Remove calls to _objc_load_callback.
- (objc_send_load): Make static. Create Tree of classes resembling
- class hierarchy for all modules. Call __objc_send_load on all of
- the modules in __objc_module_list.
- (__objc_create_classes_tree): New function.
-
- * objc/encoding.h (method_get_sizeof_arguments): Fix typo.
- * objc/objc-api.h (OBJC_ERR_BAD_STATE): New error code.
- On NeXT redefine object_copy and object_dispose to avoid
- a conflict with those defined in system library.
- * objc/selector.c (__objc_register_instance_methods_to_class): New
- function.
- * objc/runtime.h: Likewise. Add missing function prototypes.
-
-Wed Jun 25 15:09:01 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (Makefile): Execute configure.frag from srcdir.
-
- * Makefile.in (configure): Target is $(srcdir)/configure.
-
-Tue Jun 24 15:18:14 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k.h (LIMIT_RELOAD_CLASS): Define.
-
- * recog.c (constrain_operands): When checking earlyclobbers, use
- operands_match_p instead of rtx_equal_p.
-
- * dwarfout.c (field_byte_offset): Check for object_offset_in_bits
- greater than bitpos_int and recompute object_offset_in_bytes if true.
-
- * mips.md (movdi_internal): Add x/J alternative.
- (movdi_internal2): Add x/J alternative; change a/I to a/J.
- (movsi_internal1, movsi_internal2): Change x/I alternative to x/J.
-
-Tue Jun 24 08:49:56 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (ASM_OUTPUT_SECTION_NAME): Fix typo.
-
-Mon Jun 23 22:48:00 1997 Jim Wilson <wilson@cygnus.com>
-
- * unroll.c (find_splittable_givs): Set splittable_regs_updates to
- biv_count for reduced givs.
-
-Mon Jun 23 10:51:53 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.c, mn10200.h, mn10200.md: New files for mn10200 port.
- * lib1funcs.asm, divmod.c, udivmod.c, udivmodsi4.c: Likewise.
- * t-mn10200, xm-mn10200.h, va-mn10200.h: Likewise.
- * Makefile.in (USER_H): Add va-mn10200.h.
- * varargs.h, stdarg.h: Include va-mn10200.h.
- * configure.in (mn10200-*-*): New target.
-
-Sun Jun 22 06:47:19 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * combine.c (force_to_mode): Don't do anything for ASM_OPERANDS insn.
-
-Sun Jun 22 06:29:28 1997 J. Kean Johnston <jkj@sco.com>
-
- * ginclude/stdarg.h: Protect va_list definition from SCO headers.
- * ginclude/varargs.h: Likewise.
-
-Sat Jun 21 20:56:23 1997 Scott Christley <scottc@net-community.com>
-
- * Make ObjC a front-end language.
- * Makefile.in (LANGUAGES, COMPILERS, .PHONY, stmp-int-hdrs): Remove
- specific references to ObjC compiler and source files.
- ({mostly,dist,maintainer,}clean, install-normal): Likewise
- (OBJC_OBJS, OBJC, OBJECTIVE-C, cc1obj, objc-runtime): Rules deleted.
- (libobjc.a, sublibobjc.a, objc-parse.{o, c, y}): Rules deleted.
- (objc-headers, install-libobjc): Rules deleted.
- * objc/Make-lang.in: New file; from rules deleted above.
- * objc/config-lang.in: New file.
- * objc/Makefile.in: Changes to support ObjC as a front-end language;
- renamed from Makefile.in.
- * objc-act.{c,h}, objc-parse.{c,y}, objc-tree.def: Moved to objc dir.
-
-Sat Jun 21 07:54:36 1997 Robert Lipe <robertl@dgii.com>
-
- * fixinc.sco (math.h): Correct the collision of "exception".
-
-Sat Jun 21 06:51:40 1997 Peter Gerwinski <peter@agnes.dida.physik.uni-essen.de>
-
- * rs6000.c (output_epilog): Name is "GNU Pascal", not all caps.
-
-Sat Jun 21 06:29:19 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * gcc.c (main): Check for and read ${libdir}/gcc-lib/specs to
- override the default specs.
-
-Fri Jun 20 17:20:15 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (output_block_move): When loading addresses into registers,
- add checks for ABI_N32 and ABI_64.
- (mips_expand_prologue): Add check for SImode in code splitting
- tsize_rtx when it is large_int.
-
-Fri Jun 20 09:07:31 1997 Russell King <rmk92@ecs.soton.ac.uk>
-
- * configure.in (arm-*-linuxaout): New target.
- * arm/lib1funcs-linux.asm, arm/linux-gas.h: New files.
- * arm/linux.h, arm/t-linux, arm/xm-linux.h: New file.
- * xm-linux.h: Undef some macros before defining them.
-
-Thu Jun 19 21:18:20 1997 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (output_line_info): Always use DW_LNE_set_address instead
- of DW_LNS_fixed_advance_pc for line number addresses.
- (size_of_line_info): Adjust size calculation as per above change.
- (text_end_label): Make it static.
-
-Thu Jun 19 14:55:49 1997 Brendan Kehoe <brendan@cygnus.com>
-
- * toplev.c (xmalloc): Only give the fatal msg if SIZE is non-zero.
-
-Sun Apr 27 23:19:13 1997 Ulrich Drepper <drepper@cygnus.com>
-
- * libgcc2.c (__eh_type): Remove `extern' to make this a definition.
-
-Wed Jun 18 18:10:16 1997 Per Bothner <bothner@cygnus.com>
-
- * dbxout.c (dbxout_type_fields): Skip field if DECL_IGNORED_P.
-
-Wed Jun 18 18:04:33 1997 Mike Stump <mrs@cygnus.com>
-
- * except.c (end_eh_unwinder): If we have a return instruction, we
- have to make sure we use it and don't fall off the end of the
- function in the unwinder.
-
-Wed Jun 18 14:27:58 1997 Mike Stump <mrs@cygnus.com>
-
- * flow.c (find_basic_blocks): Fix end case bug.
-
-Tue Jun 17 18:35:57 1997 Mike Stump <mrs@cygnus.com>
-
- * libgcc2.c (__eh_pcnthrow): Add support -fno-sjlj-exceptions
- -fPIC exception handling on the SPARC.
- * sparc.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
- * libgcc2.c (__eh_ffetmnpc): Remove.
-
-Mon Jun 16 20:28:51 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * collect2.c (extract_string): Null-terminate.
-
-Mon Jun 16 14:38:44 1997 Michael Meissner <meissner@cygnus.com>
-
- * combine.c (set_nonzero_bits_and_sign_copies): Use REG_SET macros
- instead of doing bit operations directly.
- (try_combine,reg_dead_at_p): Ditto.
- * caller-save.c (save_call_clobbered_regs): Ditto.
- * reload1.c (reload): Ditto.
- * local-alloc.c (update_equiv_regs,block_alloc): Ditto.
- * sched.c (schedule_block): Dito.
-
-Sun Jun 15 20:46:12 1997 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (dwarf2out_frame_debug): Handle IOR.
- (struct limbo_die_struct): Define.
- (TYPE_DECL_IS_STUB): Call decl_ultimate_origin if DECL_ABTRACT_ORIGIN
- is set.
- (limbo_die_count): Delete.
- (libmo_die_list): Define.
- (new_die): Add die to limbo_die_list instead of incrementing
- limbo_die_count.
- (add_AT_location_description): Renamed from add_location_attribute.
- New parameter attr_kind.
- (add_location_or_const_value_attribute, gen_subprogram_die,
- add_bound_info): Change call to add_AT_location_description.
- (add_bound_info): Add call to contains_placeholder_p. Ignore
- MAX_EXPR and VAR_DECL.
- (add_subscript_info): Ignore the index type if it is an unnamed
- integral type.
- (scope_die_for): Move check for function-local tags after code setting
- containing_scope, and add check for non-NULL containing_scope
- (add_type_attribute): If unnamed type, use TREE_TYPE instead.
- (gen_enumeration_type_die, gen_struct_or_union_type_die): Call
- add_child_die if die_parent is NULL.
- (gen_subprogram_die): Ifdef out DW_AT_static_link code.
- (decls_for_scope): Delete decrement of limbo_die_count.
- (dwarf2out_finish): Add code to traverse the limbo_die_list, and
- call add_child_die if die_parent is NULL. Delete limbo_die_count code.
- * mips.c (mips_expand_prologue): If tsize_rtx is large_int, emit two
- insns instead of one splitable insn, setting RTX_FRAME_RELATED_P.
-
-Fri Jun 13 19:33:35 1997 Brendan Kehoe <brendan@cygnus.com>
-
- * fixincludes: Also fix AIX NULL macro in sys/{dir,param,types}.h.
-
-Thu Jun 12 22:53:12 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k.md (mov[qhs]i): Remove pair of constraints which allow
- offsetable memory addresses to be moved to the same for TARGET_5200.
-
-Thu Jun 12 15:33:01 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (SELECT_RTX_SECTION): Place symbolic operands into the
- data section.
-
- * pa.c (emit_move_sequence): Rewrite code to handle arithmetic
- involving plabels.
-
-Wed Jun 11 08:57:14 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * tree.c (unsave_expr_now): Avoid recursing into the parts of
- the tree that are RTL.
-
-Thu Jun 12 09:43:55 1997 Jeffrey A Law (law@cygnus.com)
-
- * reorg.c (emit_delay_sequence): Call set_new_first_and_last_insn
- after the new sequence insn has been spliced into the insn chain.
-
-Wed Jun 11 23:10:49 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (call, call_value): Use "call" instead of "calls"
- for calls to named functions.
-
-Wed Jun 11 00:22:34 1997 Jim Wilson <wilson@cygnus.com>
-
- * configure, configure.in: Restore changes from Feb 15 to Apr 13
- lost during conversion to autoconf.
-
-Tue Jun 10 18:23:35 1997 Mike Stump <mrs@cygnus.com>
-
- * stmt.c (expand_decl_cleanup): Avoid core dumping when exceptions
- aren't on.
-
-Tue Jun 10 18:22:30 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * collect2.c (extract_string): New fn.
- (main): Use it.
-
-Tue Jun 10 17:40:15 1997 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (emit_group_load): Add case using gen_lowpart.
-
-Tue Jun 10 17:14:58 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (rs6000_override_options): If -mcpu=403, set -mstrict-align.
-
- * rs6000/t-ppc{,gas} (MULTILIB_EXTRA_OPTS): Build libraries with
- -mstrict-align.
-
- * configure.in ({powerpc,rs6000}*-*-*): Add embedded targets to
- --with-cpu=n support.
-
-Tue Jun 10 07:06:12 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * flow.c (mark_used_regs): Fix typo in Jun 4 change.
-
-Mon Jun 9 20:26:26 1997 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (MAYBE_USE_COLLECT2): Renamed from MAYBE_USE_COLLECT.
-
-Mon Jun 9 19:42:21 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * fold-const.c (fold): Don't do COND_EXPR -> MIN_EXPR folding if it
- loses information that might be needed by a later use as an lvalue.
-
-Mon Jun 9 19:10:50 1997 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * configure.in: Don't override a user's setting for prefix
- on platforms that use the native prefix.
-
-Mon Jun 9 19:00:49 1997 Brendan Kehoe <brendan@melange.gnu.ai.mit.edu>
-
- * integrate.c (expand_inline_function): Use the mode of FNDECL's
- result rtl, not the result type itself, in setting ARRIVING_MODE.
-
- * reload1.c (reload): Use xmalloc instead of alloca for the label
- offsets in OFFSETS_AT and OFFSETS_KNOWN_AT.
-
-Mon Jun 9 15:16:52 1997 Mike Stump <mrs@cygnus.com>
-
- * flow.c (find_basic_blocks): Eliminate more dead code, enables
- dead throws to be eliminated.
-
-Mon Jun 9 17:15:50 1997 Stephen L Moshier <moshier@world.std.com>
-
- * alpha.c (check_float_value): Underflow and overflow constants
- are different for FLOAT_VAX and default targets.
-
-Mon Jun 9 16:48:21 1997 Scott Christley <scottc@net-community.com>
-
- * Makefile.in (Makefile): Process language fragments.
- * configure.frag: New file.
- * configure.in: Move language fragment processing to configure.lang.e
-
- * Makefile.in (GCC_PASSES): Prevent all compilers from being
- built when only the C compiler is needed.
-
- * configure.in (cross_overrides, build_overrides): Use absolute
- path to GCC top-level source directory.
-
- * configure.in: Save target alias for language directories.
-
- * configure.in (with-gxx-include-dir): New parameter for
- setting the g++ header file directory.
- * Makefile.in (gxx_include_dir): Use autoconf variable.
-
- * configure.in: Add parameter for setting local prefix.
-
- * configure.lang: New file.
- * configure.in: Move language subdirectory Makefile processing
- into configure.lang.
-
-Mon Jun 9 16:44:47 1997 Jim Wilson <wilson@cygnus.com>
-
- * sched.c (attach_deaths): Fix typo in Jun 4 change.
-
-Mon Jun 9 15:13:00 1997 Marc Lehmann (pcg@goof.com)
-
- * varasm.c (assemble_end_function): Switch back to function
- section after outputting constant pool.
-
-Mon Jun 9 14:47:22 1997 Paul Eggert <eggert@twinsun.com>
-
- * tree.c (change_main_variant): Remove unused function.
- (build_array_type): Remove obsolete references to
- change_main_variant.
- * c-decl.c (complete_array_type): Likewise.
-
- * c-common.c (c_build_type_variant): Don't futz with main type
- variant of array since C Standard requires main type variant of
- array-of-const also be array-of-const.
-
- * Makefile.in: Comment out lines containing just formfeeds.
-
- * Makefile.in (distclean): Remove config.bak.
- (maintainer-clean): Output warning.
- Do not remove `configure'.
-
-Mon Jun 9 14:44:17 1997 J.T. Conklin <jtc@netbsd.org>
-
- * configure.in (*-*-netbsd): Restore changes of Apr 13th lost in
- autoconf conversion: tmake_file now t-netbsd; delete xmake_file.
-
-Mon Jun 9 14:39:29 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (expand_builtin, case BUILT_IN_FRAME_ADDRESS):
- Use correct function name in error message.
-
- * Makefile.in (diff): Exclude bi-parser.h.
-
- * i386.h (CC1_CPU_SPEC): Renamed, was CC1_SPEC.
- (CC1_SPEC): New macro.
- (EXTRA_SPECS): Add "cc1_cpu".
- * i386/linux.h (CC1_SPEC): New macro.
-
-Mon Jun 9 13:23:06 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k/next.h (TARGET_DEFAULT): Use MASK_68040,
- not MASK_68040_ALSO.
- * m68k/mot3300.h, m68k/ccur-GAS.h (TARGET_DEFAULT): Likewise.
-
- * m68k.h (MACHINE_STATE_{SAVE,RESTORE}): Test #ifdef __mcf52000__,
- not if (TARGET_52000); fixed for mc68000 case.
-
- * m68k/mot3300.h (CPP_SPEC): Define __mc68020__ if no -m[c]68000
- command-line option given.
-
-Mon Jun 9 09:19:17 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * Makefile.in (target_alias): Substitute with target_alias.
-
- * final.c (final_scan_insn): Use single_set to check cc_status.flags.
-
-Mon Jun 9 09:09:07 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-common.c (check_format_info): Correct handling of the 'a' flag
- which adds another pointer level.
-
-Sun Jun 8 00:34:25 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (conditional branch insns): Get length right for branches
- to targets which can not be reached with a "bl" instruction.
- * pa.c (output_cbranch): Handle branches to targets which can not
- be reached with a "bl" instruction.
-
- * pa.md (alternate dbra pattern): Remove incorrect pattern.
-
-Sat Jun 7 23:30:25 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (struct defer_plab): Renamed to struct deferred_plabel.
- Remove "symbol" field and replace with "name" field.
- (output_function_epilogue): Don't output deferred plabels here.
- (output_deferred_labels): New function. Output them here instead.
- (output_call): Rewrite long call support.
- * pa.h (ASM_FILE_END): Define.
- (LEGITIMATE_CONSTANT_P): Never accept a function_label_operand.
- * pa.md (HIGH and LO_SUM of function address): Remove patterns.
-
-Fri Jun 6 16:09:04 1997 Mike Stump <mrs@cygnus.com>
-
- * libgcc2.c (__eh_ffetmnpc): Add support for machines that cannot
- access globals after throw's epilogue when -fno-sjlj-exceptions is
- used.
- * rs6000.c (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
- * mips.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
- (INITIAL_ELIMINATION_OFFSET): Fix RETURN_ADDRESS_POINTER_REGNUM
- for 64 bit words, with 32 bit pointers and variable endianness.
-
-Fri Jun 6 17:27:58 1997 Mike Meissner <meissner@cygnus.com>
-
- * regclass.c (allocate_reg_info): Fix off by one error.
-
-Fri Jun 6 17:17:41 1997 Doug Evans <dje@cygnus.com>
-
- * basic-block.h (EXECUTE_IF_SET_IN_REG_SET): Fix setting of scan_rs_.
- (EXECUTE_IF_SET_AND_RESET_IN_REG_SET): Likewise.
- (EXECUTE_IF_AND_IN_REG_SET): Likewise.
- (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
-
-Fri Jun 6 15:42:59 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.c (notice_cc_update): Set CC_FCOMI is this is a float compare.
-
-Fri Jun 6 15:12:38 1997 Jim Wilson <wilson@cygnus.com>
-
- * basic-block.h (REG_SET_TO_HARD_REG_SET): Fix typo.
-
- * sched.c (update_flow_info): When add extra REG_DEAD note for original
- dest, handle case where last insn both uses and sets dest.
-
-Thu Jun 5 22:19:36 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * fixinc.irix: Add declaration of __vfork to unistd.h.
-
- * i960/vx960-coff.h (CPP_SPEC): Always define CPU, even if they
- use -ansi; the VxWorks headers assume it's always present.
- * sparc/vxsparc.h (CPP_SPEC): Define, adding the CPU definition to
- what came from sparc.h.
- (CPP_PREDEFINES): Don't define it here.
-
-Thu Jun 5 13:40:33 1997 Mike Meissner <meissner@cygnus.com>
-
- * basic-block.c (OBSTACK_ALLOC_REG_SET): Rename from
- OBALLOC_REG_SET. Add obstack pointer parameter.
-
- * flow.c (function_obstack): Add declaration.
- (life_analysis): Don't allocate the space to hold to vector of
- regsets here.
- (init_regset_vector): Add pointer parameter and delete space
- paramter. Use OBSTACK_ALLOC_REG_SET to allocate. Change callers.
- (propagate_block): Use ALLOCA_REG_SET instead of bare alloca.
-
- * sched.c (schedule_block): Fix typo in yesterday's changes.
- * reorg.c (mark_target_live_regs): Ditto.
-
-Thu Jun 5 09:44:49 1997 Jeffrey A Law (law@cygnus.com)
-
- * sh.c (trap_exit, sp_switch): New variables.
- (print_operand, case '@'): If trap_exit is nonzero, then use
- a trapa instead of an rte/rts to exit the current function.
- (sh_expand_prologue): Switch stacks at function entry as needed.
- (sh_expand_epilogue): Similarly at function exit.
- (function_epilogue): Clear trap_exit and sp_switch too.
- (sh_valid_machine_decl_attribute): New function.
- * sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Define.
- (sp_switch): Declare.
- * sh.md (sp_switch_1, sp_switch_2): New named patterns.
-
-Wed Jun 4 18:11:14 1997 Michael Meissner <meissner@cygnus.com>
-
- * basic-block.h (REGSET_ELT_BITS): Make this explicitly unsigned, so
- that division and modulus of REGSET_ELT_BITS uses a pure shift.
- (*_REG_SET): New macros to abstract the register set interface.
-
- * caller-save.c (save_call_clobbered_regs): Use new *_REG_SET
- macros.
- * flow.c (life_analysis,propagate_block,insn_dead_p): Ditto.
- (regno_uninitialized,regno_clobbered_at_setjmp,mark_set_1): Ditto.
- (mark_used_regs,dump_flow_info,global_conflicts): Ditto.
- global.c (mark_elimination): Ditto.
- * reorg.c (mark_target_live_regs): Ditto.
- * sched.c (sched_{analyze_{1,insn},note_set}): Ditto.
- (birthing_insn_p,attach_deaths,unlink_notes,schedule_block): Ditto.
-
- * sched.c (sometimes structure): Delete offset, bit fields, replace
- with regno.
- (new_sometimes_live): Take regno argument, not offset and bit.
- Change all callers.
-
-Tue Jun 3 19:18:36 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * fixincludes: Fix AIX NULL macro use of void*.
-
-Tue Jun 3 15:21:04 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * sparc.h (ASM_OUTPUT_MI_THUNK): Handle -fpic.
-
-Mon Jun 2 16:53:53 1997 Michael Meissner <meissner@cygnus.com>
-
- * loop.c (n_times_{set,used}): Make type int, not short.
- (scan_loop): n_times{set,used} are now int pointers.
-
- * sched.c (sched_reg_n_deaths): Remove unused variable.
- (struct sometimes): Make fields int sized, not short.
- (schedule_insns): Don't set sched_reg_n_deaths, nobody uses it.
-
- * regclass.c (allocate_reg_info): Allocate space for reg_renumber,
- but don't set unless new argument RENUMBER_P is set. If this is first
- call for function and we need to grow space, use free/xmalloc instead
- of realloc since we will be initializing the whole array. If number
- of registers is < 0, just free up space.
- (reg_scan): Update allocate_reg_info call.
- * regs.h (allocate_reg_info): Change prototype.
- * flow.c (allocate_for_life_analysis): Update allocate_reg_info call.
- * local-alloc.c (local_alloc): Call allocate_reg_info to allocate
- and initialize the reg_renumber array.
- * stupid.c (stupid_life_analysis): Likewise.
-
-Mon Jun 2 14:50:06 1997 Dave Miller <davem@jenolan.rutgers.edu>
-
- * sparc.md (v9 eq/ne cond move patterns): Add early clobber
- constraint to destination.
-
-Fri May 30 11:00:44 1997 Michael Meissner <meissner@cygnus.com>
-
- * regs.h (reg_info): New structure to group the arrays indexed by
- register number created by reg_scan and flow_analysis that are
- globally visiable.
- (reg_n_info): Pointer to the register information array.
- (reg_n_{refs,sets,deaths,calls_crossed}): Delete variables.
- (reg_changes_size): Likewise.
- (REG_N_{REFS,SETS,DEATHS,CALLS_CROSSED}): New macros to reference
- reg_n_info.
- (REG_{CHANGES_SIZE,{FIRST,LAST,LAST_NOTE}_UID}): Likewise.
- (allocate_reg_info): Add declaration.
-
- * basic-block.h (reg_basic_block): Delete.
- (REG_BASIC_BLOCK): Use reg_n_info structure.
-
- * caller-save.c: Change all references to the above arrays to use
- the corresponding macro to access the reg_n_info array.
- * combine.c, cse.c, flow.c, global.c, jump.c, local-alloc.c: Likewise.
- * loop.c, regclass.c, reload1.c, sched.c, stupid.c, unroll.c: Likewise.
-
- * regclass.c (allocate_reg_info): New function to allocate the
- reg_info array and initialize the appropriate fields.
- (reg_scan): Call it.
- * flow.c (allocate_for_life_analysis): Call allocate_reg_info to do
- the actual allocation.
-
-Thu May 29 15:42:59 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.md (movsfcc_1, movdfcc_1, movxfcc_1): Use singlemove_string
- for float conditional move when destination and operands all differ.
-
- * i386.h (ASM_OUTPUT_REG_{PUSH,POP}): add %% before register name.
-
- * go32.h (ASM_OUTPUT_ALIGN): Use .p2align, not byte alignments.
-
-Wed May 28 20:44:00 1997 Mike Stump <mrs@cygnus.com>
-
- * except.c (push_eh_entry): Eliminate start of exception region
- label, as it isn't used. Rename end_label to outer_context.
- (expand_eh_region_start_for_decl): Likewise.
- (expand_leftover_cleanups): Likewise.
- (expand_start_all_catch): Likewise.
- * except.h (eh_entry): Likewise.
- * except.c (expand_eh_region_end): Likewise. Jump around the nop
- that we insert, so that we can optimize it away, if it is unused,
- also so that flow analysis can tell if we fall through to the end
- of a function or not so that it can know if a function that returns
- a value, in fact does or not.
-
-Wed May 28 10:50:09 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (jump): Handle out of range unconditional jump
- when not optimizing.
-
-Thu May 22 00:57:07 1997 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c (reload_cse_record_set): Ignore values for SREG if
- their mode is narrower than DEST_MODE.
-
- * pa.h (DFMODE_RETURN_STRING): Define.
- (SFMODE_RETURN_STRING): Likewise.
- (ASM_DECLARE_FUNCTION_NAME): Use them.
-
-Wed May 21 23:32:02 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (reload_insi): Handle SUBREG properly.
-
-Tue May 20 22:32:13 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (dwarf2out_def_cfa): Set cfa_reg at the top.
-
-Tue May 20 16:57:50 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * cplus-dem.c (do_type): Handle `J'.
- (demangle_fund_type): Print "complex" for it.
-
-Mon May 19 21:01:53 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k.c (output_move_qimode): Add coldfire support.
- * m68k.h (PUSH_ROUNDING): Add coldfire support.
- * m68k.md (scc{,0}_di, seq, sne, sgt, sgtu, slt, sltu, sge, sgeu,
- sle, sleu): Add coldfire support.
-
-Mon May 19 17:53:34 1997 Mike Meissner <meissner@cygnus.com>
-
- * rs6000.c: (rs6000_pic_func_labelno): New variable.
- (rs6000_output_load_toc_table): Use it.
- (output_prolog): Store current value.
-
-Sun May 18 16:32:08 1997 Michael Meissner <meissner@cygnus.com>
-
- * dbxcoff.h (ASM_OUTPUT_SOURCE_LINE): Use macros
- ASM_{GENERATE,OUTPUT}_INTERNAL_LABEL to create/output line
- number label.
-
-Sun May 18 13:55:12 1997 John Vickers (john@rhizik.demon.co.uk)
-
- * m68k.h (TARGET_SWITCHES): Add new target name, cpu32.
-
-Sun May 18 13:50:10 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * cccp.c (VMS_write, VMS_read): Delete.
- (safe_write): If MAX_WRITE_LEN is defined, limit
- incremental write attempts to that amount.
- (safe_read): Analogous situation for MAX_READ_LEN.
- * cpplib.c (safe_read): Likewise.
- * vax/xm-vms.h (MAX_WRITE_LEN, MAX_READ_LEN): Define.
-
- * vax/xm-vms.h (get_dynamic_handler_chain_libfunc): New macro.
- (protect_cleanup_actions_with_terminate): New macro.
-
-Sun May 18 08:50:25 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k/linux.h (ASM_COMMENT_START): Define.
- * m68k/linux-aout.h (ASM_COMMENT_START): Define.
-
- * reload1.c (reload_cse_regno_equal_p): Check for value using more
- than one register on a big endian machine.
-
-Sun May 18 08:39:59 1997 Vince Del Vecchio <vdelvecc@spd.analog.com>
-
- * loop.c (maybe_eliminate_biv_1): In (set (cc0) <biv>) case,
- swap compare operands when mult_val < 0 in one additional place.
-
-Sun May 18 08:33:30 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * dwarf2out.c (ASM_COMMENT_START): Add default definition.
-
- * Makefile.in (maintainer-claean): Delete configure.
-
-Sun May 18 08:31:59 1997 Scott Christley <scottc@net-community.com>
-
- * configure.in: New file.
- * Makefile.in: Change to utilize autoconf variables.
- * configure: Now an output file.
-
-Sun May 18 07:48:31 1997 J.T. Conklin <jtc@netbsd.org>
-
- * m68k.md (mov[qhs]i,movstrict[qs]i, mulsi3): Use 'Q' constraint
- for TARGET_5200.
- * m68k.h (EXTRA_CONSTRAINT): New macro.
-
- * m68k.h (TARGET_SWITCHES): Add 68020-60.
- Mask out bits which indicate a particular processor when a different
- processor is selected.
- (MASK_68040_ALSO): Remove.
- (MASK_68040): Change to be a single bit.
-
- * m68k.h (TARGET_ALIGN_INT, MASK_ALIGN_INT): New macros.
- (BIGGEST_ALIGNMENT): Determine according to TARGET_ALIGN_INT.
- (TARGET_SWITCHES): Add align-int and no-align-int.
-
- * m68k.md (mov[qhs]i}): Add pair of constraints which allow
- offsetable memory addresses to be moved to the same for TARGET_5200.
-
- * m68k.c (output_move_strict{hi,qi}): New functions.
- * m68k.h (output_move_strict{hi,qi}): Declare.
- * m68k.md (movstrict*): Changed into define_expands.
- Split insns into m68k and coldfire specific versions with appropriate
- constraints.
-
-Sun May 18 07:26:40 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * libgcc2.c (atexit): Cast malloc and realloc calls.
-
-Sat May 17 16:26:51 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * final.c (profile_function): Call function_section, not
- text_section.
-
-Sat May 17 16:01:00 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * cse.c (notreg_cost): New function, extracted from COST macro.
- (COST): Use notreg_cost.
-
-Sat May 17 15:13:23 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * cse.c (cse_insn): Don't record a SRC that's a MEM and the same
- as a REG_EQUIV note if DEST is set more than once.
-
-Fri May 16 14:50:57 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (output_move_double): Handle loading a general register
- from a scaled indexed memory address.
- * pa.md (movdf, movdi): Allow scaled loads into general registers.
-
-Fri May 16 13:31:08 1997 Mike Stump <mrs@cygnus.com>
-
- * rs6000.c (rs6000_stack_info): Only do eabi setup for "main",
- when main is the global main, not some nested routine that
- happens to be called main.
-
-Thu May 15 17:19:50 1997 Mike Stump <mrs@cygnus.com>
-
- * except.c (expand_start_all_catch): If the machine needs to
- perform any actions at the start of an expcetion handler that
- hasn't already been done, use gen_exception_receiver to emit it.
- (expand_leftover_cleanups): Likewise.
- * alpha.md (exception_receiver): Use it.
- * pa.h (exception_receiver): Use it.
-
-Thu May 15 08:36:59 1997 Jeffrey A Law (law@cygnus.com)
-
- * dbxout.c (dbxout_function_end): Don't subtract one from
- the end of function scoping stab.
-
-Wed May 14 23:27:09 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (adddi3, subdi3): Remove expanders and patterns.
-
-Wed May 14 18:51:35 1997 Mike Stump <mrs@cygnus.com>
-
- * function.c (expand_function_end): Make sure we finish off any
- leftover exception handlers.
-
-Tue May 13 14:07:01 1997 Mike Stump <mrs@cygnus.com>
-
- * expr.c (expand_builtin_setjmp): Remove setting of
- current_function_has_nonlocal_goto, as this isn't a goto.
-
-Tue May 13 14:47:40 1997 Richard Earnshaw (rearnsha@cambridge.arm.com)
-
- * arm.h (CPP_SPEC): Fix typo invoking cpp_endian.
- * arm/t-semi (LIB2FUNCS_EXTRA): Build fp-bit.c when compiling
- with -msoft-float.
- * arm.c: Add prototypes for all static functions.
- (output_multi_immediate, int_log2): Make static.
-
- * arm.h (*_SPEC): Remove all references to mle/mbe.
- * arm/coff.h (MULTILIB_DEFAULTS): Likewise.
- * arm/t-bare (MULTILIB_OPTIONS): Change options mbe/mle to mbig-endian
- and mlittle-endian.
- (MULTILIB_MATCHES): Nothing matches that matters.
-
-Mon May 12 20:42:20 1997 Mike Stump <mrs@cygnus.com>
-
- * except.c (expand_start_all_catch): If need nonlocal_goto_receiver,
- add one at the start of exception handler.
- (expand_leftover_cleanups): Likewise.
-
-Mon May 12 17:36:28 1997 Jeffrey A Law (law@cygnus.com)
-
- * mips.c (move_operand): Accept any general operand after reload
- has started.
-
-Fri May 9 14:29:33 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (udivmodhi4, divmodhi4): Remove expander, give
- corresponding pattern [u]divmodhir4 name. Clear MDR register
- in the udivmodhi4 pattern itself.
- (clear_mdr): Delete pattern.
-
-Thu May 8 18:20:30 1997 Richard Earnshaw (rearnshaw@cambridge.arm.com)
-
- * arm/aout.h (ASM_OUTPUT_LONG_DOUBLE): Delete call to
- arm_increase_location.
- (ASM_OUTPUT_{DOUBLE,FLOAT,INT,SHORT,CHAR,BYTE,ASCII,SKIP}): Likewise.
- (ASM_OUTPUT_ALIGN): Delete all code refering to arm_text_location.
-
- * arm.c (arm_increase_location, get_prologue_size): Delete.
- (arm_naked_function_p): Add declaration.
- (arm_pic_register): Define.
- (all_procs): Delete entries for arm{60,620,70,7d,7di,700i,710c}; add
- entries for arm{7m,7500fe,8}, strongarm and strongarm110.
- (arm_override_options): Rework so that configure can properly set
- the default processor type. Add a warning that PIC code is not yet
- supported.
- (legitimate_pic_operand_p, legitimize_pic_address): New functions.
- (is_pic, arm_finalize_pic): New functions.
- (arm_adjust_cost): New function.
- (const_pool_offset, arm_backwards_branch, short_branch): Delete.
- (arm_insn_not_targeted): Delete.
- (add_constant): If generating AOF syntax, then handle pic specially.
- (output_ascii_pseudo_op): Delete calls to arm_increase_location.
- (function_really_clobbers_lr): Calls followed by a barrier don't
- clobber the link register.
- (output_func_prologue): Handle AOF syntax pic code.
- (output_func_epilogue): Handle cases where lr_save_eliminated is set.
- Delete call to arm_increase_location.
- (arm_asm_output_label): Simplify, since we no-longer need to cache the
- label's address.
- (aof_pic_entry): New function to keep track of pic symbols.
- (aof_dump_pic_table): New function.
-
- * arm.h (TARGET_CPU_arm*, TARGET_CPU_strongarm*, TARGET_CPU_generic):
- define.
- (CPP_ARCH_DEFAULT_SPEC): Set up based on setting of TARGET_CPU_DEFAULT.
- (CPP_SPEC): Split up into sub-rule calls.
- (CPP_CPU_SPEC): Add default definition.
- (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC): Add definitions.
- (CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC): Add definitions.
- (CPP_ENDIAN_SPEC, CPP_ENDIAN_DEFAULT_SPEC): Add definitions.
- (CC1_SPEC): Map legacy -m[236] onto -mcpu=.. and -mapcs-{26,32} as
- appropriate. Similarly for -mbe and -mle to -m{big,little}-endian.
- (EXTRA_SPECS): Define.
- (enum processor_type): New types for arm8 and strongarm.
- (CONDITIONAL_REGISTER_USAGE): Handle flag_pic.
- (LEGITIMIZE_ADDRESS): Likewise.
- (ADJUST_COST): Define.
- (PIC_OFFSET_TABLE_REGNUM): Define.
- (FINALIZE_PIC): Define.
- (LEGITIMATE_PIC_OPERAND_P): Define.
- (OUTPUT_INT_ADDR_CONST): Define.
- (ASM_OUTPUT_MI_THUNK): Delete calls to arm_increase_location.
- (MASK_RETURN_ADDR): Use TARGET_APCS_32 not TARGET_6.
-
- * arm.md (attr cpu): Add new cpu types for arm8 and strongarm.
- (attr ldsched): New attribute, set if processor has a load_delay slot.
- (function_unit core): Rework to handle load delay slots.
- (function_unit loader): New function unit.
- (movsi): Handle pic.
- (pic_load_addr): New expand.
- (*pic_load_addr_based_insn, pic_add_dot_plus_eight): New patterns.
- (peepholes to cause flow to return to a label after a function call):
- Delete, these have been disabled for a while now.
-
- * arm/riscix.h (CPP_SPEC): Rewrite using new sub-components.
- (SUBTARGET_CPU_DEFAULT): Set to TARGET_CPU_arm2.
- * arm/riscix1-1.h (CPP_SPEC): Rewrite using new sub-components.
- (SUBTARGET_CPU_DEFAULT): Set to TARGET_CPU_arm2.
- * arm/semi.h: (CPP_SPEC): Delete.
- (PROCESSOR_DEFAULT): Delete.
- (CPP_APCS_PC_DEFAULT_SPEC): Define.
- * arm/semiaof.h (CPP_SPEC): Delete.
- (CPP_APCS_PC_DEFAULT_SPEC): Define.
- * arm/t-semi (LIBGCC1_TEST): Don't build it.
- (MULTILIB_{OPTIONS,DIRNAMES,EXCEPTIONS}): Build a suitable set of
- cross libraries.
- (LIBGCC): Set to stmp-multilib.
- (INSTALL_LIBGCC): Set to install-multilib.
-
-Thu May 8 15:20:46 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.c (output_float_compare): For pentiumpro use fcomip
- followed by a float stack pop for "compare;pop;pop" cases.
-
-Thu May 8 13:20:20 1997 Chris Torek <torek@elf.bsdi.com>
-
- * fold-const.c (fold, truth_andor): Disable optimization for
- side effects on RHS.
-
-Wed May 7 15:43:57 1997 Mike Stump <mrs@cygnus.com>
-
- * except.c (start_dynamic_handler): Fix so we can use __builtin_setjmp,
- and default to using __builtin_setjmp instead of setjmp.
- * expr.c (expand_builtin_setjmp): New routine, split out from
- existing inline code from expand_builtin.
- (expand_builtin): Split out code into expand_builtin_setjmp.
- * expr.h (expand_builtin_setjmp): Add declaration.
- * libgcc2.c (__sjthrow): Default to using __builtin_setjmp instead
- of setjmp.
- (__sjpopnthrow): Likewise.
- * optabs.c (init_optabs): Likewise.
-
-Wed May 7 18:01:24 1997 Samuel Figueroa <Samuel_Figueroa@next.com>
-
- * rs6000.md (insv): Only combine insert with shift if
- remaining source bits >= destination field size.
-
-Tue May 6 15:48:52 1997 Jason Merrill <jason@gerbil.cygnus.com>
-
- * dwarf2out.c (dwarf2out_begin_prologue): Increment
- current_funcdef_number here.
- (dwarf2out_end_epilogue): Not here.
-
-Mon May 5 18:52:32 1997 Jeffrey A Law (law@cygnus.com)
-
- * h8300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
- (shift_one, shift_two): Set CC_NO_CARRY as needed. Remove
- references to CC_OVERFLOW_0.
- (emit_a_shift): Similarly.
- * h8300.h (CC_OVERFLOW_0): Remove.
- * h8300.md: Use set_zn and set_znv for cc0 tracking.
- (bCC): Restore the comparison is CC_OVERFLOW_UNUSABLE is set and
- the comparison needs the overflow bits.
-
- * mn10300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
- * mn10300.h (CC_NO_CARRY): Define.
- * mn10300.md: Use "set_zn" and "set_znv" to more accurately
- describe cc0 status.
-
-Fri May 2 17:00:33 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c: Reorganize, moving .debug_frame support to the top
- of the file, and compile it if INCOMING_RETURN_ADDR_RTX is defined
- even if DWARF2_DEBUGGING_INFO isn't.
- (EH_FRAME_SECTION): New macro.
- (output_call_frame_info): Handle .eh_frame variant.
- (dwarf2out_def_cfa): Update cfa_*{reg,offset}.
- (dwarf2out_frame_debug): Move cfa_*{reg,offset} to file scope.
- (dwarf2out_end_epilogue): Increment current_funcdef_number here.
- (dwarf2out_decl): Not here.
- (dwarf2out_frame_init, dwarf2out_frame_finish): New fns.
- (dwarf2out_init, dwarf2out_finish): Call them.
- (output_die): Add missing 'case 8:'
- (dwarf2out_decl): Revert other context_die = NULL change.
- (add_bound_info): Restore default case.
-
-Fri May 2 15:30:16 1997 Doug Evans <dje@seba.cygnus.com>
-
- * m32r.h (LIT_NAME_P): New macro.
- (SMALL_NAME_P): Use it.
- (ASM_OUTPUT_ALIGNED_COMMON): Don't output to scommon if -msdata=none.
- * m32r.c (addr24_operand): Handle literals.
- (m32r_output_function_prologue): Use IMMEDIATE_PREFIX.
- (m32r_output_function_epilogue): Likewise. Use shorter add insn if
- able.
-
-Fri May 2 14:40:44 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (RS6000_ALIGN): Macro renamed from ALIGN.
- * rs6000.c (rs6000_stack_info): Use it.
-
-Fri May 2 14:15:54 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * reload1.c (reload_cse_noop_set_p): When checking the values
- equivalent to sreg, make sure the mode is right.
-
-Fri May 2 12:53:03 1997 Jeffrey A Law (law@cygnus.com)
-
- * reload1.c (reload_cse_invalidate_regno): Properly set
- the mode for invalidate_regno_rtx.
-
-Thu May 1 14:57:35 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (call_internal_symref): Fix typo.
-
-Thu May 1 14:44:17 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (mips_asm_file_start): Use new macro TARGET_FILE_SWITCHING.
- (mips_asm_file_end): Likewise.
- * mips.h (TARGET_FILE_SWITCHING): Define.
- (NO_DBX_FUNCTION_END): Define.
-
-Thu May 1 09:08:40 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.c (output_addsi3): Replace "\\;" by "\n\t" in
- assembler templates.
-
-Thu May 1 09:00:42 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * integrate.c (subst_constants, case SUBREG): Cancel changes once
- done with result.
-
-Wed Apr 30 19:45:56 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (override_options): Set mips_split_addresses only if
- TARGET_SPLIT_ADDRESSES is set.
- * mips.h (MASK_SPLIT_ADDR, TARGET_SPLIT_ADDRESSES): New macros.
- (TARGET_SWITCHES): Add -msplit-addresses, -mno-split-addresses.
- * configure (mips*-*-ecoff*, mips*-*-elf*): Set MASK_SPLIT_ADDR
- bit in target_cpu_default2.
-
- * flags.h (current_function_is_thunk): Add extern to declaration.
-
- * dbxout.c (dbxout_function): Test NO_DBX_FUNCTION_END at run time
- instead of compile time.
-
- * unroll.c (set_dominates_use): In second loop, add check for copy_end.
-
- * mips.md (paradoxical_extendhidi2, paradoxical_extendqidi2): New
- patterns.
-
-Wed Apr 30 02:23:24 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * output.h (named_section): Add reloc argument.
- (DECL_READONLY_SECTION): New macro.
- * varasm.c (named_section): Add reloc argument, pass it to
- ASM_OUTPUT_SECTION_NAME.
- (UNIQUE_SECTION, UNIQUE_SECTION_P): Provide defaults.
- (function_section): Pass reloc argument to named_section.
- (variable_section, exception_section): Likewise.
- (output_constant_def_contents): Likewise.
- (assemble_start_function): Use UNIQUE_SECTION_P. UNIQUE_SECTION is
- now a statement.
- (assemble_variable): Likewise.
- * mips/iris6.h (ASM_OUTPUT_SECTION_NAME): Add reloc arg,
- use DECL_READONLY_SECTION.
- * psos.h, ptx4.h, a29k.h, alpha/elf.h, arm/coff.h, h8300.h: Likewise.
- * i386/go32.h, i386/sco5.h, m68k/coff.h, mips/elf64.h: Likewise.
- * mips/netbsd.h, pa.h, rs6000/sysv4.h, sh.h, sparc/sysv4.h: Likewise.
- * config/svr4.h (SELECT_SECTION): Use DECL_READONLY_SECTION.
- (ASM_OUTPUT_SECTION_NAME): Likewise, add reloc argument.
- (MAKE_DECL_ONE_ONLY): Just set DECL_WEAK.
- (UNIQUE_SECTION, UNIQUE_SECTION_P): Define.
- * i386/cygwin32.h (UNIQUE_SECTION_P): Define.
- (SUPPORTS_ONE_ONLY): Define.
- (MAKE_DECL_ONE_ONLY): Lose.
- (ASM_OUTPUT_SECTION_NAME): Add reloc arg, use DECL_READONLY_SECTION.
- * i386/winnt.c (i386_pe_unique_section): Add reloc arg,
- use DECL_READONLY_SECTION.
-
- * mips/iris6.h (CTORS_SECTION_ASM_OP): Change aligment based on ABI.
- (DTORS_SECTION_ASM_OP): Likewise.
-
-Tue Apr 29 16:08:07 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa/lib1funcs.asm (divnorm, modnorm, exitdiv): Fix code to
- negate SImode values.
-
-Tue Apr 29 12:54:14 1997 Mike Stump <mrs@cygnus.com>
-
- * except.c (expand_eh_region_start_tree): Add DECL argument so we
- can better track why the region was made for error reporting.
- * except.h (expand_eh_region_start_tree): Likewise.
- * tree.h (expand_dhc_cleanup): Likewise.
- (expand_dcc_cleanup): Likewise.
- * except.c (expand_eh_region_start_for_decl): New routine.
- * except.h (expand_eh_region_start_for_decl): Likewise.
- * stmt.c (expand_decl_cleanup): Add DECL to call of
- expand_eh_region_start_tree.
- (expand_dcc_cleanup): Likewise.
- (expand_dhc_cleanup): Likewise.
- (expand_start_case): Switches introduce conditional contexts.
- (expand_start_case_dummy): Likewise.
- (expand_start_case_dummy): Likewise.
- (expand_end_case): Likewise.
-
-Tue Apr 29 11:45:09 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (dwarf2out_decl): Undo earlier change.
- (constant_size): Likewise.
- (gen_subprogram_die): Handle NULL context_die.
-
- * mips/iris6.h (ASM_OUTPUT_CONSTRUCTOR): Fix for -mabi=64.
- (ASM_OUTPUT_DESTRUCTOR): Likewise.
-
-Mon Apr 28 09:10:19 1997 Jeffrey A Law (law@cygnus.com)
-
- * h8300.c (push_order, pop_order): Add missing initializer entries.
-
-Fri Apr 25 19:39:43 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * h8300.c (output_adds_subs): Check for adding 0.
-
-Fri Apr 25 14:52:31 1997 Jim Wilson <wilson@cygnus.com>
-
- * configure (i[3456]86-*-freebsdelf*, i[3456]86-*-freebsd*): Use
- t-freebsd instead of x-freebsd.
- * i386/t-freebsd: Renamed from x-freebsd.
-
-Fri Apr 25 12:16:20 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * go32.h (DBX_*): Use definitions from config/dbxcoff.h instead.
-
-Fri Apr 25 11:55:54 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * i386/cygwin32.h (MULTIPLE_SYMBOL_SPACES): Define.
-
-Thu Apr 24 18:32:56 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * i386/winnt.c (i386_pe_unique_section): New fn.
- * i386/cygwin32.h (UNIQUE_SECTION): Define.
- (MAKE_DECL_ONE_ONLY): Define.
- (ASM_OUTPUT_SECTION_NAME): Support DECL_ONE_ONLY.
-
- * c-decl.c (implicitly_declare): Don't set DECL_ARTIFICIAL.
-
-Thu Apr 24 17:11:23 1997 Jim Wilson <wilson@cygnus.com>
-
- * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
- TARGET_5200 support.
-
-Thu Apr 24 16:39:25 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * stmt.c (pushcase_range): Check for null range first.
-
-Wed Apr 23 23:06:28 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * reload1.c (reload_cse_record_set): Use push_operand to check for
- changes to the stack pointer.
-
-Wed Apr 23 19:56:01 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * calls.c (expand_call): If we're in a thunk, pass through invisible
- references instead of making a copy.
- * flags.h: Add current_function_is_thunk.
- * function.c: Likewise.
- (init_function_start): Initialize it.
- (push_function_context_to): Save it.
- (pop_function_context_from): Restore it.
- * function.h (struct function): Add is_thunk.
-
-Wed Apr 23 17:47:25 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (secondary_reload_class): Handle more cases where we
- need secondary reloads.
- (impossible_plus_operand): Accept anything that involves addition
- of the stack pointer.
- * mn10300.md (reload_insi): Always load the stack pointer into
- the destination (which is always an address register).
- * mn10300.h (STORE_FLAG_VALUE): Remove definition.
- * xm-mn10300.h: Declare malloc, realloc, calloc and free.
-
-Wed Apr 23 14:28:30 1997 Mike Stump <mrs@cygnus.com>
-
- * expr.h (sjthrow_libfunc): Add support for setjmp/longjmp based
- exception handling.
- ({sjpopnthrow,terminate,setjmp,longjmp}_libfunc): Likewise.
- (get_dynamic_handler_chain_libfunc): Likewise.
- * expr.c (expand_expr, case TRY_CATCH_EXPR): Likewise.
- (expand_expr, case POPD{C,H}C_EXPR): Likewise.
- * stmt.c (mark_block_as_eh_region): Likewise.
- (mark_block_as_not_eh_region): Likewise.
- (is_eh_region, conditional_contex, expand_start_bindings): Likewise.
- (expand_end_bindings, expand_{decl,dcc,dhc}_cleanup): Likewise.
- (expand_cleanups): Likewise.
- * tree.h (mark_block_as_eh_region): Likewise.
- (mark_block_as_not_eh_region, is_eh_region): Likewise.
- conditional_context, expand_dhc_cleanup): Likewise.
- * except.c (exception_via_longjmp): Likewise.
- (protect_cleanup_actions_with_terminate): Likewise.
- (current_function_d{h,c}c, add_partial_entry): Likewise.
- (get_dynamic_{handler,cleanup}_chain): Likewise.
- (start_dynamic_{cleanup, handler}): Likewise.
- (expand_eh_region_start{,_tree}, expand_eh_region_end): Likewise.
- (emit_throw, expand_leftover_cleanups): Likewise.
- (expand_{start,end}_all_catch, protect_with_terminate): Likewise.
- ({start,end}_eh_unwinder, init_eh_for_function): Likewise.
- ({save,restore}_eh_status, exception_optimize): Likewise.
- * optabs.c ({sjthrow,sjpopnthrow,terminate,setjmp}_libfunc): Likewise.
- ({longjmp,get_dynamic_handler_chain}_libfunc): Likewise.
- (init_optabs): Likewise.
- * except.h: Likewise.
- * libgcc2.c (__default_terminate): Likewise.
- (__terminate, __get_dynamic_handler_chain, __sjthrow): Likewise.
- (__sjpopnthrow): Likewise.
- * toplev.c (f_options): Likewise.
- * tree.def (TRY_CATCH_EXPR, POPDHC_EXPR, POPDCC_EXPR): Likewise.
- * pa.h (JMP_BUF_SIZE): Define.
- * sparc.h (JMP_BUF_SIZE): Define.
-
- * expr.h (cleanups_this_call): Transform uses of cleanups_this_call
- into uses of the cleanups managed by the block code
- (expand_start_bindings and friends). Remove defer_cleanups_to and
- expand_cleanups_to, and use start_cleanup_deferal and
- end_cleanup_deferal instead. Add exception_region,
- target_temp_slot_level, conditional_code,
- last_unconditional_cleanup and cleanup_ptr to struct nesting to
- facilitate conditional cleanups.
- * expr.c (cleanups_this_call, init_expr): Likewise.
- ({save,restore}_expr_status, store_expr): Likewise.
- (expand_expr, {defer,expand}_cleanups_to): Likewise.
- (do_jump, case TRUTH_{AND,OR}IF_EXPR): Likewise.
- (do_jump, case COND_EXPR): Likewise.
- * stmt.c (struct nesting): Likewise.
- (expand_return, expand_start_bindings, expand_end_bindings): Likewise.
- (expand_cleanups, {start,end}_cleanup_deferal): Likewise.
- * tree.h (start_cleanup_deferal): Likewise.
- (end_cleanup_deferal): Likewise.
- * calls.c (expand_call): Likewise.
- * function.h (struct function): Likewise.
- * except.c (asynchronous_exceptions): Support
- -fasynchronous_exceptions.
- (can_throw): Likewise.
- * toplev.c (f_options): Likewise.
-
- * flags.h (flag_short_temps): Remove support for short temps.
- * calls.c (expand_call): Likewise.
- * toplev.c (flag_short_temps): Likewise.
-
- * stmt.c (expand_start_target_temps): Add for convenience.
- (expand_end_target_temps): Likewise.
- * except.c (jumpif{,not}_rtx): Likewise.
-
- * stmt.c: Remove all traces of empty_cleanup_list.
-
-Wed Apr 23 17:26:40 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * reload1.c (reload_cse_mem_conflict_p): Don't assume that a
- SUBREG can not conflict with a MEM.
-
-Wed Apr 23 09:48:58 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
-
- * 1750a.md (cmphi): Fixed when next CC user is unsigned.
- (mov[hq]i-[23]): New patterns for mem-indirect moves.
- (movhf,movtqf): Corrected.
- * 1750a.c (memop_valid): Memory indirection now valid.
- (nonindirect_operand): Remove.
- (print_operand): Fix the 'J' output modifier.
- * 1750a.h (FRAME_POINTER_REQUIRED): Not required.
- (INITIAL_FRAME_POINTER_OFFSET,FIX_FRAME_POINTER_ADDRESS): Undefine.
- (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE): Honor -fomit-frame-pointer.
- (ELIMINABLE_REGS,CAN_ELIMINATE,INITIAL_ELIMINATION_OFFSET): Defined.
- (PREFERRED_RELOAD_CLASS): Corrected.
- (CONST_COSTS,ADDRESS_COST,REGISTER_MOVE_COST,MEMORY_MOVE_COST):
- Slight adjustments.
- (ASM_APP_ON,ASM_APP_OFF): Corrected.
- * ms1750.inc (DUCR.M,DUC.M): Defined.
-
-Wed Apr 23 09:41:35 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * reload.c (push_reload): Fix last arg of call to find_dummy_reload.
-
-Wed Apr 23 09:29:14 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * configure (i[3456]86-next-*, m68k-next-nextstep{2,3}*):
- Remove out_file and add extra_objs.
- * config/nextstep.c: Add includes for config.h, stdio.h, and flags.h.
- * {i386,m68k}/t-next (nextstep.o): New rule.
- * m68k/next.h: Remove include of machmode.h.
- * {i386,m68k}/next.c: Files deleted.
-
-Tue Apr 22 20:45:29 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * sparc.h (DBX_CONTIN_LENGTH): Shrink to 1000.
-
-Tue Apr 22 18:21:20 1997 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (gen_variable_dir): Add test for DW_AT_declaration to
- the old_die if statement, and delete assertion for it.
- (decl_ultimate_origin): Remove last change.
-
-Tue Apr 22 10:22:27 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (expand_prologue): End the current sequence before
- counting the tst insns in the current function. Start a new
- one before emitting any prologue instructions.
-
- * mn10300.h (REGISTER_MOVE_COST): Bump up cost of moves in the
- same class.
-
- * mn10300.md (untyped_call): New expander.
-
-Mon Apr 21 16:30:21 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * cse.c (fold_rtx, case PLUS): When seeing if negative of constant
- is around, make sure not dealing with largest negative.
-
-Mon Apr 21 13:57:53 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips/t-ecoff: Set TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
-
- * m68k.c (output_addsi3): New function. From addsi3 pattern.
- * m68k.h (output_addsi3): Add declaration.
- * m68k.md (movqi+2): Add address registers.
- (movxf+1): Disable for TARGET_5200.
- (movxf+2): New pattern for TARGET_5200.
- (addsi3): Add define_expand. Move code to output_addsi3.
- (addsi3_internal): Renamed from addsi3. Disable for TARGET_5200.
- (addsi3_5200): New pattern for TARGET_5200.
-
-Sun Apr 20 10:45:35 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (operand_equal_p): Constants are not equal if there
- has been an overflow.
-
- * toplev.c (compile_file): Shorten "branch-probabilities" in
- output of times.
-
- * alpha/vms.h (MOD[SD]I3_LIBCALL): Call ots$rem, not ots$mod.
- (DWARF2_DEBUGGING_INFO): Define.
-
- * alpha.c (alpha_need_linkage): Call get_identifier.
-
- * rs6000.c (rs6000_output_load_toc_table): New function.
- (output_prolog): Call it instead of doing it directly.
- * rs6000.md (nonlocal_goto_receiver): New pattern.
-
- * dwarf2out.c: Major cleanup; mostly reformatting.
- Include expr.h.
- Undefine inline ifndef __GNUC__; never define to include static.
- Add "static" to header of all inlined functions.
- Add declarations for all static functions, with prototypes.
- (addr_const_to_string): Use HOST_WIDE_INT_PRINT_* macros.
- (add_AT_*, new_{die,loc_descr,cfi): Don't check for xmalloc
- returning zero.
- (modified_type_die): Add missing parm on recursive call.
- ({reg,based}_loc_descriptor): Add missing arg to call to new_loc_descr.
- (add_const_value_attribute): Use REAL_VALUE_TYPE for fp calculations.
- (output_call_frame_info): Add missing arg to output_cfi call.
- (dwarf2out_def_cfa): Local variable OLD_REG must be unsigned long.
- * Makefile.in (dwarf2out.o): Includes expr.h.
-
- * dwarf2out.c: Cast first arg in all calls to bzero to char *.
- (decl_ultimate_origin): Return NULL if equal to decl.
- (constant_size): Never return more than 4.
- (value_format, case 8): New case.
- (dwarf2out_frame_debug): Use HARD_FRAME_POINTER_REGNUM.
- (based_loc_descr): Likewise.
- (add_bound_info): Delete default case.
- Add cases for CONVERT_EXPR and NON_LVALUE_EXPR; treat like NOP_EXPR.
- Change NOP_EXPR to recursive call.
- (add_type_attribute): Ignore unnamed subtype of integral or FP.
- (gen_subprogram_die): Use reg_loc_descriptor.
- (dwarf2out_decl): Ignore nested functions.
-
- * fix-header.c, protoize.c, gcov.c: Use symbolic codes for exit.
-
- * final.c (profile_function): Only call ASM_OUTPUT_REG_{PUSH,POP}
- if defined.
-
- * expr.c ({move,clear}_by_pieces_1, expand_assignment): Ensure
- we have unshared rtx before changing flags.
- (store_{constructor,field}): Likewise.
- (expand_expr, case COMPONENT_REF): Likewise.
- (store_expr): Check if TEMP and TARGET are same with rtx_equal_p.
-
- * emit-rtl.c (change_address, init_emit): Delete forward references.
- (rtl_obstack, stack_depth, max_stack_depth): Delete extern decls.
-
-Fri Apr 18 18:25:52 1997 Jim Wilson <wilson@cygnus.com>
-
- * function.c (instantiate_decls): For DECL_INCOMING_RTL, use max
- of type size and mode size in instantiate_decl call.
-
- * fixincludes (sys/lc_core.h): Fix OSF1/4.x namespace pollution.
-
-Wed Apr 16 19:36:53 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (add_bound_info): Use a DIE instead of a location
- expression for variable bounds. Trust a MEM rtx even when
- optimizing.
- (DWARF_FRAME_RETURN_COLUMN): Default to FIRST_PSEUDO_REGISTER.
-
- * expr.c (expand_expr, case RTL_EXPR): If there is no sequence,
- don't set it to const0_rtx.
- * tree.c (array_type_nelts): Don't return any SAVE_EXPRs.
-
-Mon Apr 14 18:12:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (RS6000_ITRUNC, RS6000_UITRUNC): Prepend underscores.
- (RS6000_MCOUNT): New macro.
- (ASM_FILE_START): Use RS6000_MCOUNT.
- * rs6000.c (output_function_profiler): Use RS6000_MCOUNT.
- * rs6000/aix31.h (RS6000_{ITRUNC,UITRUNC,MCOUNT}): New macros.
-
-Mon Apr 14 14:37:27 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (can_use_return_insn): Include outgoing argument
- area in size computation.
- (expand_prologue): Likewise. No longer diddle with sequences.
- Put register saves just before outgoing argument area.
- (expand_epilogue): Similarly.
- (impossible_plus_operand): New function.
- * mn10300.h (FRAME_POINTER_REQUIRED): Never require a frame pointer.
- (ACCUMULATE_OUTGOING_ARGS, OUTGOING_REG_PARM_STACK_SPACE): Define.
- (impossible_plus_operand): Declare.
- * mn10300.md (reload_insi): New expander to handle pathological
- reload cases.
- (addsi3): Fix CC status.
-
- * mn10300.h (FUNCTION_VALUE): Return addresses in $a0.
- (FUNCTION_VALUE_REGNO_P): Corresponding changes.
- * mn10300.md (call_value_internal): Allow output to be in an
- address register.
-
- * calls.c (emit_library_call): Handle saving of stack slots when
- ACCUMULATE_OUTGOING_ARGS is defined.
- (emit_library_call_value): Likewise.
-
-Mon Apr 14 14:48:15 1997 Jim Wilson <wilson@cygnus.com>
-
- * sh.md (xtrct_left, xtrct_right): New patterns.
-
- * combine.c (get_last_value_validate): New argument insn.
- Add check for memory reference clobbered by later store.
- (record_value_for_reg, get_last_values): Pass in new argument.
-
-Mon Apr 14 14:03:18 1997 Mike Meissner <meissner@cygnus.com>
-
- * configure (powerpc --with-cpu=x): Add embedded powerpcs and 604e.
-
- * rs6000.c (rs6000_override_options): Recognize -mcpu=801, -mcpu=823,
- and -mcpu=604e.
-
-Sun Apr 13 18:43:16 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * reload1.c (invalidate_regno_rtx): New static variable.
- (reload_cse_invalidate_regno): Check whether any earlier registers
- have a multi-register value which includes the register we are
- invalidating.
- (reload_cse_regs): Initialize invalidate_regno_rtx.
-
- * reload1.c (reload_cse_record_set): When setting reg_values for a
- copy from one register to another, use gen_lowpart_common to
- adjust the value correctly if the mode changes.
-
-Sun Apr 13 17:24:48 1997 Doug Evans <dje@cygnus.com>
-
- * expr.c (move_block_from_reg): Try using integral mov operation first.
-
- * calls.c (expand_call): When copying unaligned values into a register,
- zero out the register first rather than emitting a clobber.
-
- * integrate.c (copy_rtx_and_substitute): If FRAME_GROWS_DOWNWARD
- and regno == VIRTUAL_STACK_VARS_REGNUM, round size of stack slot up
- before calling assign_stack_temp.
-
-Sun Apr 13 15:29:38 1997 Ulrich Drepper <drepper@cygnus.com>
-
- * enquire.c (fake_f_rep): Add missing element name in cast.
-
-Sun Apr 13 15:20:05 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
- Fix sign bug in last change.
-
-Sun Apr 13 15:03:38 1997 J.T. Conklin <jtc@netbsd.org>
-
- * m68k.md (movstricthi): Remove extraneous comparisons.
-
- * configure (*-*-netbsd): tmake_file now t-netbsd; delete xmake_file.
- * config/t-netbsd: New file.
- * config/x-netbsd: Removed.
-
-Sun Apr 13 14:51:25 1997 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * cse.c (canon_reg, cse_insn): Don't examine insn_n_dups if
- recog_memoized fails to find a match.
-
-Sun Apr 13 14:17:26 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * reload1.c (reload_cse_noop_set_p): Add insn parameter. Change
- all callers. If deleting the instruction, remove any earlier
- REG_DEAD note for DREG.
- (reload_cse_simplify_set): If simplifying, remove any earlier
- REG_DEAD note for the new source register.
-
-Sun Apr 13 14:12:08 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * libgcc2 (L_bb, L_exit): Use 0 rather than NULL for null pointers.
-
-Sun Apr 13 12:53:03 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k/linux.h (ASM_SPEC): Define.
- (STRUCT_VALUE_REGNUM, STATIC_CHAIN_REGNUM, INITIALIZE_TRAMPOLINE):
- Remove definitions, undoing the change of Mar 20 1996.
-
- * m68k.c (output_move_qimode): Optimize pushing one byte if source
- operand does not use stack pointer.
-
- * m68k.md (rotl[shq]i3, rotl[hq]i3+1): Don't directly modify operand.
-
- * m68k.md (tstdi): Add missing parallel around the pattern.
-
-Sun Apr 13 12:51:00 1997 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c, cpplib.c (do_include): Diagnose #import and
- #include_next if pedantic and if not in a system header.
- (do_warning): #warning now causes an error if -pedantic-errors
- is given; this is needed since #warning isn't ANSI.
-
- * toplev.c (lang_options): Add -Wundef, -Wno-undef.
- * c-decl.c (c_decode_option): Ignore -Wundef, -Wno-undef.
-
- * cccp.c, cexp.y (warn_undef): New variable.
- * cpplib.h (struct cpp_options): New member warn_undef.
- (CPP_WARN_UNDEF): New macro.
-
- * cccp.c (main), cpplib.c (cpp_handle_options): Set warn_undef
- from -Wundef and -Wno-undef.
-
- * cppexp.c (cpp_lex) New arg skip_evaluation.
- (cpp_parse_expr): Pass skip_evaluation to cpp_lex.
- Abort if cpp_lex returns NAME.
-
- * cexp.y (exp), cppexp.c (cpp_lex): Optionally warn about undefined
- identifiers that evaluate to 0.
-
-Sun Apr 13 11:43:16 1997 Joel Sherrill <joel@OARcorp.com>
-
- * configure (hppa1.1-*-rtems*): New target.
- * mips/rtems.h: New file.
-
-Sun Apr 13 09:48:26 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * gcov.c (print_usage, open_files): Use FATAL_EXIT_CODE.
- * collect2.c (fatal_perror, fatal, collect_wait): Likewise.
-
- * sparc.c (eligible_for_delay_slot): Clean up and make to agree
- precisely with patterns in MD file.
- * sparc.md (*return_addsi): Change condition to exclude both ints.
- (*return_adddi): Likewise.
- (*return_subsi): New pattern.
-
- * recog.c (validate_replace_rtx_1, case MINUS): New case.
-
-Sun Apr 13 08:20:24 1997 Thomas Bushnell <thomas@gnu.ai.mit.edu>
-
- * i386/gnu.h (TARGET_VERSION): Redefine.
-
-Sun Apr 13 08:15:31 1997 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * c-typeck.c (lookup_field): Don't recurse unless FIELD is
- a RECORD_TYPE or UNION_TYPE.
-
- * final.c (profile_function): Save the static chain register
- around the call to the profiler function.
-
- * loop.c (invariant_p, case REG): Pointers into frame are not
- invariants if function has nonlocal gotos.
- * reload1.c (reload): If function has nonlocal label, mark all
- caller-saved regs as used.
-
-Fri Apr 11 16:49:06 1997 Doug Evans <dje@seba.cygnus.com>
-
- * m32r.h (REG_ALLOC_ORDER): Restore to original setting.
-
- * m32r.h (UPPER16_P): Fix calculation.
- * m32r.c (two_insn_const_operand): New function.
- (m32r_print_operand): Handle 'X'.
- * m32r.md (movsi): Tweak.
- (*movsi_insn): Output hex value of constants too.
- (movsi define_split): Add.
- (andsi3,orsi3,xorsi3): Output hex value of constants too.
-
-Thu Apr 10 18:39:33 1997 Jim Wilson <wilson@cygnus.com>
-
- * sh.md (sne): Modified to use negc instead of xor.
- (sne+1): New define_split for new sne pattern.
- * sh.c (output_stack_adjust): Reorganize code for readability.
- If size is negative, negate and subtract it instead of adding it.
-
-Wed Apr 9 13:51:07 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (output_stack_adjust): When splitting an adjustment into two
- parts, make sure the stack is aligned at all times.
-
-Tue Apr 8 12:34:38 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (RETURN_ADDR_RTX): Define.
-
-Mon Apr 7 19:19:57 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (count_tst_insns): New function.
- (expand_prologue): Load zero into data and/or address registers
- if any are free and the function has optimizable tst insns.
- (output_tst): If a suitable register is known to have the
- value zero, use it instead of searching for a suitable register.
- * mn10300.h (zero_dreg, zero_areg): Declare.
- (FRAME_POINTER_NEEDED): Frame pointers are not needed if the
- outgoing argument size is zero.
- * mn10300.md (movXX): Optimize loading zero into an address
- register if possible. Optimize loading a DF/DI mode value
- into an address register from a constant memory address.
- (addsi3): Provide alternative which doesn't require a matching
- inout operand.
- (return): Optimize consecutive return instructions.
-
-Mon Apr 7 17:30:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * mips/iris5.h (SUBTARGET_CC1_SPEC): Define.
- (LINK_SPEC, STARTFILE_SPEC): Support -static.
- * mips/iris6.h (SUBTARGET_CC1_SPEC): Define.
- (STARTFILE_SPEC, LINK_SPEC): Support -static.
- * mips.h: (SUBTARGET_CC1_SPEC): Define.
- (CC1_SPEC): Add subtarget_cc1_spec.
- (EXTRA_SPECS): Add subtarget_cc1_spec.
-
-Sun Apr 6 12:24:53 1997 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm.md (incscc): Use a match_operand with cc_register to match
- the condition code register.
- (decscc, *condbranch, *condbranch_reversed, *mov_scc): Likewise.
- (*mov_negscc, *mov_notscc, *cond_return): Likewise.
- (*cond_return_inverted, *ior_scc, *cond_move): Likewise.
- (insv): New expand.
- (andsi_notsi_si): Renamed from *andsi_notsi_si.
- (andsi_not_shiftsi_si): New insn.
- (*minmax_arithsi): Don't match this insn if operand1 is an
- eliminable register.
- ({sin,cos}*): Delete, since the ARM always emulates these its
- faster to call a library function.
- (movsicc, *movsicc_insn): Make operand0 an s_register_operand,
- and operand3 an arm_not_operand. Use cc_register to match the
- condition code register.
- (mov[sd]fcc*): Make operand[0,2] s_register_operands, and operand3
- the nonmemory_operand. Use cc_register to match the condition
- code register.
- (*ifcompare_plus_move): Move before *ifcompare_arith_move. Just do
- a split for the output.
- (*ifcompare_move_plus): Similarly, but relative
- to *ifcompare_move_arith.
- (*if_plus_move, *if_move_plus): New patterns.
- (*ifcompare_arith_arith): Simplify the alternatives down to just one,
- and split the insn before output.
- (*if_arith_arith, *if_arith_move, *if_move_arith): New patterns.
- (*ifcompare_move_not, *ifcompare_not_move): Simplify and split the
- insn before output.
- (*if_move_not, *if_not_move): New patterns.
- (*ifcompare_shift_move, *ifcompare_move_shift): Simplify and split the
- insn before output.
- (*if_shift_move, *if_move_shift): New patterns.
- (*ifcompare_shift_shift): Simplify and split the insn before output.
- (*if_shift_shift): New pattern.
- (*ifcompare_not_arith, *ifcompare_arith_not): Simplify and split the
- insn before output.
- (*if_not_arith, *if_arith_not): New patterns.
- (*ifcompare_neg_move, *ifcompare_move_neg): Simplify and split the
- insn before output.
- (*if_neg_move, *if_move_neg): New patterns.
-
-Sat Apr 5 20:17:43 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/sol-ci.asm (_environ): Don't make _envrion a common
- variable, the lastest assembler doesn't let common variables also
- be a weak symbol.
-
-Fri Apr 4 18:30:12 1997 Jim Wilson <wilson@cygnus.com>
-
- * rs6000.md (adddi3): Use non_short_cint_operand instead of
- non_add_cint_operand.
-
-Thu Apr 3 15:08:39 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (can_use_return_insn): Add size of fixed stack space
- for function calls into the size of the frame.
- (expand_prologue, expand_epilogue): Likewise.
- (initial_offset): Corresponding changes..
- * mn10300.h (OUTGOING_REG_PARM_STACK_SPACE): No longer define.
- (STACK_POINTER_OFFSET): Define.
- * mn10300.md (call, call_value expanders): Don't adjust the stack
- pointer here anymore.
-
- * mn10300.md (ashlsi3): Remove some alternatives which are no longer
- needed or desired.
-
-Thu Apr 3 15:06:53 1997 Jim Wilson <wilson@cygnus.com>
-
- * local-alloc.c (no_conflict_p): Reject sequences with foreign insns.
-
- * combine.c (move_deaths): Handle partial REG_DEAD note for
- multi-reg hard register.
-
- * function.c (expand_function_start): Emit queue after expanding
- each dynamic parameter type.
-
- * mips.c (mips_move_2words): Add SIGN_EXTEND support for SYMBOL_REF,
- LABEL_REF, and CONST operands.
-
- * dwarf2out.c: Delete comment referring to README.DWARF.
-
-Wed Apr 2 17:21:23 1997 Jim Wilson <wilson@cygnus.com>
-
- * rs6000.md (ashrdi3_power): Mark alternative 0 as early_clobber
- output.
-
- * rs6000.md (abssi3_nopower define_split): Switch operands of MINUS.
- (nabssi3_nopower define_split): Likewise.
-
-Tue Apr 1 19:30:01 1997 Mike Stump <mrs@cygnus.com>
-
- * libgcc2.c (find_exception_table): Fix to logic to deal with
- functions that are in their own section, such as template
- instantiations, that cause overlapping EH tables.
-
-Tue Apr 1 17:16:22 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (USER_H): Add va-mn10300.h
-
- * ginclude/stdarg.h: Include va-mn10300.h.
- * ginclude/varargs.h: Likewise.
- * ginclude/va-mn10300.h: New file.
- * mn10300.c (expand_prologue): If current_function_varargs is nonzero,
- flush d0/d1 back into stack.
- (mn10300_builtin_saveregs): New function.
- (function_arg, function_arg_partial_nregs): New functions.
- (initial_offset): Tweak now that the RP save area is allocated
- and deallocated around each call again.
- * mn10300.h (FIRST_PARM_OFFSET): Now 4.
- (FRAME_POINTER_REQUIRED): Require frame pointer for all non-leaf fcns.
- (REG_PARM_STACK_SPACE): Now 8 bytes.
- (FUNCTION_ARG_REGNO_P): Update for new parameter passing conventions.
- (CUMULATIVE_ARGS, INIT_CUMULATIVE_ARGS): Likewise.
- (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Likewise.
- (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
- (TRAMPOLINE_TEMPLATE): Don't clobber d0 anymore.
- (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Corresponding changes.
- (EXPAND_BUILTIN_SAVEREGS): Define.
- * mn10300.md (call, call_value patterns): Allocate and deallocate
- stack slot for return pointer around each call.
-
- * mn10300.h (RTX_COSTS): Refine.
- (CASE_VALUES_THRESHHOLD, NO_FUNCTION_CSE): Likewise.
- * mn10300.c (output_tst): New function.
- * mn10300.md (movdi, movdf): Improve code to load constants into regs.
- (tst insns): Use output_tst to optimize some cases. Add versions to
- encourage more zero extensions instead of sign extensions of HImode
- and QImode values.
- (divsi3, udivsi3): Remove patterns. Replaced by...
- (divmodsi4, udivmodsi4): New expanders/patterns.
- (andsi3): Optimize "and" operations with certain constants.
-
-Tue Apr 1 09:14:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h: (ADJUST_COSTS): Define.
-
-Fri Mar 28 17:46:13 1997 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (LANGUAGES): Add gcov.
- (OBJS): Add profile.o.
- (STAGESTUFF): Add gcov.
- (profile.o, gcov.o, gcov): Add rules to build them.
- (install-common): Install gcov.
- * combine.c (distribute_notes): Handle REG_BR_PROB and REG_EXEC_COUNT
- REG_NOTES.
- * sparc.h (OVERRIDE_OPTIONS): Check profile_arc_flag.
- * final.c (LONG_TYPE_SIZE): Define.
- (count_instrumented_arcs): New variable.
- (end_final, profile_after_prologue, leaf_function_p): Add support
- for profile_arc_flag.
- (add_bb): Only call CC_STATUS_INIT if HAVE_cc0.
- * flags.h (profile_arc_flag, flag_test_coverage,
- flag_branch_probabilities): Declare.
- * function.c (expand_function_end): Output NOTE_REPEATED_LINE_NUMBER
- for last line of function.
- * integrate.c (expand_inline_function): Output
- NOTE_REPEATED_LINE_NUMBER after inlined call.
- * jump.c (jump_optimize, follow_jumps, mark_jump_label): Disable some
- optimizations when flag_test_coverage and there is a line number note
- in the way.
- (invert_jump): Add REG_BR_PROB when flag_branch_probabililties.
- * libgcc2.c (__bb_exit_func): Support gcov style output.
- * reorg.c (mostly_true_jump): Use REG_BR_PROB notes when
- flag_branch_probabilities.
- * rtl.c (note_insn_name): Add NOTE_REPEATED_LINE_NUMBER.
- (reg_note_name): Add REG_BR_PROB and REG_EXEC_COUNT.
- * rtl.h (enum reg_note): Add REG_BR_PROB and REG_EXEC_COUNT.
- (REG_BR_PROB_BASE): Define.
- (NOTE_REPEATED_LINE_NUMBER): Define.
- * sched.c (update_flow_info): Handle REG_EXEC_COUNT and REG_BR_PROB
- notes.
- * toplev.c (branch_prob_dump, profile_arc_flag, flag_test_coverage,
- flag_branch_probabilities, branch_prob_dump_file, branch_prob_time):
- New variables.
- (f_options): Add profile-arcs, test-coverage, and
- branch-probabilities.
- (compile_file): Set branch_prob_time. Pass flag_test_coverage to
- init_emit_once. Handle branch_prob_dump. Call init_branch_prob.
- Call end_branch_prob. Call output_func_start_profiler.
- (rest_of_compilation): Handle branch_prob_dump. Call new
- branch_prob pass.
- (main): Set branch_prob_dump.
- * gcov.c, profile.c, gcov-io.h, gcov.texi: New files.
-
-Thu Mar 27 16:52:52 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.h (CPP_CPU_DEFAULT): Define if TARGET_CPU_DEFAULT is not set.
- * i386.h (STACK_BOUNDARY): Define to always be 32.
-
- From J"orn Rennecke <amylaar@cygnus.co.uk>
- * i386.md: (zero_extendhisi2+[12]): Use true_regnum instead of
- REGNO for operand 0.
- (zero_extendqisi2+3): Use reg_overlap_mentioned_p instead of REGNO
- comparison; use true_regnum instead of REGNO for rtx generation.
-
-Wed Mar 26 12:34:21 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * reload1.c (reload): Call reload_cse_regs.
- (reg_values): New static variable.
- (reload_cse_invalidate_regno): New static function.
- (reload_cse_mem_conflict_p): New static function.
- (reload_cse_invalidate_mem): New static function.
- (reload_cse_invalidate_rtx): New static function.
- (reload_cse_regs): New static function.
- (reload_cse_regno_equal_p): New static function.
- (reload_cse_noop_set_p): New static function.
- (reload_cse_simplify_set): New static function.
- (reload_cse_check_clobbered): New static variable.
- (reload_cse_check_src): New static variable.
- (reload_cse_check_clobber): New static function.
- (reload_cse_record_set): New static function.
-
-Wed Mar 26 07:34:06 1997 Ulrich Drepper <drepper@cygnus.com>
-
- * ginclude/stdarg.h (__va_copy): New definition.
-
-Tue Mar 25 13:43:36 1997 Michael Meissner <meissner@cygnus.com>
-
- * gcc.c (init_spec): If -v, print out that the default spec values
- were being used. Fix prototype to reflect no arguments.
- (set_spec): If specs has not been set, set it up with the default
- specs.
- (read_specs): Move to later in the file so that startfile_prefixes
- has been declared. Process "%include <file>" to include another
- specs file, aborting if the file can't be found. Process
- "%include_noerr <file>: to include another specs file, giving no
- error if the file can't be found. Process "%rename var1 var2" to
- rename a specs variable. Take new argument that indicates whether
- we are processing the main file. Only process % commands if this
- is not the main specs file. Change callers.
- (main): Do not call init_spec if a specs file was found.
- (set_spec,read_specs,do_spec_1): If DEBUG_SPECS is defined, print
- debug information.
-
-Tue Mar 25 14:43:58 1997 Doug Evans <dje@cygnus.com>
-
- * expr.c (emit_push_insn): Delete emission of CLOBBER
- when doing partial push, no longer necessary.
-
- * c-decl.c (grokdeclarator): Pedwarn qualified void function return
- type.
-
-Tue Mar 25 14:28:15 1997 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * reload.c (find_dummy_reload): New parameter earlyclobber. If set
- then don't use IN for the reload if it also appears elsewhere in
- the insn. All callers changed.
-
-Tue Mar 25 13:20:18 1997 J.T. Conklin <jtc@cygnus.com>
-
- * m68k/lb1sf68.asm (udivsi3): Fix hunk from previous patch that
- did not apply correctly.
-
- * m68k.md (tablejump): Use extl to explicitly sign extend
- index registeron TARGET_5200.
- * m68k/{apollo68.h,coff.h,linux.h,mot3300.h,pbb.h}
- (ASM_RETURN_CASE_JUMP): Likewise.
-
- * m68k.md (mulsi3): Changed into define_expand. Split insn into
- m68k and coldfire specific versions with appropriate constraints.
-
- * m68k.md (movqi): Disable use of address registers for
- TARGET_5200.
-
- * m68k/lb1sf68.asm (__modsi3, __umodsi3): Use mulsl instruction
- instead of __mulsi3 function call on the coldfire.
-
- * m68k.md (bne0_di): Fix typo in last change.
-
- * m68k.md (xorsi3_5200): Correct constraints.
-
- * m68k.c (output_move_{si,hi,qi}mode): New functions.
- * m68k.h (output_move_{si,hi,qi}mode): Declare.
-
- * m68k.md (move{si,hi,qi,di}): Changed into define_expands. Split
- insns into m68k and coldfire specific versions with appropriate
- constraints.
-
-Tue Mar 25 12:18:41 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (GCC_PASSES): Revert previous change; use cc1$(exeext).
-
-Mon Mar 24 16:12:20 1997 Doug Evans <dje@cygnus.com>
-
- * m32r/*: New files.
- * config.sub: Add m32r.
- * configure: Add m32r.
- * longlong.h: Add m32r support.
- * ginclude/{stdarg.h,varargs.h}: Add m32r support.
- * ginclude/va-m32r.h: New file.
-
-Mon Mar 24 15:53:15 1997 Joel Sherrill <joel@OARcorp.com>
-
- * rs6000/rtems.h: Change to a near clone of the powerpc-eabi target.
- * configure (powerpc*-*-rtems): Move before GNU/Linux configuration.
-
-Mon Mar 24 14:26:37 1997 Gavin Koch <gavin@cygnus.com>
-
- * ginclude/va-mips.h: For little endian, eabi, objects
- less than __va_reg_size are passed in registers.
-
-Fri Mar 21 00:48:02 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (print_operand): Handle 'N'.
-
- * mn10300.c (expand_epilogue): Correctly handle functions
- with large frames, but no callee register saves.
-
- * mn1300.md (movdf, movdi): Handle overlapping moves.
-
- * pa.c (compute_movstrsi_length): Handle residuals correctly.
-
-Thu Mar 20 13:53:30 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.c (easy_fp_constant): If -mrelocatable, consider all fp
- constants to be hard.
-
-Mon Mar 20 13:53:30 1997 Jim Wilson <wilson@cygnus.com>
-
- * rs6000.md (movdf/movsf define_splits): Add SUBREG support.
-
- * rs6000.c (fp_reg_or_mem_operand): Delete.
- * rs6000.h (PREDICATE_CODES): Remove fp_reg_or_mem_operand.
- (fp_reg_or_mem_operand): Delete declaration.
- * rs6000.md (movsf_hardfloat): Use nonimmediate_operand instead
- of fp_reg_or_mem_operand.
-
-Thu Mar 20 08:52:27 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (cmpsi): Handle comparing a register with
- itself by adding zero to the reg. Z bit for such an insn is
- inverted.
- * mn10300.c (notice_update_cc): Handle CC_INVERT.
-
- * pa.c (emit_move_sequence): Don't lose for a secondary reload
- to the SAR register if the input is a MEM with an offset that won't
- fit in 14bits.
-
-Wed Mar 19 17:10:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k/linux.h (ASM_OUTPUT_MI_THUNK): Define.
-
-Wed Mar 19 16:59:34 1997 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c, cpplib.c (do_error, do_warning): Fix memory leak.
-
- * cccp.c (output_line_directive): Do not output negative line
- numbers when analyzing directives like `#line 0'.
-
- * cexp.y (parse_number, yylex), cccp.c (rescan), cpplib.c
- (cpp_get_token): Unless -lang-c89 is specified, allow C9X-style
- hexadecimal floating-point numbers as preprocessor numbers.
- * cccp.c (c89): New decl.
- (main): Set it to 1 if -lang-c89.
- * cpplib.h (struct cpp_options): New member c89.
- (CPP_C89): New macro.
- * cpplib.c (unsafe_chars): `p' is unsafe before `-' or `+', since it
- might generate a C9X-style hexadecimal floating-point number.
- (cpp_handle_options): Set c89 option to 1 if -lang-c89.
-
-Tue Mar 18 17:05:57 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.h (STACK_BOUNDARY): Determine according to TARGET_ALIGN_DOUBLE.
-
- * i386.c (override_options) Make the default alignment 4 for 486,
- otherwise 2.
-
- * i386/freebsd-elf.h (CPP_SPEC): Remove TARGET_CPU_DEFAULT reference.
- * i386/linux{,-aout,-oldld}.h (CPP_SPEC): Likewise.
-
- * i386/go32.h (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
- NO_STAB_H, ASM_FILE_START, DBX_BLOCKS_FUNCTION_RELATIVE,
- DBX_FUNCTION_FIRST, DBX_OUTPUT_MAIN_SOURCE_FILE_END,
- ASM_OUTPUT_SOURCE_LINE): Added to support stabs.
- (ASM_OUTPUT_SECTION_NAME): Support section attribute.
-
-Tue Mar 18 16:12:28 1997 Jim Wilson <wilson@cygnus.com>
-
- * final.c (shorten_branches): Split all insns before computing insn
- lengths.
- (final_scan_insn, case default): If HAVE_ATTR_length defined, call
- abort for any insn that has a '#' output template.
-
- * expr.c (emit_group_load): Call operand_subword instead of creating
- an explicit SUBREG.
-
- * reload1.c (reload_reg_free_before_p, case
- RELOAD_FOR_OPERAND_ADDRESS): Conflicts with RELOAD_FOR_OPADDR_ADDR
- reloads.
-
- * configure (alpha-dec-osf[23456789]*): Use install-headers-cpio
- for osf4.
-
- * gcc.c (init_spec): Delete parameter. Always initialize extra_specs.
- (process_command, main): Change all callers.
-
- * combine.c (if_then_else_cond): Call copy_rtx to prevent sharing.
-
-Tue Mar 18 14:59:12 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * function.c (assign_parms): Add a REG_EQUIV note to the
- instruction which copies a parameter into a pseudo-register
- whenever there is an associated stack slot, even if the parameter
- actually arrived in a register.
-
-Tue Mar 18 14:24:48 1997 Doug Evans <dje@cygnus.com>
-
- * configure (alpha-dec-osf[23]): Separate osf[23] case.
- * alpha.h (LIB_SPEC): -lprof1 requires -lpdf for OSF 4.
- * alpha/osf2or3.h: New file.
-
-Tue Mar 18 11:32:10 1997 Jeffrey A Law (law@cygnus.com)
-
- * m68k.c (m68k_last_compare_had_fp_operands): New variable.
- * m68k.h (m68k_last_compare_had_fp_operands): Declare it.
- * m68k.md (tst*, cmp*): Turn into define_expand/define_insn pairs.
- Keep track of whether test/compare has fp operands.
- (seq, sne, sgt, slt, sge, sle): Turn into define_expand/define_insn
- pairs. Make expanders FAIL if TARGET_68060 and last comparison/test
- had fp operands.
-
-Tue Mar 18 04:29:29 1997 Richard Earnshaw <rearnsha@armltd.co.uk>
-
- * arm.md (movhi): Handle generation of large constants during
- and after reload.
-
-Mon Mar 17 17:30:24 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * gmicro.h (RETURN_POPS_ARGS): Make sure FUNDECL is non-nil
- before we try to use it.
- * m68k.h (RETURN_POPS_ARGS): Likewise.
- * ns32k.h (RETURN_POPS_ARGS): Likewise.
- * pyr.h (RETURN_POPS_ARGS): Likewise.
-
-Mon Mar 17 17:13:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
- Only add padding if a bit field would otherwise span more units
- of alignment than its base type.
-
-Mon Mar 17 17:03:55 1997 J.T. Conklin <jtc@cygnus.com>
-
- * m68k.md (beq0_di, bne0_di, bge0_di, blt0_di): Use cmpw #0
- instead of tstl when testing address registers on the 68000.
-
- * m68k/lb1sf68.asm: Fix prologues/epilogues to deal with the lack
- of predecrement/postincrement addressing modes in the coldfire
- moveml instruction.
-
-Mon Mar 17 17:00:14 1997 Scott Christley <scottc@net-community.com>
-
- * Fix long standing bug where first method call for a class could
- result in a garbled stack or produce an incorrect return value.
- * objc/sendmsg.c (__objc_block_return): Remove function.
- (__objc_word_return, __objc_double_return): Remove functions.
- (__objc_get_forward_imp): New function.
- (__objc_init_dispatch_tables): Install zero instead of
- __objc_init_install_dtable.
- (__objc_init_install_dtable): No longer call the method but
- allow objc_msg_lookup return it for normal execution.
- (obj_msg_lookup): Differentiate between when a method isn't
- implemented and when the dispatch table needs to be installed.
- Return the IMP when the dispatch table is installed versus
- having __objc_init_install_dtable call it.
- (get_imp): Install dispatch table if needed and return IMP
- from the newly installed dispatch table.
- (__objc_responds_to): Install dispatch table if needed before
- checking if method is implemented.
-
-Mon Mar 17 16:29:38 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * tree.c (build_{index,range}_type): Ensure expressions for min
- and max value are in same obstack as type.
-
-Mon Mar 17 15:44:18 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * cccp.c [#if VMS] (O_RDONLY, O_WRONLY): Delete (redundant).
- (BSTRING): Delete (obsolete; usage occurs prior to definition).
- (do_include): Handle old VAX C style includes better.
-
-Mon Mar 17 13:46:47 1997 Paul Eggert <eggert@twinsun.com>
-
- * cexp.y, cppexp.c (parse_number): Invalid integer constants are
- errors if pedantic.
- * cexp.y (yylex): Invalid multibyte characters are errors if pedantic.
- * cppexp.c (cpp_lex): Likewise.
- * cppexp.c (cpp_parse_escape): Character constants that do not fit are
- errors if pedantic.
-
- * c-parse.in (expr_no_commas): Do not store temporary
- skip_evaluation increments on yacc value stack.
-
-Sun Mar 16 19:54:49 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (expand_expr, case PLACEHOLDER_EXPR): Refine which
- object is picked.
-
-Sun Mar 16 15:45:45 1997 Jeffrey A Law (law@cygnus.com)
-
- * loop.c (strength_reduce): Adjust BENEFIT appropriately if an
- autoincrement memory reference will eliminate add insns.
-
-Sun Mar 16 08:41:40 1997 Scott Christley <scottc@net-community.com>
-
- * i386.md (untyped_call): Re-enable code.
- * objc/sendmsg.c (__objc_block_return): New function.
- (__objc_word_return, __objc_double_return): New functions.
- (__objc_init_install_dtable): Call appropriate return function
- based upon method type.
- * objc/thr-pthreads.c: Correct include path.
-
-Sat Mar 15 07:58:33 1997 Scott Christley <scottc@net-community.com>
-
- * objc-act.c (OBJC_VERSION): Increment version.
- * objc/init.c (OBJC_VERSION): Likewise.
-
-Sat Mar 15 07:58:00 1997 Ovidiu Predescu <ovidiu@net-community.com>
-
- * Implement +load.
- * objc/init.c (objc_send_load, __objc_send_load): New functions.
- (__objc_send_message_in_list): New function.
- (__objc_force_linking): New function.
- (__objc_exec_class): Don't call _objc_load_callback here.
- * objc/linking.m: New file.
- * objc/sendmsg.c (class_add_method_list): Check for the +load method
- when adding a methods list to a class.
- * objc/Makefile (OBJC_O): Add linking.m.
-
- * Allow methods defined in categories to override methods that are
- defined in the class implementation.
- * objc/sendmsg.c (__objc_install_methods_in_dtable): New function.
- (class_add_method_list): Don't check anymore for duplicate methods.
-
- * config/nextstep.h (INCLUDE_DEFAULTS): Define to something useful
- when cross-compiling.
-
- * The static instances list moved from the objc_module struct to
- objc_symtab struct, at the end of defs array. This now allows the NeXT
- gdb to work with binaries generated for the GNU ObjC runtime.
- * objc-act.c (build_objc_symtab_template): Make sure
- defs in objc_symtab is a NULL terminated array.
- (init_def_list): Attach statics to end of def list.
- (init_objc_symtab): Take statics list into account.
- (init_module_descriptor, build_module_descriptor): Don't add statics.
- (generate_static_references): Indicate that statics are used.
- (finish_objc): Process statics in the beginning.
- * objc/objc-api.h (objc_module): Eliminate statics variable.
- * objc/init.c (__objc_exec_class): Access statics from their
- new place in the defs variable.
-
-Sat Mar 15 07:29:15 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload.c: Include expr.h.
- (find_reloads_address, find_reloads_address_1): New argument INSN.
- (find_reloads_address_1): Reload inside of p{re,ost}_{in,de}c
- instead of entire p{re,ost}_{in,de}c where appropriate.
- * Makefile.in (reload.o): Added expr.h to dependencies list.
-
-Sat Mar 15 07:17:12 1997 Richard Henderson <rth@tamu.edu>
-
- * reload.h (eliminate_regs): Add STORING arg.
- * reload1.c (eliminate_regs): Likewise.
- (eliminate_regs, case SET): Pass that we are storing to recursive call.
- (eliminate_regs, case SUBREG): If storing and same number of words,
- use larger mode.
- * caller-save.c, dbxout.c, dwarfout.c, dwarf2out.c, reload.c, sdbout.c:
- Change all calls to eliminate_regs.
-
-Fri Mar 14 14:18:49 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * cplus-dem.c: Add prototypes for all static functions.
- (mystrstr): Make static. Make arguments and result const.
- (cplus_match): Remove; not used.
-
-Fri Mar 14 10:15:35 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (const_costs): Remove unused function.
- * mn10300.h (CONST_COSTS): Rework to generate better code.
-
- * mn10300.c (print_operand): Handle 'H' and 'L' output
- modifers for high/low part of a 64bit value.
- * mn10300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Handle 'G'
- (LEGITIMATE_CONSTANT_P): Allow any constant.
- * mn10300.md (movdi, movdf): Implement.
- (adddi3, subdi3): New expanders and patterns.
-
- * mn10300.c (print_operand): Handle 'A' modifier for an
- address which can't be simple register indirect.
- * mn10300.h (EXTRA_CONSTRAINT): Handle 'R' for bit ops.
- * mn10300.md: Add patterns to test, set and clear bitfields.
-
- * mn10300.c (can_use_return_insn): New function.
- (expand_epilogue): Emit a RETURN insn if possible.
- * mn10300.md (return): New pattern.
-
- * mn10300.h (CONST_OK_FOR_LETTER_P): Handle 'N'.
- * mn10300.md (andsi3): Catch "and 255,dn" and "and 65535,dn"
- which were not turned into zero_extend patterns.
-
- * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Handle symbolic
- constant as an index/base too.
-
- * mn10300.md (movsi): Allow SP to be loaded/saved with
- reg+d8 addresses.
-
- * mn10300.md (cmpsi): Allow second operand to be a constant.
- (subsi3): Likewise.
-
- * mn10300.md (sign extension patterns): Fix thinko when
- extending from memory.
-
- * mn10300.md (tst peepholes): Add peepholes for test/branch
- based on N bit being set/clear and the data value being tested dies.
-
-Tue Mar 11 17:07:51 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (expand_prologue): Rework so that eliminating
- the frame pointer produces faster/smaller code.
- (expand_epilogue): Likewise.
- (initial_offset): New function for argument pointer and frame pointer
- elimination.
- * mn10300.h (FIRST_PSEUDO_REGISTER): Bump to 10.
- (FIXED_REGISTERS): Add argument pointer register, it's a fake fixed
- register.
- (CALL_USED_REGISTERS, REG_ALLOC_ORDER): Corresponding changes.
- (REGNO_REG_CLASS, REG_CLASS_CONTENTS): Likewise.
- (REG_OK_FOR_BASE_P, REGISTER_NAMES): Likewise.
- (reg_class, REG_CLASS_NAMES): Delete unwanted DATA_OR_SP_REGS class.
- (PREFERRED_OUTPUT_RELOAD_CLASS): Define.
- (FIRST_PARM_OFFSET): No longer include register save area in
- computation.
- (STACK_POINTER_REGNUM): Is now register 9.
- (ARG_POINTER_REGNUM): Is now register 8.
- (FRAME_POINTER_REQUIRED): Refine.
- (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Define.
- (CAN_DEUG_WITHOUT_FP): Define.
- * mn10300.md (return_internal): Break into two patterns.
-
- * mn10300.h (CONST_OK_FOR_LETTER_P): Handle 'M' too.
- (REGISTER_MOVE_COST): Fix errors and refine.
-
- * mn10300.c (notice_update_cc): SET_ZN_C0 insns leave the
- overflow bit in an unuseable state. Rename CC_SET to CC_TST.
- * mn10300.md (cc attributes): "set" is gone, replaced by
- "tst". Update attributes on various insns.
-
- * mn10300.md: Improve sign and zero extension instructions.
- (ashlsi3): Improve. Handle address registers too.
- (add peephole): Combine two consecutive adjustments of a register
- into a single adjustment.
-
-Tue Mar 11 17:18:40 1997 Brendan Kehoe <brendan@melange.gnu.ai.mit.edu>
-
- * cplus-dem.c (gnu_special): Call demangled_fund_type for other
- __t* symbols.
-
-Mon Mar 10 16:10:34 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * emit-rtl.c (subreg_lowpart_p): Return 0 if SUBREG_REG is VOIDmode.
- * combine.c (simplify_rtx, case SUBREG): Fix direction of test when
- calling operand_subword; use inline code intead of subreg_lowpart_p.
-
-Fri Mar 7 09:22:28 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (expand_{pro,epi}logue): Rework to avoid
- unnecessary "add" operations.
- (expand_epilogue): Likewise.
- * mn10300.h (STARTING_FRAME_OFFSET): Is zero after the last
- round of prologue/epilogue changes.
- (FIRST_PARM_OFFSET): Is now 16 (-4 for REG_PARM_STACK_SPACE + 20 for
- register save area).
- (REG_PARM_STACK_SPACE): Define as 4 bytes.
- (OUTGOING_REG_PARM_STACK_SPACE): Define so caller allocates it.
- * mn10300.md (call{,_value} expander): Don't emit insns to adjust the
- stack here anymore.
-
- * mn10300.md (bCC patterns): Just use "bCC target".
-
-Tue Mar 4 13:21:41 1997 Jim Wilson <wilson@cygnus.com>
-
- * rs6000.md (movsi): Don't emit a USE insn for LABEL_REFs.
-
-Thu Mar 6 16:29:13 1997 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (modified_type_die): Initialize item_type to NULL.
- Move equate_type_number_to_die call before use of sub_die, and move
- recursive modified_type_die calls on item_type after it.
-
- * dwarfout.c (root_type_1, write_modifier_bytes_1): New functions.
- (root_type): Call root_type_1.
- (write_modifier_bytes): Call write_modifier_bytes_1.
- (output_type, case POINTER_TYPE): Set TREE_ASM_WRITTEN before
- recursive call.
-
-Wed Mar 5 14:30:49 1997 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- Partially undo Jan 11 changes (nor takes only register ops):
- * mips.md (*norsi3_const, *nordi3_const): Delete bogus patterns.
- * mips.c (complemented_arith_operand): Delete function.
- (print_operand): Don't handle `e' for CONST_INT.
- * mips.h (PREDICATE_CODES): Delete complemented_arith_operand.
-
-Tue Mar 4 16:38:13 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * i386.c (i386_return_pops_args): Make sure FUNDECL is non-nil
- before we try to use it.
- * i386/{isc,next,sco,sco5,scodbx}.h (RETURN_POPS_ARGS): Likewise.
-
-Mon Mar 3 20:17:54 1997 Gavin Koch <gavin@cygnus.com>
-
- * ginclude/va-mips.h: __mips_single_float should have
- the same effect on vararg lists as __mips_soft_float.
-
-Mon Mar 3 18:12:01 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (DBX_CONTIN_LENGTH): Undo 2/26 change.
-
-Mon Mar 3 13:08:20 1997 Jeffrey A Law (law@cygnus.com)
-
- * combine.c (simplify_rtx): Do nothing with (truncate:mode) if
- mode is a partial integer mode.
-
-Sun Mar 2 17:41:18 1997 Ulrich Drepper <drepper@cygnus.com>
-
- * ginclude/varargs.h: Add definition of __va_copy.
- * va-alpha.h, va-clipper.h, va-h8300.h, va-i860.h: Likewise.
- * va-i960.h, va-m88k.h, va-mips.h, va-pa.h, va-ppc.h: Likewise.
- * va-sh.h, va-sparc.h, va-spur.h: Likewise.
-
-Sun Mar 2 13:25:49 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-typeck.c (process_init_element): Warn and truncate if upper
- bound of index is out of range.
-
-Fri Feb 28 16:08:47 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/sol-c0.c (_start): Disable loading up r13 and r2 with the
- SDA base registers for now.
-
- * rs6000.md (movsi): Emit a USE insn when putting the
- label of constants into the TOC, so that the constant is still
- emitted when expensive optimizations are used.
-
-Thu Feb 27 17:54:42 1997 Karl Heuer <kwzh@gnu.ai.mit.edu>
-
- * fixinc.ptx: Fix sed expression looking for <sys/types.h> in pwd.h.
-
-Thu Feb 27 12:11:16 1997 Dennis Glatting <dennis.glatting@plaintalk.bellevue.wa.us>
-
- * fixincludes: Remove more cases of __const__ from math.h on NeXT.
-
-Wed Feb 26 14:52:27 1997 Michael Meissner <meissner@cygnus.com>
-
- * reload.c (debug_reload): Remove extra argument to fprintf.
- * rs6000.c (output_toc): Make fprintf calls type correct.
-
- * rs6000.h (DBX_CONTIN_LENGTH): Define as 4000 to avoid AIX
- assembler line limit.
-
-Mon Feb 24 17:56:17 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * fixincludes: Fix need of prototypes for C++ in rpc/xdr.h on SunOS4.
-
-Mon Feb 24 17:33:57 1997 Michael Meissner <meissner@cygnus.com>
-
- * rs6000/xm-sysv4.h (HAVE_STRERROR): Define.
-
-Sun Feb 23 17:18:28 1997 Jim Wilson <wilson@cygnus.com>
-
- * rs6000.md (floatsidf2_loadaddr): Correct syntax for cau instruction.
- (load_multiple, store_multiple): Call change_address instead of
- creating MEM from scratch.
-
-Thu Feb 20 16:39:15 1997 Jim Wilson <wilson@cygnus.com>
-
- * unroll.c (unroll_loop): Add check for naive loop that ends with
- conditional branch that does not branch back to loop start.
-
- * reload1.c (reload): Move assign_stack_local call into main loop.
-
-Thu Feb 20 11:40:46 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (zero extension patterns): Turn into define_expand and
- define_insn pair.
-
-Wed Feb 19 17:05:38 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (emit_move_sequence): Don't copy 0.0 (double precision)
- directly to memory, go through a reg if reload hasn't started.
- * pa.md (main movdf pattern): Don't allow 0.0 (double precision)
- to be copied directly to memory.
-
- * pa/pa-hpux10.h (MD_EXEC_PREFIX): Define appropriately for hpux10.
- (MD_STARTFILE_PREFIX): Similarly.
-
- * pa.h (ASM_OUTPUT_SECTION_NAME): Surround the section name
- with '$' if not using GAS.
-
-Wed Feb 19 16:43:47 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sched.c (schedule_insns): If there was no first scheduling pass,
- split instructions after reload.
- (update_flow_info): Tolerate some idiosyncrasies after reload.
-
-Wed Feb 19 11:13:51 1997 Jeffrey A Law (law@cygnus.com)
-
- * combine.c (find_split_point): Don't turn a SIGN_EXTEND into
- a series of shifts if either mode is a partial integer mode.
-
-Mon Feb 17 08:06:02 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * rs6000.c ({,non_}short_cint_operand): Use (unsigned HOST_WIDE_INT).
- (non_add_cint_operand, includes_rshift_p): Likewise.
- * rs6000.h (CONST_OK_FOR_LETTER_P): Likewise.
- (LEGITIMATE_ADDRESS_INTEGER_P, LEGITIMIZE_ADDRESS): Likewise.
-
-Sun Feb 16 07:55:19 1997 J"orn Rennecke (amylaar@cygnus.co.uk)
-
- * libgcc2.c (__negdi2, __lshrdi3, __ashldi3, __ashrdi3, __ffsdi2):
- Use ANSI style definition with full prototype.
- (__muldi3, __udiv_w_sdiv, __udivmoddi4, __divdi3, __moddi3) : Likewise.
- (__udivmoddi4, __udivdi3, __cmpdi2, __ucmpdi2) : Likewise.
- (__fixunstfdi, __fixtfdi, __fixunsxfdi, __fixxfdi) : Likewise.
- (__fixunsdfdi, __fixdfdi, __floatdixf, __floatditf) : Likewise.
- (__floatdidf, __floatdisf, __fixunsxfsi, __fixunsdfsi) : Likewise.
- (__gcc_bcmp, __eprintf, gopen, gclose, __bb_init_file) : Likewise.
- (__bb_init_trace_func, __clear_cache, mprotect) : Likewise.
- (__enable_execute_stack, cacheflush, exit) : Likewise.
- (find_exception_table, __find_first_exception_table_match) : Likewise.
-
-Sun Feb 16 07:52:02 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
-
- * 1750a.md (mulqihi3): Corrected.
- (tst{hf,tqf}): Simplified.
- (movqi): Removed redundant alternative.
- (addqi-3,addqi-2,addqi-1): Set/Reset Bit patterns by C. Nettleton.
- (many patterns): Introduced operand output modifiers d,t,b,B,w.
- * 1750a.c (print_operand): New operand output modifiers d,t,b,B,w.
- (simple_memory_operand): Removed.
- (one_bit_set_p, which_bit): Added from C. Nettleton's m1750 config.
-
-Sun Feb 16 07:43:37 1997 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (special_symbol): Don't treat "L" in "L'...'" as identifier.
- (check_macro_name, collect_expansion, rescan): Likewise.
- * cpplib.c (special_symbol, check_macro_name, collect_expansion):
- Likewise.
-
- * cexp.y (parse_c_expression): Don't check for null lexptr
- or *lexptr == 0. If yyparse returns nonzero value, abort.
-
- * cexp.y (yylex): Use is_space, not is_hor_space, to find keyword end.
- (is_space): New decl.
- (is_hor_space): Removed.
- * cccp.c (is_space): Now external.
- (is_hor_space): Now static.
-
-Sun Feb 16 04:55:11 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c, tree.h (decl_printable_name): Change arguments.
- * c-common.c (declare_function_name): Reflect above change.
- * final.c (final_start_function): Likewise.
- * function.c (init_function_start): Likewise.
- * toplev.c (decl_name): Likewise.
- (announce_function): Likewise.
- (v_message_with_decl): Likewise.
- * dwarf2out.c (dwarf2_name): New fn, uses decl_printable_name.
- (add_pubname): Use it.
- (add_name_and_src_coords_attributes): Use it, add
- DW_AT_MIPS_linkage_name if appropriate.
- (output_aranges): Use DW_AT_MIPS_linkage_name if present.
-
-Sat Feb 15 18:45:30 1997 J.T. Conklin <jtc@cygnus.com>
-
- * m68k.md (cmpsi): Added insn with appropriate constraints for
- TARGET_5200; changed condition of existing insn to !TARGET_5200.
-
-Sat Feb 15 18:26:50 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k/hp320.h (PRINT_OPERAND_FLOAT): Removed.
- (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}_OPERAND): Defined.
- (PRINT_OPERAND): Turned off: use default.
- * m68k/news.h (PRINT_OPERAND): Turned off: use default.
- (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}_OPERAND): Defined.
- * m68k/tower-as.h (PRINT_OPERAND): Turned off: use default.
- (ASM_OUTPUT_{FLOAT,DOUBLE}_OPERAND): Defined.
- * m68k/crds.h (PRINT_OPERAND): Turned off: use default.
- (ASM_OUTPUT_{FLOAT,DOUBLE}_OPERAND): Defined.
- (SGS_NO_LI,STRUCTURE_SIZE_BOUNDARY,IMMEDIATE_PREFIX): Defined.
- (NEED_PROBE): Defined instead of HAVE_probe and gen_probe.
- (FUNCTION_{PRO,EPI}LOGUE): Do not access FPA registers.
- * m68k.c (output_function_prologue): Add CRDS and MOTOROLA probe code.
- (print_operand): Do not output '.' if CRDS.
-
- * gcc.c (set_spec): Fix comment-in-comment typo.
-
-Sat Feb 15 17:54:23 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * Makefile.in (COMPILERS): Moved before GCC_PASSES.
- (GCC_PASSES): Use $(COMPILERS) instead of cc1$(exeext).
-
-Sat Feb 15 17:25:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * gcc.c (process_command): Allocate space for terminating null.
-
-Sat Feb 15 17:21:34 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * vax.h (FUNCTION_PROLOGUE): Adjust size by STARTING_FRAME_OFFSET.
- * vax/vms.h (FUNCTION_PROLOGUE): Delete.
-
-Sat Feb 15 08:48:14 1997 Douglas B. Rupp (rupp@gnat.com)
-
- * configure: Fix setting of CC in no-symlink case.
-
-Sat Feb 15 08:42:17 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
-
- * expmed.c (expand_divmod): Prefer divmod in same mode over div
- in wider mode.
-
-Sat Feb 15 08:27:50 1997 J"orn Rennecke (amylaar@cygnus.co.uk)
-
- * fold-const.c (fold): Don't assume a nonexplicit constant cannot
- equal an explicit one.
-
- * i386.md (zero_extendqi[hs]i2+3): Ensure operating on REG.
-
-Sat Feb 15 08:11:04 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure (i[3456]86-*-solaris2*): Correct tm.h filename in
- stabs case.
-
- * a29k.h (STORE_FLAG_VALUE): Write so works on both 32 and 64-bit host.
-
-Fri Feb 14 16:03:37 1997 Robert Lipe <robertl@dgii.com>
-
- * i386/t-sco5 (libgcc{1,2}-elf.a): correct target dependencies.
-
-Fri Feb 14 16:00:23 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
-
- * config/svr4.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Set
- current-section variable to text.
-
-Wed Feb 12 16:07:34 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * fixinc.irix: New file.
- * configure (mips-sgi-irix[56]): Set fixincludes to fixinc.irix.
-
-Wed Feb 12 15:40:20 1997 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (LIBGCC2_DEBUG_CFLAGS): New macro.
- (LIBGCC2_CFLAGS): Use it.
-
- * dwarfout.c (output_type): Do early exit only if TYPE_CONTEXT is NULL
- or if TYPE_CONTEXT is another type (e.g. a nested type).
-
-Tue Feb 11 15:53:51 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (calc_live_regs): Exclude RETURN_ADDRESS_POINTER_REGNUM.
- Need not save MACL/MACH when not live or in leaf function.
-
-Mon Feb 10 14:46:32 1997 Jeffrey A Law (law@cygnus.com)
-
- * stmt.c (group_case_nodes): Recognize more opportunities to
- group case nodes.
-
-Sun Feb 9 14:05:48 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * function.c (assign_stack_temp): Clear MEM flags from reuse.
-
-Sat Feb 8 17:37:47 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * local-alloc.c (update_equiv_regs): Fix error in last change.
-
-Fri Feb 7 12:42:34 1997 Mike Stump <mrs@cygnus.com>
-
- * pa.h (RETURN_ADDR_RTX): Fix to ignore export stubs.
- * pa.c (return_addr_rtx): Define.
-
-Fri Feb 7 13:56:56 1997 Doug Evans <dje@cygnus.com>
-
- * cse.c (invalidate_from_clobbers): Delete unnecessary test for
- (clobber nil).
-
- * toplev.c (main): Delete redundant settings of flag_no_inline
- and warn_inline if not optimizating.
-
-Fri Feb 7 10:45:02 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (stmp-multilib-sub): Add missing "else true"
- clauses to work around make bug on some systems.
-
-Fri Feb 7 08:19:43 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (const_binop): Don't call size_int if low < 0.
-
- * function.c (instantiate_virtual_regs_1, case USE, CLOBBER):
- Fix error in last change.
-
-Thu Feb 6 17:09:17 1997 Mike Stump <mrs@cygnus.com>
-
- * except.c (find_exception_handler_labels): Initialize label array
- with zeroes.
-
-Wed Feb 5 22:11:55 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (post_ldwm): Fix typos.
-
-Wed Feb 5 15:57:42 1997 Doug Evans <dje@cygnus.com>
-
- * m68k/vxm68k.h (WCHAR_TYPE,WCHAR_TYPE_SIZE,SIZE_TYPE): Fix.
- (PTRDIFF_TYPE): Define.
-
-Wed Feb 5 11:19:13 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * reload1.c (alter_reg): Don't ask assign_stack_local to round up
- to a multiple of BIGGEST_ALIGNMENT, unless a register appears in a
- paradoxical subreg.
-
-Tue Feb 4 19:29:40 1997 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (find_reloads_address_1, case POST_INC): Don't use
- ADDR_TYPE here.
-
-Tue Feb 4 12:33:45 1997 Jeffrey A Law (law@cygnus.com)
-
- * flow.c (life_analysis): Delete obvious no-op moves
- which use SUBREGs.
-
-Mon Feb 3 20:00:35 1997 Jim Wilson <wilson@cygnus.com>
-
- * jump.c (find_cross_jump): Don't allow old-style and volatile asms
- to match.
-
-Mon Feb 3 15:51:31 1997 Doug Evans <dje@cygnus.com>
-
- * sparc/sol2.h (ASM_SHORT,ASM_LONG): Set to .uahalf/.uaword.
- * sparc/sysv4.h (ASM_LONG): Define.
- (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Use ASM_LONG.
-
-Mon Feb 3 13:01:46 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * reload.h (enum reload_type): Add RELOAD_FOR_INPADDR_ADDRESS and
- RELOAD_FOR_OUTADDR_ADDRESS.
- * reload.c (ADDR_TYPE): New macro.
- (push_secondary_reload): Check for new reload types.
- (combine_reloads): Likewise.
- (find_reloads): Likewise. Convert INPADDR_ADDRESS and
- OUTADDR_ADDRESS to OPADDR_ADDR. Check OPADDR_ADDR when looking
- for merges.
- (find_reloads_address): When reloading an address, use the
- ADDR_TYPE macro to get the type of the new reload.
- (find_reloads_address_1): Likewise.
- (reload_when_needed_name): Add new reload types.
- * reload1.c (reload): Add in_addr_addr and out_addr_addr fields to
- insn_needs struct. Use them for new reload types, and when
- computing in_max and out_max.
- (reg_used_in_inpaddr_addr): New static array.
- (reg_used_in_outaddr_addr): New static array.
- (mark_reload_reg_in_use): Handle new reload types.
- (clear_reload_reg_in_use, reload_reg_free_p): Likewise.
- (reload_reg_free_before_p, reload_reg_reaches_end_p): Likewise.
- (reloads_conflict, merge_assigned_reloads): Likewise.
- (emit_reload_insns): Likewise.
- (choose_reload_regs): Save arrays for new reload types.
-
-Sun Feb 2 19:43:17 1997 Scott Christley <scottc@net-community.com>
-
- * objc/selector.c (__sel_register_typed_name): Eliminate compiler
- warnings with explicit cast.
-
- * Add condition mutex support to the objc runtime.
- * objc/thr-mach.c (objc_condition_{,de}allocate): New functions.
- (objc_condition_{wait,broadcast,signal}): New functions.
- * objc/thr-pthreads.c (objc_condition_{,de}allocate): New functions.
- (objc_condition_{wait,broadcast,signal}): New functions.
- * objc/thr-solaris.c (objc_condition_{,de}allocate): New functions.
- (objc_condition_{wait,broadcast,signal}): New functions.
- * objc/thr.h: Prototypes for new functions.
-
- * objc/init.c (__objc_runtime_mutex): Eliminate leading underscore
- from name of objc mutex and thread structures.
- * objc/runtime.h: Likewise.
- * objc/thr-{decosf1,irix,mach,os2,posix,pthreads,single}.c: Likewise.
- * objc/thr-{solaris,win32}.c: Likewise.
- * objc/thr.{c,h}: Likewise.
-
- * Major reorganization of objc error handling.
- * objc/Object.m (-error:): Call objc_error function instead of
- using function pointer.
- * objc/archive.c: Replace call to abort or __objc_fatal functions
- with call to objc_error function throughout the complete file.
- * objc/class.c (objc_get_class): Replace call to abort function
- with call to objc_error function.
- * objc/encoding.c (objc_sizeof_type, objc_alignof_type): Replace
- call to abort function with call to objc_error function.
- (objc_skip_typespec): Likewise.
- * objc/init.c (init_check_module_version): Replace call to
- abort function with call to objc_error function.
- * objc/misc.c (objc_verror): New function.
- (objc_fatal): Remove function.
- (objc_set_error_handler): New function.
- (_objc_error_handler): New global variable.
- (__alpha__): Remove unneeded code.
- (objc_error): Allow user specified error handler function to
- trap and handle the objc error. Added an error code parameter
- which indicates the specific error that occured.
- (objc_malloc, objc_atomic_malloc): Replace call to objc_fatal
- function with call to objc_error function.
- (objc_valloc, objc_realloc, objc_calloc): Likewise.
- * objc/objc-api.h: Declare error handling functions and typedef
- for user specified error handler function. Define error codes
- used by the runtime library.
- * objc/runtime.h: Remove error handling declarations.
- * objc/sendmsg.c (__objc_forward): Replace call to abort function
- with call to objc_error function.
-
-Sun Feb 2 19:42:52 1997 Thomas Baier <baier@ci.tuwien.ac.at>
-
- * objc/hash.c (hash_delete): Step through the hash nodes
- versus using hash_next to increase efficiency.
- * objc/archive.c (__objc_finish_read_root_object): Use hash
- table instead of list.
-
-Sun Feb 2 08:25:05 1997 Ovidiu Predescu <ovidiu@net-community.com>
-
- * objc-act.c (encode_aggregate_within): New function.
- (encode_aggregate): Generates encodings for unions similar
- to those for structs except surrounded by parenthesis instead
- of braces.
-
-Sun Feb 2 07:15:54 1997 Mat Hostetter (mat@lcs.mit.edu)
-
- * c-decl.c (start_function): Fix improper installation of last change.
-
-Sun Feb 2 06:50:55 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.c (output_scc_di): Add missing CC_STATUS_INIT.
-
-Sun Feb 2 06:39:55 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-typeck.c (process_init_element): When popping levels, don't
- blow up if constructor_max_index not set due to previous error.
-
- * combine.c (find_split_point, case SET): Fix error in last change.
-
-Sun Feb 2 06:28:56 1997 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (rescan): Insert a space after `.' as well,
- to prevent accidental token-pasting (e.g. `.x' -> `.10').
-
-Sun Feb 2 06:08:14 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
-
- * 1750a.c (modregno_adjust): Fixed case when reg_renumber invalid.
-
-Sat Feb 1 19:11:08 1997 J.T. Conklin <jtc@rhino.cygnus.com>
-
- * m68k.md (movqi): Enable use of clr and st insns on TARGET_5200.
- * m68k.c (output_move_simode_const): Likewise.
-
-Sat Feb 1 18:54:00 1997 Douglas B. Rupp (rupp@gnat.com)
-
- * gcc.c (process_command): Fix improper use of strncpy.
-
-Fri Jan 31 15:35:08 1997 Mike Stump <mrs@cygnus.com>
-
- * libgcc2.c: Remove extern for malloc and realloc.
-
-Fri Jan 31 17:08:11 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * local-alloc.c (update_equiv_regs): If register which is equivalent
- to some value is only used in one place, and we can't substitute value
- for use, move register assignment to just before use.
-
-Fri Jan 31 15:57:25 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.md (idiv,imul,fpmul): Added new functional units for pentiumpro.
-
- * i386.c (pentiumpro_cost): Added new cost structure for pentiumpro.
- (override_options): Set ix86_cost to appropriate cost structure.
-
-Thu Jan 30 09:34:26 1997 J.T. Conklin <jtc@rhino.cygnus.com>
-
- * m68k.md (stack adjust peepholes): Use lea instead of
- add.w when adding 16 bit constants on all but TARGET_68040.
-
-Thu Jan 30 08:58:08 1997 Ralf Baechle <ralf@waldorf-gmbh.de>
-
- * function.c (TRAMPOLINE_ALIGNMENT): Provide default.
- (expand_function_end): Use TRAMPOLINE_ALIGNMENT instead
- of FUNCTION_BOUNDARY.
- * varasm.c (TRAMPOLINE_ALIGNMENT): Provide default.
- (assemble_trampoline_template): Use TRAMPOLINE_ALIGNMENT instead
- of FUNCTION_BOUNDARY.
-
-Wed Jan 29 18:16:02 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (REG_CLASS_CONTENTS): Add rap to GENERAL_REGS and its
- superclasses.
-
- * sh.md (movsi_i, movsi_ie, movhi_i, movhi+1): Use type pcload for
- immediate operands where appropriate.
- (movsf_ie+1): Fail when loading anything but a MEM into
- a floating point reguister.
-
-Wed Jan 29 16:00:31 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * varasm.c (force_const_mem): Set MARK instead of clearing it.
- (output_constant_pool): Only mark constant pool if -O.
- Check mark flag unconditionally.
- (mark_constant_pool): Start by clearing all mark flags.
-
- * tree.c (copy_node): Clear TREE_ASM_WRITTEN.
-
- * flow.c (regno_uninitialized): Return 0 if reg is used for args.
-
-Wed Jan 29 15:23:59 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * combine.c (try_combine): Clear reg_n_refs if i2dest is not
- mentioned in newi2pat.
-
-Tue Jan 28 16:00:23 1997 Stan Cox (coxs@dg-rtp.dg.com)
-
- From Robert Lipe <robertl@dgii.com>
- * i386/sco5.h (SCO_DEFAULT_ASM_COFF): Remove bytecode stuff.
- (ASM_OUTPUT_ASCII): Use .ascii in both ELF and COFF modes.
- (ASM_OUTPUT_SECTION_NAME): Handle alternate sections for COFF.
- The OpenServer 5.0.0 assembler gives an error for section
- names over 6 characters long, so we catch the "obvious" case
- and shorten it.
-
- * m88k.h (ASM_OUTPUT_SECTION_NAME): Undefine; fails
- for exception sections. The 88k ABI specifies 'section'
- instead of '.section'.
-
-Mon Jan 27 13:32:46 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (shl_and_kind): Fix typo.
- * sh.md (and_shl_scratch): Fix typo for length 8.
-
-Mon Jan 27 08:56:03 1997 Jeffrey A Law (law@cygnus.com)
-
- * fixincludes (sys/time.h): Fix incorrect forward structure
- declaration on hpux10.20.
-
-Mon Jan 27 09:05:35 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (simplify_rtx): Don't do anything with if_then_else_cond
- result if both one arm and the input are a comparison.
- (simplify_{rtx,if_then_else,logical,shift_const}): Don't
- test STORE_FLAG_VALUE with #if; properly test for just sign bit.
- (num_sign_bit_copies, if_then_else_cond): Likewise.
- * expmed.c (emit_store_flag): Properly test for STORE_FLAG_VALUE
- of just sign bit.
- * fold-const.c (fold): Don't make COND_EXPR when both expr and
- one part are comparisons.
- * a29k.h (STORE_FLAG_VALUE): Make negative.
-
-Fri Jan 24 16:42:26 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * varasm.c (struct pool_constant): Add mark field.
- (force_const_mem): Clear mark field in new constant pool entry.
- (output_constant_pool): Call mark_constant_pool.
- (mark_constant_pool, mark_constants): New static functions.
-
-Thu Jan 23 15:04:17 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * cse.c (COST): Get the right cost for a SUBREG of a register when
- truncation is free.
-
-Thu Jan 23 11:19:40 1997 Mike Stump <mrs@cygnus.com>
-
- * Makefile.in (objc-headers): Don't try and install the headers if
- the objc directory has been removed.
-
-Wed Jan 22 13:26:25 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * i960.c (process_pragma): Call ungetc on the last character
- that was read by the while loop, to make sure the parser sees it.
-
-Tue Jan 21 17:20:30 1997 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (output_toc): Move STRIP_NAME_ENCODING to common
- code, so the test for vt's works with -mminimal-toc.
-
-Tue Jan 21 16:03:35 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * function.c (mark_all_temps_used): Set KEEP as well.
-
-Tue Jan 21 12:16:15 1997 Doug Evans <dje@seba.cygnus.com>
-
- * stor-layout.c (layout_record): Correct test for whether field spans
- its unit of alignment in case where field_size == type_align.
-
-Mon Jan 20 20:27:54 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.md (probe): Comment out.
-
-Sun Jan 19 20:54:45 1997 John F. Carr <jfc@mit.edu>
-
- * integrate.c (expand_inline_function): Handle a PARALLEL containing
- a RETURN the same as a RETURN.
-
-Sun Jan 19 20:35:28 1997 Pat Rankin <rankin@eql.caltech.edu>
-
- * vmsconfig.com: Change all hardcoded references of "vax" to
- use variable expansion instead.
- (arch_indx, arch): New variables.
-
- * vax.c (not_qsort): Don't declare alloca.
- * vax/xm-vms.h: Declare alloca here.
- Do most of the VAX C-specific set up for DEC C.
- #if DEC C, undefine QSORT_WORKAROUND and qsort.
- * make-gcc.com, make-cccp.com, make-cc1.com: Support building
- with GNU C vs VAX C vs DEC C from the DCL command line.
-
-Sun Jan 19 17:20:50 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
-
- * 1750a.md (movh[if]-1): Corrected.
- (movtqf-1): Deleted.
- * 1750a.c (add_1_to_mem): Deleted.
- (output_operand_address): Added output modifier 'A'.
-
-Sun Jan 19 17:17:54 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k.md (ashrdi_const, ashrdi3): Allow 31 as shift count.
-
- * m68k.h (CONST_OK_FOR_LETTER_P): Recognize 'N', 'O' and 'P'.
- * m68k.md (rotl[shq]i3, strict_low_part rotl): Allow 'N', 'O'
- or 'P' operands.
-
-Sun Jan 19 17:09:17 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.md (addsi3): Fix previous change: {add,sub}qw should
- be {add,sub}ql. For other uses of {add,sub}q don't check for address
- register and always use {add,sub}ql.
-
-Sun Jan 19 15:05:42 1997 Peter Seebach <seebs@solon.com>
-
- * c-decl.c (start_decl): Add code for -Wmain.
- (c_decode_option): Add -fhosted, -ffreestanding, and -Wmain.
- * toplev.c (lang_options): Likewise.
- * c-tree.h (warn_main, flag_hosted): New variables.
-
-Sun Jan 19 14:35:41 1997 Alex Garthwaite (alex@samwise.cis.upenn.edu)
-
- * fixinc.svr4: Fix problems with symlinks to ".".
-
-Sun Jan 19 14:21:46 1997 Craig Burley <burley@gnu.ai.mit.edu>
-
- * loop.c (check_final_value): Handle insns with no luid's.
-
-Sun Jan 19 08:57:26 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.md (arg_home): Add CLOBBER of MEM and USE of arg regs.
- * vms.h (SETUP_INCOMING_VARARGS): Delete duplicate definition.
-
- * toplev.c (set_float_handler): Set up signal catcher on first call
- in case a front end has disabled it.
-
- * cccp.c, cexp.y: #define __attribute__ to be null if
- compiling with GCC older than 2.7, not 2.6.
-
- * toplev.c (main): If PREFERRED_DEBUGGING_TYPE used and set
- to NO_DEBUG, say debugging not supported.
- * mips/sni-svr4.h (PREFERRED_DEBUGGING_TYPE): Undefine.
-
- * i386/xm-cygwin32.h (DIR_SEPARATOR): Define.
-
- * explow.c (convert_memory_address, case SYMBOL_REF):
- Copy CONSTANT_POOL_ADDRESS_P.
- * integrate.c (save_constants): Make (address (const ..)) to record
- both modes.
- (copy_for_inline, copy_rtx_and_substitute, restore_constants): Use
- both modes when restoring constant pool entry for ADDRESS.
-
- * alpha.h (MINIMUM_ATOMIC_ALIGNMENT): New macro.
-
- * function.c (instantiate_virtual_regs_1, case USE, case CLOBBER):
- Properly handle case of shared MEM whose replacement is not valid.
-
-Sat Jan 18 14:08:31 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.c (get_unwidened): Don't crash if FIELD_DECL not layed out.
-
- * varasm.c (const_hash): Treat NON_LVALUE_EXPR like CONVERT_EXPR.
- (compare_constant_1, copy_constant, bc_assemble_integer): Likewise.
- (const_hash, compare_constant_1): Use switch, not if-then-else.
-
-Fri Jan 17 17:10:20 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (STACK_POINTER_OFFSET): Don't define.
-
-Thu Jan 16 14:51:03 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * cplus-dem.c: Fix indenting; note that this file also lives in
- libiberty.
- (do_type, case 'M'): Check for a template as well as a class.
-
-Thu Jan 16 15:08:26 1997 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * gcc.c (cross_compile): Change to be a char * like all of the
- other specs.
- (process_command): Change how cross_compile is tested.
- (main): Likewise.
- (struct spec_list): Merge with the format used by EXTRA_SPECS.
- Add name length field to speed up repeated calls to strcmp. Add
- flag to say spec was allocated. Add pointer to char * so that
- static spec fields can be updated.
- (extra_specs): Use struct spec_list as type.
- (static_specs): Static list of predefined specs.
- (init_specs): New function, initialize the specs list. Link in
- the default specs and any specs defined via EXTRA_SPECS.
- (set_spec): No longer special case predefined specs.
- (process_command,validate_all_switches): Ditto.
- (process_command): Call init_specs for -dumpspecs.
- (do_spec_1): Use name length field to avoid calling strncmp when
- it is going to fail.
- (main): Call init_spec. Don't handle EXTRA_SPECS here.
-
-Thu Jan 16 17:07:54 1997 Eddie C. Dost <ecd@skynet.be>
-
- * configure: Add sparc-linux{,aout} support.
- * ginclude/va-sparc.h: Likewise.
- * sparc/linux.h: New file.
- * sparc/linux-aout.h: New file.
- * sparc/xm-linux.h: New file.
-
-Thu Jan 16 16:19:13 1997 Jim Wilson <wilson@cygnus.com>
-
- * configure (sparc-*-aout*): Add libgloss.h to tm_file.
- (sparclite-*-coff*): Change "= to =".
-
-Thu Jan 16 12:53:15 CST 1997 Joel Sherrill <joel@OARcorp.com>
-
- * rs6000/rtems.h: Change from being sysv4 based to being eabi based.
-
-Thu Jan 16 13:40:51 1997 Jim Wilson <wilson@cygnus.com>
-
- * mips.h (LINKER_ENDIAN_SPEC): Define.
- (LINK_SPEC): Add linker_endian_spec.
- (EXTRA_SPECS): Add linker_endian_spec.
-
-Thu Jan 16 08:02:13 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.md (bCC, inverted bCC): Use bCC .+X instead of bCC 0f.
-
-Wed Jan 15 14:06:28 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * reload.h (reload_address_base_reg_class): Declare.
- (reload_address_index_reg_class): Declare.
- * reload1.c (reload_address_base_reg_class): Define.
- (reload_address_index_reg_class): Define.
- (init_reload): Initialize reload_address_{base,index}_reg_class.
- * reload.c (find_reloads_address): Use
- reload_address_base_reg_class rather than BASE_REG_CLASS. Use
- reload_address_index_reg_class rather than INDEX_REG_CLASS.
- (find_reloads_address_1): Likewise.
-
-Tue Jan 14 15:26:33 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * reload.c (REGNO_MODE_OK_FOR_BASE_P): Define if not defined.
- (REG_MODE_OK_FOR_BASE_P): Define if not defined.
- (find_reloads_address): Use REG[NO]_MODE_OK_FOR_BASE_P rather than
- REG[NO]_OK_FOR_BASE_P.
- (find_reloads_address_1): Likewise.
- Add mode parameter; change all callers.
-
- * reload1.c (eliminate_regs_in_insn): Handle more cases when
- eliminating the frame pointer to the hard frame pointer.
-
- * varasm.c (force_const_mem): Copy a CONST_INT rtx like a CONST rtx.
-
- * varasm.c (assemble_end_function): Call
- output_after_function_constants.
- (after_function_constants): New static variable.
- (output_after_function_constants): New static function.
- (output_constant_def): Check CONSTANT_AFTER_FUNCTION_P.
-
-Mon Jan 13 16:44:40 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000/aix41.h (CPP_PREDEFINES): Add -D_AIX41.
-
-Sun Jan 12 20:54:01 1997 Jim Wilson <wilson@cygnus.com>
-
- * libgloss.h (LINK_SPEC): Delete.
- (STARTFILE_SPEC): Delete spurious newline.
-
-Sat Jan 11 00:13:03 1997 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * mips.md (norsi3, nordi3): Use canonical RTL. Prepend `*' to pattern
- name. Don't match immediates.
- (norsi3_const, nordi3_const): New patterns.
- (anddi3, iordi3, xordi3): Test TARGET_64BIT, not mips_isa
- in length attribute calculation.
- * mips.c (complemented_arith_operand): New function.
- (print_operand): Handle `e' for CONST_INT.
- * mips.h (PREDICATE_CODES): Add complemented_arith_operand.
-
-Fri Jan 10 14:11:53 1997 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000/aix41.h (SUBTARGET_SWITCHES): Add threads and pe.
- (CPP_SPEC): Add mpe and mthreads cases.
- (LIB_SPEC): Add mpe and mthreads cases to variant from rs6000.h.
- (STARTFILE_SPEC): Add mpe and mthreads support.
-
-Fri Jan 10 07:12:26 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * i386/cygwin32.h (LINK_SPEC): New definition.
-
- * Makefile.in (FLAGS_TO_PASS): Add STAGE_PREFIX, set by configure.
- * configure: Initialize exeext.
- Update STAGE_PREFIX in Makefile.
-
- * dwarfout.c (dwarfout_line): Push to LINE_SECTION after calling
- lookup_filename.
-
-Thu Jan 9 12:06:04 1997 Jim Wilson <wilson@cygnus.com>
-
- * i386.md (addsidi3_2): Add & to operand 0 of alternative 5.
-
-Thu Jan 9 12:06:04 1997 Stan Cox <coxs@dg-rtp.dg.com>
-
- From Linus Torvalds and Mat Hostetter:
- * i386.c (i386_sext16_if_const): Added to sign extend HImode constant.
- (i386_aligned_reg_p): Added to tell if an rtx is aligned.
- (i386_cc_probably_useless_p): Don't trust cc bits.
- * i386.h (TARGET_ZERO_EXTEND_WITH_AND): Don't do this for p6.
- * i386.md (cmpsf_ccfpeq+2): Use SImode test instruction.
- (movhi+1): Use movz instead of mov on p6.
- (addsi3): Add 128 by subtracting -128.
- (zero_extendhisi2): Use SImode move if aligned.
- ({add,sub,and,ior,xor}hi3): Likewise.
-
-Tue Jan 7 16:58:27 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * c-parse.in (extension): New rule for __extension__.
- (extdef, unary_expr, decl, component_decl): Use it.
-
-Mon Jan 6 15:44:37 1997 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de)
-
- * 1750a.c: Now includes regs.h.
- ({movcnt,mod}_regno_adjust): Corrected typos.
- * 1750a.md (movhi): Corrected case of moving constant to memory.
-
-Mon Jan 6 08:00:57 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * mips.h: Delete redundant definitions of compiler and library fns.
-
- * dwarfout.c (type_attribute): Ignore any subtype for now.
-
- * fold-const.c (operand_equal_p): Rework to consider two
- expressions that have embedded identical SAVE_EXPRs as
- equivalent; also handle some more cases.
-
-Sun Jan 5 23:54:34 1997 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (pic_load_label): Fix test for using just an
- ldo rather than an addil;ldo sequence to load the label's
- address.
-
-Sun Jan 5 07:26:47 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (expand_expr, case COMPONENT_REF): Fix error in last
- change: don't suppress conversion if just EXPAND_SUM.
-
-Sat Jan 4 18:44:01 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.h (struct tree_decl): saved_insns.i is HOST_WIDE_INT.
-
- * fold-const.c (const_binop): Rework to only make constants in
- one place; always use size_int if small enough and of sizetype.
- (size_int): Call force_fit_type.
- (fold): Avoid ever changing type of input tree.
-
- * expr.c (get_inner_reference): Fix type error.
- (expand_expr, case COMPONENT_REF): Don't convert if modifier
- is EXPAND_CONST_ADDRESS, EXPAND_SUM, or EXPAND_INITIALIZER.
- * tree.c (staticp, case COMPONENT_REF, BIT_FIELD_REF): Not
- static if bitfield.
-
- * expr.c (expand_expr, case COMPONENT_REF): If taking value
- from a CONSTRUCTOR, must mask/sign-extend if bitfield.
- (expand_builtin, case BUILT_IN_LONGJMP): Pass type, not IDENTIFIER,
- to second arg of RETURN_POPS_ARGS.
-
- * expr.c (expand_expr, case COND_EXPR): Add additional cases
- to "singleton" cases.
- * tree.c (integer_pow2): Mask value to width of type.
- (tree_log2): New function.
-
- * expmed.c (store_fixed_bit_field): If not SLOW_UNALIGNED_ACCESS,
- treat everything as maximally aligned.
-
- * combine.c (find_split_point, case SET): If SET_SRC is NE and
- STORE_FLAG_VALUE is -1, see if we can convert into NEG of shift.
- (force_to_mode, case NE): Make condition stricter.
-
- * calls.c (emit_library_call_value): Remove redundant check for
- outmode != VOIDmode.
-
-Sat Jan 4 08:12:16 1997 J.T. Conklin <jtc@rhino.cygnus.com>
-
- * Optimizations from John Vickers (john@rhizik.demon.co.uk):
- * m68k.c (output_function_{pro,epi}logue): Use addq/subq when
- adjusting stack pointer by small displacements.
- * m68k.md (addsi3, addhi3): Use two addqw (or subqw) insns when
- adding (or subtracting) small integer constants (8 < N <= 16) to
- both address and data registers.
-
-Sat Jan 4 07:06:07 1997 Kamil Iskra <iskra@student.uci.agh.edu.pl>
-
- * loop.c (basic_induction_var): Return 0 if SUBREG is not a
- promoted variable.
-
-Sat Jan 4 06:22:36 1997 Doug Rupp (rupp@gnat.com)
-
- * alpha.c (vmskrunch): Try to not chop trailing uppercase letters.
- * alpha/vms.h (ENDFILE_SPEC): Use "gnu", not "gnu_cc".
-
- * cccp.c (PRINTF_PROTO): Use __printf__ in __attribute__, not printf.
- * cexp.y (PRINTF_PROTO): Likewise.
-
-Fri Jan 3 09:01:00 1997 Craig Burley <burley@gnu.ai.mit.edu>
-
- * alpha.md (cmov): Fix operand numbers in case involving DF target,
- DF comparison, and SF source.
-
-Fri Jan 3 08:19:46 1997 Paul Eggert <eggert@twinsun.com>
-
- * cpplib.c (macroexpand): Delete any no-reexpansion marker following
- identifier at beginning of an argu concatenated with what precedes it.
-
-Fri Jan 3 07:59:21 1997 Ken Rose (rose@netcom.com)
-
- * reorg.c (fill_slots_from_thread): Skip moved insn in all three cases.
-
-Fri Jan 3 07:51:44 1997 Bob Manson <manson@cygnus.com>
-
- * function.c ({push,pop}_function_context_to): Save and restore
- current_function_args_info.
- * function.h (struct function): New field args_info.
-
-Fri Jan 3 06:55:09 1997 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * jump.c (rtx_equal_for_thread_p): Return 0 for floating-point.
-
- * reload.c (find_reloads): If replaced a PLUS or MULT with a
- simple operand, start over again.
-
- * va-alpha.h: Check for __VMS__, not VMS.
-
-Thu Jan 2 08:52:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * configure: Finish restoring change of default of objc threads to
- "single" for Linux-based GNU systems.
-
-Mon Dec 30 17:03:46 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (fmpy_operands): Remove. No longer needed.
- (combinable_add, combinable_copy, combinable_fmpy): Likewise.
- (combinable_fadd, combineable_fsub): Likewise.
- (pa_reorg): Call pa_combine_instructions.
- (pa_combine_instructions): Combine instructions to make things
- like fmpyadd and fmpysub.
- (pa_can_combine_p): Helper function for pa_combine_instructions.
- * pa.md (pa_combine_type): New attribute. Set it appropriately
- for various insns.
- (define_delays): Use a separate define_delay for unconditional
- branches.
- (fmpyadd, fmpysub peepholes): Remove, no longer needed.
- (fmpyadd, fmpysub insns): Add variant with fadd/fsub first,
- then the fmpy.
-
-Mon Dec 30 14:43:51 1996 Jim Wilson <wilson@cygnus.com>
-
- * reg-stack.c (subst_stack_regs_pat): Set src_note explicitly, instead
- of using invalid aggregate initialization.
-
- * print-tree.c (print_node): Don't try to print nonexistent
- TYPE_ATTRIBUTES field of a decl node.
-
-Mon Dec 30 10:30:25 1996 Richard Stallman <rms@ethanol.gnu.ai.mit.edu>
-
- * config.sub: Handle hiuxmpp as system type.
-
-Thu Dec 26 13:33:27 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (init_v4_pic): Explicitly set the length.
-
-Mon Dec 23 19:39:38 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips.h (FUNCTION_ARG_REGNO_P): Correct for TARGET_SOFT_FLOAT and
- TARGET_FLOAT64 cases.
-
- * integrate.c (function_cannot_inline_p): Reject function with
- PARALLEL result.
- (expand_inline_function): Abort if function result not handled.
-
-Sat Dec 21 04:02:46 1996 Jason Merrill <jason@gerbil.cygnus.com>
-
- * mips.c (save_restore_insns): Mark large frame setup insns
- as frame-related.
- (mips_expand_prologue): Likewise.
-
- * dwarf2out.c (dwarf2out_frame_debug): Support MIPS large frames.
- (add_bound_info): Use default lower bounds.
- Handle simple variable bounds with a DIE ref.
- Don't generate a NULL loc descr.
- (add_subscript_info): Always add lower bound.
- (gen_formal_parameter_die): Always equate_decl_number_to_die.
- (gen_variable_die): Likewise. Don't use the old die for automatic
- variables.
-
-Wed Dec 18 10:23:46 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (notice_update_cc): Enable this code.
- * mn10300.h (CC_OVERFLOW_UNUSABLE): Define.
- * mn10300.md (tstsi): Use "set_zn_c0" instead of "set" for cc status.
- (addsi3 pattern): Break "inc" into two different alternatives
- since "inc dn" sets cc0, but "inc an" does not.
- (multiply and divide patterns): Fix cc status.
- (bCC, inverted bCC): Restore any comparison which needs the
- overflow bits when CC_OVERFLOW_UNUSABLE is set.
- (zero and sign extensions): Fix cc status.
- (movm_store): Likewise.
-
-Tue Dec 17 15:02:44 1996 Jim Wilson <wilson@cygnus.com>
-
- * sched.c (update_flow_info): When add REG_DEAD notes for dest of
- last insn, add check for global_regs.
-
-Tue Dec 17 11:07:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/win-nt.h (HAS_INIT_SECTION): Delete, so that __main is
- called from main.
-
-Mon Dec 16 15:28:44 1996 Jim Wilson <wilson@cygnus.com>
-
- * combine.c (nonzero_bits): Ifdef out calls to num_sign_bit_copies.
- Add dummy define/undef for num_sign_bit_copies.
-
- * dwarfout.c (location_or_const_value_attribute, case CONCAT): Add.
-
- * combine.c (simplify_comparison): Use mode_width as shift count
- only if it is less than or equal to HOST_BITS_PER_WIDE_INT.
-
-Mon Dec 16 10:10:11 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c (expand_epilogue): Restore registers in the
- "ret" instruction instead of a separate movm instruction.
- Support possible stack deallocation in "ret" instruction too.
- * mn10300.md (return_internal): Use "ret" instead of "rets";
- restore registers and deallocate stack as needed.
- (load_movm): Delete unused pattern.
-
- * mn10300.h (SMALL_REGISTER_CLASSES): Define.
-
-Fri Dec 13 14:46:54 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (dect): Rewrite pattern so that it can be combined.
-
-Fri Dec 13 13:14:51 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * varasm.c (output_constant_pool): If ASM_OUTPUT_POOL_EPILOGUE is
- defined, call it.
-
-Thu Dec 12 20:04:55 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * rtl.h (RTX_FRAME_RELATED_P): New macro.
- (struct rtx_def): Add frame_related bitfield.
- * final.c (final_scan_insn): Call dwarf2out_frame_debug.
- Don't call dwarf2out_begin_function.
- (final): Initialize dwarf2out_frame_debug.
- * dwarf2out.c (dwarf2out_begin_function): Remove.
- (dwarf2out_init): Use INCOMING_RETURN_ADDR_RTX.
- (DWARF_CIE_DATA_ALIGNMENT): Generalize.
- (DWARF_FRAME_REGNUM): Don't add 1.
- (decode_cfi_rtl): Lose.
- (dwarf2out_def_cfa): Now takes reg and offset directly.
- (reg_save): Likewise.
- (dwarf2out_reg_save): Now takes offset.
- (initial_return_save): Grok INCOMING_RETURN_ADDR_RTX.
- Replaces dwarf2out_return_save.
- (dwarf2out_cfi_label): New fn.
- (add_fde_cfi): Use it.
- (dwarf2out_frame_debug): New fn.
- * mips.h (DWARF_FRAME_REGNUM): Tweak r31.
- (INCOMING_RETURN_ADDR_RTX): Define.
- * mips.c (mips_expand_prologue): Set RTX_FRAME_RELATED_P as needed.
- (save_restore_insns): Likewise.
- * i386.c (ix86_expand_prologue): Likewise.
- * i386.h (INCOMING_RETURN_ADDR_RTX): Define.
- (DWARF_FRAME_RETURN_COLUMN): Define.
-
- * dwarf2out.c (add_AT_long_long): Renamed from add_AT_double fo
- clarity.
- (print_die): Adjust.
- (add_AT_float): New fn.
- (add_const_value_attribute): Support fp values.
- (size_of_die): Use blocks for long_long and fp values.
- (value_format, output_die): Likewise.
- (output_loc_operands): Don't support DW_OP_const8?.
-
-Thu Dec 12 19:49:09 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * varasm.c (CONSTANT_POOL_BEFORE_FUNCTION): Define if not
- defined.
- (assemble_start_function): Check CONSTANT_POOL_BEFORE_FUNCTION
- to decide whether to call output_constant_pool.
- (assemble_end_function): Likewise.
-
- * calls.c: Check SMALL_REGISTER_CLASSES at run time, not just
- compile time.
- * combine.c, cse.c, function.c, jump.c, local-alloc.c: Likewise.
- * loop.c, reload.c, reload1.c: Likewise.
- * dsp16xx.h (SMALL_REGISTER_CLASSES): Define with value.
- * h8300.h (SMALL_REGISTER_CLASSES): Likewise.
- * i386.h (SMALL_REGISTER_CLASSES): Likewise.
- * pdp11.h (SMALL_REGISTER_CLASSES): Likewise.
- * sh.h (SMALL_REGISTER_CLASSES): Likewise.
-
-Thu Dec 12 15:25:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (sysv call insns): If flag_pic add @plt suffix.
-
- * rs6000.md (fix_truncdfsi2_store): Fix offsets > 32k.
-
- * rs6000/t-ppccomm: New file for common parts of embedded and
- System V target Makefile support.
-
- * rs6000/t-ppcos: New file for System V OS target Makefile
- support.
-
- * rs6000/t-solaris: Delete, merge into rs6000/t-ppcos.
-
- * rs6000/t-{ppc,ppcgas}: Only keep the multilib specific parts,
- moving the rest to rs6000/t-ppccomm.
-
- * configure (powerpc*-*-*): For embedded and System V
- configurations, add rs6000/t-ppccomm.
- For GNU/Linux and Solaris, use t-ppcos.
-
- * ginclude/ppc-asm.h (cr*, f*): Add new macros for register names.
-
- * rs6000/sol-c0.c (_start): Fix uninitialized data bug.
-
- * rs6000.md (init_v4_pic): Add @local to call.
- (icbi,dcbst,sync,isync): Delete PowerPC cache control insns.
-
- * rs6000/sysv4.h (ASM_SPEC): On explicit -mcall-solaris, pass
- -msolaris to the assembler.
-
- * rs6000.c (rs6000_sync_trampoline): Delete.
- (rs6000_trampoline_template): Aix & System V don't need template now.
- (rs6000_initialize_trampoline): For System V, call the function
- __trampoline_setup to set up the trampoline.
-
- * rs6000.h (TRAMPOLINE_TEMPLATE): Delete here.
- * rs6000/win-nt.h (TRAMPOLINE_TEMPLATE): Add it here.
-
- * rs6000/tramp.asm: New file, setup trampolines properly on System
- V systems, properly flushing the caches.
-
-Thu Dec 12 10:53:10 1996 Jeffrey A Law (law@cygnus.com)
-
- * reorg.c (fill_slots_from_thread): Don't call eligible_for_delay
- with an insn with asm operands.
-
- * expmed.c (emit_store_flag_force): Fix typos/thinkos.
-
-Thu Dec 12 08:09:20 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * i386.c (i386_return_pops_args): Libcalls ignore TARGET_RTD.
-
-Thu Dec 12 07:56:03 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.h (maybe_get_identifier): New declaration.
-
- * calls.c (emit_library_call): Don't pass VOIDmode to type_for_mode.
-
- * va-alpha.h: Add definitions for VMS; they differ from Unix.
-
- * Makefile.in (stamp-objlist): Handle first character of object
- file being a digit.
-
- * 1750a.h (function_arg, {movcnt,mod}_regno_adjust): Add decls.
- (branch_or_jump): Likewise.
- (FUNCTION_ARG): Remove cast of function_arg result to rtx.
- * 1750a.md: Remove unneeded casts to char *.
-
-Thu Dec 12 05:55:27 1996 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm.c (arm_gen_constant, case [IX]OR): Don't invert constant if
- loading into temporary.
-
-Wed Dec 11 18:57:21 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * toplev.c (rest_of_compilation): Make sure unwinder RTL is saved.
-
- * collect2.c (write_c_file): Wrap the ctor/dtor lists and fns
- with `extern "C" { ... }'.
-
-Wed Dec 11 17:46:48 1996 John F. Carr <jfc@mit.edu>
-
- * tree.h (tree_decl): Reorder field declarations to reduce size
- on 64 bit machines.
-
- * combine.c (try_combine): When splitting an insn, check for the
- new I2 setting a SUBREG.
-
-Wed Dec 11 17:00:47 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.c (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of
- using "%ld".
- (output_prolog): Don't print useless comment for VMS.
-
- * alpha.c (output_prolog): SIZE is now HOST_WIDE_INT.
- * alpha.md (mov[hq]i unnamed): Split up for TARGET_BYTE_OPS and not.
-
- * function.c (fixup_var_refs_1, case ZERO_EXTRACT): Don't call
- fixup_memory_subreg if no longer SUBREG of MEM.
-
-Wed Dec 11 14:10:48 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.c: New file for Matsushita MN10300 port.
- * mn10300.h, mn10300.md, t-mn10300, xm-mn10300.h: Likewise.
- * config.sub: Recognize mn10300 as a basic machine type.
- * configure: Similarly.
- * ginclude/stdarg.h: mn10300 is little endian.
- * ginclude/varargs.h: Likewise.
-
-Wed Dec 11 09:09:10 1996 Nagai Takayuki <nagai@ics.es.osaka-u.ac.jp>
-
- * libgcc2.c (cacheflush): Add SONY NEWS-OS 4.2 version.
-
-Wed Dec 11 09:01:39 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * calls.c (emit_library_call, emit_library_call_value):
- Don't pass an identifier node as function type for
- library functions, but rather build a function type that
- has a return type with the correct mode.
- * i386.c (i386_return_pops_args): Don't test for IDENTIFIER_NODE.
- * i386/isc.h (obsolete RETURN_POPS_ARGS): Test first argument
- for IDENTIFIER_NODE.
- * i386/next.h (RETURN_POPS_ARGS): Likewise.
- * i386/sco.h (RETURN_POPS_ARGS): Likewise.
- * i386/sco5.h (RETURN_POPS_ARGS): Likewise.
- * i386/scodbx.h (RETURN_POPS_ARGS): Likewise.
- * m68k.h (RETURN_POPS_ARGS): Likewise.
- * ns32k.h (RETURN_POPS_ARGS): Likewise.
- * pyr.h (RETURN_POPS_ARGS): Likewise.
- * gmicro.h (RETURN_POPS_ARGS): Likewise; fix typo.
-
-Tue Dec 10 17:36:47 1996 J.T. Conklin <jtc@rhino.cygnus.com>
-
- * Add optimizations from John Vickers (john@rhizik.demon.co.uk)
- * m68k.h (TARGET_CPU32): New macro.
- * m68k.md (add[hs]i3): Only use two addq.w or subq.w instructions
- when adding or subtracting constants 8 < N < 16 on TARGET_CPU32.
- Use lea instead of add.w when adding 16 bit constants to address
- registers on all but TARGET_68040.
- * m68k.c (output_function_{pro,epi}logue): Use lea instead of add.w
- when adjusting stack pointer on all but TARGET_68040.
-
-Tue Dec 10 15:55:23 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * optabs.c (emit_unop_insn): Treat ZERO_EXTEND like SIGN_EXTEND.
-
-Tue Dec 10 13:47:24 1996 Joern Rennecke <amylaar@cygnus.co.uk>
-
- * combine.c (combinable_i3pat): Bring back to sync with can_combine_p.
-
- * sh.h (ADJUST_INSN_LENGTH): Don't break from loop when LOOP_BEG found.
- Calculate padding in new variable pad.
-
-Mon Dec 9 18:00:38 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (output_uleb128): Output value in human-readable comment.
- (output_sleb128): Likewise.
- (various): Adjust.
- (output_call_frame_info): Only output info if it's interesting.
- (add_src_coords_attributes): New fn.
- (add_name_and_src_coords_attributes): Split out from here.
- (gen_enumeration_type_die): Add src coordinates.
- (gen_struct_or_union_type_die): Likewise.
- (dwarf2out_finish): Call output_call_frame_info for all targets.
-
-Thu Dec 5 11:25:30 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (add_pure_or_virtual_attribute): Only add
- AT_containing_type if -g2 or higher.
-
- * dwarf2out.c (gen_struct_or_union_type_die): Make sure that
- the type for AT_containing_type has been generated.
- (gen_decl_die): Likewise.
-
- * dwarf2out.c (type_tag): Check DECL_IGNORED_P.
- (add_pure_or_virtual_attribute): Check DECL_VINDEX instead.
- (scope_die_for): Likewise.
- * dwarfout.c (type_tag): Likewise.
-
-Wed Dec 4 22:51:38 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (decode_cfi_rtl): Support getting a CONST_INT.
- (dwarf2out_begin_function): Adjust.
- (reg_save): Divide offset by the alignment.
- (output_cfi): Support having more than one advance_loc.
- (output_call_frame_info): Re-initialize current_label.
- (dwarf2out_begin_prologue): Initialize current_label to NULL.
- (lookup_cfa, lookup_cfa_1): New fns.
- (dwarf2out_def_cfa): Call lookup_cfa.
- (dwarf2out_finish): Don't generate CIE CFIs.
- (dwarf2out_init): Generate them here.
- (DWARF_FRAME_RETURN_COLUMN): Use PC_REGNUM.
-
- (add_pure_or_virtual_attribute): Note virtual context.
- (gen_formal_parameter_die): Return the die.
- (gen_formal_types_die): Set AT_artificial on `this'.
- (gen_subprogram_die): Add AT_accessibility.
- (gen_variable_die): Likewise.
- (gen_field_die): Likewise. Don't generate location attribute for
- union members.
- (gen_struct_or_union_type_die): Note where our vtable lives.
- (gen_decl_die): Handle anonymous union fields.
- (dwarf2out_decl): Always output `bool'.
-
-Mon Dec 2 03:55:15 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * final.c (final_end_function): Don't call dwarf2out_end_function.
-
- * dwarf2out.c (output_line_info): Emit special opcodes for each line
- entry, even if the line number doesn't change.
- (pend_type, output_pending_types_for_scope): New fns.
- (gen_struct_or_union_type_die): Use them to defer generating member
- dies if we're in the middle of some other context.
- (gen_type_die): Still put nested types in the right place.
- (dwarf2out_decl): Call output_pending_types_for_scope.
-
- * dwarf2out.c (dw_fde_struct): Replace end_prologue, begin_epilogue
- with current_label.
- (DWARF_CIE_INSN_SIZE, DWARF_CIE_SIZE): Remove.
- (DWARF_CIE_HEADER_SIZE): The size without the initial insns.
- (size_of_cfi): Revert.
- (decode_cfi_rtl, add_fde_cfi, dwarf2out_def_cfa, reg_save,
- dwarf2out_reg_save, dwarf2out_return_save): New fns.
- (dwarf2out_begin_function): Use them to generate CFIs.
- (dwarf2out_finish): Use them to generate E CFIs.
- Don't set next_fde_offset.
- (calc_fde_sizes): Initialize cie_size.
- (output_call_frame_info): Don't generate CIE CFIs.
- (dwarf2out_end_function): Remove.
-
- * tree.c (maybe_get_identifier): New fn.
- * varasm.c (assemble_name): Use it instead of get_identifier.
-
-Fri Nov 29 15:13:39 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * jump.c (jump_optimize): Don't move initialization if there is a
- label between it and the jump for if (foo) bar++ to bar += (foo !=0)
-
-Wed Nov 27 16:21:14 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * Remove change of Oct 4.
- * i386.h (outer_function_chain): Remove.
- (current_function_calls_alloca): Remove.
- (rtx_equal_function_value_matters): Remove.
- (N_REGS_USED, N_ALLOCATABLE_REGISTERS): Remove.
- * i386.md (adddi3_1, subdi3_1): Remove.
- (adddi3, subdi3): Revert.
- (movsf, movsf_mem, movsf_normal, movdf, movdf_mem, movdf_mem+1):
- Likewise.
- (movxf, movxf_mem, movxf_mem+1, addsidi3_1, addsidi3_2): Likewise.
- (adddi3_1, subsidi3, subdi3_1): Likewise.
- (addsidi3_1, addsidi3_2, subsidi3): Likewise.
- (addsidi3_1, addsidi3_2, adddi3, subsidi3): Disable the problem
- reload alternatives.
-
-Wed Nov 27 16:21:14 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * i386.md (ashldi3_non_const_int, ashrdi3_non_const_int):
- Use a hidden branch to handle shifts > 32 bit.
- (lshrdi3_non_const_int): Likewise.
- (floatdixf2): Don't use unnecessary XFmode operation.
-
-Wed Nov 27 15:23:41 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * varasm.c (assemble_variable): Don't emit DWARF.
-
- * toplev.c (rest_of_type_compilation): Don't emit DWARF.
- (main): Just let -gdwarf mean DWARF v1; remove -gdwarf-1.
-
- * dwarfout.c (decl_class_context): New fn.
- (output_global_subroutine_die): Fix declaration case.
- (output_global_variable_die): Likewise.
- (output_type): Note when we are in a class defn. If we're a nested
- type and our context hasn't been written, do that. Do early exit
- for nested types.
- (output_decl): Output the class context for fns and vars.
- Don't emit detailed parm info for a fn declaration.
- Use TYPE_DECL_IS_STUB, is_redundant_typedef.
- (type_ok_for_scope): Support emitting nested types later.
- (is_redundant_typedef): New fn.
- (TYPE_DECL_IS_STUB): New macro.
- (output_compile_unit_die): Check use_gnu_debug_info_extensions.
- (output_local_subroutine_die, output_global_subroutine_die,
- dwarfout_begin_function, dwarfout_end_function, dwarfout_line,
- generate_macinfo_entry, dwarfout_init, dwarfout_finish): Likewise.
-
- * dwarf2out.c (decl_class_context): Static.
- (lookup_type_die): Use TYPE_SYMTAB_POINTER.
- (equate_type_number_to_die): Likewise.
- (gen_subprogram_die): If we're in class context, it's a decl.
- (gen_variable_die): Likewise.
- (gen_decl_die): Output the containing type.
- (dwarf2out_init): Lose type_die_table code.
-
-Wed Nov 27 08:30:54 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * Makefile.in (DRIVER_DEFINES): New macro, with the macro
- definitions for the driver.
- (gcc.o): Make rule use $(DRIVER_DEFINES).
- * gcc.c (process_command) [LANG_SPECIFIC_DRIVER]: Call
- lang_specific_driver, passing along the addr of FATAL for errors
- along with our ARGC and ARGV.
-
-Wed Nov 27 08:21:13 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k.md (iorsi_zexthi_ashl16): New pattern.
- (ashrsi_16): New name for old unnamed pattern.
-
- * objc/misc.c (stdlib.h): Define __USE_FIXED_PROTOTYPES__ before
- including stdlib.h.
-
-Wed Nov 27 08:17:34 1996 Joern Rennecke <amylaar@cygnus.co.uk>
-
- * i386.md (decrement_and_branch_until_zero+[3-8]): Add missing
- CC_STATUS_INIT.
- (decrement_and_branch_until_zero+[5-8]): Delete redundant assignment.
-
-Wed Nov 27 07:56:27 1996 J.T. Conklin <jtc@rhino.cygnus.com>
-
- * m68k.md ({and,ior,xor}si3_internal): Removed !TARGET_5200 from
- conditionals now that entire insn is disabled when !TARGET_5200.
-
-Wed Nov 27 07:52:32 1996 Oliver Kellogg <kellogg@space.otn.dasa.de>
-
- * 1750a.md (movhi pattern): Fixed MEM to MEM move problem.
-
-Tue Nov 26 14:50:54 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (move_by_pieces): Abort only if length positive at end.
- * function.c (frame_offset, get_frame_size): Make HOST_WIDE_INT.
- * function.h (struct function): Make frame_offset be HOST_WIDE_INT.
- (get_frame_size): Add definition.
- * reload1.c (reload): Make starting_frame_size be HOST_WIDE_INT.
-
-Mon Nov 25 16:55:14 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (dwarf2out_finish): Don't emit call frame info
- for non-MIPS targets.
- (is_redundant_typedef): New fn.
- (modified_type_die): Refer to typedef DIEs where appropriate.
- (gen_typedef_die): Support DECL_ORIGINAL_TYPE.
- (gen_type_die): Likewise. Use is_redundant_typedef.
- (gen_subprogram_die): Don't force a spec DIE for local class methods.
-
-Mon Nov 25 15:09:12 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * gcc.c (handle_braces): Rework last change.
-
-Mon Nov 25 13:49:51 1996 Jim Wilson <wilson@cygnus.com>
-
- * configure (build_exeext, exeext): New variables. Use sed to insert
- build_exeext value into Makefile exeext rule.
- (*-*-cygwin32): Set exeext.
- * i386/x-cygwin32 (exeext): Delete.
- * rs6000/x-cygwin32 (exeext): Delete.
-
- * dwarf.h (enum dwarf_location_atom): Add OP_MULT.
- * dwarfout.c (output_mem_loc_descriptor, case MULT): Add.
- * dwarfout2.c (mem_loc_descriptor, case MULT): Add.
-
- * dwarfout.c (dwarf_fund_type_name, case FT_unsigned_int64): Fix typo.
-
-Sun Nov 24 21:42:01 1996 J.T. Conklin <jtc@rhino.cygnus.com>
-
- * m68k.md (andsi3): Changed into define_expand.
- (andsi3_internal): Rename from old andsi3, changed condition
- to !TARGET_5200.
- (andsi2_5200): New insn.
- (iorsi3): Change into define_expand.
- (iorsi2_internal): Rename from old iorsi3, changed condition
- to !TARGET_5200.
- (iorsi2_5200): New insn.
- (xorsi3): Change into define_expand.
- (xorsi2_internal): Rename from old xorsi3, changed condition
- to !TARGET_5200.
- (xorsi2_5200): New insn.
-
-Sun Nov 24 21:31:32 1996 John F. Carr <jfc@mit.edu>
-
- * i386.h (N_ALLOCATABLE_REGISTERS): Remove extra backslash at
- end of macro definition.
-
- * cpplib.c (LOCAL_INCLUDE_DIR): Remove default definition.
- (include_defaults_array): Do not use LOCAL_INCLUDE_DIR or
- TOOL_INCLUDE_DIR if they are not defined.
- * cccp.c: Likewise.
-
- * Makefile.in (cppmain.o): New rule.
-
-Sun Nov 24 19:14:50 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * fold-const.c (merge_ranges): In (+,-) case, if lower bounds are
- the same the result is always false.
-
-Sun Nov 24 18:48:31 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * c-typeck.c (build_indirect_ref): Don't give warning for
- dereferencing void * if evaluation is being skipped.
-
- * c-decl.c (poplevel): Don't call output_inline_function if
- DECL_SAVED_INSNS is not set.
-
- * gcc.c (give_switch): Add new arg, INCLUDE_BLANKS.
- (handle_braces): All callers changed.
- Add support for new construct: %{S*^}.
-
-Sun Nov 24 18:44:48 1996 Paul Eggert <eggert@twinsun.com>
-
- * c-parse.in (unary_expr, expr_no_commas): Increment skip_evaluation
- when analyzing an expression that is known not to be evaluated.
- (sizeof, alignof): New rules.
- * c-tree.h (skip_evaluation): New variable.
- * c-common.c (skip_evaluation): Likewise.
- (overflow_warning, unsigned_conversion_warning): Don't warn about
- potential runtime errors when skipping evaluation.
- * c-typeck.c (build_binary_op): Likewise.
- (build_conditional_expr): op1 now always nonnull.
-
-Sun Nov 24 17:06:58 1996 Bernd Schmidt (crux@Pool.Informatik.RWTH-Aachen.DE)
-
- * toplev.c (rest_of_compilation): Call regscan before each
- jump threading pass.
-
-Sun Nov 24 16:37:18 1996 Dave Love <d.love@dl.ac.uk>
-
- * configure (objc_thread_file): Set conditionally in each case so
- may be overidden with `--enable-objcthreads=posix'.
- Change GNU/Linux default to `single'.
-
-Fri Nov 22 17:53:15 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * varasm.c (assemble_variable): Output DWARF in the third case, too.
-
- * dwarf2out.c (decls_for_scope): Only add DIEs with no parents to
- our scope.
- (gen_subroutine_type_die): Parm types go under the fn type DIE.
-
- * Makefile.in ($(T)crt{begin,end}.o): Move CRTSTUFF_T_CFLAGS after
- general flags.
-
- * mips/t-iris6 (CRTSTUFF_T_CFLAGS): Define.
- * mips.c (compute_frame_size): Fix fp_save_offset.
-
- * dwarf2out.c (new_die): If we get a NULL parent, inc limbo_die_count.
- (decls_for_scope): Decrement limbo_die_count as appropriate.
- (dwarf2out_finish): Check for good limbo_die_count.
- (size_of_cfi): If regno too big for DW_CFA_offset, use offset_extended
- instead.
- (output_call_frame_info): Add disabled code for specifying ABI.
- (dwarf2out_begin_function): Note all saved regs.
-
- * dwarf2out.c (gen_subprogram_die): Have a DIE for each fn at
- toplevel.
- (scope_die_for): Only use the NULL for fns and tags.
-
-Tue Nov 21 15:53:51 1996 Joern Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (output_stack_adjust): New argument TEMP. Changed all callers.
- If the adjust cannot be done with one, but can be done with two
- CONST_OK_FOR_I constants, do it that way.
-
-Thu Nov 21 14:25:55 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * fixincludes: Include <stdio.h> in <assert.h> even if not C++ if
- stderr needs to be defined.
-
-Wed Nov 20 15:38:13 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (rest_of_type_compilation): Do output function-scope tags
- for DWARF 2.
- * c-decl.c (pushtag): Set TYPE_CONTEXT on the tag.
- * toplev.c, varasm.c: s/dwarf2out_file_scope_decl/dwarf2out_decl/g.
- * dwarf2out.c (add_prototyped_attribute): Use a value of 1.
- (gen_subprogram_die): Support AT_static_link.
- (dwarf2out_decl): Rename from dwarf2out_file_scope_decl.
- Give nested fns and tags a die_parent of NULL.
- (decls_for_scope): Fix the die_parent for nested fns and tags.
- (scope_die_for): If we get a context of NULL, just return it.
-
-Tue Nov 19 18:21:11 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (gen_subprogram_die): Support block extern decls.
- (gen_variable_die): Likewise.
- (gen_decl_die): Emit block extern function decls.
-
- * c-decl.c (implicitly_declare): Set DECL_ARTIFICIAL.
-
-Tue Nov 19 16:50:32 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * configure (powerpc*-{sysv,elf,eabi{,aix,sim}}): Set
- extra_headers to ppc-asm.h.
- (powerpc*-{linux,solaris,rtems,vxworks}): Likewise.
- (powerpc*-{winnt,pe,cygwin32}): Likewise.
-
- * rs6000/t-{ppc,ppcgas,solaris,winnt} (EXTRA_HEADERS): Don't set here.
-
-Mon Nov 18 14:51:46 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (DWARF_CIE_INSN_SIZE): New macro.
- (DWARF_CIE_HEADER_SIZE): Use it.
- (DWARF_FRAME_RETURN_COLUMN, DWARF_FRAME_REGNUM): New macros.
- (output_call_frame_info, dwarf2out_begin_function): Use them.
- For the MIPS, output the first CFA insn in the CIE.
- * dwarf2.h (enum dwarf_call_reg_usage): Lose.
- (dwarf_macinfo_record_type): Fix spelling.
- * mips/mips.h (DWARF_FRAME_REGNUM, DWARF_FRAME_RETURN_COLUMN): Define.
-
- * dwarf2out.c (base_type_die): Just generate the DIEs as needed,
- rather than building up some table.
- (init_base_type_table): Lose.
- (add_subscript_info): Use add_type_attribute. Don't give an upper
- bound for an array of unknown size.
- (gen_unspecified_parameters_die): Remove DWARF-1 kludge.
- (dwarf2out_init): Lose call to init_base_type_table.
- (is_c_family, is_fortran): New fns.
- (gen_compile_unit_die): Recognize GNU F77.
- (gen_array_type_die): Use AT_declaration for an array of unknown size.
- (modified_type_die): Take TYPE_MAIN_VARIANT before passing it
- to build_type_variant, so we ignore named variants.
- (dwarf2out_file_scope_decl): Don't generate DIEs for built-in structs,
- either; they will be emitted if they are used.
- From wilson:
- (gen_array_type_die): Force the element type out first on IRIX 6.
-
-Sun Nov 17 20:23:11 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (get_inner_reference): Fix error in previous change.
-
-Sat Nov 16 06:08:27 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * emit-rtl.c (operand_subword): Avoid confusion if sizeof (float)
- is less than a full word.
-
- * alpha.h (MASK_BYTE_OPS): Now define as 1024.
- * alpha/vms.h (TARGET_DEFAULT): Use symbolic values.
-
- * expr.c (get_inner_reference): Add new arg PALIGNMENT and compute it.
- (expand_assignment, do_jump): Pass new arg to get_inner_reference.
- (expand_expr, case COMPONENT_REF): Likewise.
- * fold-const.c (optimize_bit_field_compare, decode_field_reference):
- Likewise.
- * tree.h (get_inner_reference): Add new arg.
-
- * Add support for Alpha/VMS, mostly from
- Klaus Kaempf (kkaempf@progis.de)
- * configure (alpha-dec-vms*): New target.
- * alpha.c (override_options): Handle VAX format floating-point.
- (print_operand, case ',', '-'): New cases.
- (alpha_builtin_saveregs): Handle VMS convention.
- (alpha_sa_{mask,size}, alpha_pv_save_size, alpha_using_fp):
- New versions for VMS.
- (output_{pro,epi}logue, function_arg): Likewise.
- (direct_return): Never true on VMS.
- (check_float_value): Return 0 for VMS.
- (vmskrunch, alpha_{need,write}_linkage): New function.
- * alpha.h ({MASK,TARGET}_{OPEN_VMS,FLOAT_VAX}): New macros.
- (TARGET_SWITCHES): Add float-vax and float-ieee.
- ({FUNCTION,LIBCALL}_VALUE, FUNCTION_VALUE_REGNO_P): R1 and R33
- are also return registers.
- (ASM_OUTPUT_DOUBLE): Support both floating-point formats.
- (PRINT_OPERAND_FUNCT_VALID_P): Add ',' and '-'.
- * alpha.md ({div,mod}[sd]i3): Only for VMS.
- (fp operations): Add modifiers for multiple floating-point formats.
- (call patterns): Handle new calling sequence for VMS.
- (tablejump): Make new pattern for VMS.
- (nonlocal_goto_receiver, arg_home): New patterns.
- * alpha/t-vms, alpha/vms.h, alpha/xm-vms.h: New files.
-
-Fri Nov 15 17:38:20 1996 Doug Evans <dje@seba.cygnus.com>
-
- * sdbout.c (current_file): New global.
- (PUT_SDB_SRC_FILE): New PUT_SDB_FOO macro.
- (sdbout_init): Initialize current_file ifdef MIPS_DEBUGGING_INFO.
- (sdbout_{start_new,resume_previous}_source_file): New functions.
- * toplev.c (debug_{start,end}_source_file): Call them if SDB_DEBUG.
- * mips.h (PUT_SDB_SRC_FILE): Define.
-
-Fri Nov 15 16:11:25 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarfout.c (dwarfout_line): Don't emit line number info for
- functions outside of .text.
-
-Fri Nov 15 15:52:42 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386/386bsd.h (COMMENT_BEGIN): Delete.
- * i386/freebsd.h (COMMENT_BEGIN): Likewise.
- * i386/netbsd.h (COMMENT_BEGIN): Likewise.
- * i386/unix.h (COMMENT_BEGIN): Likewise.
-
-Fri Nov 15 13:22:42 1996 Jim Wilson <wilson@cygnus.com>
-
- * fold-const.c (unextend): Rewrite type conversions to avoid overflow.
-
-Fri Nov 15 12:11:28 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (try_combine): Properly copy an rtvec.
- * emit-rtl.c (gen_rtvec_vv): New function.
- (copy_rtx_if_shared): Call it.
- * integrate.c (copy_for_inline): Likewise.
- * reload1.c (eliminate_regs): Likewise.
- * rtl.h (gen_rtvec_vv): Declare.
- * genattrtab.c (simplify_cond): Make TESTS an array of rtunions.
- * genextract.c (main): Use loop, not bcopy, to set recog_operands
- from an rtvec.
- * rtl.c (rtvec_alloc): Clear rtwint instead of rtvec.
-
- * machmode.h (HOST_PTR_PRINTF): Handle char * wider than long.
- (HOST_WIDE_INT_PRINT_{DEC,UNSIGNED,HEX,DOUBLE_HEX}): New macros.
- * final.c (asm_fprintf): Use "ll" prefix for a long long HOST_WIDE_INT.
- (output_{asm_insn,addr_const}): Use HOST_WIDE_INT_PRINT_*.
- * print-tree.c (print_node{,_brief}, case INTEGER_CST): Likewise.
- * print-rtl.c (print_rtx, case 'w'): Use HOST_WIDE_INT_PRINT_DEC.
-
- * unroll.c (iteration_info): Fix code so that it knows iteration_var
- is a HOST_WIDE_INT, not a long.
-
- * fold-const.c (operand_equal_p): Do comparison with REAL_VALUES_EQUAL.
- (make_range): Properly decide when to get TREE_TYPE of arg0.
- Handle EXP being an INTEGER_CST at end.
- (fold_range_test): Handle return of 0 from make_range.
- (fold, case TRUTH_AND_EXPR): Handle first arg of 0.
- (fold, case TRUTH_OR_EXPR): Handle first arg of 1.
-
- * c-common.c (decl_attributes, case A_ALIAS): Add missing parens.
-
-Fri Nov 15 06:37:54 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * fold-const.c (range_binop): Set SNG1 to zero if ARG1 is a
- not a lower or upper bound.
-
-Thu Nov 14 23:08:25 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * flags.h (debug_info_type): Add DWARF2_DEBUG.
- * toplev.c (main): Support DWARF2_DEBUG. Add -gdwarf-1, -gdwarf-2
- options. Check debug level after choosing type.
- (debug_{start,end}_source_file, debug_{define,undef}): New functions.
- (compile_file): Support dwarf2 separately from dwarf1.
- (rest_of_type_compilation, rest_of_compilation): Likewise.
- * final.c (final_start_function): Likewise.
- (final_end_function, final_scan_insn, output_source_line): Likewise.
- * varasm.c (assemble_variable): Likewise.
- * dwarfout.c: Don't check DWARF_VERSION.
- * dwarf2out.c: s/dwarfout/dwarf2out/g. Check DWARF2_DEBUGGING_INFO.
- * c-lex.c (check_newline): Use debug_* instead of calling *out
- functions directly.
- * svr4.h (DWARF2_DEBUGGING_INFO): Define.
- * mips/iris6.h (PREFERRED_DEBUGGING_TYPE): DWARF2_DEBUG.
- (DWARF2_DEBUGGING_INFO): Define instead of DWARF_DEBUGGING_INFO.
- (LINK_SPEC): Pass -w through.
- * mips.h (PREFERRED_DEBUGGING_TYPE): Don't check `len'.
-
-Thu Nov 14 17:25:47 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.c (dosize): Don't clobber static chain reg if needed by
- current function.
-
-Wed Nov 13 17:05:19 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * Makefile.in (stage?-start): Keep a copy of EXTRA_MULTILIB_PARTS
- in the build directory.
-
-Tue Nov 12 23:17:17 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (print_operand, case 'Y'): Fix comparisons to handle
- NaNs properly in all cases.
-
-Tue Nov 12 18:47:24 1996 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (emit_group_store): For REG case, call gen_lowpart if
- modes are different.
-
-Tue Nov 12 18:24:40 1996 Doug Rupp (rupp@gnat.com)
-
- * gcc.c (exit): If VMS, define as __posix_exit.
- (option_map): Add define-macro and undefine-macro.
-
-Tue Nov 12 17:55:10 1996 Torbjorn Granlund <tege@tege.pdc.kth.se>
-
- * alpha.c (input_operand): If TARGET_BYTE_OPS accept HImode and QImode.
- * alpha.h (MASK_BYTE_OPS): New define.
- (TARGET_BYTE_OPS): New define.
- (TARGET_SWITCHES): Handle -mbyte.
- (LOAD_EXTEND_OP): When MODE is not SImode, return ZERO_EXTEND.
- * alpha.md (zero_extendqidi2): Handle TARGET_BYTE_OPS.
- (zero_extend{hidi,qisi,hisi}2): Likewise.
- (extendqisi2): Use extendqidi2x if TARGET_BYTE_OPS.
- (extendqidi2): Likewise.
- (extendqidi2x): New pattern.
- (extendhisi2): Use extendhidi2x if TARGET_BYTE_OPS.
- (extendhidi2): Likewise.
- (extendhidi2x): New pattern.
- (movhi): Handle TARGET_BYTE_OPS.
- (movhi matcher): Output ldwu and stw.
- (movqi): Handle TARGET_BYTE_OPS.
- (movqi matcher): Output ldbu and stb.
-
-Tue Nov 12 16:53:37 1996 Rob Savoye <rob@chinadoll.cygnus.com>
-
- * configure (hppa1.1-pro*, i960-*-coff*,m68k-*-aout*): Add libgloss.h.
- (m68k-*-coff*, mips*-*-elf*, sparc*-*-aout*, sparc*-*-coff*): Likewise.
- * config/libgloss.h: New file.
-
-Tue Nov 12 16:21:45 1996 Joern Rennecke <amylaar@cygnus.com>
-
- * jump.c (jump_optimize): Fix bug in Sep 23 change.
-
-Tue Nov 12 16:15:31 1996 Andrew Cagney (cagney@tpgi.com.au)
-
- * global.c (prune_references): Add missing symmetic CONFLICTP call.
-
-Tue Nov 12 14:34:40 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k.c (output_function_{pro,epi}logue): Save and restore
- fp-registers only if TARGET_68881.
-
- * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Prefix labels with "L%".
- (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_CASE_LABEL): Likewise.
- (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
-
- * m68k/mot3300.h (TARGET_DEFAULT): Use MASK_68040_ALSO, not MASK_68040.
- * m68k/next.h, m68k/ccur-GAS.h (TARGET_DEFAULT): Likewise.
-
- * fixproto (std_files): Add sys/socket.h.
-
- * m68k.md (movqi): Emit 'st' for INTVAL & 255 == 255, not INTVAL == -1.
- (seq,sne,sgt,sgtu,slt,sltu,sge,sgeu,sle,sleu): Allow "m" as operand 0.
-
-Tue Nov 12 14:17:45 1996 Paul Eggert <eggert@twinsun.com>
-
- * c-decl.c (grokdeclarator): Generate a warning if -Wimplicit,
- unless a warning was already generated by -Wreturn-type.
-
-Tue Nov 12 14:11:02 1996 Pat Rankin <rankin@eql.caltech.edu>
-
- * Make qsort callback routines conform to the ANSI/ISO standard.
- * c-decl.c (field_decl_cmp): Use `const void *' arguments.
- * global.c (allocno_compare): Likewise.
- * reload1.c (hard_reg_use_compare, compare_spill_regs): Likewise.
- (reload_reg_class_lower): Likewise.
- * stupid.c (stupid_reg_compare): Likewise.
- * local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
- (QTY_CMP_PRI, QTY_CMP_SUGG): New macros.
- (qty_compare_1, qty_sugg_compare_1): Use them.
-
-Tue Nov 12 13:20:25 1996 Jim Wilson <wilson@cygnus.com>
-
- * fold-const.c (merge_ranges): In (+,-) case, treat subset specially
- if lower bounds are the same.
-
-Tue Nov 12 13:10:01 1996 J.T. Conklin <jtc@cygnus.com>
-
- * m68k.md (addsi3): If TARGET_5200, use the lea insn to add small
- constants to address registers.
- (negsi2): Change into define_expand.
- (negsi2_internal): Rename from old negsi2, changed condition
- to !TARGET_5200.
- (negsi2_5200): New insn.
- (one_cmplsi2): Change into define_expand.
- (one_cmplsi2_internal): Rename from old one_cmplsi2, changed
- condition to !TARGET_5200.
- (one_cmplsi2_5200): New insn.
- (negdi2_5200): Corrected constraints.
- (one_cmpldi2): Changed condition to !TARGET_5200.
-
- * m68k.c (m68k_align_loops_string, m68k_align_jumps_string): New vars.
- (m68k_align_funcs_string, m68k_align_loops): Likewise.
- (m68k_align_jumps, m68k_align_funcs): Likewise.
- (override_options): New function.
- * m68k.h (TARGET_OPTIONS): Added alignment options.
- (MAX_CODE_ALIGN, ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
- New macros.
- (FUNCTION_BOUNDARY): Use value derrived from m68k_align_funcs
- instead of constant.
-
- * m68k.c (output_function_{pro,epi}logue): Fix typo in last change.
-
-Tue Nov 12 09:26:51 1996 Torbjorn Granlund <tege@wombat.gnu.ai.mit.edu>
-
- * i386.md (parallel inc/dec and branch-if-zero/nonzero): Use `+' in
- constraint.
-
-Mon Nov 11 15:12:22 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * libgcc2.c: Also define WEAK_ALIAS if ASM_OUTPUT_WEAK_ALIAS.
- * mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Define.
- * varasm.c (assemble_alias): Use ASM_OUTPUT_WEAK_ALIAS.
-
- * dwarf2out.c (TYPE_USED_FOR_FUNCTION): Lose.
- (gen_compile_unit_die): Only append -g with -g2 or better.
- (scope_die_for): Don't emit any type info with -g1.
- (gen_subprogram_die): Likewise.
- (gen_decl_die): Likewise.
- (dwarfout_file_scope_decl): Likewise.
- (dwarfout_init): Likewise.
-
- * mips/iris6.h (TYPE_ASM_OP): Define.
- (SIZE_ASM_OP): Define.
- (ASM_WEAKEN_LABEL): Define.
- (BSS_SECTION_ASM_OP): Define.
- (ASM_OUTPUT_ALIGNED_LOCAL): Don't use ASM_DECLARE_OBJECT_NAME.
- (ASM_OUTPUT_ALIGNED_BSS): Define.
- (ASM_DECLARE_OBJECT_NAME): Redefine to emit .size directive.
- (ASM_FINISH_DECLARE_OBJECT): Define.
- (ASM_OUTPUT_DEF): Don't define.
-
-Fri Nov 8 20:38:51 1996 Jim Wilson <wilson@cygnus.com>
-
- * function.c (expand_function_end): Handle BLKmode structures returned
- in registers.
-
-Fri Nov 8 20:27:07 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * stor-layout.c (layout_record): Check for VAR_DECL instead
- of TREE_STATIC.
-
- * varasm.c (assemble_variable): Do write out DWARF for
- record-scope variables.
- * toplev.c (rest_of_type_compilation): Do write out DWARF for
- record-scope types.
-
- * dwarf2out.c (gen_enumeration_type_die): Set TREE_ASM_WRITTEN on a
- complete enum type.
- (gen_struct_or_union_type_die): Don't recurse between nested classes.
- (gen_type_die): Write out nested classes by writing out their context.
-
-Fri Nov 8 17:40:27 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * emit-rtl.c (change_address): If MEMREF isn't changing,
- return the old one.
-
- * expr.c (expand_assignment): Remove bogus resetting of alignment
- to inner alignment.
- (expand_expr, case COMPONENT_REF): Likewise.
-
-Fri Nov 8 16:31:31 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * reg-stack.c (compare_for_stack_reg, subst_stack_regs_pat):
- Add support for float conditional move.
-
-Thu Nov 7 07:46:07 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * stor-layout.c (layout_record): Treat constant size as variable if
- it overflows.
- * fold-const.c (const_binop, case *_DIV_EXPR): Don't do special
- sizetype case if a constant overflows.
- (size_binop): Use integer_{zero,one}p instead of explicit test.
- * tree.c (integer_{zero,one,all_ones,pow2}p, real_{zero,one,two}p):
- Return 0 if TREE_CONSTANT_OVERFLOW.
-
-Wed Nov 6 17:53:33 1996 Torbjorn Granlund <tege@wombat.gnu.ai.mit.edu>
-
- * i386.md (parallel inc and branch-if-zero/nonzero): Add two
- new pattern variants. Change incrementing pattern to use incl/jnz.
-
-Wed Nov 6 09:46:10 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.c (override_options): Set defaults for -march and -mcpu.
- (output_float_compare): Use cc_status.flags to mark if this
- comparison can be done with fcomi.
- (output_fp_cc0_set): A conditional move may be in a PARALLEL.
-
- * i386.h (CC_FCOMI): Define
-
- * i386.md (sgt,sgtu,sge,sle,bgt,blt,bge,ble): Use CC_FCOMI
- (movsicc_1,movhicc_1): Use correct size suffix.
- (movsfcc_1,movdfcc_1): Cleanup default move case.
-
-Wed Nov 6 09:46:10 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * i386.h (HARD_REGNO_MODE_OK): If long double isn't XFmode, can't
- allow XFmode.
-
-Tue Nov 5 22:49:56 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (define_split for and_shl_scratch):
- Use rtx_equal_p on the operands to find out which alternative is used.
- * sh.c (gen_shl_and): Try to generate shorter constant for and.
-
-Mon Nov 4 19:13:52 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c: Clean up unused variables.
- Use ASM_{GENERATE,OUTPUT}_INTERNAL_LABEL, shorten label names.
- (loc_descriptor): Use reg_loc_descriptor.
- (TYPE_DECL_IS_STUB): New macro.
- (gen_decl_die): Use it.
- (dwarfout_file_scope_decl): Use it.
-
-Mon Nov 4 10:23:46 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * ginclude/va-ppc.h (__va_regsave_t,va_start,va_end): Wrap macro
- and structures inside #ifndef __VA_PPC_H__ to allow reinclusion.
-
- * rs6000.h (LEGITIMATE_SMALL_DATA_P): Don't allow -fpic or TARGET_TOC.
- (LEGITIMATE_LO_SUM_ADDRESS_P, LEGITIMIZE_ADDRESS): Likewise.
-
- * rs6000.md (movsi): Don't call elf_{high,low} if -fpic.
-
- * rs6000/cygwin32.h (STARTFILE_SPEC): Eliminate empty %{}.
-
-Sun Nov 3 15:56:35 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (TARGET_TOC): Plain -fpic does not require a TOC.
- ({MINIMAL_TOC,CONST}_SECTION_ASM_OP): -fpic should be treated like
- -mrelocatable in these cases.
- (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.
- (ASM_OUTPUT_ALIGNED_LOCAL): Use sdata_section, not sbss_section.
-
-Fri Nov 1 19:57:13 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (based_loc_descr): Use DBX_REGISTER_NUMBER. The
- "frame base" is just the frame or stack reg without an offset.
- (gen_subprogram_die): Likewise.
- (dwarfout_begin_function): Use DBX_REGISTER_NUMBER.
-
-Fri Nov 1 09:50:05 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (make_range): Don't merge unsigned case with range
- containing upper bound; instead merge just with zero and convert
- a range with no upper bound to opposite one with no lower bound.
- (merge_ranges): In (+,-) case, don't treat subset specially if
- the upper bounds are the same; fix typo in others case here.
-
-Thu Oct 31 20:12:13 1996 Jeffrey A Law (law@cygnus.com)
-
- * fold-const.c (make_range, case PLUS_EXPR): Correct
- normalization of an unsigned range that wraps around zero.
-
-Thu Oct 31 21:06:37 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * mips/t-iris6 (EXTRA_MULTILIB_PARTS): Define.
- (EXTRA_PARTS): Don't define.
-
- * dwarf2out.c (gen_struct_or_union_type_die): Use AT_specification
- for nested types defined outside their containing class. Lose
- is_complete.
- (gen_enumeration_type_die): Lose is_complete.
- (gen_type_die): Lose is_complete.
- (add_name_and_src_coords_attributes): Tweak.
- (gen_subroutine_type_die): Use scope_die_for.
- (gen_ptr_to_mbr_type_die): Likewise.
- (gen_subprogram_die): Support AT_artificial.
- (gen_variable_die): Likewise.
- (dwarfout_file_scope_decl): Lose finalizing.
-
-Thu Oct 31 18:43:18 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * pa.c (emit_move_sequence): Refine previous change.
-
-Thu Oct 31 13:25:32 1996 Jim Wilson <wilson@cygnus.com>
-
- * crtstuff.c: Put HAS_INIT_SECTION ifdefs around Irix6 support.
-
- * tree.c (decl_function_context): Handle QUAL_UNION_TYPE.
-
- * calls.c (expand_call): Disable special handling for const calls
- that return a PARALLEL rtx.
- * expr.c (expand_expr, case CONSTRUCTOR): Don't use a PARALLEL
- target.
-
-Thu Oct 31 11:45:00 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/t-{ppcgas,ppc,solaris} (EXTRA_MULTILIB_PARTS): Add
- {e,s}crt{i,n,0}.o.
- ({stmp,install}-crt): Delete, no longer used.
- ({,INSTALL_}LIBGCC): Remove {stmp,install}-crt rule.
-
-Thu Oct 31 02:49:58 1996 Torbjorn Granlund <tege@nada.kth.se>
-
- * i386.md (parallel inc and branch-if-zero/nonzero):
- Check for -1, not zero.
-
-Wed Oct 30 15:50:49 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (range_binop): Strip NOPs from result and
- verify it's an INTEGER_CST.
- (make_range, case BIT_NOT_EXPR): Fix typo in constant for PLUS_EXPR.
-
- * stor-layout.c (layout_record): Use HOST_WIDE_INT for size.
-
- * stmt.c (expand_asm_operands): Disallow matching constraints
- on output and validate the numbers on inputs.
-
-Tue Oct 29 16:21:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * gcc.c (process_command,main): Process -specs=file and -specs
- file after reading the main specs file to allow the user to
- override the default.
- (DEFAULT_WORD_SWITCH_TAKES_ARG): Add specs to list.
- (option_map): Likewise.
-
-Tue Oct 29 15:49:18 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * Makefile.in (stmp-multilib): Pass $flags to s-m-sub in
- MULTILIB_CFLAGS.
- (stmp-multilib-sub): Build EXTRA_MULTILIB_PARTS.
- ($(T)crt*.o): Add $(T), lose stamp-crt rule, use MULTILIB_CFLAGS.
- (install-multilib): Install EXTRA_MULTILIB_PARTS.
-
-Mon Oct 28 20:09:39 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (shl_sext_ext): Don't accept simple left/right shift variant.
- * sh.c (EXT_SHIFT_SIGNED): New macro.
- (shl_sext_kind, gen_shl_sext): try left shift - sign extend -
- left shift - arithmetic right shift in case 2.
-
-Mon Oct 28 14:55:42 1996 Jim Wilson <wilson@cygnus.com>
-
- * configure (sh-*-*): Set float_format to sh.
- * config/float-sh.h: New file.
-
-Mon Oct 28 14:26:08 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips/mips.h (RTX_COSTS): Add cases for SIGN_EXTEND and ZERO_EXTEND.
-
- * m68k/lb1sf68.asm: Change # to IMM in udivsi3 __mcf5200__.
-
- * combine.c (simplify_rtx): Add some optimizations for TRUNCATE.
- (expand_compound_operation): Add some optimizations for ZERO_EXTEND.
-
-Mon Oct 28 14:11:20 1996 Gavin Koch <gavin@cygnus.com>
-
- * varasm.c (make_decl_rtl,assemble_variable):
- Allow named sections for uninitialized variables.
-
-Mon Oct 28 13:08:51 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * pa.c (emit_move_sequence): If reload in progress, replace
- reference to pseudo with reference to corresponding MEM.
-
- * c-typeck.c ({un,}signed_type): If can't do anything, call
- signed_or_unsigned_type.
- (signed_or_unsigned_type): If already right signedness, return.
-
-Mon Oct 28 13:05:26 1996 Stephen Williams (steve@icarus.com)
-
- * i960.h: Add specification for -Jx types.
- * i960/t-960bare: Include multilib support for Jx types.
-
-Mon Oct 28 10:06:00 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/t-{ppc{,gas},solaris} (install-crt): Depend on
- installdirs, not install-dir.
-
- * rs6000/sysv4.h (TARGET_TOC): -fpic does not use a TOC area.
-
-Mon Oct 28 09:07:42 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (delete_output_reload): Don't use delete_insn
- when deleting all stores into a replaced pseudo.
-
- * sh.md (movsf_ieq, movsf_ie): Merged the former into the latter.
- Changed matching define_split appropriately.
- (movsf): Changed appropriately.
- (reload_insf) Define.
- * sh.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
-
-Mon Oct 28 08:38:23 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * dsp16xx.h (ASM_OUTPUT_BYTE): Adjust definition to actual type of
- VALUE, which is HOST_WIDE_INT.
-
-Mon Oct 28 07:36:07 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * ginclude/stddef.h: Make sure file is processed if some of the
- known __need_* macros is defined.
-
-Sun Oct 27 21:37:59 1996 J.T. Conklin <jtc@cygnus.com>
-
- * m68k.c (output_function_prologue): Adjust SP then use movmel with
- plain address indirect mode for TARGET_5200.
- (output_function_epilogue): Disable moveml and use several movel's
- instead for TARGET_5200.
- (output_function_{pro,epi}logue): Use lea instruction to adjust
- stack pointer for short displacements for TARGET_5200.
-
-Sun Oct 27 15:27:45 1996 Jeffrey A Law (law@cygnus.com)
-
- * fold-const.c (merge_ranges): Fix thinko/typo.
-
-Sat Oct 26 22:07:04 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * expr.c (convert_modes): Before returning a const_double for a
- large unsigned value, zero extend an integer value if necessary.
-
-Sat Oct 26 15:24:55 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k/x-mot3300 (XCFLAGS): Disable native assembler's jump
- optimization for expr.o and cp/decl.o.
-
-Sat Oct 26 14:04:09 1996 Ben Harris <bjh21@cam.ac.uk>
-
- * m68k.c (output_function_prologue): Add REGISTER_PREFIX to stack
- probe instruction.
-
-Sat Oct 26 13:59:05 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * explow.c (allocate_dynamic_stack_space): Delete reference to
- nonexistant macro ALLOCATE_OUTGOING_ARGS.
-
- * next.h (CPP_PREDEFINES): Add -D_NEXT_SOURCE.
-
-Sat Oct 26 13:50:49 1996 Mark Mitchell (mitchell@centerline.com)
-
- * configure (i486-ncr-sysv4*): Use i386/sysv4gdb if stabs and gas.
-
-Sat Oct 26 12:20:35 1996 John F. Carr <jfc@mit.edu>
-
- * configure: Support --with-cpu=* for SPARC. Or target default
- values instead of adding them.
- * sparc.c (cpu_default): Add entries for v8 and supersparc.
- * sparc.h: Define TARGET_CPU values for v8 and supersparc.
-
-Sat Oct 26 11:38:01 1996 Kamil Iskra <iskra@student.uci.agh.edu.pl>
-
- * collect2.c (dump_file): Call fclose for opened files.
-
-Sat Oct 26 11:29:29 1996 J"orn Rennecke (amylaar@cygnus.co.uk)
-
- * jump.c (jump_optimize): Fix second error in last change.
-
- * svr3.h: Fix typo which makes comment text be non-comment.
-
-Fri Oct 25 16:18:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/t-winnt (LIBGCC1): Don't build libgcc1.
- (EXTRA_PARTS): Build crti.o, crtn.o.
- (stmp-crt): Remove old multilib support.
-
-Thu Oct 24 15:09:14 1996 Jim Wilson <wilson@cygnus.com>
-
- * fold-const.c (make_range, case PLUS_EXPR): Normalize an unsigned
- range that wraps around 0.
-
-Thu Oct 24 14:37:17 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.md: Change predicates for 64 bit arithmetic operations
- so that they accept sign extended registers as operands.
- (extendsidi2): Accept hi or lo as input.
- * mips.c (movdi_operand, se_register_operand,
- se_reg_or_0_operand, se_uns_arith_operand, se_arith_operand,
- se_nonmemory_operand, se_nonimmediate_operand): New functions.
- (mips_move_2words): Handle a SIGN_EXTEND source.
- (print_operand): Handle a SIGN_EXTEND operand.
- (mips_secondary_reload_class): Handle a SIGN_EXTEND rtx.
- * mips.h: Declare new mips.c functions.
- (PREDICATE_CODES): Add new functions.
-
-Thu Oct 24 07:41:14 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (make_range, comparison cases): When making range
- for unsigned to merge in, use full range.
-
- * stor-layout.c (GET_MODE_ALIGNMENT): Delete definition; duplicate.
-
-Thu Oct 24 07:28:53 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * reload1.c (emit_reload_insns): Check for second_reloadreg
- in SECONDARY_OUTPUT_RELOAD_CLASS / PRESERVE_DEATH_INFO_REGNO_P case.
-
-Wed Oct 23 14:27:43 1996 Mike Stump <mrs@cygnus.com>
-
- * crtstuff.c (__do_global_dtors_aux): Allow finalization code to
- be run more than once.
- * libgcc2.c (__do_global_dtors): Ditto.
-
-Wed Oct 23 20:42:23 1996 Joern Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (dump_table): handle SFmode and DFmode.
- (broken_move): handle simple PARALLEL.
- (machine_dependent_reorg, pc-relative move generation): Likewise.
- * sh.h (CONST_DOUBLE_OK_FOR_LETTER_P): always true for 'F' .
- (LEGITIMATE_CONSTANT_P): accept SFmode and DFmode.
- * sh.md (movdf_k, movsf_i, movsf_ie): new alternative for
- pc-relative load.
- (movsf_ieq): new define_insn with matching define_split.
- (movsf): use it where appropriate.
- (consttable_sf, consttable_df): new define_insns.
-
-Wed Oct 23 17:48:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * svr4.h (MAKE_DECL_ONE_ONLY): Fix typo in use of macro parameter.
-
-Wed Oct 23 17:46:13 1996 Pat Rankin <rankin@eql.caltech.edu>
-
- * cexp.y (yylex): Cast string literal to U_CHAR* for lookup() call.
-
-Wed Oct 23 14:50:04 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * stmt.c (expand_return): Expand cleanups. Make sure we get pseudo
- and provide target in non-BLKmode case. Get proper return type of fn.
-
-Wed Oct 23 14:16:06 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * reload.c (find_reloads): Handle any unary operator.
- * recog.c (constrain_operands): Likewise.
-
- * mips.md: Remove extendsidi2 define_expand.
- Rename extendsidi2_internal define_insn to extendsidi2, and add a
- register to register case.
-
-Wed Oct 23 14:08:31 1996 Jim Wilson <wilson@cygnus.com>
-
- * a29k.c (a29k_makes_calls): New global variable.
- (compute_regstack_size, a29k_compute_reg_names): New functions.
- (output_prolog): Much code moved to two new functions.
- Use a29k_makes_calls instead of makes_calls.
- * a29k.h (ASM_DECLARE_FUNCTION_NAME): Call a29k_compute_reg_names.
-
- * calls.c (expand_call): In target code, move PARALLEL case above
- target != case.
-
- * mips.c (block_move_load_store, block_move_sequence): Delete.
- (block_move_loop): New parameter orig_dest. Call change_address to
- create new MEM instead of gen_rtx.
- (expand_block_move): New local orig_dest. Pass it to block_move_loop.
- Call change_address to create new MEM instead of gen_rtx.
-
-Wed Oct 23 10:30:32 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (combine_givs): When combining a DEST_REG giv with its
- only use, always set the benefit of the combined giv to that of
- the DEST_REG giv.
-
- * emit-rtl (gen_lowpart_common): When converting a floating
- point value into an integer, use WORD as (first) word.
-
- * combine.c (can_combine_p): When SMALL_REGISTER_CLASSES is defined,
- avoid substituting a return register into I3.
-
- * optabs.c (emit_libcall_block): Before adding an REG_EQUAL note,
- check that it will really apply to a single instruction.
- (expand_binop, expand_fix): Likewise.
-
-Wed Oct 23 10:20:52 1996 Stephen L Moshier (moshier@world.std.com)
-
- * real.c (exact_real_inverse): New function, if REAL_ARITHMETIC.
- * fold-const.c (exact_real_inverse): Likewise, if no REAL_ARITHMETIC.
- (fold, case RDIV_EXPR): Turn divide by constant into multiplication
- by the reciprocal, if optimizing and result is exact.
- * real.h (exact_real_inverse): Declare.
-
-Wed Oct 23 00:12:52 1996 Torbjorn Granlund <tege@nada.kth.se>
-
- * expr.h (emit_store_flag_force): Declare.
-
-Tue Oct 22 18:32:20 1996 Jim Wilson <wilson@cygnus.com>
-
- * unroll.c (unroll_loop): Always reject loops with unbalanced blocks.
-
-Tue Oct 22 18:27:06 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * config/fp-bit.c (float_to_usi): Correct thinko: avoid negative shift.
- (df_to_sf): Remember any discarded nonzero bits in the low order
- guard bit.
-
- * ginclude/va-mips.h: Add support for -mips1 and -msoft-float when
- using -mabi=eabi.
- * mips/abi64.h (SETUP_INCOMING_VARARGS): When MIPS EABI, handle
- TARGET_SINGLE_FLOAT or ! TARGET_FLOAT64 correctly when saving
- floating point registers to the stack.
- * mips/mips.c (mips_function_value): If TARGET_SINGLE_FLOAT, use
- GP_RETURN for floating point types larger than 4 bytes.
-
-Tue Oct 22 09:43:49 1996 Geoffrey Noer <noer@cygnus.com>
-
- * rs6000/cygwin32.h (LIB_SPEC): Add -lkernel32 all of the time,
- and {user,gdi,comdlg}32 if -mwindows.
-
-Tue Oct 22 05:24:05 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (scope_die_for): Don't skip lexical blocks.
- (gen_lexical_block_die): Call push_decl_scope.
- (gen_subprogram_die): Never refer to the function symbol.
- (dwarfout_begin_prologue): Likewise.
-
-Mon Oct 21 20:22:49 1996 Torbjorn Granlund <tege@nada.kth.se>
-
- * expmed.c (emit_store_flag_force): New function.
- * optabs.c (expand_binop): Use it.
-
- * expr.c (do_store_flag): Don't check if target is 0 in code
- emitting store flag as compare-branch.
-
-Mon Oct 21 17:58:33 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.c (override_options): Correct typo (MASK_64BIT should
- have been TARGET_64BIT).
-
-Mon Oct 21 13:58:54 1996 Jim Wilson <wilson@cygnus.com>
-
- * unroll.c (loop_comparison_code): New static variable.
- (unroll_loop): Add check for loop_comparison_code
- (loop_iterations): Set loop_comparison_code.
-
- * sh.c (gen_shl_sext): Add missing parameter to shl_sext_kind call.
-
- * mips.h (INITIAL_FRAME_POINTER_OFFSET): Delete.
-
- * loop.c (strength_reduce): Add check for ! bl->reversed to
- auto_inc_opt code.
-
-Mon Oct 21 12:28:15 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * jump.c (jump_optimize): Fix bug in Oct. 14 change.
-
-Mon Oct 21 07:59:16 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (store_expr): Disable optimization of using convert
- if exp's type is a subtype.
-
- * c-typeck.c (build_array_ref): If -Wchar-subscripts, also warn
- in case when pointer is being indexed.
-
-Mon Oct 21 07:39:31 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * jump.c (jump_optimize): Use emit_store_flag even if branches
- are cheap, if the store is even cheaper.
-
-Sun Oct 20 20:01:09 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * reload1.c (reload_reg_free_p, reloads_conflict): RELOAD_OTHER
- and RELOAD_FOR_OTHER_ADDRESS conflict.
-
- * i386.md (ffs[sh]i2): Add missing CC_STATUS_INIT.
-
-Fri Oct 18 13:32:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (float conversion insns): Generate correct code
- if the bit 15 of rs6000_fpmem_offset is non-zero.
-
-Thu Oct 17 23:22:03 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarfout.c (data_member_location_attribute): Support binfos.
- (output_inheritance_die): New fn.
- (output_type): Use it.
-
- * dwarf2out.c (value_format): Split out from...
- (output_value_format): Here.
- (build_abbrev_table): Use value_format.
- (size_of_locs): New fn.
- (size_of_die): Don't assume a loc needs a 2-byte length.
- (value_format, output_die): Likewise.
-
-Thu Oct 17 14:46:14 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.c (override_options): In 64 bit EABI mode, set TARGET_LONG64.
-
-Thu Oct 17 11:34:51 1996 Bob Manson <manson@cygnus.com>
-
- * expr.c (do_jump): Conditionalize cleanups for the COND_EXPR case,
- similarly to the way TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR are
- handled.
-
-Thu Oct 17 01:20:16 1996 Jim Wilson <wilson@cygnus.com>
-
- * m68k.h (MASK_68040_ALSO): New macro.
- (TARGET_SWITCHES): Option -m68020-40 includes MASK_68040_ALSO.
-
-Wed Oct 16 16:25:38 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (scope_die_for): Also support decls, add asserts.
- (modified_type_die): Modified types all go under comp_unit_die.
- (add_type_attribute): Just pass context_die through.
- (various): Revert useless lookup_type_die change.
- (gen_subprogram_die): Use scope_die_for. Call push_decl_scope.
- (gen_inlined_subroutine_die): Call push_decl_scope.
- (gen_struct_or_union_type_die): Likewise.
- (gen_decl_die): Don't call push_decl_scope.
-
- * mips/iris6.h (*_SPEC): Replace enumeration of !mabi= with !mabi*.
- (ASM_OUTPUT_{CON,DE}STRUCTOR): Enable.
- (STARTFILE_SPEC): Support -mips4, -shared.
- (ENDFILE_SPEC): Likewise.
- (LIB_SPEC): Support -shared, avoid warning 84.
- (LIBGCC_SPEC): Define.
- (LINK_SPEC): Support -shared, remove -woff 84.
- * mips/t-iris6 (EXTRA_PARTS): Add crtstuff.
- * crtstuff.c: Support Irix 6.
- * configure: Don't use collect2 for Irix 6.
- * libgcc2.c (__main): Don't use any of this stuff if HAS_INIT_SECTION.
-
-Wed Oct 16 11:46:37 1996 Mike Stump <mrs@cygnus.com>
-
- * elxsi.h (CHECK_FLOAT_VALUE): Removed.
-
-Wed Oct 16 14:19:38 1996 Jim Wilson <wilson@cygnus.com>
-
- * iris6.h (CPP_PREDEFINES): Add -D_LONGLONG.
- (CPP_SPECS): Remove -D_LONGLONG.
-
-Wed Oct 16 03:34:42 1996 Torbjorn Granlund <tege@nada.kth.se>
-
- * i386.md (parallel inc/dec and branch-if-zero/nonzero): New patterns.
-
-Tue Oct 15 22:28:11 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (enum mips_abi_type): Add ABI_EABI.
- (CPP_SPEC): Define __mips_soft_float if -msoft-float, and
- __mips_eabi if -mabi=eabi.
- (INITIAL_ELIMINATION_OFFSET, CUMULATIVE_ARGS,
- GO_IF_LEGITIMATE_ADDRESS, CONSTANT_ADDRESS_P, LEGITIMATE_CONSTANT,
- LEGITIMIZE_ADDRESS): Add support for MIPS EABI.
- * mips/abi64.h (STACK_BOUNDARY, MIPS_STACK_ALIGN,
- FUNCTION_ARG_PADDING, RETURN_IN_MEMORY, SETUP_INCOMING_VARARGS):
- Add support for MIPS EABI.
- (FUNCTION_ARG_PASS_BY_REFERENCE): Define.
- (FUNCTION_ARG_CALLEE_COPIES): Define.
- * mips.c (mips_const_double_ok, function_arg_advance,
- function_arg, function_arg_partial_nregs, override_options,
- compute_frame_size): Add support for MIPS EABI.
- (function_arg_pass_by_reference): New function.
- * ginclude/va-mips.h: Add support for MIPS EABI.
-
-Tue Oct 15 19:10:08 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (rest_of_type_compilation): Don't write out
- DWARF for function-scope types yet.
- (compile_file): Do send vars with no RTL to the DWARF code.
-
-Tue Oct 15 17:54:43 1996 Doug Evans <dje@cygnus.com>
-
- * loop.c (strength_reduce): Avoid taking PATTERN of a label.
-
-Tue Oct 15 16:52:33 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips/iris6.h: (SUBTARGET_CPP_SIZE_SPEC): Define.
- (SUBTARGET_CPP_SPEC): Remove definitions of __SIZE_TYPE__ and
- __PTRDIFF_TYPE__, now in SUBTARGET_CPP_SIZE_SPEC.
-
-Tue Oct 15 11:19:17 1996 Lee Iverson <leei@Canada.AI.SRI.COM>
-
- * mips.h (CPP_SPEC): Restore -D_LANGUAGE_C for Objective C.
-
-Mon Oct 14 18:03:35 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (gen_decl_die): Do generate dies for classes with -g1.
- (dwarfout_file_scope_decl): Likewise.
-
-Mon Oct 14 16:31:44 1996 Joern Rennecke <amylaar@cygnus.co.uk>
-
- * jump.c (jump_optimize): Check for if (...) { x = a; goto l; } x = b;
-
-Mon Oct 14 14:19:49 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (modified_type_die): Don't bother with AT_address_class.
- (add_data_member_location_attribute): Handle getting a binfo.
- (add_location_or_const_value_attribute): Handle a decl with no RTL.
- (add_pure_or_virtual_attribute): Add AT_vtable_elem_location.
- (add_name_and_src_coords_attributes): Only use DECL_ASSEMBLER_NAME
- for staticp things.
- (gen_subprogram_die): Set up AT_inline for abstract decls.
- (gen_inheritance_die): New fn.
- (gen_member_die): Also emit info for base classes.
-
-Sat Oct 12 00:07:00 1996 Doug Evans <dje@cygnus.com>
-
- * fold-const.c (make_range): Handle NULL operand 0 like in BIND_EXPRs.
-
-Fri Oct 11 15:42:22 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (rest_of_compilation): If we did a
- save_for_inline_copying, reset DECL_ABSTRACT_ORIGIN for the
- function when we're done.
-
- * toplev.c (main): DWARF works with C++ now.
-
- * dwarf2out.c (gen_subprogram_die): Disable MIPS_AT_has_inline
- support for now.
-
-Fri Oct 11 14:31:10 1996 Torbjorn Granlund <tege@nada.kth.se>
-
- * dwarfout.c: (output_bound_representation): Fix typo in prototype.
-
-Fri Oct 11 12:19:21 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h ({,SUBTARGET_}MIPS_AS_ASM_SPEC): Define.
- ({GAS,TARGET,SUBTARGET}_ASM_SPEC): Define.
- (SUBTARGET_ASM_{OPTIMIZING,DEBUGGING}_SPEC): Define.
- (ASM_SPEC): Rewrite to use above specs.
- (SUBTARGET_CPP{,_SIZE}_SPEC): Define.
- (CPP_SPEC): Use above specs. Don't define _LANGUAGE_C if C++ or
- Objective C.
- ({,SUBTARGET_}EXTRA_SPECS): Define.
- * mips/dec-bsd.h ({CPP,ASM}_SPEC): Don't define.
- * mips/dec-osf1.h (CPP_SPEC): Don't define.
- (SUBTARGET_CPP_SIZE_SPEC): Define.
- * mips/elf64.h (CPP_SPEC): Don't define.
- (SUBTARGET_CPP_SPEC): Define.
- * mips/gnu.h (TARGET_DEFAULT): Define.
- (ASM_SPEC): Don't define.
- * mips/iris3.h (CPP_SPEC): Don't define.
- (SUBTARGET_CPP_SPEC): Define.
- * mips/iris4loser.h (ASM_SPEC): Don't define.
- (SUBTARGET_MIPS_AS_ASM_SPEC): Define.
- (SUBTARGET_ASM_OPTIMIZING_SPEC): Define.
- * mips/iris5.h (CPP_SPEC): Don't define.
- (SUBTARGET_CPP_SPEC): Define.
- * mips/iris6.h ({CPP,ASM}_SPEC): Don't define.
- (SUBTARGET_{CPP,ASM,MIPS_AS_ASM,ASM_DEBUGGING}_SPEC): Define.
- * mips/netbsd.h ({CPP,ASM}_SPEC): Don't define.
- (SUBTARGET_CPP_SPEC): Define.
- * mips/osfrose.h ({CPP,ASM,ASM_FINAL}_SPEC): Don't define.
- (SUBTARGET_CPP{,_SIZE}_SPEC): Define.
- * mips/sni-svr4.h (CPP_SPEC): Don't define.
- (SUBTARGET_CPP_SIZE_SPEC): Define.
-
-Thu Oct 10 17:58:49 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * mips/iris6.h (ASM_OUTPUT_SECTION_NAME): Define.
- (DWARF_OFFSET_SIZE): Define.
-
- * dwarf2out.c (most everywhere): Support SGI/MIPS -mabi=64 by fixing
- code which assumed pointers are 4 bytes long, parameterizing many
- sizes on DWARF_OFFSET_SIZE and using DELTA instead of DELTA4,
- DATA instead of DATA4, FORM_ref instead of FORM_ref4.
- (DWARF_ROUND, UNALIGNED_DOUBLE_INT_ASM_OP): New macros.
- (UNALIGNED_WORD_ASM_OP, ASM_OUTPUT_DWARF_DELTA): Likewise.
- (ASM_OUTPUT_DWARF_DATA, DW_FORM_data, DW_FORM_ref): New macros.
- (gen_variable_die): Only equate_decl_number_to_die if
- decl is TREE_STATIC.
- (get_AT): Fix thinko.
-
- * dwarf2out.c (constant_size): New fn.
- (size_of_die): Use it instead of assuming 4 bytes.
- (output_value_format, output_die): Likewise.
- (build_abbrev_table): Need new abbrev if size of constant differs.
- (dwarf_attr_name): Add new SGI/MIPS extensions.
- (gen_subprogram_die): Support DW_AT_MIPS_has_inlines.
- (gen_inlined_subroutine_die): Likewise.
-
-Thu Oct 10 16:38:58 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.md (mov[sd]fcc): Use register_operand, not reg_or_0_operand,
- for source predicates.
-
-Thu Oct 10 15:19:38 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (floatsidf2_load): For large stack frames, do not
- generate an illegal memory reference.
- (movdi, movdf define_splits): Fix code so that it works for either
- big or little endian hosts generating code for either big or
- little endian targets.
-
- (from Jim Wilson)
- * rs6000.c (rs6000_save_toc_p): Delete global variable.
- (rs6000_{save,restore}_machine_status): Do not save/restore it.
- (rs6000_init_expanders): Do not initialize it.
- (rs6000_stack_info): Always create TOC save space.
-
- * rs6000.md (NT indirect call insns): Do not set
- rs6000_save_toc_p.
-
- * rs6000.h (rs6000_save_toc_p): Delete declaration.
-
-Wed Oct 9 18:06:54 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (EMPTY_FIELD_BOUNDARY): Define as 32.
- * mips/abi64.h (EMPTY_FIELD_BOUNDARY): Don't define.
-
- * mips/abi64.h (TARGET_DEFAULT, TARGET_LONG64, CPP_PREDEFINES,
- CPP_SPEC): Move from here...
- * mips/iris6.h: ...to here.
-
-Wed Oct 9 16:43:51 1996 Jim Wilson <wilson@cygnus.com>
-
- * configure (i[3456]86-dg-dgux): Use install-headers-cpio.
-
- * expr.c (store_constructor): Delete unnecessary increment.
-
-Wed Oct 9 16:29:22 1996 Gavin Koch <gavin@cetus.cygnus.com>
-
- * cccp.c (do_include): Treat ENOTDIR like ENOENT when an open fails.
-
-Wed Oct 9 16:26:57 1996 Paul Eggert <eggert@twinsun.com>
-
- * gcc.c (default_compilers): -ansi no longer implies -$ to cpp.
- * c-lex.c (yylex): Treat `$' just like `_', except issue a
- diagnostic if !dollars_in_ident or if pedantic.
- * c-decl.c (dollars_in_ident): DOLLARS_IN_IDENTIFIERS is now Boolean.
- (c_decode_option): -fdollars-in-identifiers is now independent
- of -ansi, of -traditional, and of DOLLARS_IN_IDENTIFIERS.
- * cexp.y (initialize_random_junk): Ignore DOLLARS_IN_IDENTIFIERS.
- * cccp.c (dollars_in_ident): Remove; replaced by is_idchar['$'].
- (main): Initialize is_idchar and is_idstart directly when given -$.
- Ignore DOLLARS_IN_IDENTIFIERS.
- (rescan): Diagnose $ in identifier if pedantic.
- (initialize_char_syntax): Assume $ is allowed in identifier;
- `main' will change this if -$ is given.
- * cpplib.h (DOLLARS_IN_IDENTIFIERS): Remove.
- * cpplib.c (cpp_options_init): Ignore DOLLARS_IN_IDENTIFIERS.
- (parse_name): Diagnose $ in identifier if pedantic.
- (cpp_handle_options): -traditional no longer messes with
- dollars_in_ident.
- * i386/dgux.h, m68k/apollo68.h (DOLLARS_IN_IDENTIFIERS): Remove.
- * m88k.h, mips.h, nextstep.h, pa.h (DOLLARS_IN_IDENTIFIERS): Remove.
- * vax/ultrix.h, vax/vms.h (DOLLARS_IN_IDENTIFIERS): Remove.
- * convex.h (OVERRIDE_OPTIONS): Don't need to set
- dollars_in_ident any more, since -ansi doesn't change it.
-
-Wed Oct 9 07:35:47 1996 Doug Evans <dje@cygnus.com>
-
- * Allow prefix attributes in more places.
- * c-parse.in: Update number of shift/reduce conflicts.
- ({typed_declspecs,reserved_declspecs,declmods}_no_prefix_attr): New.
- (current_declspecs): Initialize to NULL_TREE.
- (fndef): Pass current_declspecs, not $1, to start_function.
- (old_style_parm_decls): Renamed from xdecls.
- (datadecl, declmods): Add references to new rules.
- (setspecs): Call split_specs_attrs.
- (absdcl1): Remove case with setattrs.
- * c-common.c (split_specs_attrs): New function.
-
-Wed Oct 9 05:48:43 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * sdbout.c: Include defaults.h.
- * Makefile.in (sdbout.o): Make dependency list match included files.
-
- * fold-const.c (range_test): Function deleted.
- (range_binop, make_range, build_range_check): New functions.
- (merge_ranges, fold_range_test): Likewise.
- (fold_truthop): No longer call range_test.
- (fold, case TRUTH_{AND,OR}{,IF}_EXPR): Call fold_range_test.
-
-Tue Oct 8 22:03:32 1996 Torbjorn Granlund <tege@nada.kth.se>
-
- * configure: Set cpu_type for pyramid.
-
-Tue Oct 8 21:54:04 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * final.c (final_start_function): Call dwarfout_begin_prologue.
-
- * dwarf2out.c (pubname_*, arange_*): New data for .debug_pubnames
- and .debug_aranges sections.
- (add_pubname): New fn.
- (size_of_pubnames): Reimplement.
- (output_pubnames): Likewise.
- (add_arange): New fn.
- (size_of_aranges): Include function sections.
- (output_aranges): Likewise.
- (gen_variable_die): Call add_pubname.
- (add_name_and_src_coords_attributes): Use DECL_ASSEMBLER_NAME for now.
- (decl_start_label): Renamed from function_start_label.
- (gen_subprogram_die): If weak or one_only, use a local label for
- AT_low_pc. Call add_pubname and add_arange.
- (dwarfout_begin_prologue): New fn. Start up FDE here.
- (dwarfout_begin_function): Not here.
- (get_AT): Split out. Look in specification and abstract_origin DIEs.
- (get_AT_low_pc, get_AT_string, get_AT_flag, get_AT_unsigned,
- get_AT_hi_pc): Use it.
- (dwarfout_finish): Variables can produce pubnames, too.
-
-Tue Oct 8 19:35:40 1996 Torbjorn Granlund <tege@nada.kth.se>
-
- * m88k/dgux.h (CPP_SPEC): Avoid newline in the string.
-
- * final.c (final): Update insn_current_address before calling
- final_scan_insn.
-
-Tue Oct 8 17:52:02 1996 Jim Wilson <wilson@cygnus.com>
-
- * unroll.c (unroll_loops): Set local_regno only if set_dominates_use
- returns true.
- (set_dominates_use): New function.
-
-Tue Oct 8 16:01:37 1996 Doug Evans <dje@cygnus.com>
-
- * c-typeck.c (decl_constant_value): Delete test for ! TREE_PUBLIC.
-
-Tue Oct 8 10:36:44 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (hppa_legitimize_address): Remove test code accidentally left
- in during last change.
-
-Mon Oct 7 19:55:02 1996 Jim Wilson <wilson@cygnus.com>
-
- * sched.c (schedule_block): Before scheduling, add code to make all
- call used regs not fixed or global live when we see a CALL_INSN.
- During scheduling, change existing code to use same test.
-
- * varasm.c (bss_section): Delete unused parameters.
-
-Mon Oct 7 16:24:21 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2.h: Add new SGI/MIPS attributes.
-
- * dwarf2out.c (*_separate_line_info_*): Parallel line number
- information for functions defined in sections other than .text.
- (size_of_line_info): Support it.
- (output_line_info, dwarfout_line): Likewise.
- (gen_compile_unit_die): Don't add high/low_pc or stmt_list
- attributes here.
- (dwarfout_finish): Add them here if appropriate.
- (remove_AT): Free removed attribute properly.
- (gen_type_die): Don't assume a nested type is complete.
- (dwarfout_finish): Don't emit line info if it would be empty.
-
- * dwarfout.c (output_block): Don't emit a DIE for a body block.
- (output_decls_for_scope): Don't increment next_block_number for the
- outer block.
- (output_decl): Start from the outer block, not
- the first inner block since there can be more than one in C++.
- (type_tag): Handle C++ TYPE_NAME.
- (output_type): Fix handling of TYPE_METHODS.
- (output_decl): Don't output a DIE for artificial typedefs.
-
-Mon Oct 7 15:47:29 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (movdi define_splits): Fix previous change to work
- on both little and big endian hosts.
-
-Sun Oct 6 16:52:34 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (combinable_fsub): Don't return without a value.
-
-Sun Oct 6 14:05:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (mov{df,di} define_splits): Use split_double to
- properly split CONST_DOUBLEs.
- (movdi): Likewise.
-
-Sat Oct 5 08:43:14 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * i386/cygwin32.h (LIB_SPEC): Add support for -mwindows.
- Always pass -lkernel32.
- (LIBGCC_SPEC): Don't delete.
- (STARTFILE_SPEC): Remove always-true conditionalization.
- (LONG_DOUBLE_TYPE_SIZE): Use default.
-
-Fri Oct 4 17:22:53 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (rest_of_type_compilation): Don't emit DWARF for member
- types of a type we haven't emitted yet.
- (compile_file): Still emit DWARF for pending tagged types.
-
- * final.c (final_scan_insn): Do emit DWARF labels for level 1 blocks.
-
- * dwarf2out.c (gen_subprogram_die): Start from the outer block, not
- the first inner block since there can be more than one in C++.
- (gen_lexical_block_die): Keep track of the block depth.
- (gen_block_die): Don't emit a DIE for a body block.
- (gen_inlined_subroutine_die): Don't emit anything for an
- abstract instance.
- (decls_for_scope): Don't increment next_block_number for the
- outer block.
-
-Fri Oct 4 15:27:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (PRESERVE_DEATH_INFO_REGNO_P): Define.
-
- * sh.c (sfunc_uses_reg): New function.
- (noncall_uses_reg, machine_dependent_reorg, final_prescan_insn):
- Handle special functions like function calls for purposes of relaxing.
- (noncall_uses_reg): Added some missing cases of registers
- being used in non-call instructions.
-
-Fri Oct 4 10:51:40 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c: Tear out backchaining brain damage.
- (remove_AT, remove_children): New functions.
- (modified_type_die): Call gen_type_die instead of backchaining.
- (gen_subprogram_die): Don't generate a new specification DIE for
- member functions defined in the class; use the declaration DIE instead.
- (gen_struct_or_union_type_die): Support DW_AT_declaration.
- (gen_type_die): Don't set TREE_ASM_WRITTEN on incomplete structs.
- (gen_decl_die): Revert previous change; it's much simpler to emit
- the class from rest_of_type_compilation.
-
-Fri Oct 4 09:54:21 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * Make sure we have enough registers for the insns we recognize.
- * i386.h (flag_omit_frame_pointer, outer_function_chain): Declare.
- (current_function_calls_alloca): Likewise
- (rtx_equal_function_value_matters): Likewise
- (N_REGS_USED, N_ALLOCATABLE_REGISTERS): Define.
-
- * i386.md (adddi3_1, subdi3_1): Insns renamed from adddi3 and subdi3;
- added missing earlyclobbers.
- (adddi3_1): Removed duplicates from commutativity.
- (adddi3, subdi3): New define_expands.
- (movsf, movsf_mem, movsf_normal, movdf, movdf_mem , movdf_mem+1): Take
- number of used vs. available registers into account.
- (movxf, movxf_mem, movxf_mem+1, addsidi3_1, addsidi3_2): Likewise.
- (adddi3_1, subsidi3, subdi3_1): Likewise.
- (addsidi3_1, addsidi3_2, subsidi3): Need no generate function.
-
- * i386.c (asm_output_function_prefix): Don't use
- ASM_DECLARE_FUNCTION_NAME if it is not defined.
-
-Fri Oct 4 07:01:55 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * stor-layout.c (layout_decl): Don't turn off DECL_BIT_FIELD
- if DECL's alignment is less than its type.
-
-Thu Oct 3 19:42:30 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (rest_of_type_compilation): Also do this for DWARF.
- (compile_file): Don't try to write out DWARF for vars with no RTL.
-
-Thu Oct 3 18:31:28 1996 Doug Evans <dje@cygnus.com>
-
- * ginclude/{stdarg.h,varargs.h}: Use #include "", not #include <>.
-
-Wed Oct 2 17:29:53 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * fixincludes: Add a hack to the big sed script to work around a
- bug in the sed implementation on HP/UX 10.20.
-
-Wed Oct 2 16:53:56 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (modified_type_die): Don't generate redundant DIEs.
- (gen_{array,pointer,reference,ptr_to_mbr}_type_die): Likewise.
- (gen_{subroutine,string,set}_type_die): Likewise.
-
- * dwarf2out.c: Undo text_end_label, add_src_coords changes.
- (addr_const_to_string): Fix typos.
- (decl_class_context, get_AT_unsigned): New functions.
- (gen_subprogram_die): Only emit src coords info for a specification
- if they changed.
- (gen_variable_die): Support DW_AT_declaration and DW_AT_specification.
- (gen_decl_die): Avoid generating redundant DIEs for member functions
- and variables.
-
-Wed Oct 2 11:22:50 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (EXTRA_CONSTRAINT): Loosen conditions for match of
- 'Q' and 'T' while reload is running.
- * pa.c (hppa_legitimize_address): Rework to generate more
- indexed and scaled indexed addressing.
- * pa.md (scaled indexed store): Add define_splits to undo
- pessimizations created by hppa_legitimize_address for integer stores.
-
- * pa.c (remove_useless_addtr_insns): New function.
- (pa_reorg): Delete code to remove useless add,tr insns.
- Instead call remove_useless_addtr_insns.
- (output_function_prologue): Call remove_useless_addtr_insns
- to catch any add,tr insns created by reorg.
-
- * pa.c (secondary_reload_class): Remove duplicate/useless code.
-
- * pa.h (PARSE_LDD_OUTPUT): Handle output from hpux10.20 "chatr".
-
-Tue Oct 1 17:23:32 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2out.c (text_end_label): New static.
- (size_of_line_info): The final entry is smaller.
- (output_aranges): Use TEXT_SECTION instead of TEXT_BEGIN_LABEL and
- text_end_label instead of TEXT_END_LABEL.
- (gen_compile_unit_die): Likewise.
- (output_line_info): Likewise. Use a fixed advance for the last entry.
- (dwarfout_init): Don't output starting labels.
- (dwarfout_finish): Set up text_end_label. Don't output ending labels.
-
- (add_pure_or_virtual_attribute): Don't say pure virtual for now.
- (type_tag): Handle C++ TYPE_NAME.
- (gen_formal_parameter_die): Support DW_AT_artificial.
- (gen_formal_types_die): Do emit the type for 'this'.
- (gen_member_die): Fix handling of TYPE_METHODS.
- (gen_decl_die): Do output a DIE for member function declarations.
- Don't output a DIE for artificial typedefs.
-
- (add_member_attribute): Remove, not in DWARF-II.
- (gen_array_type_die): Remove ref to add_member_attribute.
- (gen_set_type_die, gen_entry_point_die, gen_enumeration_type_die,
- gen_subprogram_die, gen_variable_die, gen_field_die,
- gen_pointer_type_die, gen_reference_type_die, gen_ptr_to_mbr_type_die,
- gen_string_type_die, gen_struct_or_union_type_die,
- gen_subroutine_type_die, gen_typedef_die): Likewise.
-
- (get_AT_flag): New fn.
- (add_src_coords_attributes): Split out...
- (add_name_and_src_coords_attributes): From here.
- (gen_subprogram_die): Support DW_AT_declaration and
- DW_AT_specification.
-
- (gen_compile_unit_die): Don't emit full pathname for source file;
- comment claimed that SGI required it, but they don't emit it either.
- Append -g to producer rather than replacing it.
-
-Tue Oct 1 14:19:23 1996 Jim Wilson <wilson@cygnus.com>
-
- * gcc.c (used_arg): When call xmalloc for mswitches, pass 1 if
- n_switches is zero.
-
-Mon Sep 30 17:46:26 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (gen_shl_and, gen_shl_sext): Use gen_lowpart to
- generate rtx in the appropriate mode for zero/sign-extension.
- Don't generate a zero bit shift.
- (gen_shl_sext) Directly use gen_ashift instead of gen_ashrsi3.
-
-Mon Sep 30 17:17:56 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * fixinc.svr4: In math.h, redefine exception to __math_exception
- for C++, to avoid conflict with <exception>.
- * fixincludes: Likewise.
- Fix check for class in math.h to not match fp_class.
-
-Mon Sep 30 17:15:19 1996 Jim Wilson <wilson@cygnus.com>
-
- * iris6.h (ASM_SPEC): Add -w.
- (STARTFILE_SPEC): Add mips3 to n32 pathnames.
- Add -L/usr/lib32/mips for n32 cases.
- (ENDFILE_SPEC): Add mips3 to n32 pathnames.
-
-Mon Sep 30 13:20:31 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * genopinit.c (gen_insn): Look through the modes in reverse order,
- to avoid stopping early on CC when EXTRA_CC_MODES is used.
-
- * fixincludes: Add extern "C" to <sys/mman.h> on HP/UX.
-
-Sun Sep 29 12:39:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * c-typeck.c (pointer_diff): Do not do default conversions when
- doing the minus expression, in case restype is a short type.
-
-Sun Sep 29 11:22:10 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.c (build_complex): Add new argument, TYPE.
- * tree.h (build_complex): Likewise.
- * c-lex.c (yylex): Add new arg, TYPE, to call to build_complex.
- * fold-const.c (const_binop): Likewise.
- (fold, case CONJ_EXPR, COMPLEX_EXPR): Likewise.
- * varasm.c (copy_constant, case COMPLEX_CST): Likewise.
- * expr.c (expand_expr, case COMPONENT_REF): Don't try to directly
- load a complex.
- * recog.c (register_operand): Don't reject subreg of complex mode.
- * emit-rtl.c (mark_user_reg): New function.
- * function.c (assign_parms): Use it.
- * stmt.c (expand_decl): Likewise, and simplify code.
-
- * tree.c (contains_placeholder): Return 1 for PLACEHOLDER_EXPR.
-
- * expr.c (store_expr): memset/bzero gets ptr_mode, not Pmode.
-
- * stmt.c (expand_asm_operands): Fix errors in previous patches.
-
- * x-linux: Simplify, but ensure headers aren't changed.
-
- * getpwd.c: No longer include direct.h for _WIN32.
-
- * configure (i[3456]86-*-isc*): Remove bogus echo.
- (m68k-apple-aux*): a-ux.h renamed from aux.h.
- (CC): Escape "$" char in "no-symlink" case for bash/cygwin32 bug.
-
- * Makefile.in (installdirs): Renamed from install-dir.
- Create $(prefix) and $(exec_prefix) if doesn't exist.
- (install-float): Reflect new name for installdirs.
- (install-{common,info,man,libgcc,multilib,libobjc}): Likewise.
- (install-{include-dir,assert-h,collect2}): Likewise.
-
- * reload1.c (gen_reload): Handle SUBREG in PLUS specially too.
- Change calls to emit_move_insn to recursive calls.
-
- * stmt.c (fixup_gotos): When running undefined labels, if no cleanup
- actions for this block, don't clear BEFORE_JUMP.
-
-Fri Sep 27 13:48:21 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * c-decl.c (init_decl_processing): Create short int types before
- creating size_t in case a machine description needs to use
- unsigned short for size_t.
-
-Fri Sep 27 12:28:54 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * gcc.c (do_spec_1): Allow -A in %[Spec].
-
- * i386.h (CPP_CPU_SPEC): New. Added for defining the submodel.
-
- * i386.c (asm_output_function_prefix, function_prologue,
- ix86_expand_prologue): Make the routine that sets the GOT (when pic
- is enabled) a function, to assist debugging.
-
- * i386.md (gen_prologue_get_pc): Call the function created above.
- (divdf3): Added.
-
- * i386/dgux.h (CPP_PREDEFINES, CPP_SPEC): Reference CPP_CPU_SPEC.
- Use svr4 assembler directive .backalign instead of .align.
- (align to x bytes if it takes no more than y bytes to do so.)
-
- * i386/{aix386ng.h,dgux.h} (CPP_SPEC): Use %[cpp_cpu].
- * i386/{freebsd-elf,gas,isc,linux-aout}.h: Likewise.
- * i386/{linux-oldld,linux,osfelf,osfrose,sco,sco4}.h: Likewise.
- * i386/{sco4dbx,sco5,sol2,sysv3}.h: Likewise.
-
-Thu Sep 26 17:58:34 1996 Torbjorn Granlund <tege@matematik.su.se>
-
- * m68k.md (mulsidi3 matcher): Change predicate const_int_operand
- to const_sint32_operand. Get rid of bogus range condition.
-
-Thu Sep 26 17:12:00 1996 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (stmp-int-hdrs): Don't cd to srcdir before copying
- header files to objdir.
-
-Wed Sep 25 21:22:57 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (FIRST_PSEUDO_REGISTER, ARG_POINTER_REGNUM): Bump up by one.
- (FIXED_REGISTERS): Add entry for MAC register.
- (CALL_USED_REGISTERS, REG_ALLOC_ORDER): Likewise.
- (HARD_REGNO_NREGS): Handle MAC register.
- (HARD_REGNO_MODE_OK, REGNO_OK_FOR_BASE_P, REGISTER_NAMES): Likewise.
- (enum reg_class): New MAC_REGS register class.
- (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Corresponding changes.
- (REG_CLASS_FROM_LETTER): Likewise.
- (REGISTER_MOVE_COST): Make copies to/from MAC register expenseive.
- (CONDITIONAL_REGISTER_USAGE): Define.
- * h8300.md (movsi_h8300hs): Renamed from movsi_h8300h.
- Handle moves to/from the MAC register.
- (mac): Two new patterns to use the mac instruction.
-
- * h8300.c (notice_update_cc): Fix CC_SET case.
- (restore_compare_p): Remove unused function.
- * h8300.md: Handle "set" vs "set_zn_c0" correctly.
- (bCC patterns): No longer need to call restore_compare_p.
-
- * h8300.c (get_shift_alg): Fix HImode ASHIFTRT by 13 or 14 bits.
-
-Wed Sep 25 18:52:19 1996 Joern Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md (insv): New pattern.
-
-Wed Sep 25 16:47:26 1996 Doug Evans <dje@seba.cygnus.com>
-
- * sparc/t-sunos41 (MULTILIB_{OPTIONS,DIRNAMES,MATCHES}): Create
- multilib versions of -fpic and -fPIC.
- (TARGET_LIBGCC2_CFLAGS): Comment out.
-
- * sparc.c (print_operand): Handle new codes H/L.
- * sparc.md (lo_sum_di_sp32): Add little endian support.
- (adddi3_sp32,subdi3_sp32,mulsidi3_sp32,const_mulsidi3): Likewise.
- (umulsidi3_sp32,const_umulsidi3,smacdi,umacdi,anddi3_sp32): Likewise.
- (iordi3_sp32,xordi3_sp32,negdi2_sp32): Likewise.
-
-Wed Sep 25 15:32:35 1996 Jim Wilson <wilson@cygnus.com>
-
- * expmed.c (store_bit_field): Don't make flag_force_mem disable insv
- for memory operands.
-
- * function.c (instantiate_decl): Always store addr back into x.
-
-Tue Sep 24 19:37:00 1996 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (push_secondary_reload): Do strip paradoxical SUBREG
- even if reload_class is CLASS_CANNOT_CHANGE_SIZE. Change reload_mode
- to mode in SECONDARY_MEMORY_NEEDED and get_secondary_mem calls.
-
- * reload1.c (emit_reload_insns): For output part of RELOAD_OTHER,
- emit after RELOAD_FOR_OUTPUT, in reverse order of reload number,
- but not separately.
-
-Tue Sep 24 18:13:07 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * expr.c (emit_group_load): Allow target to be smaller than source.
-
-Tue Sep 24 17:40:39 1996 Doug Evans <dje@cygnus.com>
-
- * m68k/a-ux.h: Renamed from aux.h because of MSDOS.
-
-Tue Sep 24 08:33:53 1996 David S. Miller (davem@caip.rutgers.edu)
-
- * tree.c (copy_node): Fix error in last change.
-
-Tue Sep 24 08:29:03 1996 James G. Smith <jsmith@cygnus.co.uk>
-
- * gcc.c (used_arg): Fix multilib_matches parsing to not corrupt
- entry parameter.
-
-Tue Sep 24 08:22:18 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * loop.c (get_condition): Use rtx_equal_p to compare rtx.
-
-Tue Sep 24 08:14:01 1996 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
-
- * integrate.c (expand_inline_function): Avoid creating paradoxical
- subreg wider than BITS_PER_WORD as inlined function result.
-
-Tue Sep 24 08:00:15 1996 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (struct directive, directive_table, handle_directive):
- pass_thru now 1 for #define and 2 for #pragma.
- (handle_directive): When deciding whether to suppress comment at end
- of directive, ignore tabs and spaces after comment. Remove redundant
- limit test. With -dD -C, copy comment when isolating definition.
- (skip_to_end_of_comment): With -C, don't copy newline at end
- of C++ comment.
-
- * fixinc.ptx, fixinc.svr4, fixincludes: Insert newlines just before
- end of 'sed' command strings if last 'sed' command is 'a' or 'i'.
-
-Tue Sep 24 07:28:58 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * toplev.c (PREFERRED_DEBUGGING_TYPE): If no debugging formats are
- supported, set to NO_DEBUG.
- (main): Don't do setting of PREFERRED_DEBUGGING_TYPE here.
-
-Mon Sep 23 22:45:15 1996 Sean McNeil <sean@mcneil.com>
-
- * rs6000/vxppc.h, sparc/vxsim.h: New files.
- * configure (powerpc-*-vxworks*, sparc-*-vxsim*): New targets.
- * objc/objc.h (BOOL): Define BOOL as int for VxWorks.
-
-Mon Sep 23 21:23:27 1996 Klaus K"ampf (kkaempf@progis.de)
-
- * explow.c (promote_mode, case REFERENCE_TYPE): New case.
-
-Mon Sep 23 21:15:43 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-decl.c (finish_struct): Check PCC_BITFIELD_TYPE_MATTERS value.
-
- * dbxout.c (dbxout_symbol): Fix forgotten case in last change:
- check DECL_ARTIFICIAL also when using the short cut way.
-
-Mon Sep 23 15:55:24 1996 David S. Miller (davem@caip.rutgers.edu)
-
- * tree.c (copy_node): Abort if don't know size of node.
-
- * tree.c (build1): Clean up initialization of OBSTACK.
-
-Mon Sep 23 15:35:33 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * Makefile.in (stmp-multilib): Depend on $(LANG_LIB2FUNCS).
-
- * dbxout.c (dbxout_function): Don't check DECL_SECTION_NAME before
- calling dbxout_function_end.
-
-Mon Sep 23 14:41:12 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * combine.c (can_combine_p): Even if SMALL_REGISTER_CLASSES,
- know lifetime not extended if all_adjacent set.
-
- * stmt.c (expand_asm_operands): Handle '+' constraint.
- * cse.c (fold_rtx): Fold inside ASM_OPERANDS.
-
- * expr.c (expand_increment): If postincrement for MEM can't use add
- directly, load address in reg and enqueue increment and store of reg.
-
- * loop.c (check_dbra_loop): Don't assume label must be second part of
- if_then_else in condjump.
-
- * jump.c (jump_optimize): In no-nop move deletion, don't test
- PRESERVE_DEATH_INFO_REGNO_P; instead test if optimization is performed.
- Check for REG_UNUSED note on to-be deleted insn before searching for
- preceding instruction to delete note from.
- If PRESERVE_DEATH_INFO_REGNO_P is true for SREG, replace INSN with USE.
-
- * reload1.c (reload): Initialize the previous_offset fields
- in reg_eliminate before calling setup_save_areas.
-
- * reload1.c (emit_reload_insns): Declare and set this_reload_insn.
-
- * expr.c (var_rtx): New function.
- (expand_expr, case COND_EXPR): Also use target if same as singleton.
-
-Mon Sep 23 14:22:34 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * recog.c (constrain_operands): Don't test clobbered constraints.
-
- * reload1.c (emit_reload_insns): For output part of RELOAD_OTHER,
- put in front of anything previous for that output, but not separately.
-
-Sun Sep 22 21:06:46 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-common.c (decl_attribtes, case A_SECTION): Allow for static
- local variable.
-
-Sun Sep 22 11:30:27 1996 Christian Iseli (christian.iseli@di.epfl.ch)
-
- * expr.c (convert_move): Replace explicit checks for FP extend ops
- with use of can_extend_p.
- Add missing tests for FP trunc operations.
-
-Sun Sep 22 11:20:02 1996 Pat Rankin <rankin@eql.caltech.edu>
-
- * dwarfout.c (DWARF_VERSION): Define as 1 if not already defined.
- * dwarf2out.c (DWARF_VERSION): Likewise.
-
-Sun Sep 22 11:12:20 1996 Joern Rennecke <amylaar@cygnus.co.uk>
-
- * c-decl.c (pushdecl): Check new declaration actually conflicts before
- warning about implicit external vs. static declarations.
-
- * loop.c (combine_givs): Improve combining DEST_REG giv with only use.
-
-Sun Sep 22 10:50:03 1996 Scott Christley <scottc@net-community.com>
-
- * Create consistent mechanism for memory allocation and release
- so that garbage collection routines can be easily subsititued
- for the ANSI standard malloc, realloc, free, etc.
- * objc/archive.c: Replace use of __objc_xmalloc and free
- with objc_malloc and objc_free.
- * objc/hash.c: Replace use of __objc_xcalloc and free
- with objc_calloc and objc_free.
- * objc/init.c: Replace use of free with objc_free.
- * objc/misc.c (objc_malloc): Renamed from __objc_xmalloc.
- (objc_realloc): Renamed from __objc_realloc.
- (objc_atomic_malloc, objc_valloc): New functions.
- (objc_calloc): Renamed from __objc_calloc.
- (objc_free): New function.
- * objc/objc-api.h (_objc_malloc): New function pointer.
- (_objc_atomic_malloc, _objc_valloc): Likewise.
- (_objc_realloc, _objc_calloc, _objc_free): Likewise
- * objc/objc-list.h: Replace use of __obj_xmalloc and free
- with objc_malloc and objc_free.
- * objc/objects.c: Likewise.
- * objc/sarray.c: Replace use of __objc_xmalloc and free
- with objc_malloc and objc_free.
- * objc/sarray.h (__objc_xmalloc, __objc_xrealloc): Delete.
- * objc/selector.c: Replace use of __objc_xcalloc, __objc_xrealloc,
- and __objc_xmalloc with objc_calloc, objc_realloc, and objc_malloc.
- * objc/thr-decosf1.c: Replace use of __objc_xmalloc and free
- with objc_malloc and objc_free.
- * objc/thr-irix.c, objc/thr-mach.c, objc/thr-os2.c: Likewise.
- * objc/thr-posix.c, objc/thr-pthreads, objc/thr-single: Likewise.
- * objc/thr-solaris.c, objc/thr-win32.c, objc/thr.c: Likewise.
-
-Sun Sep 22 05:26:01 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * configure: Set up LANG_LIB2FUNCS and LANG_EXTRA_HEADERS.
- * Makefile.in (libgcc2.a): Include LANG_LIB2FUNCS.
- (USER_H): Add LANG_EXTRA_HEADERS.
- (LANG_LIB2FUNCS): New macro.
- (LANG_EXTRA_HEADERS): New macro.
- (stmp-int-hdrs): Don't hardwire ginclude.
- (stamp-objlist): Don't depend on Makefile.
-
-Sat Sep 21 18:00:10 1996 Stephen L Moshier (moshier@world.std.com)
-
- * alpha.md (alpha_swapped_comparison_operator pattern): Fix asm
- operand typo in last change.
-
-Sat Sep 21 07:11:51 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * defaults.h (ASM_OUTPUT_LABELREF): Provide default definition
- if not already defined.
- * 1750a.h (USER_LABEL_PREFIX): Define instead of ASM_OUTPUT_LABELREF.
- * a29k.h, alpha.h, convex.h, dsp16xx.h, elxsi.h, fx80.h: Likewise.
- * gmicro.h, h8300.h, i386/sun386.h, i860.h, i960.h, ns32k.h: Likewise.
- * pdp11.h, pyr.h, romp.h, sh.h, sparc.h, spur.h, tahoe.h: Likewise.
- * vax.h, we32k.h: Likewise.
- * i386/att.h (USER_LABEL_PREFIX): Redefine, not ASM_OUTPUT_LABELREF.
- * i386/bsd.h, i386/lynx.h, i386/sco5.h, i860/fx2800.h: Likewise.
- * m68k/3b1.h, m68k/mot3300.h, m68k/tower-as.h, m68k/tower.h: Likewise.
- * ptx4.h, sparc/pbd.h, svr3.h, svr4.h: Likewise.
- * i386/osfrose.h, m88k.h (USER_LABEL_PREFIX): Redefine.
- * nextstep.h (USER_LABEL_PREFIX): Redefine.
- (ASM_OUTPUT_LABELREF) Use USER_LABEL_PREFIX.
- * arm/aout.h, mips.h (ASM_OUTPUT_LABELREF): Delete.
- * rs6000/lynx.h (USER_LABEL_PREFIX): Undefine.
- * rs6000.h, rs6000/win-nt.h (USER_LABEL_PREFIX): Define.
-
-Thu Sep 19 00:05:53 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * configure: Move i[3456]86-*-gnu* case after linux and don't
- treat linux-gnu like other gnu systems.
-
-Wed Sep 18 20:51:09 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * cplus-dem.c (demangle_template): Fix handling of address args.
- (gnu_special): Handle type_info stuff.
-
-Wed Sep 18 17:57:55 1996 Patrik Lantto (patrik@opq.se)
-
- * jump.c (jump_optimize): Insert conditional move after jump
- insn instead of before.
-
-Wed Sep 18 17:33:36 1996 Richard Henderson <rth@tamu.edu>
-
- * alpha.h (PREDICATE_CODES): Add alpha_swapped_comparison_operator.
- * alpha.c (alpha_swapped_comparison_operator): New function.
- (print_operand): Support unsigned codes for %D, %c, and %d.
- * alpha.md: Add pattern for b%c with swapped comparisons with 0.
- Delete three unnamed cmp patterns that are strict subsets of it.
-
- * alpha.c (alpha_emit_set_long_const): Save one instruction
- when -O2 and high word == low word.
-
-Tue Sep 17 22:46:15 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * i386/unix.h (ASM_OUTPUT_MI_THUNK): Handle functions
- returning an aggregate.
-
- * varasm.c (supports_one_only): New function.
- (make_decl_one_only): Likewise.
- * svr4.h (MAKE_DECL_ONE_ONLY): Define.
- * tree.h (DECL_ONE_ONLY): New macro.
-
- * varasm.c (assemble_variable): Fix setting of
- first_global_object_name.
- (assemble_start_function): Likewise.
-
-Tue Sep 17 19:42:39 1996 Doug Evans <dje@wabamun.cygnus.com>
-
- * i386/t-cygwin32 (winnt.o): Compile properly.
-
-Tue Sep 17 15:47:20 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * Add support for R5000, and finish MIPS4 support.
- * mips.h (enum processor_type): Add PROCESSOR_R5000.
- (gen_conditional_move): Declare.
- (CONDITIONAL_REGISTER_USAGE): Mark ST_REGS as fixed if not
- HARD_FLOAT, or if mips_isa < 4.
- (FIRST_PSEUDO_REGISTER): Change to 76.
- (FIXED_REGISTERS): Add condition code registers.
- (CALL_USED_REGISTERS): Likewise.
- (ST_REG_LAST): Change to 74.
- (RAP_REG_NUM): Change to 75.
- (ST_REG_P): Look for any condition code register.
- (REG_CLASS_CONTENTS): Update for new condition code registers.
- (RTX_COSTS): Add cases for R5000.
- (REGISTER_MOVE_COST): Add cases for condition code registers.
- (PREDICATE_CODES): Add "const_float_1_operand".
- (EXTRA_CC_{MODES,NAME}, SELECT_CC_MODE): Remove.
- (REGISTER_NAMES): Add entries for new condition code registers.
- (DEBUG_REGISTER_NAMES): Likewise.
- (ADDITIONAL_REGISTER_NAMES): Remove FPSW_REGNUM.
- * mips.md (cpu attribute): Add R5000.
- (function units): Add cases for the R5000.
- ({madd,msub,nmadd,nmsub}.d): Only available if TARGET_DOUBLE_FLOAT.
- (recip.d, recip.s, rsqrt.d, rsqrt.s): New define_insn patterns.
- (movcc): New pattern to move condition code values.
- (reload_incc, reload_out_cc): New define_expand patterns.
- (lwxc1, ldxc1, swxc1, sdxc1): Several new define_insn patterns.
- (various): Replace CC_FP with CC.
- (branch_fp_ne, branch_fp_eq): Match any condition code register.
- (branch_fp_ne_rev, branch_fp_eq_rev): Remove.
- (seq_df, slt_df, sle_df): Match any condition code register.
- (sgt_df, sge_df, seq_sf, slt_sf, sle_sf, sgt_sf, sge_sf): Likewise.
- (sne_df, sne_sf): Remove.
- (FP conditional moves): Match any condition code register.
- Require TARGET_HARD_FLOAT and, if appropriate, TARGET_DOUBLE_FLOAT.
- (movsicc): Just call gen_conditional_move.
- (movdicc, movsfcc, movdfcc): New define_expand patterns.
- * mips.c (mips_reg_names): Add condition code registers.
- (mips_sw_reg_names, mips_regno_to_class): Likewise.
- (const_float_1_operand): New function.
- (mips_move_1word): Treat CCmode as SImode. Handle move from
- ST_REG to GR_REG if mips_isa >= 4. Only permit move from GR_REG
- to ST_REG is mips_isa < 4.
- (gen_conditional_branch): Rewrite. Just use CCmode, not extra
- condition modes.
- (gen_conditional_move): New function.
- (override_options): Recognize vr5000. Look for just CCmode, not
- extra condition modes. If mips_isa >= 4, permit CCmode in GR_REGS
- and FP_REGS.
- (print_operand): Handle %Z.
- (mips_secondary_reload_class): Require a data register to copy a
- value out of a condition code register. Require a floating point
- register to copy a value into a condition code register.
-
-Tue Sep 17 15:10:29 1996 Joern Rennecke <amylaar@cygnus.co.uk>
-
- * sh.md: New define_splits to recombine output from LEGITIMIZE_ADDRESS.
- * sh.h (LEGITIMIZE_ADDRESS): Typo fixes (x -> X).
-
-Mon Sep 16 23:00:35 1996 Jim Wilson <wilson@cygnus.com>
-
- * configure (build_broken_install): Renamed from host_broken_install.
- Set from build not host.
- (build_install_headers): Renamed from host_install_headers. Set from
- build not host.
-
-Mon Sep 16 22:38:55 1996 Stu Grossman (grossman@critters.cygnus.com)
-
- * configure (m68k-*-coff*): Use dbx debug format by default.
- * gcc.c (link_command_spec): Move -T to end of link command line.
- * m68k/m68kemb.h (LINK_SPEC, SUBTARTGET_SWITCHES): Delete.
- (LIB_SPEC): Define to just -lc.
- (STARTFILE_SPEC): Define to empty.
-
-Mon Sep 16 13:12:27 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.c (ext_shift_insns, ext_shift_amounts): New arrays.
- (gen_ashift_hi, gen_shifty_hi_op, shl_and_kind): New functions.
- (rtx_equal_function_value_matters): Declare.
- (shl_and_length, shl_and_src_length, gen_shl_and): New functions.
- (shl_sext_kind, shl_sext_length, gen_shl_sext): Likewise.
- * sh.md (ashlhi3_k, lshrhi3_m): New patterns.
- (lshrhi3, shl_sext_ext, shl_sext_sub):
- New insn patterns with matching define_split.
- (and_shl_scratch): Likewise, but also with unnamed variants.
-
-Sat Sep 14 17:05:07 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * gcc.c (convert_filename): Don't start looking for '.' until
- after last directory separator.
-
- * i386.md (clrstrsi): Correct check for constant size.
-
- * Based on code by sac@cygnus.com.
- * i386/cygwin32.h (CHECK_STACK_LIMIT): Make consistent with MD file.
- * i386.c ({function,ix86_expand}_prologue): Use __alloca to allocate
- stack if desired and beyond CHECK_STACK_LIMIT in size.
- * i386.h ({MASK,TARGET}_STACK_PROBE): New macros.
- (TARGET_SWITCHES): Add -mstack-arg-probe.
- * i386.md (allocate_stack{,_worker}): New patterns.
-
-Fri Sep 13 18:23:18 1996 Joel Sherrill <joel@OARcorp.com>
-
- * sparc/lb1spc.asm (.div, .rem): Fixed typo so sign is returned
- correctly. TOPBITS was 2 and should have been 4.
-
-Thu Sep 12 21:51:56 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (call_value_multiple_internal0): Change from define_insn to
- define_expand.
-
-Thu Sep 12 19:22:14 1996 Doug Evans <dje@seba.cygnus.com>
-
- * sparc.md (move_pic_label_si): Operand one is label_ref now.
- * sparc.c (emit_move_sequence): Pass label_ref to
- gen_move_pic_label_si to not lose flags.
-
-Wed Sep 11 12:10:08 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * Makefile.in (GCC_PASSES): Add $(exeext) to names.
- (FLAGS_TO_PASS): Add CLIB.
- (c-pragma.o): Add dependencies on except.h, function.h, defaults.h.
-
-Tue Sep 10 22:25:03 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure (i[3456]86-*-cygwin32): Use xm-cygwin32.h and xm-i386.h.
- Set fixincludes to Makefile.in and objc_thread_file to win32.
- * i386/xm-cywin32.h: Don't include xm-i386.h.
- * i386/x-cygwin32, rs6000/x-cygwin32 (STMP_FIXPROTO, exeext): New defs.
-
- * gcc.c (HAVE_EXECUTABLE_SUFFIX): New macro.
- (convert_filename): New function.
- (process_command, case 'o'): Call it.
- (process_command, default case): Likewise; delete old code.
-
-Tue Sep 10 21:08:43 1996 Torbjorn Granlund <tege@albert.gnu.ai.mit.edu>
-
- * i386.md (decrement_and_branch_until_zero matcher): Fix typo.
-
-Tue Sep 10 19:04:19 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (mips_move_2words): Rewrite 32 bit shifts as 16 bit shifts.
-
-Tue Sep 10 10:39:07 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa/pa-gas.h (DBX_DEBUGGING_INFO): Remove all #define
- and #undef statements related to debugging information.
- * pa/pa-hpux.h, pa-hpux7.h: Likewise
- * pa.c (override_options): Disable "-g" and issue a warning
- if it's used when !TARGET_GAS.
-
-Mon Sep 9 17:57:49 1996 Doug Evans <dje@wabamun.cygnus.com>
-
- * sparc.h ({MASK,TARGET}_FPU_SET): Define.
- (TARGET_SWITCHES): Record if -m{,no-}fpu passed.
- * sparc.c (sparc_override_options): Don't clobber explicit
- -m{,no-}fpu setting with cpu default.
-
-Mon Sep 9 15:57:57 1996 Joel Sherrill <joel@OARcorp.com>
-
- * configure (mips64orion-*-rtems*): New target.
- * mips/rtems64.h: New file.
-
-Sat Sep 7 22:07:53 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (store_field): If storing a record on big endian targets,
- set up so we store the high-order bits.
- (expand_expr, case COMPONENT_REF): Likewise for loads.
-
-Thu Sep 5 14:59:47 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (LEGITIMIZE_ADDRESS): Define nonempty.
-
-Thu Sep 5 10:43:36 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (mov{si,di,sf}): Handle 'R' constraints as needed.
-
-Wed Sep 4 17:13:28 1996 Bob Manson <manson@charmed.cygnus.com>
-
- * except.c: (add_partial_entry): New routine.
- (expand_start_try_stmts): Moved from cp/except.c.
- (expand_start_all_catch): Move functionality of expand_end_try_stmts
- here.
-
-Wed Sep 4 12:30:02 1996 Mike Stump <mrs@cygnus.com>
-
- * except.c (emit_unwinder): Ensure CLOBBER and USE insns come last,
- if present.
-
-Tue Sep 3 12:01:43 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * configure (sh-*-elf*): New target.
- * sh/elf.h: New file.
-
-Fri Aug 30 17:52:26 1996 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (gen_formal_types_die): Delete extra argument from
- gen_type_die call.
-
-Fri Aug 30 15:40:40 1996 James G. Smith <jsmith@cygnus.co.uk>
-
- * mips/elf64.h: Allow MULTILIB_DEFAULTS to be defined
- before this file is included.
-
-Fri Aug 30 15:00:06 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.md: (movsicc,movhicc): Allow reload from memory.
-
- * i386.c (override_options): Don't thread the prologue if profiling.
-
-Fri Aug 30 15:00:06 1996 James Hawtin <cgjwh@sunrise.co.uk>
-
- * i386/t-sol2 (gcrt1.o): Added for profiling Solaris 2
- * i386/sol2.h (STARTFILE_SPEC): New.
- * i386/gmon-sol2.c, i386/sol2-gc1.asm: New files.
-
-Thu Aug 29 22:08:03 1996 Jim Wilson <wilson@cygnus.com>
-
- * except.c (add_eh_table_entry): Multiply realloc size by sizeof int.
-
-Thu Aug 29 15:15:31 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.md (fcmp patterns): Don't try to eliminate useless add,tr
- insns here.
- * pa.c (pa_reorg): Do elimination of useless add,tr insns here instead.
- (print_operand, case 'y'): Remove this code.
-
-Wed Aug 28 16:19:34 1996 Doug Evans <dje@cygnus.com>
-
- * toplev.c (print_single_switch): Ultrix fprintf returns 0 for success.
-
- * toplev.c (main): Rewrite -g parsing.
-
-Mon Aug 26 16:15:49 1996 Fred Fish <fnf@cygnus.com>
-
- * Makefile.in (objc-parse.y): Fix typo in name of temp file.
-
-Mon Aug 26 14:08:37 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * function.c (mark_all_temps_used): Fix error in last change.
-
-Sun Aug 25 22:27:19 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * function.c (mark_all_temps_used): New function.
-
-Fri Aug 23 11:34:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Fixes to make -fPIC
- really the same as -mrelocatable.
- (ASM_SPEC): Pass -K PIC to the assembler if -fpic/-fPIC.
-
- * rs6000/sol2.h (ASM_CPU_SPEC): Remove passing -K PIC to the
- assembler if -fpic/-fPIC.
-
- * bi-{arity,opcode,opname}.c (fancy_abort): Define, so that
- -Dabort=fancy_abort works again.
-
-Thu Aug 22 11:39:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/t-ppcgas ({stmp,install}-crt): Only build and install the
- eabi ecrt[in].o object files in eabi multilib directories, only
- build and install the solaris scrt[in0].o object files in solaris
- directories.
- (MULTILIB_MATCHES): Remove matches for solaris, linux to other
- switches.
-
-Tue Aug 20 18:49:55 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (ASM_OUTPUT_SECTION_NAME): If -mrelocatable or
- -mrelocatable-lib, don't make read-only sections.
-
-Mon Aug 19 18:42:13 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.h ({MASK,TARGET}_LITTLE_ENDIAN): Define.
- (LIBGCC2_WORDS_BIG_ENDIAN): Add little endian support.
- * sparc/sp64-elf.h ({CPP,ASM,LINK}_SPEC): Add little endian support.
- (SUBTARGET_SWITCHES): Recognize -m{big,little}-endian.
- ({BYTES,WORDS}_BIG_ENDIAN): Likewise.
- * sparc/splet.h (SUBTARGET_SWITCHES): Recognize -m{big,little}-endian.
- ({CPP,ASM,LINK}_SPEC): Add little endian support.
- ({BYTES,WORDS}_BIG_ENDIAN): Likewise.
- * sparc/t-splet (MULTILIB_{OPTIONS,DIRNAMES}): Likewise.
-
- * sparc/lynx-ng.h (CPP_SPEC): Use %(cpp_cpu).
-
-Sat Aug 17 15:23:39 1996 Geoffrey Noer <noer@cygnus.com>
-
- * i386/cygwin32.h (CPP_PREDEFINES): Define _WIN32, not WIN32.
- Define only __CYGWIN32__, not CYGWIN32 or __CYGWIN32.
- * rs6000/cygwin32.h (CPP_PREDEFINES): Likewise.
- * cccp.c (absolute_filename): Drive specifiers make the pathname
- absolute in cygwin32.
- * choose-temp.c: Delete !defined(_WIN32) condition when including
- sys/file.h (NO_SYS_FILE_H is still used).
- * gcc.c: Change ifndef _WIN32 to ifndef NO_SYS_FILE_H when deciding
- whether to include sys/file.h.
- (execute): -pipe is supported for cygwin32.
- * getopt.c: Change win32 test from WIN32 to _WIN32.
- * pexecute.c: Update test for win32 (&& ! cygwin32).
- * protoize.c: Likewise.
- (kill): Delete decl.
- * toplev.c: Update test for win32 (&& ! cygwin32).
- * ginclude/stdarg.h: Change __WIN32__ to _WIN32.
- * ginclude/varargs.h: Likewise.
- * ginclude/va-ppc.h: Likewise.
-
-Fri Aug 16 16:02:09 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (rs6000_got_register): Make sure pic_offset_table_rtx
- allocated, even if current_function_uses_pic_offset_table set.
-
-Fri Aug 16 15:56:04 1996 J. Kean Johnston <hug@netcom.com>
-
- * i386/sco5.h (CLASS_LIKELY_SPILLED_P): Deleted.
- (STARTFILE_SPEC): Insert crtbegin.o in correct place, and correct
- versions of values-X?.o.
- (SWITCH_TAKES_ARG): Extend DEFAULT_SWITCH_TAKES_ARG, not replace.
- (CPP_SPEC): Add -Di386, and correctly include extra directories.
- Define HAVE_ATEXIT in ELF mode for global destructors.
-
-Thu Aug 15 16:42:44 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.c (label_ref_operand): New function.
- (emit_move_sequence): Pass label_ref to gen_move_label_di to not
- lose flags.
- * sparc.md (move_label_di): Operand one is label_ref now.
- * genattrtab.c (write_test_expr): Allow label_ref in match_dup.
-
- * sys-protos.h (gethostid): Make return type `int' ifdef __alpha__.
- * gen-protos.c: Delete support for SYS_PROTO_OVERRIDES.
- * alpha.h (SYS_PROTO_OVERRIDES): Delete.
-
-Thu Aug 15 17:36:09 1996 Mike Stump <mrs@cygnus.com>
-
- * libgcc2.c (__throw): New routine.
- (__eh_pc): New data object for exception handling.
-
- * except.c (eh_saved_pc): New object so we can call
- assemble_external.
- (expand_internal_throw_indirect): Call assemble_external for __eh_pc.
- (end_eh_unwinder): Likewise.
- (init_eh): Initialize eh_saved_pc.
-
-Thu Aug 15 13:02:42 1996 Mike Stump <mrs@cygnus.com>
-
- * arm.h (RETURN_ADDR_RTX): Define.
-
- * expr.c (expand_builtin_return_addr): Fix order of parameters.
-
-Wed Aug 14 19:48:00 1996 Torbjorn Granlund <tege@spiff.gnu.ai.mit.edu>
-
- * stmt.c (expand_return): In code for doing scc with jumps,
- stick to default handling if we have corresponding scc pattern.
-
-Wed Aug 14 10:31:28 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (override_options): Treat TARGET_FAST_INDIRECT_CALLS
- just like TARGET_NO_SPACE_REGS.
- (output_millicode_call): Likewise.
- * pa.h (TARGET_FAST_INDIRECT_CALLS): Define.
- (TARGET_SWITCHES): Add "fast-indirect-calls".
- * pa.md (TARGET_FAST_INDIRECT_CALLS): Treat just like
- TARGET_NO_SPACE_REGS in various call/millicode call patterns.
-
- * pa.c (print_operand): Use the right comparison operator
- for reversed EQ and NE comparisons.
-
- * pa.h (OUTPUT_MI_THUNK): Define.
-
-Wed Aug 14 11:40:49 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * ginclude/va-ppc.h: Add Windows NT support.
- * ginclude/{varargs,stdarg}.h: For PowerPC Windows NT, include
- va-ppc.h, instead of using the default handling.
-
-Tue Aug 13 18:30:10 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * fixincludes: Remove duplicate volatile from sig_atomic_t in AIX
- sys/signal.h
-
-Tue Aug 13 16:51:37 1996 Jim Wilson <wilson@cygnus.com>
-
- * i960-coff.h (LIB_SPEC): Undef.
-
- * sh.h (PROFILE_BEFORE_PROLOGUE): Define.
-
-Tue Aug 13 11:36:02 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * gcc.c (set_spec,process_command): Dump and load the compiler
- version number in the specs file.
-
- * rs6000.c (output_toc): Fix last change, so that it doesn't use
- an uninitialized variable if -mminimal-toc.
- (output_prolog): Increment probe_labelno after last use.
-
- * rs6000/t-ppcgas (MULTILIB_*): Build far fewer multilib
- libraries. Build all libraries with -mrelocatable-lib and
- -mno-eabi. Build special GNU/Linux and Solaris libraries.
- * rs6000/eabi{,aix,le}.h (MULTILIB_DEFAULTS): Adapt to changes in
- t-ppcgas.
- * rs6000/(linux,sol2,sysv4,sysv4le).h (MULTILIB_DEFAULTS): Likewise.
-
-Tue Aug 13 11:36:02 1996 Jeffrey A Law (law@cygnus.com)
-
- * rs6000.c (handle_mac_pragma): Initialize "psize".
-
-Mon Aug 12 18:14:35 1996 Jim Wilson <wilson@cygnus.com>
-
- * gcc.c (used_arg): Initialize cnt to zero.
-
-Mon Aug 12 14:03:16 1996 Jim Wilson <wilson@cygnus.com>
-
- From Mike Stump:
- * sh.c (regno_reg_class): Change entry 23 from NO_REGS to GENERAL_REGS.
- (initial_elimination_offset): New variable live_regs_mask. Add
- code to handle RETURN_ADDRESS_POINTER_REGNUM.
- * sh.h (RAP_REG, RETURN_ADDRESS_POINTER_REGNUM): Define.
- (ELIMINABLE_REGS): Add RETURN_ADDRESS_POINTER_REGNUM support.
- (RETURN_ADDR_RTX): Define.
- (REGISTER_NAMES): Add rap.
-
- * iris5.h (DOLLARS_IN_IDENTIFIERS): Undefine.
-
- * m68kemb.h (LIB_SPEC): Always emit -lc.
-
-Mon Aug 12 12:30:25 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (rs6000_got_register): Test variable
- current_function_uses_pic_offset_table to see whether or not a GOT
- register has been created already.
-
- * Makefile.in (multilib.h): Move to stamp-mlib.
- (stamp-mlib): Use move-if-change to conditionally update
- multilib.h. Pass MULTILIB_EXTRA_OPTS to genmultilib.
- (STAGESTUFF): Add stamp-mlib.
- (mostlyclean): Delete tmp-mlib.h.
-
- * genmultilib: Take fifth argument for options to all multilib builds.
- Restructure output so we pass synonym switches and extra arguments
- separately, and not exponentially slow down genmultilib.
-
- * gcc.c (toplevel): Rearrange multilib support so we support passing
- synonyms separately from normal switches. Add support for passing
- additional switches for all multilib builds. Dump and restore value
- of MULTILIB_DEFAULTS.
- (setspec, process_command, main): Likewise.
- (used_arg,default_arg,print_multilib_info): Likewise.
-
-Mon Aug 12 07:46:47 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (expand_builtin, case BUILT_IN_SETJMP): Add test
- and call for nonlocal_goto_receiver pattern.
- * stmt.c (expand_end_bindings): Likewise.
-
- * stmt.c (expand_asm_operands): Fix off-by-one error when
- scanning constraints.
-
-Sun Aug 11 22:48:02 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * expr.c (store_expr): Handle COND_EXPR cleanups like expand_expr.
-
-Sun Aug 11 22:42:36 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * optabs.c (expand_abs): When OP0 and TARGET are the same
- pseudo register, it is safe to use TARGET.
-
- * local-alloc.c (reg_equiv_replace): New variable.
- (update_equiv_regs): Set reg_equiv_replacement for all REG_EQUIV
- notes encountered or generated.
-
-Sun Aug 11 22:27:14 1996 Scott Christley <scottc@net-community.com>
-
- * objc/hash.c (hash_is_key_in_hash): Function somehow got lost.
-
-Sun Aug 11 21:43:15 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * ginclude/stddef.h (__need_wint_t): Move #undef to right place.
-
-Sun Aug 11 17:46:22 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * c-decl.c (finish_struct): If pedantic, also warn if struct/union
- has no named members.
-
-Sun Aug 11 17:32:52 1996 Joel Sherrill <joel@OARcorp.com>
-
- * i386/rtems.h: Renamed from i386/i386-rtems.h
- * i960/rtems.h: Renamed from i960/i960-rtems.h
- * m68k/rtems.h: Renamed from m68k/m68k-rtems.h
- * rs6000/rtems.h: Renamed from rs6000/powerpc-rtems.h
- * sparc/rtems.h: Renamed from sparc/sparc-rtems.h
- * config/t-rtems: New file.
- * configure (i386-*-rtems*): Added t-rtems to tmake_file.
- Renamed i386/i386-rtems.h to i386/rtems.h.
- (i960-*-rtems*): Added t-rtems to tmake_file.
- Renamed i960/i960-rtems.h to i960/rtems.h.
- Added original tm.h file and dbxcoff.h.
- (m68k-*-rtems*): Added t-rtems to tmake_file.
- Renamed m68k/m68k-rtems.h to m68k/rtems.h.
- (powerpc-*-rtems*): Added t-rtems to tmake_file.
- Renamed rs6000/powerpc-rtems.h to rs6000/rtems.h.
- (sparc-*-rtems*): Added t-rtems to tmake_file.
- Renamed sparc/sparc-rtems.h to sparc/rtems.h.
-
-Fri Aug 9 16:05:13 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.md: (untyped_call) Avoid SIGFPE.
-
- * i386.c (output_float_compare): Don't try to initialize
- aggregate local variable; use assignment statements instead.
-
- * i386.h (RTX_COSTS): rtx_cost should pass two parameters.
-
- * i386/go32.h (ASM_OUTPUT_SECTION_NAME): New.
-
-Fri Aug 9 16:00:11 1996 Jim Wilson <wilson@cygnus.com>
-
- * winnt.c (gen_stdcall_suffix): Round parameter size to PARM_BOUNDARY.
-
-Thu Aug 8 17:42:35 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (output_toc): If we are emitting a reference to a
- vtable, don't put in the section name, just use the symbol.
-
-Wed Aug 7 19:03:36 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.md (casesi_jump): New pattern.
- (casesi): Generate RTL to match it.
-
-Wed Aug 7 14:10:07 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * ginclude/stddef.h (NULL): Use __null for G++.
-
-Tue Aug 6 17:37:53 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (STACK_BOUNDARY): Always define as 64.
- (ABI_STACK_BOUNDARY): Define as 64/128 based on the -mno-eabi
- switch.
-
- * rs6000.c (rs6000_stack_info): Use ABI_STACK_BOUNDARY, not
- STACK_BOUNDARY. Define ABI_STACK_BOUNDARY as STACK_BOUNDARY #ifndef.
-
-Tue Aug 6 14:29:43 1996 Doug Evans <dje@fallis.cygnus.com>
-
- * gen-protos.c (overrides): New static local.
- (add_hash,parse_fn_proto): New static functions.
- (main): Add prototypes from SYS_PROTO_OVERRIDES to hash table before
- parsing sys-protos.h. Reserve entry 0 in std_protos.
- * alpha.h (SYS_PROTO_OVERRIDES): Define.
-
-Mon Aug 5 16:53:36 1996 Doug Evans <dje@fallis.cygnus.com>
-
- * sparc/t-splet (MULTILIB_OPTIONS): Add mbroken-saverestore.
- (MULTILIB_DIRNAMES): Add brknsave.
-
- * stor-layout.c (layout_record): Correct overflow test for 0 sized
- fields.
-
-Mon Aug 5 16:12:19 1996 Jim Wilson <wilson@cygnus.com>
-
- * alpha.c (alpha_output_filename): When emitting stabs, don't
- disable them if using GNU as.
- (alpha_output_lineno): Likewise, when not using GNU as.
-
- * sh.c (arith_reg_operand): Reject SUBREG of an invalid hard reg.
-
- * sparc/lite.h (aoutos.h): Don't include it.
- * configure (sparclite-*-aout*): Add aoutos.h to tm_file.
-
-Sat Aug 3 23:13:55 1996 Jeffrey A Law (law@cygnus.com)
-
- * combine.c (rtx_equal_for_field_assignment_p): Check for
- get_last_value returning (CLOBBER (CONST_INT 0)).
-
-Sat Aug 3 20:19:14 1996 Jim Wilson <wilson@cygnus.com>
-
- * i960.md (subsi3+1): Handle case where first operand is constant
- but second operand is not.
-
- * m68k/vxm68k.h (WCHAR_TYPE_SIZE): Undef, then define to 16.
-
-Fri Aug 2 15:46:19 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa/pa-hpux.h (LINK_SPEC): Don't link in PA1.1 specific
- libraries when creating shared libraries.
- * pa/pa-hpux9.h, pa/pa-hpux10.h: Likewise.
-
-Fri Aug 2 13:36:42 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.c (output_float_compare): fcomi should be followed by the
- correct conditional jump instead of fcom/pfstsw/and/jne
- (override_options): Added -mbranch-cost to set BRANCH_COST.
-
- * i386.md (sgt+1,slt+1,sge+1,sle+1,bgt+1,blt+1,bge+1,ble+1,bleu+4)
- Added TARGET_CMOVE check for fcomi.
- (movsicc_1+1,movhicc_1+1): Added to handle the general case.
-
- * i386.h (i386_branch_cost, i386_branch_cost_string): Added.
-
-Fri Aug 2 11:53:55 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * sparc/vxsparc.h (CPP_PREDEFINES): Add `-DCPU=SPARC'.
-
-Thu Aug 1 23:56:01 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (ASM_OUTPUT_INT): Remove all hacks for exception table.
-
-Thu Aug 1 10:08:14 1996 Torbjorn Granlund <tege@spiff.gnu.ai.mit.edu>
-
- * m68k.h (RTX_COSTS, case PLUS): Get operand order right.
-
-Wed Jul 31 15:06:46 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.md (negtf2,abstf2): Fix v9 case.
-
-Wed Jul 31 09:49:25 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (ASM_OUTPUT_INT): Use an 'E%' prefix for items in
- the exception table if TARGET_GAS && ! TARGET_PORTABLE_RUNTIME.
-
-Tue Jul 30 15:37:31 1996 Jim Wilson <wilson@cygnus.com>
-
- * i386/cygwin32.h (dbxcoff.h): Include.
- (DBX_DEBUGGING_INFO, SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
- Move definitions before include of dbxcoff.h.
- (ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_MAIN_SOURCE_FILE_END): Delete.
- (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_FUNCTION_FIRST): Delete.
-
-Tue Jul 30 15:03:53 1996 Torbjorn Granlund <tege@spiff.gnu.ai.mit.edu>
-
- * i960.md (eq reg (const_int 0)): New pattern.
-
-Tue Jul 30 11:15:44 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (RETURN_ADDR_RTX): Offset is -20 from the frame, not +20!
-
-Mon Jul 29 12:16:17 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix thinko in last change.
-
-Fri Jul 26 18:19:47 1996 Doug Evans <dje@cygnus.com>
-
- * dwarfout.c (output_bound_representation): Fix typo.
-
-Thu Jul 25 16:00:10 1996 Mike Stump <mrs@cygnus.com>
-
- * expr.c (do_jump, case TRUTH_ORIF_EXPR): Ensure end of an
- exception region comes after its start.
- (do_jump, case TRUTH_ANDIF_EXPR): Likewise.
-
-Thu Jul 25 13:36:42 1996 Stan Cox <coxs@equinox>
-
- * i386.c (output_float_compare): Added support for Pentium Pro
- fcomi instruction which sets EFLAGS instead of FPU Status Word.
-
-Wed Jul 24 21:48:08 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cse.c (canon_hash, cse_insn): MEM is not unchanging if it is
- in the frame (since the temp slot might be reused).
-
-Wed Jul 24 17:34:06 1996 J"orn Rennecke (amylaar@cygnus.com)
-
- * sh.md (branch_true, branch_false, inverse_branch_true): Express
- tests of the T bit as comparisons against zero, rather than one.
- (inverse_branch_false, beq, bne, bgt, blt, ble, bge, bgtu): Likewise.
- (bltu, bgeu, bleu, casesi): Likewise.
-
-Wed Jul 24 15:58:06 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.md: (mov{sf,df,xf}cc{,_1}): New patterns for P6 FP cmove.
- * i386.c (put_condition_code, print_operand, output_fp_cc0_set):
- Support fcmov suffixes.
-
-Wed Jul 24 10:53:38 1996 Jeffrey A Law (law@cygnus.com)
-
- * pa.c (move_operand): Relax "mode" test. Allow scaled
- indexed addressing modes.
- (output_fp_move_double): Tweak output strings to work with updated
- 'F' and 'M' output modifiers.
- (print_operand): Collapse 'F' and 'M' into a single hunk of code.
- For auto-increment modes output "s,ma" and "s,mb".
- For scaled indexing modes output "x,s"
- For other addresses, output nothing for 'M' and "s" for 'F'.
- * pa.h (EXTRA_CONSTRAINT): Don't accept scaled indexed addresses
- for 'Q' and 'T'. Do accept scaled indexed addresses for 'R'.
- (GO_IF_LEGITIMATE_ADDRESS): Accept scaled indexed addresses
- for SFmode and DFmode.
- * pa.md: Remove all scaled indexed load patterns.
- (movsi patterns): Accept scaled indexed addresses in some
- cases. Update output strings for updated 'M' and 'F' output modifiers.
- (movhi, movqi, movsf, movdf, movdi patterns): Likewise.
-
-Tue Jul 23 23:10:41 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.h (struct tree_int_cst): Add field for TREE_CST_RTL.
- * varasm.c (decode_addr_const, output_constant_def): AllowINTEGER_CST.
-
-Tue Jul 23 16:42:09 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.c (reg_unused_after): Handle JUMP_INSN inside a sequence.
-
-Tue Jul 23 16:33:25 1996 Mike Stump <mrs@cygnus.com>
-
- * Make exception handling work better when optimizations are on.
- * except.c, except.h: New files.
- * Makefile.in (OBJS): Add except.o.
- (except.o): Add.
- (stmt.o, final.o): Add except.h.
- * rtl.c (note_insn_name): Add NOTE_INSN_EH_REGION_{BEG,END}.
- * rtl.h: Likewise.
- * arm.h (MASK_RETURN_ADDR): Define.
- * pa.h (MASK_RETURN_ADDR, RETURN_ADDR_RTX): New macros.
- * sparc.h (DOESNT_NEED_UNWINDER): Define if not doing a flat function.
- * mips.h (RETURN_ADDR_RTX): Improve.
- * vax.h (RETURN_ADDR_RTX): Improve.
- * toplev.c (rest_of_compilation): Use find_handler_labels.
- (main, interim_eh{,_hook}): Remove interim_eh_hook support.
- (flag_exceptions): New flag; also add to table.
- (compile_file): Emit the exception table in the backend now.
- * final.c (final_scan_insn): Support ASM_OUTPUT_EH_REGION_{BEG,END}.
- (final_scan_insn): Redo handler labels, implement
- NOTE_INSN_EH_REGION_BEG and NOTE_INSN_EH_REGION_END and use them
- instead of CODE_LABELs.
- (final): Add call to check_handler_labels.
- * libgcc2.c (L_eh): Add support for EH_TABLE_LOOKUP.
- * sparc.md (return): Add a reference to the return address register.
- * flow.c (find_basic_blocks): Add support for handler_labels.
- * loop.c (find_and_verify_loops): Likewise.
- * jump.c (jump_optimize): Likewise.
- Add call to check_handler_labels. Add call to exception_optimize.
- * sched.c (sched_analyze): Smuggle exception region notes around.
- (unlink_notes, reemit_notes, schedule_block): Likewise.
- (sched_analyze): Add extra element since we remove two at a time.
- * integrate.c (save_for_inline_copying): Add support for exception
- regions.
- (expand_inline_function): Likewise.
- (function_cannot_inline_p): Don't inline functions that have EH
- regions before NOTE_INSN_FUNCTION_BEG.
- (finish_inline): Use FIRST_FUNCTION_INSN, not NEXT_INSN.
- * function.c (expand_start_all_catch): New function.
- * function.h: Add exception handling support information.
- * expr.c (expand_expr, {defer,expand}_cleanups_to, do_jump): Transform
- interim_eh_hook into calls to expand_ehregion_{start,end}.
- * stmt.c (expand_{decl_cleanup,cleanups}): Likewise.
- (init_stmt_for_function): Call init_eh.
- (save_stmt_status): Call save_eh_status.
- (restore_stmt_status): Call restore_eh_status.
- * expr.h (throw_libfunc): Add.
- * optabs.c (throw_libfunc): Initialize.
- * print-rtl.c (print_rtx): Add support for exception regions.
- * rs6000.c (EXCEPTION_SECTION): Define.
- * output.h (exception_section): Declare.
- * varasm.c (exception_section): Define.
- * i386.c, i960.c, rs6000.c: Include except.h for function.h.
- * c-pragma.c, emit-rtl.c, expr.c, final.c, flow.c: Include except.h.
- * function.c, integrate.c, jump.c, loop.c, objc-act.c: Likewise.
- * stmt.c, stor-layout.c, toplev.c, tree.c, varasm.c: Likewise.
-
-Tue Jul 23 12:32:54 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (rs6000_replace_regno): Set pic_offset_table_rtx so
- that other phases will use the PIC register instead of the
- placeholder.
-
- * rs6000.md (movsi_got*): Eliminate -fPIC code, keep -fpic code.
- (movsi): Only call movsi_got if -fpic, not -fPIC.
-
- * sysv4.h (OVERRIDE_OPTIONS): Improve error messages. Always set
- -msdata=data by default, even if -fpic/-fPIC/-mrelocatable. Treat
- -fPIC the same as -mrelocatable-lib and vica versa.
-
- * t-ppcgas: (MULTILIB_*): Use -mreloctable-lib, instead of
- -mrelocatable. Map Solaris into mcall-sysv-noeabi case. Build
- -mrelocatable-lib libraries under non-eabi case. When linking, if
- -fpic, -fPIC, or -shared, link in the -mrelocatable-lib libraries.
-
-Mon Jul 22 19:34:20 1996 Jim Wilson <wilson@cygnus.com>
-
- * iris6.h (ASM_SPEC): Change {% to %{.
-
- * dwarf2out.c (output_call_frame_info): Change FDE CIE offset to
- be section name rather than 0.
- (gen_subprogram_die): Only emit DW_AT_external if origin is NULL.
- Only call equate_decl_number_to_die if origin is NULL.
- (dwarfout_begin_function): In code that computes offset of frame
- pointer, change 4 to UNITS_PER_WORD.
-
- * combine.c (undo_all): Clear previous_undos field.
-
-Mon Jul 22 19:10:45 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * configure: Don't change target_alias to target in Makefile.
-
-Sat Jul 20 09:28:38 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * dwarfout.c (output_bound_representation): Treat default case
- as variable bounds, then look inside for SAVE_EXPR.
-
- * mips.h (INITIALIZE_TRAMPOLINE): Use `_flush_cache'; flush data
- cache too.
-
-Sat Jul 20 09:24:13 1996 Marco Walther (Marco.Walther@mch.sni.de).
-
- * configure (mips-sni-sysv4): New target.
- * mips/sni-gas.h, mips/sni-svr4.h, mips/x-sni-svr4: New files.
-
-Fri Jul 19 17:44:13 1996 Stan Coxs <coxs@dg-rtp.dg.com>
-
- * i386.md: (leave): Clobbers esp and ebp.
-
- * i386.h: (TARGET_USE_Q_REG): Support inline strlen on PentiumPro
-
-Fri Jul 19 15:56:18 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * m68k/t-m68kbare (MULTILIB_OPTIONS): Add m5200.
- (MULTILIB_EXCEPTIONS): Define.
- * m68k/lb1sf68.asm: Add MCF5200 support.
- * m68k.md (adddi_sexthishl32): Set condition to !TARGET_5200.
- (subdi_sexthishl32, ashrdi3, ashrhi3): Likewise.
- (negdi2): Change into define_expand.
- (negdi2_internal): Rename from old negdi2; condition now !TARGET_5200.
- (negdi2_5200): New insn.
- * m68k.c (output_function_prologue): Don't use add.w if TARGET_5200.
- (output_function_epilogue): Likewise.
-
- * m68k.md (movqi): Remove complex cases which move between address reg
- and memory; rely on secondary reloads instead.
-
-Fri Jul 19 12:22:50 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * fixproto (std_files): Add utime.h.
-
-Fri Jul 19 10:59:46 1996 Jeffrey A Law (law@cygnus.com)
-
- * m68k/m68kemb.h: Remove '\' at EOF.
-
-Fri Jul 19 09:59:00 1996 Joel Sherrill <joel@OARcorp.com>
-
- * m68k/coff.h (STARTFILE_SPEC): Add #undef before definition.
-
-Fri Jul 19 09:44:45 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * m68k.h (LEGITIMATE_INDEX_P): Coldfire does not have scale
- by 8 addressing modes.
-
- * m68k-none.h: Use MASK_* macros instead of explicit constants.
-
-Fri Jul 19 09:08:53 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k.md (negdi2): Undo last change: don't apply neg to address regs.
-
-Fri Jul 19 09:03:01 1996 Robert Wilhelm (rwilhelm@Physik.TU-Muenchen.DE)
-
- * toplev.c (main): Correct typo in error message.
-
-Thu Jul 18 20:29:33 1996 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (OBJS): Add dwarf2out.o.
- (dwarf2out.o): New rule.
- * dwarf2.h, dwarf2out.c: New files.
- * dwarfout.c: Check DWARF_VERSION macro.
-
- * mips/iris6.h (DWARF_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
- Move after header files are included.
- (iris5.h): Include instead of iris5gas.h.
- (MACHINE_TYPE): Change 5.x to 6.x.
- (DEBUG_SECTION, LINE_SECTION): Add debug_ to name, fix attributes.
- (SFNAMES_SECTION, SRCINFO_SECTION, MACINFO_SECTION, PUBNAMES_SECTION,
- ARANGES_SECTION): Fix attributes.
- (DWARF_VERSION, MIPS_DEBUGGING_INFO, ASM_DECLARE_FUNCTION_NAME,
- ASM_DECLARE_FUNCTION_SIZE, FUNCTION_NAME_ALREADY_DECLARED,
- FRAME_SECTION, ABBREV_SECTION): Define.
- (DBX_DEBUGGING_INFO, SDB_DEBUGGING_INFO, MIPS_DEBUGGING_INFO,
- DWARF_DEBUGGING_INFO, PREFERRED_DEBUGGING_INFO): Delete undefs at
- end of file.
- * mips.c (function_{pro,epi}logue): Use FUNCTION_NAME_ALREADY_DECLARED.
-
-Thu Jul 18 19:24:19 1996 David Mosberger-Tang <davidm@azstarnet.com>
-
- * alpha/elf.h (INT_ASM_OP): Change from ".long" to ".quad".
-
-Thu Jul 18 19:20:58 1996 Ulrich Drepper <drepper@myware.rz.uni-karlsruhe.de>
-
- * stddef.h: Undefine __need_wint_t.
-
-Thu Jul 18 19:06:35 1996 J.T. Conklin <jtc@hippo.cygnus.com>
-
- * longlong.h (mc680x0): Define umul_ppmm, udiv_qrnnd, sdiv_qrnnd
- for the '020, '030, '040, and '332. Define count_leading_zeros
- for the '020, '030, '040, and '060.
-
- * m68k.md: Add TARGET_5200 to conditions which determine whether
- the extbl instruction is emitted.
- (mulsi3): Enable pattern with TARGET_5200.
-
- * m68k.md (add patterns): Don't use two addqw instructions when
- adding small (8 < N <= 16) integers to address registers on 68040.
-
-Thu Jul 18 18:06:15 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure: Write target_alias in Makefile.
- (i[3456]86-*-sco3.2v4*): Set truncate_target.
- * Makefile.in (target_alias): New and used for all current uses
- of `target'.
-
-Thu Jul 18 17:46:02 1996 Dave Love <d.love@dl.ac.uk>
-
- * gcc.c (default_compilers): Extra Fortran extensions.
-
-Wed Jul 17 10:28:10 1996 Torbjorn Granlund <tege@spiff.gnu.ai.mit.edu>
-
- * expmed.c (expand_mult_highpart): Revert last change.
-
-Tue Jul 16 12:51:59 1996 Doug Evans <dje@cygnus.com>
-
- * sparc/sparc-rtems.h: #include "sparc/sparc-aout.h" -> sparc/aout.h.
-
-Mon Jul 15 14:42:06 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips/iris6.h (LINK_SPEC): Add -woff 84.
-
-Fri Jul 12 17:34:01 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/eabi.asm (__eabi): Convert pointers in the Global Offset
- Table if -mrelocatable. Move loops into separate subroutines for
- ease of debugging. Reorganize code somewhat.
-
- * rs6000/rs6000.c (small_data_operand): Allow small data under
- Solaris.
-
- * rs6000/sol-c0.c (_start): Initialize r13 to point to the small
- data operand.
-
- * rs6000/sol-c{i,n}.asm (_init, _fini): Enable shared library
- support.
-
- * rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
- -msdata=data, even if -fpic or -mrelocatable. Allow -mrelocatable
- and -mno-eabi.
- (CPP_SYSV_SPEC): If -fpic, define __PIC__ and __pic__ to 1. If
- -fPIC, define them to 2.
- (CPP_ENDIAN_SPEC): Push definition of macros for specific endian
- targets to new specs.
- (CPP_ENDIAN_DEFAULT_SPEC): Define to use CPP_ENDIAN_BIG_SPEC.
- (CPP_ENDIAN_{LITTLE,BIG,SOLARIS}_SPEC): New specs for little
- endian mode, big endian mode, and Solaris, which can't define
- _LITTLE_ENDIAN. Define __LITTLE_ENDIAN__ in all cases for little
- endian systems. Define __BIG_ENDIAN__ in all cases for big endian
- systems.
- (SUBTARGET_EXTRA_SPECS): Add new specs.
-
- * rs6000/{eabile,sysv4le}.h (CPP_ENDIAN_DEFAULT_SPEC): Define to
- use CPP_ENDIAN_LITTLE_SPEC.
-
- * rs6000/sol2.h (CPP_ENDIAN_LITTLE_SPEC): Define as
- CPP_ENDIAN_SOLARIS_SPEC so that _LITTLE_ENDIAN is not define.
-
-Fri Jul 12 17:34:01 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.c (function_arg): Add IBM AIX XL compiler broken FP arg
- passing compatibility mode.
- * rs6000.h (TARGET_XL_CALL): Define default.
- * aix3newas.h (TARGET_XL_CALL, SUBTARGET_SWITCHES): Define.
- * aix41.h (TARGET_XL_CALL, SUBTARGET_SWITCHES): Define.
-
-Fri Jul 12 15:04:43 1996 Doug Evans <dje@cygnus.com>
-
- * arm.h (ASM_OUTPUT_MI_THUNK): Handle fns returning structures.
-
- * ptx4.h ({ASM,LINK}_SPEC): %{V} %{v:%{!V:-V}} -> %{v:-V}.
- * svr4.h ({ASM,LINK}_SPEC): Likewise.
- * dsp16xx/dsp16xx.h ({ASM,LINK}_SPEC): Likewise.
- * i386/dgux.h (LINK_SPEC): Likewise.
- * i386/sol2.h (LINK_SPEC): Likewise.
- * m88k/dgux.h ({LINK,ASM_CPU}_SPEC): Likewise.
- * sparc/sol2.h ({ASM,LINK}_SPEC): Likewise.
- * sparc/sp64-elf.h ({ASM,LINK}_SPEC): Likewise.
- * sparc/sysv4.h (ASM_SPEC): Likewise.
-
-Thu Jul 11 17:29:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h (GOT_TOC_REGNUM): New macro for r2, which is used as a
- marker for the GOT/TOC register to be allocated later.
- (MACHINE_DEPENDENT_REORG): Call rs6000_reorg.
- (rs6000_reorg): Add declaration.
-
- * rs6000.c (rs6000_got_register): Return REG 2, not a pseudo
- register in order to work with inlined functions.
- (rs6000_replace_regno): New function to replace a register with a
- new pseudo register.
- (rs6000_finalize_pic): Loop through all insns, replacing any
- GOT_TOC_REGNUM registers with new pseudo register, and adding
- initialization of GOT register if it was created.
- (rs6000_reorg): New function to check whether the GOT_TOC register
- marker was removed.
-
-Thu Jul 11 10:12:50 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (OK_FOR_U): If generating H8/S code, accept
- SYMBOL_REF and SYMBOL_REF + CONST_INT.
-
- * h8300.c ({shift,rotate}_one): Emit tabs between opcode and
- operands to be consistent with the rest of the compiler.
- (shift_two, rotate_two): Define.
- (get_shift_alg): Accept new argument "assembler2_p" for
- rotate/shift by two insns. All callers changed. Rework
- to generate more efficient code on the H8/300, H8/300H, and H8/S.
- Try to simplify somewhat.
- (emit_a_shift): Use shift-by-two insns when they're available.
- Emit tabs between opcode and operands to be consistent with
- the rest of the compiler.
-
-Wed Jul 10 19:32:17 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips/iris6.h (ASM_SPEC): Correct typos in Jun 18 change.
-
-Wed Jul 10 18:56:38 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * sh.c (machine_dependent_reorg): When looking for instruction that
- sets register in LOG_LINKS, skip link if REG_NOTE_KIND is not zero.
-
-Wed Jul 10 15:02:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (rs6000_got_register): New function to return a pseudo
- register to hold the pic register. Abort if reload is in progress
- or done.
- (num_insns_constant): Allow SFmode and DFmode.
-
- * rs6000.h (CONST_DOUBLE_OK_FOR_LETTER_P): Redo 'G' so that it
- means a constant that takes exactly two insns.
- (rs6000_got_register): Add declaration.
-
- * rs6000.md (movsi_got): Move setup of pic register to
- rs6000_got_register.
- (movsf): If -msoft-float, don't force constants to memory.
- (mov{sf,df} insns): If soft floating point, allow any constant to
- be loaded. Add define_splits that allow the 604 to use both
- integer units for loading constants. Make sure insn length is
- correct.
-
-Tue Jul 9 17:05:10 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (easy_fp_constant): All FP constants are considered
- hard for -fpic and hardware floating point, so that the GOT
- register is created.
-
-Tue Jul 9 15:21:27 1996 Jim Wilson <wilson@cygnus.com>
-
- * x-iris6 (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
-
-Mon Jul 8 18:00:33 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.h (enum reg_class): Add new class GENERAL_FP_REGS.
- (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
-
- * cse.c (note_mem_written): Varying structure memory access with
- AND address can alias scalars.
- * sched.c ({true,anti,output}_dependence): Likewise.
-
- * sh.c (calc_live_regs): For pragma_interrupt case, exclude call
- clobbered regs that are fixed, explicitly add MACH_REG and MACL_REG.
-
- * calls.c (expand_call): For assign_stack_temp call in PARALLEL case,
- get mode from type instead of using BLKmode.
- * function.c (aggregate_value_p): If hard_function_value returns
- a non-REG, then return 0.
-
- * mips.c (function_arg): Add explicit checks for FIELD_DECLs.
- (mips_function_value): Add explicit checks for FIELD_DECLs, and save
- them in the array FIELDS. When returning structure with 1 float field,
- enclose it in a PARALLEL and set the PARALLEL mode correctly.
- * mips.md (call_value): Call gen_call_value_multiple_internal0
- only if there are multiple return values. Strip the PARALLEL off
- if there is only one return value.
-
-Mon Jul 8 16:27:33 1996 Jeffrey A. Law <law@cygnus.com>
-
- * First cut at support for the H8/S.
- * h8300.c (h8300_init_once): Handle the H8/S (treat it
- like the H8/300H).
- (dosize, adds_subs_operand, one_insn_adds_subs_operand): Likewise.
- (output_adds_subs, const_costs, print_operand): Likewise.
- (output_simode_bld, h8300_adjust_insn_length): Likewise.
- (push_order, pop_order): Reverse.
- (function_prologue): Try to use ldm.l and stm.l insns
- on the H8/S. Minor cleanups.
- (function_epilogue): Likewise.
- (asm_file_start): Emit ".h8300s" when compiling for the H8/S.
- * h8300/h8300.h (CPP_SPEC): Handle the H8/S.
- (TARGET_H8300S): New target.
- (TARGET_SWITCHES): Add "-ms" and "-mno-s".
- (BITS_PER_WORD): Handle the H8/S (treat it like the H8/300H).
- (UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY): Likewise.
- (BIGGEST_ALIGNMENT, BIGGEST_FIELD_ALIGNMENT): Likewise.
- (INITIALIZE_TRAMPOLINE, MOVE_MAX, Pmode): Likewise.
- * h8300.md: Handle H8/S just like H8/300H
- throughout the entire file.
- * t-h8300 (MULTILIB_OPTIONS): Build "-ms" libraries too.
- (MULTILIB_DIRNAMES): Put H8/S libraries in "h8300s" directory.
- * h8300/lib1funcs.asm: Emit ".h8300s" pseudo-op when generating
- h8300s object files. Otherwise treat the H8/S just like the H8/300H.
- * ginclude/stdarg.h: Handle the H8/S.
- * ginclude/varargs.h: Likewise.
-
-Mon Jul 8 14:50:58 1996 Doug Evans <dje@cygnus.com>
-
- * sparc/sol2.h (LINK_SPEC): Don't pass `-z text' if
- -shared -mimpure-text.
-
-Sun Jul 7 18:03:46 1996 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * m68k/lb1sf68.asm (__udivsi3): Use faster tstw instead of btst.
-
-Thu Jul 4 11:44:39 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (get_inner_reference): Delete using alternate mode for
- bitfield; we don't make bitfields anymore if not needed.
-
-Wed Jul 3 18:23:17 1996 Stephen L Moshier (moshier@world.std.com)
-
- * c-common.c (record_function_format): Define as static.
-
- * collect2.c (at SUNOS4_SHARED_LIBRARIES): Fix reference to unistd.h.
-
-Wed Jul 3 17:35:20 1996 Gavin Koch <gavin@cygnus.com>
-
- * c-typeck.c (default_conversion): Add bitfield promotions.
-
-Wed Jul 3 17:09:22 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * gcc.c (default_compilers): Add null entries for languages we
- heard of.
- (main): If found one of those entries, say compiler not installed.
-
-Wed Jul 3 12:52:53 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.c (fmpy_operands): Define.
- (combinable_{fmpy,add,fsub}): New function.
- * pa.md (parallel_addb, parallel_movb): New patterns.
- (fmpyadd, fmpysub): New patterns.
-
- * pa.c (fmpy{add,sub}operands): Tighten checks. Allow SFmode.
-
-Tue Jul 2 18:57:15 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.c (ireg_or_int5_operand): New function.
- (output_parallel_movb, output_parallel_addb): Likewise.
- (combinable_copy, combinable_add, following_call): Likewise.
- (pa_adjust_insn_length): Handle parallel unconditional branches.
- (output_movb): Handle case were destination is %sar.
- * pa.h: Declare new functions.
- * pa.md (parallel_branch): New "type" attribute.
- (delay slot descriptions): Don't allow "parallel_branches" in
- delay slots. Fill "parallel_branches" like "branch" insns.
- (movb patterns): Handle %sar as destination register.
-
- * expr.c (compare): If function pointers need canonicalization
- before comparisons, canonicalize them.
- (do_store_flag): Do not use an sCC insn for a function pointer
- comparison if function pointers need canonicalization before
- comparing.
-
-Tue Jul 2 17:56:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h ({START,END}FILE_LINUX_SPEC): If -mnewlib is not
- used, use the crtbegin/crtend that 2.7.2 used.
-
-Sat Jun 29 07:10:02 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h (INIT_EXPANDERS): Define, call rs6000_init_expanders.
- (RS6000_VARARGS_OFFSET): fpmem area no longer next to outgoing
- argument area.
- (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Likewise.
- (frame_pointer_needed): Add external declaration.
- (rs6000_{save,restore}_machine_status): Ditto.
- (rs6000_init_expanders): Likewise.
-
- * rs6000.c (rs6000_{save,restore}_machine_status): New functions
- to save and restore the globals needed on a per function basis.
- (rs6000_init_expanders): Initialize globals needed on a per
- function basis, and set up so the above save/restore functions are
- called when processing nested functions.
- (output_epilog): Don't initialize per function globals here.
- (rs6000_stack_info): Change where fpmem save area is to below local
- variables, and not just below the outgoing argument area.
-
- * rs6000.md (floatsidf2*, fix_truncdfsi2*): Rewrite conversion
- routines to track new location of the fpmem save area. Allocate a
- new base register temp for the routines in case the stack frame is
- more than 32k in size.
-
-Sat Jun 29 05:44:37 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * explow.c (convert_memory_address, case PLUS): Fix error in
- last change.
-
-Fri Jun 28 23:30:48 1996 Jeffrey A. Law <law@cygnus.com>
-
- * reload1.c (choose_reload_regs): Properly mark spill registers
- as in use for inherited reloads.
-
-Fri Jun 28 18:37:20 1996 Stephen L Moshier <moshier@world.std.com>
-
- * objc/sarray.c (ifdef __alpha__): Don't declare `free'.
- * objc/thr-decosf1.c (objc_thread_id): Use pthread_getunique_np
- to obtain a thread ID value.
- (objc_mutex_allocate): Cast mutex->owner to _objc_thread_t.
- (objc_mutex_{deallocate,unlock}): Likewise.
- (objc_mutex_{try,un,}lock): Declare thread_id as _objc_thread_t.
-
- * real.c (asctoeg): `0.0eX' is zero, regardless of the exponent X.
-
-Fri Jun 28 18:33:13 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * vax.md (rotl): Remove extraneous `$'.
-
- * combine.c (previous_num_undos): Deleted variable.
- (MAX_UNDO): Deleted macro.
- (struct undo): New field, next.
- (struct undobuf): Deleted num_undos and undo.
- New fields undos, frees, and previous_undos.
- (SUBST, SUBST_INT): Rework to allocate memory and chain undo entries.
- (combine_instructions): Initialize undobuf.{undos,previous_undos},
- not undobuf.num_undo and previous_num_undos.
- (try_combine): Likewise.
- (undo_all, gen_rtx_combine): Rework to use new data structures.
-
-Fri Jun 28 16:48:25 1996 Scott Christley <scottc@net-community.com>
-
- * objc/sendmsg.c (__objc_block_forward): New function.
- (get_imp, objc_msg_lookup): Use different forwarding function
- when the returning a floating point value.
-
-Fri Jun 28 16:25:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * configure: Allow multiple makefile frags.
- (i[3456]86-*-linux*oldld*): Add i386/t-crtstuff as target frag.
- (i[3456]86-*-linux*aout*, i[3456]86-*-linux*): Likewise.
- (m68k-*-linux*aout*): Add t-linux-aout as target frag.
- (m68k-*-linux*): Add t-linux as target frag.
- * Makefile.in (Makefile): xmake_file and tmake_file now already
- contain the $(srcdir)/config prefix.
-
- * config/t-linux (BOOT_CFLAGS): Removed, no longer necessary.
- (CRTSTUFF_T_CFLAGS): Don't define.
- (CRTSTUFF_T_CFLAGS_S): Define this instead.
- * config/t-linux-aout (BOOT_CFLAGS): Removed.
- * m68k/t-linux: Remove variables now in t-linux.
-
-Fri Jun 28 15:06:05 1996 John F. Carr <jfc@mit.edu>
-
- * alpha.c (alpha_emit_conditional_move): Emit correct code when
- incoming comparison code is NE.
-
-Fri Jun 28 14:35:45 1996 J.T. Conklin <jtc@hippo.cygnus.com>
-
- * c-decl.c (init_decl_processing): Register __builtin_memset
- and memset as builtin functions.
- * expr.c (expand_builtin, case BUILTIN_MEMSET): Open code memset
- where val == 0.
-
-Fri Jun 28 14:10:03 1996 Richard Henderson <rth@tamu.edu>
-
- * alpha/linux.h (FUNCTION_PROFILER): _mcount has non-standard linkage.
- * alpha/elf.h (LINK_SPEC): Bring emulation name into sync
- with Cygnus snapshot.
-
- * alpha.h ({MASK,TARGET}_BUILD_CONSTANTS): New macros.
- (TARGET_SWITCHES): New target option build-constants.
- * alpha.c (alpha_emit_set_long_const): New function.
- * alpha.md (movdi): Call it.
- * expmed.c (expand_mult_highpart): Use op1 not wide_op1 in
- expansion of mul_highpart.
-
- * alpha.c (output_{pro,epi}log): Flag_inhibit_size_directive
- should supress .ent, .end, and accompanying directives.
- (alpha_output_lineno): Fix polarity on GAS test.
- * alpha.h (NO_DBX_FUNCTION_END): New macro.
- * dbxout.c (dbxout_function): Respect NO_DBX_FUNCTION_END.
- * alpha/elf.h: New file.
- * alpha/linux.h (INITIALIZE_TRAMPOLINE): New definition.
- * alpha/xm-linux.h (HAVE_STRERROR): Define.
- * configure (alpha*-linux*ecoff*): New target, was alpha-*-linux*.
- (alpha-*-linux*): Use elf.h.
- * crtstuff.c (init_dummy): Only i386-linux (at most)
- needs ___brk_addr hack.
-
-Thu Jun 27 20:23:30 1996 Jon Buller (jonb@metronet.com)
-
- * ns32k.c (split_di): New; from i386.c.
- * ns32k.md (adddi3, subdi3, negdi3): New patterns.
-
-Thu Jun 27 19:42:50 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (force_to_mode, case NE): Fix typo and logical error.
- (simplify_comparison): Don't swap args if op1 is CONST_INT.
-
-Thu Jun 27 18:49:35 1996 Jim Wilson <wilson@cygnus.com>
-
- * expmed.c (extract_bit_field): Check TRULY_NOOP_TRUNCATION before
- making a SUBREG of a REG.
-
-Thu Jun 27 11:03:59 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (CC1_SPEC): Put spaces between the -mips* cases.
- * mips/osfrose.h (CC1_SPEC): Likewise.
-
- * sh.c (output_branch): Don't call ADJUST_INSN_LENGTH if insn is
- inside sequence.
-
-Wed Jun 26 19:09:43 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.h (CMP_PSI): Delete.
- (FUNCTION_POINTER_COMPARISON_MODE): Likewise.
- * pa.md (cmppsi): Delete expander.
- (canonicalize_funcptr_for_compare): Renamed from plabel_dereference,
- turned into an expander + anonymous pattern.
-
-Tue Jun 25 22:36:11 1996 Doug Evans <dje@seba.cygnus.com>
-
- * gcc.c (PEXECUTE_VERBOSE): Define.
- (execute): Pass PEXECUTE_VERBOSE to pexecute if -v.
-
-Tue Jun 25 12:23:54 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h (FINALIZE_PIC): Define to call rs6000_finalize_pic.
- (rs6000_finalize_pic): Add declaration.
- (svr4_traceback): Delete unused declaration.
-
- * rs6000.md (movsi_got): Don't emit gen_init_v4_pic insn.
- (V.4 call insns): Do not use @plt for PIC calls.
-
- * rs6000.c (print_operand_address): Handle LABEL_REF just like
- SYMBOL_REF.
- (rs6000_finalize_pic): Define, emit the gen_init_v4_pic insn
- before all other insns if needed for V.4 PIC calls.
-
- * eabi-ci.asm (_GLOBAL_OFFSET_TABLE_): Do not provide a default
- definition, since it interferes with the linker generated version.
-
-Tue Jun 25 01:17:50 1996 Jeffrey A. Law <law@cygnsu.com>
-
- * h8300.c (function_prologue): Update "monitor" prologues.
- (function_epilogue): Similarly.
-
- * pa.h (PARSE_LDD_OUTPUT): Handle dynamic libraries that are
- loaded "statically".
-
-Mon Jun 24 19:48:36 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
-
- * configure ({i386,i960,m68k,powerpc,sparc}-rtems): New targets.
- * i386/go32-rtems.h, i386/i386-rtems.h: New files.
- * i960/i960-rtems.h: New file.
- * m68k/m68k-rtems.h: New file.
- * rs6000/powerpc-rtems.h: New file.
- * sparc/sparc-rtems.h: New file.
-
-Mon Jun 24 23:09:22 1996 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c: (create_definition): Diagnose `#define #' only once.
-
-Mon Jun 24 11:42:58 1996 Jim Wilson <wilson@cygnus.com>
-
- * i386/cygwin32.h, rs6000/cygwin32.h (CPP_PREDEFINES): For consistency,
- change to define WIN32, WINNT, and CYGWIN32.
-
-Mon Jun 24 10:46:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (floatsidf2*): Move the xor of the argument into the
- define_insn, since it confuses inline function expands.
-
-Fri Jun 21 20:40:17 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (call_internal1, call_value_internal1): Delete obsolete code.
- (call_internal2, call_value_internal2, call_value_multiple_internal2):
- Delete obsolete code. Explicitly load SYMBOL_REF into register.
- (call_value): Change Pmode to SImode in gen_call_value_internal0 call.
-
-Thu Jun 20 12:20:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * configure (*-aix*): If building a cross compiler, use t-xnewas
- instead of t-newas.
-
- * rs6000.c (num_insns_constant_wide): Fix typo if HOST_WIDE_INT
- has more than 32 bits.
-
-Wed Jun 19 17:50:33 1996 Richard Henderson <richard@atheist.tamu.edu>
-
- * combine.c (move_deaths): New parameter maybe_kill_insn.
- Don't move note if reg killed by maybe_kill_insn.
- (try_combine): Pass new arg to move_deaths.
-
-Wed Jun 19 10:44:47 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * toplev.c (flag_keep_static_consts): Define.
- (f_options): Add "keep-static-consts" entry.
- (compile_file): Check it in addition to !optimize for emitting
- static const variables.
-
-Tue Jun 18 23:37:20 1996 Doug Evans <dje@cygnus.com>
-
- * i386/cygwin32.h (ASM_OUTPUT_SOURCE_LINE): Local symbols begin with L.
-
-Tue Jun 18 12:00:11 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * varasm.c (asm_output_aligned_bss): Don't emit a skip of size 0.
-
-Tue Jun 18 06:24:28 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * integrate.c (expand_inline_function): Add missing call to
- force_operand when getting structure_value_addr into reg.
-
- * alpha.c (override_options): Allow EV4/5 or 21064/21164 for cpu.
- Clean up handling of floating-point options.
- * alpha.h (TARGET_SWITCHES): Have all -mieee options turn
- on MASK_IEEE_CONFORMANT.
- (TARGET_DEFAULT): Use symbolic value.
- * alpha.md: When not involving named pattern, update condition
- to include alpha_tp != ALPHA_TP_INSN.
- Don't do float_extend as part of other pattern when ALPHA_TP_INSN.
- (extendsfsd2): Split into two patterns, depending on
- value of alpha_tp.
-
- * mips/iris6.h (ASM_SPEC): Treat -o32 as -32 and -n64 same as -64.
- * mips.c (override_options): Likewise.
-
- * genattrtab.c (fatal): Declare A1 and A2 as char *.
-
- * function.c (find_temp_slot_from_address): Check for overlap
- from BASE_OFFSET if X is PLUS of virtual_stack_vars_rtx and const.
-
- * flow.c (flow_analysis): Fix typo in last change.
-
- * expr.c (expand_builtin, case BUILT_IN_{SET,LONG}JMP): Properly
- handle case when ptr_mode != Pmode.
-
- * combine.c (try_combine): Don't use split if dest of new I2
- is used between I2 and I3.
-
- * c-typeck.c (pointer_int_sum): Convert integer to both signedness
- and precision of sizetype.
- * explow.c (convert_memory_address, case PLUS, MULT): Don't commute
- operation with extension if not adding small integer.
-
- * Makefile.in (BOOT_LANGUAGES): New variable.
- (bootstrap): Use it to select languages for stage1.
- * configure (extra_host_objs): New variable.
- Separate files needed for target and host and concatenate list.
- (extra_gcc_objs): Use setting for host, not target.
- (objc_thread_file): Start with it as null, then don't include "thr-".
- Print name of file after others and in same format.
- (alpha-*-winnt*, i[3456]86-*-winnt): oldnames.o is in extra_host_objs.
- (all_boot_languages): New variable.
- Set from boot_language variable in config-lang.in.
- Defines value of BOOT_LANGUAGES in Makefile.
- (Makefile): Set target to the canonical form of target.
-
-Mon Jun 17 22:37:07 1996 Mike Meissner <meissner@rtl.cygnus.com>
-
- * rs6000/win-nt.h (ASM_DECLARE_FUNCTION_NAME): Put function
- descriptor in .reldata, not .text.
-
-Mon Jun 17 16:05:34 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * ginclude/stddef.h (wint_t): Don't wrap with #ifndef __cplusplus.
-
-Mon Jun 17 15:03:20 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (mips_split_addresses): New variable.
- (simple_memory_operand): Add comment about mode check. Add check
- for LO_SUM.
- (call_insn_operand): OP is now an addresses instead of a MEM.
- (move_operand, mips_check_split): New functions.
- (mips_count_memory_refs): Add check for LO_SUM.
- (mips_move_1word): Add HIGH support.
- (mips_address_cost): Delete check for HIGH.
- (output_block_move): Handle LO_SUM addresses.
- (override_options): Set mips_split_addresses.
- (print_operand_address): Add LO_SUM support.
- * mips.h (mips_split_addresses, mips_check_split, move_operand):
- New declarations
- (GO_IF_LEGITIMATE_ADDRESS): Reject constant addresses when
- mips_split_addresses is TRUE. Add LO_SUM support.
- (LEGITIMIZE_ADDRESS): Add LO_SUM support.
- (PREDICATE_CODES): Modify call_insn_operand support. Add
- move_operand.
- * mips.md (memory): Change r4100/r4300 support.
- (imuldiv): Add r4300 support.
- (high, low): New patterns.
- (movsi, movdi): Add LO_SUM support.
- (movsi_internal1, movsi_internal2): Use move_operand instead of
- general_operand.
- (movstrsi_internal, movstrsi_internal2): Delete R constraint.
- (call, call_value): Pass address instead of MEM to call_insn_operand.
- Call gen_call_{value_}internal0 instead of internal1.
- (call_internal0, call_value_internal0, call_multiple_internal0):
- New patterns.
- (call_internal1, call_internal2, call_value_internal1,
- call_value_internal2, call_value_multiple_internal2): Add explicit
- MEM before target address.
-
-Sun Jun 16 23:05:16 1996 Jeffrey A. Law <law@cygnus.com>
-
- * configure (hppa*-hp-hpux10*): Use new pa-hpux10 configuration file.
- (hppa*-hp-hpux*): Use hpux9 configuration files by default.
- * pa/pa-hpux10.h: New file.
- * pa/pa-ghpux9.h: Deleted. No longer used.
-
-Sat Jun 15 04:35:51 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * i386/gnu.h (LINK_SPEC): Remove -rpath /lib/ option.
- Ignore -ibcs option.
-
-Thu Jun 13 14:49:41 1996 Jim Wilson <wilson@cygnus.com>
-
- * gen-protos.c (main): Change argv[i] to argv[0][i].
-
-Thu Jun 13 10:46:24 1996 Doug Evans <dje@cygnus.com>
-
- * gcc.c (pfatal_pexecute): Delete code to check errno < sys_nerr.
-
-Wed Jun 12 21:47:10 1996 Eliot Dresselhaus <dresselh@rft30.nas.nasa.gov>
-
- * alpha.c (alpha_cpu, alpha_cpu_string): New variables.
- (override_options): Process -mcpu= value.
- (alpha_adjust_cost): Handle adjustments for EV5.
- * alpha.h (enum processor_type): New enum.
- (alpha_cpu, alpha_cpu_string): New declarations.
- (target_options): Add "cpu=".
- (RTX_COSTS): Adjust values for EV5.
- * alpha.md: Add scheduling rules for EV5.
-
-Tue Jun 11 17:51:03 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-common.c (check_format_info): Change text of message about use
- of `0' with precision.
-
-Tue Jun 11 15:14:10 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.h (TARGET_SCHEDULE_PROLOGUE): New. Allows prologue to
- be emitted as asm or rtl.
-
- * i386.c (function_prologue): Emit prologue as asm.
- (override_options): Don't emit rtl for prologue if -fpic.
-
-Tue Jun 11 14:41:01 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/eabi.asm (__eabi): Fix normal code so that it properly
- loads up r2/r13 if needed again.
-
- * rs6000/sysv4.h (CPP_ENDIAN_SPEC): Call cpp_endian_default, not
- cpp_endian_default_spec.
-
-Mon Jun 10 15:10:56 1996 Jeffrey A. Law <law@cygnus.com>
-
- * local-alloc.c (update_equiv_regs): Ignore insns that read or
- write registers that are likely to be spilled.
-
- * pa.h (cmp_type): Add CMP_PSI.
- (FUNCTION_POINTER_COMPARISON_MODE): Define.
- * pa.md (cmppsi): New expander.
- (plabel_dereference): New pattern
-
-Mon Jun 10 14:56:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sol2.h (SKIP_ASM_OP): Delete, Solaris accepts .space,
- like rest of PowerPC V4 ports.
-
- * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Emit .lcomm if not
- using the .sbss area. If using the .sbss area, put out
- appropriate .size directive.
-
-Mon Jun 10 14:53:38 1996 Doug Evans <dje@cygnus.com>
-
- * Move fork/exec/wait handling into file of its own.
- * pexecute.c: New file.
- * Makefile.in (pexecute.o): Add rule.
- (xgcc): Link in pexecute.o.
- (protoize,unprotoize): Likewise.
- * gcc.c (_WIN32): Don't include process.h or declare spawnv{,p}.
- (pexecute,pwait): Add prototypes.
- (PEXECUTE_{FIRST,LAST,SEARCH}): Define.
- (execv,execvp): Delete decls.
- (perror_exec): Delete.
- (pfatal_pexecute): New function.
- (pexecute support): Delete.
- (execute): -pipe not supported if _WIN32 or OS2.
- Update call to pexecute. Fatal error if pexecute fails. Call pwait.
- * protoize.c: Include gansidecl.h.
- (my_execvp): Delete.
- (choose_temp_base,pexecute,pwait): Declare.
- (PEXECUTE_{FIRST,LAST,SEARCH}): Define.
- (execvp): Delete decl.
- (usage): Fix typo.
- (gen_aux_info_file): Rewrite to use pexecute/pwait.
-
- * gcc.c (do_spec_1): Allow leading text in version string.
- Delete support for default minor number = 0.
-
-Mon Jun 10 11:49:53 1996 Scott Christley <scottc@net-community.com>
-
- * objc/Makefile (libobjc.a): Don't delete the library.
-
- * objc/thr.h (objc_set_thread_callback): New function.
- (objc_thread_callback): Typedef for the hook function.
- * objc/thr.c (__objc_thread_detach_function): Clear thread storage.
- Call the thread hook function when first becoming multi-threaded.
- (objc_set_thread_callback): New function.
-
- * objc/selector.c (__sel_register_typed_name): Additional parameter
- that indicates whether name and type parameters are constant or not.
- * objc/runtime.h (__sel_register_typed_name): Likewise.
- * objc/init.c (__sel_register_typed_name): Likewise.
-
- * objc/init.c (__objc_init_protocols): Need to unlock mutex.
-
-Mon Jun 10 11:44:44 1996 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * sparc/t-sol2 (gmon.o): Depend on stmp-int-hdrs.
- (crt1.o, crti.o, crtn.o, gcrt1.o): Depend on $(GCC_PASSES).
-
-Mon Jun 10 11:29:46 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * flow.c (flow_analysis, find_basic_blocks): Ignore
- nonlocal_label_list for CALL_INSN that has a REG_RETVAL.
-
- * c-common.c (decl_attributes, case A_T_UNION): Don't look at fields
- of union if there aren't any.
-
-Sat Jun 8 22:13:33 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.c (ix86_expand_prologue): Keep pic register load ahead
- of reference which may use a pic register.
-
-Sat Jun 8 22:13:33 1996 Jim Wilson <wilson@cygnus.com>
-
- * i386.md (strlensi_unroll4, strlensi_unroll5): Use + not =& for
- constraint for input/output operand 2.
-
-Sat Jun 8 22:13:33 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * i386.h (CONST_COSTS): Even integer constants have a cost.
- (RTX_COSTS): Take costs of subexpressions into account.
- If a multiply is actually a shift, use the cost of the shift.
- * i386/unix.h (SHIFT_DOUBLE_OMITS_COUNT): New macro.
- * i386/{gas, next, seq-gas}.h (SHIFT_DOUBLE_OMITS_COUNT): Redefine
- as zero.
- * i386.c (print_operand): new letter 's'.
-
-Sat Jun 8 15:13:33 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips.c (override_options): Add vr4100 and vr4300 support.
- * mips.h (enum processor_type): Likewise.
- (MASK_4300_MUL_FIX, TARGET_4300_MUL_FIX): New macros.
- (TARGET_SWITCHES): Add -mfix4300 option.
- * mips.md (cpu, memory, imuldiv, adder, mult, divide): Add
- vr4100 and vr4300 support.
- (muldf3, mulsf3): Add vr4300 support.
- (muldf3_internal, muldf_r4300, mulsf3_internal, mulsf_r4300): New
- patterns.
-
-Sat Jun 8 14:35:23 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * toplev.c (main): Re-enable -gxcoff+.
-
-Sat Jun 8 14:20:14 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * m68k/lb1sf68.asm (__{eq,ne,gt,lt,ge,le}{df,sf}2): Removed
- extraneous comments, constants, labels, etc.
-
- * m68k/altos3068.h (TARGET_DEFAULT): Use MASK_* macros
- instead of explicit constants in definitions or conditionals.
- * m68k/{apollo68, aux, ccur-GAS, dpx2, hp320, hp3bsd}.h: Likewise.
- * m68k/{hp3bsd44, isi-nfp, isi, linux-aout, linux}.h): Likewise.
- * m68k/{lynx-ng, lynx, m68k-none, m68k-psos, m68kv4}.h): Likewise.
- * m68k/{mot3300, netbsd, news, next, pbb, plexus, sun2o4}.h): Likewise.
- * m68k/{sun3, sun3n, tower}.h): Likewise.
-
-Sat Jun 8 13:55:23 1996 Matthias Pfaller (leo@marco.de)
-
- * ns32k.md (define_insns for ffs[qhs]i2): Deleted.
- (define_expand for ffssi2): New pattern.
-
-Sat Jun 8 13:44:14 1996 Stephen L Moshier (moshier@world.std.com)
-
- * reload.c (find_equiv_reg): Set need_stable_sp if GOAL is the
- stack pointer.
-
-Sat Jun 8 13:36:05 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * function.c (fixup_var_refs_1, case SIGN_EXTEND): Handle
- paradoxical SUBREGs as first operand.
- (fixup_var_regs_1, case SET): Handle paradoxical SUBREGs as
- first operand of a ZERO_EXTRACT in SET_DEST.
-
- * c-common.c (enum attrs): Add A_FORMAT_ARG.
- (init_attribute): Initialize it.
- (decl_attributes, case A_FORMAT): Clean up error messages.
- (decl_attributes, case A_FORMAT_ARG): New case.
- (struct international_format_info): New structure and typedef.
- (international_format_list): New variable.
- (record_international_format): New function.
- (init_format_info): Call it for gettext, dcgettext, and dcgettext.
- (check_format_info): See if format arg is call to
- internationalization function.
-
-Fri Jun 7 20:04:40 1996 Jim Wilson <wilson@cygnus.com>
-
- * gcc.c (MULTILIB_SELECT): Delete definition.
- (multilib_select): Delete static initializer.
- (multilib_obstack, multilib_raw): New global variables.
- (multilib.h): Include inside multilib_raw definition.
- (main): Set multilib_select from multilib_raw.
- * genmultilib: Change output to be a sequence of short strings
- separated by commas rather than a single long macro definition.
-
- * cse.c (simplify_binary_operation, case MULT): Check for case
- where width is larger than HOST_BITS_PER_WIDE_INT, and upper most
- bit is set. We can not generate a simple shift in this case.
-
- * gsyms.h (enum sdb_type): Add T_LNGDBL if EXTENDED_SDB_BASIC_TYPES.
- (enum sdb_masks): Add EXTENDED_SDB_BASIC_TYPES masks.
- * sdbout.c (gsyms.h): Include if CROSS_COMPILE is defined.
- (plain_type_1): Use TYPE_PRECISION instead of TYPE_SIZE.
- Add check for LONG_DOUBLE_TYPE_SIZE if EXTENDED_SDB_BASIC_TYPES.
- * i960.h (EXTENDED_SDB_BASIC_TYPES): Define.
- (PUT_SDB_TYPE): Delete now unnecessary shifting and masking.
-
- * i960.h (i960_output_move_{double,quad}): Declare.
-
-Fri Jun 7 19:22:09 1996 Scott Christley <scottc@net-community.com>
-
- * Makefile.in (OBJC_THREAD_FILE): New variable.
- * configure (objc_thread_file): Set new variable to appropriate
- values based upon target operating system; default is `thr-single'.
- * objc/Makefile (OBJC_THREAD_FILE): Add target and dependency.
- (thr.o): Remove OS specific thread files as dependencies.
- * objc/thr-decosf1.c: Now compiles as a separate source file, so
- include appropriate Objective-C headers.
- * objc/thr-{mach,os2,posix,irix,single,solaris,win32}.c: Likewise.
- * objc/thr.c: Remove inclusion of source files.
- * objc/thr.h (__objc_thread_exit_status): Declare global variable.
- * objc/thr-pthreads.c: New file.
-
-Fri Jun 7 19:04:04 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * m68k.h (TARGET_SWITCHES): Treat -m68302 like -m68000 and -m68332
- like -m68020; remove -mno-68302 and -mno-68332.
-
-Fri Jun 7 12:06:12 1996 Per Bothner <bothner@deneb.cygnus.com>
-
- * expr.c (safe_from_p): Allow Chill-style variable-sized arrays.
-
-Thu Jun 6 23:11:11 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.c (h8300_monitor_function_p): New function.
- (h8300_os_task_function_p): Likewise.
- (os_task, monitor): Variables to note if the current
- function is an os_task or monitor.
- (function_prologue): Set monitor and/or os_task as needed. Handle
- os_task and monitor functions.
- (function_epilogue): Clear monitor and os_task. Handle os_task and
- monitor functions.
- (h8300_valid_machine_decl_attribute): Accept "OS_Task" and
- "monitor".
-
-Thu Jun 6 20:01:54 1996 Per Bothner <bothner@cygnus.com>
-
- * gen-protos.c (progname): New variable (needed by cppalloc.c).
- (main): Set progname.
-
- * cpplib.h (struct parse_file): Removed.
- (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, CPP_OUT_BUFFER): New macros.
- * cpphash.c (cpp_lookup): Change struct parse_file -> cpp_reader.
-
- * cpplib.c (init_parse_option): Renamed to cpp_options_init.
- (push_parse_file): Renamed to ...
- (cpp_start_read): Change to return 1 on success, 0 on failure.
- (init_parse_file): Renamed to cpp_reader_init.
- * cppmain.c (main): Use CPP_SET_WRITTEN and cpp_fatal.
- Use renamed function names, and return protocols.
- * fix-header.c (read_scan_file): Likewise.
-
- * cpperror.c (cpp_message): Generalize for "fatal" errors.
- (cpp_fatal): New function (just calls cpp_message).
- * cpplib.c (cpp_start_read, cpp_handle_options, cpp_finish,
- parse_goto_mark, parse_move_mark): Use cpp_fatal rather than fatal.
-
- * fix-header.c (check_macro_names): Fix struct parse_file->cpp_reader.
- * cpplib.c (newline_fix): Remove unused function.
-
-Thu Jun 6 19:47:26 1996 Jim Wilson <wilson@cygnus.com>
-
- Changes to support parameters and return values in multiple
- non-contiguous locations.
- * calls.c (expand_call): Handle NIL in PARALLEL. Handle PARALLEL
- parameter in REG. Handle PARALLEL return value in VALREG.
- (emit_library_call, emit_library_call_value): Abort for PARALLEL.
- (store_one_arg): Delete code for handling EXPR_LIST.
- * expr.c (emit_group_load, emit_group_store): New functions.
- (use_group_regs): New function.
- (emit_push_insn): Handle PARALLEL parameter in REG.
- (expand_assignment): Handle PARALLEL to_rtx.
- (store_expr): Handle PARALLEL target.
- * expr.h (emit_group_load, emit_group_store, use_group_regs): New
- declarations.
- * function.c (assign_parms): Handle PARALLEL parameter in ENTRY_PARM.
- * stmt.c (expand_value_return): Handle PARALLEL return_reg.
-
- * mips/abi64.h (TYPE_DEPENDENT_REG): Delete.
- * mips.c (function_arg): Return PARALLEL for structure with
- aligned double fields.
- (type_dependent_reg): Delete.
- (mips_function_value): Return PARALLEL for structure
- with two floating point fields.
- * mips/mips.md (call_value): Handle PARALLEL in operands[0].
- (call_value_multiple_internal2): New pattern.
- * pa.h (FUNCTION_ARG): General PARALLEL instead of EXPR_LIST.
- * rs6000.c (init_cumulative_args): Change EXPR_LIST to PARALLEL
- in comments.
- (function_arg): Generate PARALLEL instead of EXPR_LIST.
-
-Thu Jun 6 18:21:27 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * function.c (assign_parms): Tighten up code that makes REG_EQUIV
- notes for parms.
-
- * fold-const.c (fold): Don't do anything with evaluated SAVE_EXPR.
-
-Thu Jun 6 17:54:07 1996 J.T. Conklin <jtc@cygnus.com>
-
- * m68k.h (TARGET_SWITCHES): Group all floating point options.
- When an fp option is selected, unset bits used for other mutually
- exclusive fp options.
- (OVERRIDE_OPTIONS): Remove special case for SUPPORT_SUN_FPA;
- bits used for 68881 and SKY are now cleared by TARGET_SWITCHES.
-
- * m68k.md (movsi_const0, movhi): Favor clr with TARGET_5200.
- (add[qhs]3): Don't use two addqw/subqw insns to add small integers to
- an address register with TARGET_68060.
- (stack push peephole): Use moveq.l with TARGET_5200 (when appropriate).
-
- * m68k.h (MASK_5200, TARGET_5200): New macros.
- (TARGET_SWITCHES): Add "m5200".
- (LEGITIMATE_INDEX_P): Add TARGET_5200 to conditional expression.
- * m68k.c (const_method): Do not synthesize long constants
- with byte or word operations with TARGET_5200.
- * m68k.md: Disable byte and word arithmetic, rotate, integer
- divide, dbcc, etc. insns for TARGET_5200.
- * m68k-none.h: (CPU_FPU_SPEC, CPP_SPEC, ASM_SPEC): Support m5200.
-
-Thu Jun 6 17:32:32 1996 Paul Eggert <eggert@twinsun.com>
-
- * fixproto (subdirs): Work around Solaris 2.5
- /usr/xpgr/bin/sed problem with \+\+.
-
-Thu Jun 6 15:06:27 1996 Jim Wilson <wilson@cygnus.com>
-
- * c-decl.c (grokdeclarator): Call pop_obstacks after creating
- TYPE_DECL.
-
- * loop.c (strength_reduce): If HAVE_cc0 defined, disable auto_inc_opt
- if it would put an insn between a cc0 setter/user pair.
-
-Thu Jun 6 13:06:54 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): If __sun__ is
- defined, treat that as little endian.
-
-Wed Jun 5 20:04:53 1996 Jim Wilson <wilson@cygnus.com>
-
- * i960.h (ROUND_TYPE_ALIGN): Add check for TYPE_PACKED.
-
- * sh.h (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
- * sh.md (branch_true): Add comment about T-bit compares.
-
-Tue Jun 4 23:08:34 1996 Per Bothner <bothner@deneb.cygnus.com>
-
- * cpplib.h, cpplib.c: Remove support for !STATIC_BUFFERS.
- * cpplib.h: Use unsigned char rather than U_CHAR.
- * cpplib.h (cpp_reader): Add destructor #ifdef __cplusplus.
- (cpp_cleanup): New prototype.
- * cpplib.c (special_symbol, do_once, do_include, cpp_get_token):
- Compare cpp_buffer against CPP_NULL_BUFFER, not NULL.
-
- * cpplib.c (dump_special_to_buffer): New function.
- (initialize_builtins): Use it.
-
-Wed Jun 5 19:10:22 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa/pa.h (TEXT_SPACE_P): Fix thinko in last change.
-
-Wed Jun 5 16:25:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h (ASM_DEFAULT_SPEC): Default to "", not -mpwr.
-
- * sysv4.h (SUBTARGET_SWITCHES): Add -mshlib.
- (LINK_PATH_SPEC): Add -compat-bsd support from Solaris.
- (LINK_SPEC): Eliminate %{b} and %{G}, since they conflict with GCC
- switches. Defer shared library support to LINK_SHLIB_SPEC. Defer
- target selection to LINK_TARGET_SPEC.
- (LINK_SHLIB_SPEC): Provide two different versions, depending on
- whether shared libraries are default or not. Make shared
- libraries not default until linker is fixed.
- (LINK_OS_*_SPEC): New specs for OS specific linker switches.
- (SUBTARGET_EXTRA_SPECS): Add new specs.
-
- * {sol2,sysv4}.h (LINK_SPEC): Move Solaris link into general link spec.
-
- * {sysv4,sysv4le,eabile}.h (LINK_TARGET_SPEC): Only pass -oformat
- to the linker if the user is changing the default endian format.
-
- * {sol2,linux,eabisim,eabilesim}.h (LINK_OS_DEFAULT_SPEC): Define
- to use the appropriate OS link spec.
-
-Wed Jun 5 16:35:10 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * ginclude/stddef.h: Fix typo: TYPE_ptrdiff_t to _TYPE_ptrdiff_t.
-
-Wed Jun 5 15:52:57 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * varasm.c (output_constructor): Handle RANGE_EXPR in array index.
-
-Wed Jun 5 13:45:54 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * sparc.md (*call_{address,symbolic}_struct_value_sp32): Allow
- operand 2 to be const0_rtx.
-
-Tue Jun 4 16:43:44 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * varasm.c (make_decl_rtl): Don't update DECL_ASSEMBLER_NAME for
- local statics.
-
- * c-decl.c (start_decl): Always set DECL_COMMON on statics.
- * varasm.c (assemble_variable): Only treat vars with DECL_COMMON
- as common.
-
-Tue Jun 4 14:55:49 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.c (reloc_needed): New function.
- * pa.h (TEXT_SPACE_P): Variables/constants with initializers
- requiring relocs never live in the text space.
-
-Tue Jun 4 14:10:46 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * sh.c (fp_zero_operand): Do not accept minus zero.
-
- * sh.h (ASM_OUTPUT_LOOP_ALIGN): Define.
- (ASM_OUTPUT_ALIGN_CODE): Define.
- (ADJUST_INSN_LENGTH): Add in bytes that may be added by
- alignment.
- * sh.c (output_branch): Run ADJUST_INSN_LENGTH in reverse to get
- correct length. Just call abort rather than returning "bad".
- (find_barrier): Adjust limits for possible alignment.
-
-Tue Jun 4 09:35:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/t-solaris: New target config file for PowerPC Solaris
- without gas.
-
- * rs6000/t-ppc: Eliminate all multilib varients except for
- software floating point.
-
- * configure (powerpcle-*-solaris*): If not --with-gnu-as, use
- t-solaris, not t-ppc.
-
- * rs6000/sol2.h (MULTILIB_DEFAULTS): Add correct defaults for
- Solaris.
-
- * rs6000/sysv4.h (ASM_OUTPUT_SECTION_NAME): Clone from svr4.h, omit
- @progbits, since Solaris assembler doesn't like it.
- (LIB_SOLARIS_SPEC): If -msolaris-cclib, add libabi.a.
- ({START,END}FILE_SOLARIS_SPEC): If -msolaris-cclib, use explicit
- pathnames for the Solaris compiler start/end files.
- (ASM_SPEC): Pass -mno-regnames to the assembler.
-
-Mon Jun 3 19:40:10 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips/abi64.h (CPP_SPEC): Make -mabi=n32 the default.
- * mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT, MULTILIB_DEFAULTS,
- ASM_SPEC, STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
- * mips.md (tablejump_internal4+1): Fix typo in condition.
- * mips/x-iris6 (CC, OLDCC): Define to be `cc -32'.
-
-Mon Jun 3 07:57:35 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.def ([LR]SHIFT_EXPR): Remove `a' from printed names.
-
- * sparc.md (call): Mask unimp operand to 12 bits, just like Sun.
-
- * expr.c (store_field): Fix typo in last change; update TARGET addr.
-
- * c-decl.c (start_struct): Set TYPE_PACKED from flag_pack_struct.
- (start_enum): Likewise but from flag_short_enums.
- (finish_enum): Test TYPE_PACKED, not flag_short_enums.
- * stor-layout.c (layout_decl): Test DECL_PACKED and TYPE_PACKED
- instead of flag_pack_struct.
- (layout_record): Likewise.
-
-Sun Jun 2 19:41:14 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips.md (tablejump_internal3, tablejump_internal4): New patterns.
- (tablejump): Use them for PIC code.
-
-Fri May 31 17:26:53 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.c (ix86_expand_epilogue): Don't generate references to an
- exposed vacated stack.
- * i386.md (epilogue_set_stack_ptr): New.
-
-Fri May 31 15:07:49 1996 Jim Wilson <wilson@cygnus.com>
-
- * mips/abi64.h: Add -mabi=n32 support.
- (ABI_64BIT): Delete.
- (TARGET_LONG64, CPP_SPEC, STACK_BOUNDARY, MIPS_STACK_ALIGN,
- GP_ARG_LAST, FP_ARG_LAST, SUBTARGET_CONDITIONAL_REGISTER_USAGE,
- MAX_ARGS_IN_REGISTER, FUNCTION_ARG_PADDING, RETURN_IN_MEMORY,
- SETUP_INCOMING_VARARGS): Modify.
- (REG_PARM_STACK_SPACE): Ifdef out.
- (TARGET_DEFAULT, SUBTARGET_TARGET_OPTIONS): Define.
- * mips/iris6.h: Add -mabi=n32 support.
- (TARGET_DEFAULT, ASM_OUTPUT_INTERNAL_LABEL,
- ASM_GENERATE_INTERNAL_LABEL): Delete.
- (MULTILIB_DEFAULTS, ASM_SPEC, EXTRA_SECTION_FUNCTIONS,
- ASM_OUTPUT_ALIGNED_LOCAL, STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
- Modify.
- (MIPS_ABI_DEFAULT, LOCAL_LABEL_PREFIX): Define.
- * mips.c: Add -mabi=n32 support.
- (mips_const_double_ok, mips_move_1word, mips_move_2words,
- function_arg, override_options, mips_asm_file_start,
- compute_frame_size, save_restore_insns, function_prologue,
- mips_expand_prologue, function_epilogue, mips_function_value): Modify.
- (mips_abi, mips_abi_string): Define
- * mips.h: Add -mabi=n32 support.
- (ABI_64BIT): Delete.
- (TARGET_OPTIONS, INITIAL_ELIMINATION_OFFSET, GO_IF_LEGITIMATE_ADDRESS,
- CONSTANT_ADDRESS_P, LEGITIMATE_CONSTANT_P, LEGITIMIZE_ADDRESS,
- ASM_OUTPUT_ADDR_DIFF_ELT): Modify.
- (enum mips_abi_type, SUBTARGET_TARGET_OPTIONS): Define.
- (mips_abi, mips_abi_string): Declare.
- * mips.md (jump, tablejump_internal1, tablejump_internal2): Add
- -mabi=n32 support.
- * mips/t-iris6 (MULTILIB_OPTIONS): Add -mabi=n32 support.
- * mips/xm-irix6.h (HOST_BITS_PER_LONG): Use _MIPS_SZLONG not 64.
- * ginclude/va-mips.h (va_start): Add -mabi=n32 support.
-
-Fri May 31 14:45:30 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -msolaris-cclib to use
- the Sun compiler's crt files instead of ours.
- ({START,END}FILE_SOLARIS_SPEC): If -msolaris-cclib, use the Sun
- compiler's crt files instead of ours.
- (SUBTARGET_OVERRIDE_OPTIONS): Don't set -msdata=data for Solaris.
- (SBSS_SECTION_ASM_OP): For Solaris, don't use @nobits.
- (CPP_OS_SOLARIS_SPEC): Remove -Asystem(unix) and -Asystem(svr4).
-
- * rs6000/t-ppc{,gas} (MULTILIB*): Add Solaris specific multilibs.
-
- * rs6000/eabi{,le}sim.h (*_DEFAULT_SPEC): Rather than using
- duplicate definitions, just use %(...) so that there is only one
- place in the specs file where the switches are defined.
- * rs6000/{linux,sol2}.h (*_DEFAULT_SPEC): Ditto.
-
- * rs6000/sol2.h (CPP_PREDEFINES): Use the standard one in sysv4.h.
- (RS6000_ABI_NAME): Default is solaris.
- (ASM_OUTPUT_ALIGNED_LOCAL): Don't redefine.
-
- * rs6000/sol-c{i.asm,n.asm,c0.c}: Provide more things that Solaris
- needs for program startup.
-
-Thu May 30 21:57:34 1996 Mike Stump <mrs@cygnus.com>
-
- * tree.def (OFFSET_REF): Remove.
- * expr.c (expand_expr, case OFFSET_REF): Likewise.
- * tree.c (substitute_in_expr): Remove OFFSET_REF code.
-
-Wed May 29 14:54:44 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/eabi.asm (__eabi): If not -mrelocatable, don't assemble
- relocatable functions, so that it can be assembled with the
- Solaris assembler.
-
- * rs6000/sysv4.h (CPP_SYSV_SPEC): Define _RELOCATABLE if
- -mrelocatable-lib as well as -mrelocatable.
-
- * rs6000.c (rs6000_file_start): New function to print some more
- information to the asm file.
- * rs6000/{sysv4,win-nt,rs6000}.h (ASM_FILE_START): Call it.
-
-Tue May 28 15:21:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.h (FIRST_PSEUDO_REGISTER): Bump to 77.
- ({FIXED,CALL_USED}_REGISTERS): Add support for fpmem pseudo register.
- (REG_ALLOC_ORDER, HARD_REGNO_{NREGS,MODE_OK}): Likewise.
- (REGISTER_MOVE_COST, reg_class, REG_CLASS_{NAMES,CONTENTS}): Likewise.
- (REGNO_REG_CLASS, PREFERRED_RELOAD_CLASS): Likewise.
- (CLASS_{MAX_NREGS,CANNOT_CHANGE_SIZE,MAX_NREGS}): Likewise.
- (rs6000_stack, {,DEBUG_}REGISTER_NAMES): Ditto.
- (FPMEM_{REGNO_P,REGNUM}): New macros for fpmem register.
- (rs6000_fpmem_{offset,size}): New global variables.
- (RS6000_VARARGS_OFFSET): Fpmem temporary storage is located
- between outgoing arg area and varargs save area.
- (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Likewise.
- (PREDICATE_CODES): Add fpmem_operand.
- ({count_register,fpmem}_operand): Add declarations.
-
- * rs6000.c ({rs6000,alt}_reg_names): Add support for fpmem 'register'.
- (rs6000_fpmem_{offset,size}): New global variables.
- (fpmem_operand): Return true for fpmem registers.
- (gpc_reg_operand): The fpmem register is not general purpose.
- (includes_rshift_p): Add casts to silence warnings from Solaris
- PowerPC host compiler.
- (print_operand): Add 'v' operand type for the upper 16 bits of
- signed constants, to placate the Solaris assembler.
- ({rs6000,debug}_stack_info): Add support for fpmem 'register'.
- (output_epilog): Likewise.
-
- * rs6000.md (addsi3,movsi,movsf,movdi): Use %v for constants with
- the upper 16 bits, to get the sign correct for PowerPC Solaris.
- (float{,uns}sidf2,fix_truncdfsi2): Rewrite to use 'register' 76
- for the memory location used to convert between float and integer.
-
- * sysv4.h (ASM_OUTPUT_{CON,DE}STRUCTOR): Use code laid down in
- .init and .fini for making constructors and destructors under
- Solaris.
- (ASM_SPEC): Do not pass -u to the assembler.
- (CC1_SPEC): -mrelocatable implies -meabi.
-
- * sol2.h (RS6000_ABI_NAME): Default ABI is Solaris, not System V.4.
- (ASM_OUTPUT_ALIGNED_LOCAL): Don't define Solaris specific method.
-
-Mon May 27 06:39:13 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (expand_builtin, case BUILT_IN_{LONG,SET}JMP):
- Convert block address from ptr_mode to Pmode.
-
-Sun May 26 20:05:43 1996 Doug Evans <dje@cygnus.com>
-
- * gcc.c (MSDOS pexecute): Call xmalloc, not malloc.
-
-Sun May 26 08:31:54 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure (vax-*-{sysv}): tm_file and xm_file now list.
- (vax-*-ultrix): tm_file is now list.
- (we32k-att-sysv*): xm_file now list.
- * vax/xm-netbsd.h: Deleted.
- * vax/netbsd.h: No longer include vax.h and config/netbsd.h.
- * vax/ultrix.h, vax/vaxv.h: No longer include vax.h.
- * vax/xm-vaxv.h: No longer include xm-vax.h.
- * xm-we32k.h: No longer include xm-svr3.h.
-
- * configure: Separately set target_cpu_default for two
- case statements and then combine if both set.
- (alpha-*-winnt3): tm_file and xm_file are now list.
- Set target_cpu_default to 64.
- * winnt/config-nt.bat: Make .h files properly for Alpha.
- * alpha.h (WINDOWS_NT): No longer defined and used.
- (MASK_WINDOWS_NT, TARGET_WINDOWS_NT): New macros.
- (ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_WINDOWS_NT.
- * alpha.c (output_prolog): Test TARGET_WINDOWS_NT, not WINDOWS_NT.
- * alpha.md: Likewise.
- * alpha/config-nt.sed: Properly set tm_file and {build,host}_xm_file.
- * alpha/win-nt.h: Don't include alpha.h
- (WINDOWS_NT): No longer define.
- * alpha/xm-winnt.h: Don't include xm-alpha.h and winnt/xm-winnt.h.
-
-Fri May 24 12:34:22 1996 Doug Evans <dje@seba.cygnus.com>
-
- * configure (cpu_type): Add case for arm.
- (sparclet-*-aout*): Delete extra_headers.
-
- * varasm.c (asm_output_bss): New argument DECL.
- Use ASM_DECLARE_OBJECT_NAME if defined.
- (asm_output_aligned_bss): Likewise.
- (assemble_variable): Pass DECL to ASM_OUTPUT{,_ALIGNED}_BSS.
- * arm/aout.h (ASM_OUTPUT_ALIGNED_BSS): Update.
- * h8300.h (ASM_OUTPUT_BSS): Update.
- * i386/linux.h (ASM_OUTPUT_ALIGNED_BSS): Update.
- * i386/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
- * m68k/coff.h (ASM_OUTPUT_ALIGNED_BSS): Update.
- * m68k/linux.h (ASM_OUTPUT_ALIGNED_BSS): Update.
- * m68k/m68k-aout.h (ASM_OUTPUT_BSS): Update.
- * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
- * rs6000/win-nt.h (ASM_OUTPUT_ALIGNED_BSS): Update.
- * sparc/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
-
-Thu May 23 19:55:52 1996 Jim Wilson <wilson@cygnus.com>
-
- * combine.c (set_nonzero_bits_and_sign_copies): Set reg_sign_bit_copies
- to one not zero to indicate value is unknown.
-
-Thu May 23 18:39:24 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * config/netbsd.h (SWITCH_TAKES_ARG): Add -R.
- (LINK_SPEC): Add %{R*}.
-
- * m68k/lb1sf68.asm: Construct exception masks at compile time
- instead of or'ing in bits at run time.
-
-Thu May 23 15:53:06 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * sh.md: Add new instruction types fp and fpdiv. Set new
- instruction types where appropriate. Add function unit fp.
- Claim that store instructions use function unit memory.
-
-Thu May 23 00:36:19 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.h (CONSTANT_ADDRESS_P): Don't accept CONST or HIGH on H8/300H.
- * h8300.md: Use "m" rather than "o" constraint everywhere appropriate.
- Cleanup use of "i" and "n" constraints.
-
-Wed May 22 17:43:37 1996 Jim Wilson <wilson@cygnus.com>
-
- * fixincludes (pthread.h): Add extern to __page_size* declarations
- for AIX 4.1.x.
-
- * combine.c (nonzero_bits): Don't assume arg pointer has same
- alignment as stack pointer.
-
-Wed May 22 16:09:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (LINK_START_DEFAULT_SPEC): Spell macro correctly.
- (LIB_DEFAULT_SPEC): Provide default version.
-
-Wed May 22 11:23:57 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * i386.md (return_pop_internal): new pattern.
- (pop): disable emitting of bogus move instruction.
- * i386.c (ix86_expand_epilogue): use gen_return_pop_internal to
- simultanously return and pop args; removed stray semicolon.
- * config/linux-aout.h, config/linux.h (SET_ASM_OP): Added for
- __attribute__ ((alias ())) support.
-
-Wed May 22 08:06:42 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu.edu>
-
- * combine.c (init_reg_last_arrays, setup_incoming_promotions):
- Correct prototypes.
-
-Tue May 21 13:42:17 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.md (div and mode patterns): Rewrite.
-
- * pa.c (basereg_operand): Never accept a CONST_INT.
-
-Tue May 21 12:26:40 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * pa/pa-hpux9.h, pa-osf.h (LINK_SPEC): Provide version for Snake.
-
-Tue May 21 07:20:48 1996 Pat Rankin <rankin@eql.caltech.edu>
-
- * vax.h (TARGET_NAME): Define unless already defined.
- (TARGET_VERSION): Print TARGET_NAME.
- * vax/vms.h (TARGET_NAME): Always redefine.
- (TARGET_VERSION): Delete; retain vax.h definition.
-
-Mon May 20 14:00:44 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.c (output_file_start): Delete misplaced semicolon.
-
-Mon May 20 11:58:15 1996 Jeffrey A. Law <law@cygnus.com>
-
- * reorg.c (relax_delay_slots): Call update_block before
- redirecting a branch past a redundant insn.
-
-Sun May 19 16:40:53 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * Makefile.in (libobjc.a, sublibobjc.a): 'specs' added to
- dependencies.
-
-Sun May 19 12:25:48 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure: Add new switch to provide default for cpu_type;
- delete numerous settings of it in main switch.
- (hppa): Reflect rerrangements below; use new configure features.
- * pa/pa-gas.h, pa/pa-pro-end.h: New files.
- * pa/pa1.h, pa/pa1-osf.h, pa/pa1-ghpux.h, pa/pa1-oldas.h: Deleted.
- * pa/pa1-ghpux9.h, pa/pa1-hpux9.h, pa/pa1-hpux.h: Deleted.
- * pa/pa1-ghiux.h, pa/pa1-hiux.h, pa/pa-ghpux.h: Deleted.
- * pa/pa-gux7.h, pa/pa-ghiux.h: Deleted.
- * pa/pa-hiux.h: No longer include pa-hpux.h.
- * pa/pa-hpux.h: No longer include pa.h.
- (TARGET_DEFAULT): Unset before setting.
- (LINK_SPEC): Provide option for pa1.
- * pa/pa-hpux7.h: No longer include pa.h.
- (HP_FP_ARG_DESCRIPTOR_REVERSED): Don't define here.
- * pa/pa-hpux9.h, pa/pa-oldas.h: No longer include pa-hpux.h.
- (TARGET_DEFAULT): Don't need to set here.
- * pa/pa-osf.h: No longer include pa.h.
- (TARGET_DEFAULT): Don't define; identical to default.
- * pa/pa-pro.h: No longer include pa.h.
- Move definitions after include to new file pa-pro-end.h.
- * pa.h (TARGET_SWITCHES): Include TARGET_CPU_DEFAULT.
- (TARGET_CPU_DEFAULT): Provide default value.
- (CPP_SPEC): Test TARGET_CPU_DEFAULT too.
-
- * Makefile.in (function.o): Includes bc-emit.h.
- (reg-stack.o): Includes insn-flags.h.
- * expr.h (function_value): Deleted; no such function.
- (bc_build_calldesc, bc_runtime_type_code): New declarations.
- * c-decl.c: Add prototypes for all static functions.
- * c-iterate.c: Likewise.
- * dbxout.c: Likewise.
- (adspath): Delete; never used and has numerous parse errors.
- * dwarfout.c: If not GNUC, make `inline' null; otherwise, leave alone.
- Add `static' to inline functions.
- Add prototypes for static function.
- * expr.c (bc_runtime_type_code): Delete redundant declaration.
- * function.c: Include bc-emit.h.
- ({save,restore}_machine_status): Add prototype for args.
- (bc_runtime_type_code, bc_build_calldesc): Delete redundant decls.
- (bc_emit_trampoline, bc_end_function): Likewise.
- * reg-stack.c: Include insn-flags.h.
- Add prototypes for static functions.
- (gen_jump, gen_movdf, gen_movxf): Delete redundant declarations.
- (find_regno_note, emit_jump_insn_before, emit_label_after): Likewise.
- (swap_rtx_condition): Now static.
- * sdbout.c: Add prototypes for static functions.
- (sdbout_parms, sdbout_reg_parms): Delete extra parm to plain_type.
-
-Sun May 19 11:50:10 1996 John Carr <jfc@mit.edu>
-
- * alpha.c (alpha_emit_conditional_move): Compare to 0 in correct mode.
-
-Sat May 18 20:17:27 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.c (prepare_move_operands): If source is r0, and dest is reg+reg
- MEM, then copy source to a pseudo-reg.
- * sh.md (untyped_call): New pattern.
-
- * unroll.c (copy_loop_body): When update split DEST_ADDR giv,
- check to make sure it was split.
- (find_splittable_givs): Fix reversed test of verify_addresses result.
-
-Sat May 18 10:26:04 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * tree.c (unsave_expr_now): Avoid use of NULL_RTX since no rtl.h.
-
- * configure: Set cpu_default, tm_file, and xm_file early.
- Remove redundant settings of those, tmake_file, and xmake_file.
- Use ${tm_file} and ${xm_file} to refer to the main files.
- Sort some entries for consistency and reformat some others.
- (rs6000, powerpc): Remove bogus test on host == target.
- (alpha-*-linux): xm-linux.h no longer includes xm-alpha.
- (alpha-*-osf*): Remove redundant setting of target_cpu_default.
- (*-convex-*): Use target_cpu_default instead of separate .h files.
- (clipper-intergraph-clix*): clix.h no longer includes any files.
- (i860, i960, pdp11): Reflect removal of includes listed below.
- * alpha/xm-linux.h: No longer include xm-alpha.h.
- * clipper/clix.h: No longer include clipper.h and svr3.h.
- * convex.h: Provide a default for TARGET_DEFAULT.
- Take "or" of TARGET_DEFAULT and TARGET_CPU_DEFAULT everywhere.
- * convex/convex{1,2,32,34,38}.h: Deleted.
- * i860/bsd-gas.h: No longer include bsd.h.
- * i860/bsd.h: No longer include i860.h.
- * i860/fx2800.h: No longer include i860/sysv4.h.
- (OUTPUT_TDESC): No longer define.
- (ASM_FILE_END): Move redefinition to here.
- * i860/mach.h: No longer include i860.h.
- * i860/paragon.h, i860/sysv3.h: No longer include i860.h and svr3.h.
- * i860/sysv4.h: No longer include i860.h and svr4.h.
- (ASM_FILE_END): Delete redefinition from here.
- * i860/xm-fx2800.h: No longer include xm-i860.h.
- * i860/xm-paragon.h, i860/xm-sysv{3,4}.h: Deleted.
- * i960/i960-coff.h: No longer include i960.h and dbxcoff.h.
- * i960/vx960-coff.h: No longer include i960-coff.h.
- * i960/vx960.h: No longer include i960.h.
- * pdp11/2bsd.h: No longer include pdp11.h.
-
- * i370/i370.h: Renamed from mvs.h.
- * i370/i370.c: Renamed from mvs370.c.
- * i370/t-i370: Renamed from t-mvs.
- * i370/xm-i370.h: Renamed from xm-mvs.h.
- * configure (i370-*-mvs*): Use default names for all files.
-
- * c-parse.in: Update number of shift/reduce conflicts for objc.
-
-Sat May 18 08:20:17 1996 Dennis Glatting (dennisg@plaintalk.bellevue.wa.us)
-
- * m68k/next.h (FINALIZE_TRAMPOLINE): Add missing backslashes.
-
-Fri May 17 19:57:20 1996 Pat Rankin <rankin@eql.caltech.edu>
-
- * vax/xm-vms.h (dbxout_resume_previous_source_file): New macro.
-
-Fri May 17 14:20:13 1996 Mike Stump <mrs@cygnus.com>
-
- * expr.c (expand_expr, cond TARGET_EXPR): Make TARGET_EXPRs
- redoable for UNSAVE_EXPR.
- * stmt.c (expand_decl_cleanup): Wrap the cleanup in an UNSAVE_EXPR
- to that we can redo it.
- * tree.c (unsave_expr_now): Handle TARGET_EXPRs fully now.
- * tree.def (TARGET_EXPR): Add a fourth field so that TARGET_EXPRs
- are redoable.
-
- * expr.c (expand_expr, cond UNSAVE_EXPR): Move from the C++
- frontend to the backend where it belongs.
- * tree.c (unsave_expr{,_now}): Likewise.
- * tree.def (UNSAVE_EXPR): Likewise.
- * tree.h (unsave_expr{,_now}): Likewise.
-
-Fri May 17 15:04:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (lshrsi3 insns): Add special case code for shifting by
- 0 to avoid bad code generated with no optimization.
-
-Fri May 17 13:50:55 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * i386/unix.h (ASM_OUTPUT_MI_THUNK): Define.
- * i386/{att.h,bsd.h,sun386.h} (ASM_OUTPUT_MI_THUNK): Delete.
-
-Fri May 17 13:34:28 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * fp-bit.c (_fpdiv_parts): Correct sign handling when
- dividing zero or infinity by something.
-
-Fri May 17 12:36:36 1996 Doug Evans <dje@seba.cygnus.com>
-
- Standardize option output in assembler files.
- * Makefile.in (toplev.o): Pass -DTARGET_NAME.
- * arm/aout.h (ASM_OUTPUT_OPTIONS): Delete.
- (ASM_FILE_START): Delete option output support.
- * arm.c (output_option, output_options, m_options): Delete.
- * m88k.c (output_file_start): Delete option output support.
- * m88k.h (ASM_COMMENT_START): Define.
- * mips.c (target_switches, print_options): Delete.
- (mips_asm_file_start): Put output of -G,Cpu,ISA here.
- * mips.h (ASM_COMMENT_START): Change from "\t\t#" to " #".
- * rs6000.c (output_option, m_options, output_options): Delete.
- * rs6000.h (ASM_OUTPUT_OPTIONS): Delete.
- (ASM_COMMENT_START): Define.
- (ASM_FILE_START): Delete option output support.
- * rs6000/sysv4.h (ASM_FILE_START): Likewise.
- * rs6000/win-nt.h (ASM_FILE_START): Likewise. Delete duplicate.
- * sh.c (output_option, m_options, output_options): Delete.
- (output_file_start): Delete option output support.
- * sh.h (ASM_FILE_START): Likewise.
- (ASM_COMMENT_START): Define.
- * dwarfout.c (*): flag_verbose_asm renamed to flag_debug_asm.
- * flags.h (flag_debug_asm): Declare.
- * toplev.c (print_version): New function.
- (print_single_switch): New arguments pos, max, indent, sep, term.
- (print_switch_values): New arguments pos, max, indent, sep, term.
- Update call to print_single_switch. Output options passed and
- options enabled.
- (MAX_LINE): New macro.
- (flag_debug_asm): Define.
- (compile_file): Output options to assembler file.
- (main): Recognize -dA. Call print_version. Update call to
- print_switch_values.
- (line_position): Deleted.
-
-Fri May 17 10:50:44 1996 Stan Cox (coxs@dg-rtp.dg.com)
-
- * i386.c (function_prologue, ix86_expand_prologue,
- function_epilogue, ix86_expand_epilogue): Generate prologue and
- epilogue as RTL (prior to scheduling) instead of emitting asm.
- (override_options): If only -march is given, make it the default -mcpu.
- * i386.h (FUNCTION_BEGIN_EPILOGUE): Renamed from FUNCTION_EPILOGUE.
- * i386.md (return, return_internal, prologue, prologue_set_got,
- prologue_get_pc, epilogue, leave, pop): New patterns for emitting
- asm from prologue and epilogue RTL.
- * m88k/t-dgux (T_CFLAGS): Delete.
- * m88k/x-dgux (X_CFLAGS): New.
-
-Fri May 17 09:54:23 1996 Jim Meyering (meyering@asic.sc.ti.com)
-
- * Makefile.in (stamp-crt{,S}): Use -o to avoid conflicts if
- both of these are built in parallel.
-
-Fri May 17 08:55:19 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expmed.c (store_split_bit_field): Don't assume the alignment
- of VALUE is the same as the record.
-
- * configure: Write #define TARGET_CPU_DEFAULT into tm.h
- instead of defining MAYBE_TARGET_DEFAULT in Makefile.
- (alpha-*-linux): Set target_cpu_default to 4 and xmake_file to none.
- (alpha-*-osf*): Set target_cpu_default to 4 if --gas.
- * Makefile.in (gcc.o, toplev.o, $(out_object_file)):
- Remove MAYBE_TARGET_DEFAULT.
-
- * combine.c (insn_cuid): New function.
- (INSN_CUID): Sometimes call it.
-
-Fri May 17 08:12:37 1996 Scott Christley <scottc@net-community.com>
-
- * objc/sendmsg.c (objc_get_uninstalled_dtable): New function.
- * objc/objc-api.h (objc_get_uninstalled_dtable): New declaration.
-
- * objc/thr-os2.c, objc/thr-posix.c, objc/thr-mach.c: New files.
- * objc/THREADS.MACH: New file.
-
- * objc/sendmsg.c (nil_method): Deleted from here.
- * objc/nil_method.c: New file.
- * Makefile (OBJC_O): Add dependency for nil_method.c.
-
- * objc/hash.c (hash_is_key_in_hash): New function.
- * objc/hash.h: Include objc/objc.h here instead of in objc/hash.c
- to get BOOL typedef.
-
-Fri May 17 08:01:48 1996 Doug Rupp (rupp@gnat.com)
-
- * msdos/configur.bat: If Ada subdirectory present, adjust Makefile.
-
-Fri May 17 07:40:04 1996 Ulrich Drepper (drepper@cygnus.com)
-
- * stddef.h: If need_wint_t defined, nothing in this file is needed.
- (_WINT_T, __WINT__TYPE__, wint_t): Define under certain circumstances.
-
-Thu May 16 18:53:25 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * fold-const.c (fold, case EQ_EXPR): When folding VAR++ = CONST,
- mask the new const if VAR is a bitfield reference; also for VAR--.
-
-Thu May 16 18:29:03 1996 Doug Evans <dje@seba.cygnus.com>
-
- * varasm.c (function_section): Delete flag_function_sections support.
- (assemble_start_function): Put it here. Use UNIQUE_SECTION if defined.
-
-Wed May 15 13:35:11 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.{h,c,md} (rs6000_pic_register): Delete all uses, use
- pic_offset_table_rtx instead.
-
- * rs6000.md (move_to_float): Rewrite so that it uses the register
- allocator to allocate the stack temp, instead of calling
- rs6000_stack_temp.
- (fix_truncdfsi2): Likewise.
-
- * rs6000.c (rs6000_stack_temp): Delete, no longer used.
-
-Wed May 15 10:39:27 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define.
-
-Sat May 11 07:42:59 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (store_field): Support BLKmode bitfield if aligned on
- byte boundary using emit_block_move.
- (expand_expr, case COMPONENT_REF): Likewise.
-
-Fri May 10 18:33:39 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * configure (alpha-*-linux): Reverse order in tm_file list.
- Delete xmake_file.
- * alpha/x-linux: Deleted.
- * alpha/linux.h (ASM_FINAL_SPEC): Add #undef.
- * alpha/xm-linux.h: Remove bogus trailing #endif.
-
- * loop.c (maybe_eliminate_biv_1): Disable all but two cases
- of biv elimination with givs and restrict those two cases to
- an ADD_VAL that is an address.
-
- * flow.c (mark_set_1, mark_used_regs): Clean up usages
- of ALL_NEEDED; change to SOME_NOT_NEEDED and set properly.
-
-Fri May 10 11:37:38 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * toplev.c (compile_file): Don't warn about artificial functions
- declared static and not defined.
-
-Thu May 9 22:03:28 1996 Doug Evans <dje@cygnus.com>
-
- * varasm.c (assemble_start_function): ASM_DECLARE_FUNCTION_NAME
- needn't consider bytecodes.
- (assemble_variable): ASM_DECLARE_OBJECT_NAME needn't
- consider bytecodes.
- * toplev.c (rest_of_decl_compilation): Likewise with
- ASM_FINISH_DECLARE_OBJECT.
- * arm/aof.h (ASM_DECLARE_{FUNCTION,OBJECT}_NAME): Delete bytecode
- support.
- * vax/vms.h (ASM_DECLARE_OBJECT_NAME): Likewise.
-
-Thu May 9 19:36:13 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.h (SET_ASM_OP): Define.
-
-Thu May 9 13:31:58 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sysv4.h (SUBTARGET_{SWITCHES,OPTIONS}): Add support for
- finer grain control on -msdata, so that eabi people can specify to
- compile sdata code to only use r13 instead of r2/r13. Make
- -mrelocatable-lib turn off -msdata, just like -m relocatable does.
- (SUBTARGET_OVERRIDE_OPTIONS): Ditto.
- (ENCODE_SECTION_INFO): Move to rs6000.c.
- (ASM_SPEC): -msdata=eabi sets -memb also.
- (CC1_SPEC): -mno-sdata gets converted to -msdata=none.
-
- * rs6000.c (rs6000_sdata{,_name}): Add support for finer grain
- control on -msdata.
- (output_options, small_data_operand, print_operand): Likewise.
- (rs6000_select_section): Likewise.
- (rs6000_encode_section_info): Move here from sysv4.h, section
- names are stored as STRING nodes, not IDENTIFIER.
-
-Wed May 8 21:04:49 1996 Doug Evans <dje@cygnus.com>
-
- * function.c (aggregate_value_p): Return 1 if TREE_ADDRESSABLE.
- * pa.h (RETURN_IN_MEMORY): No longer test for TREE_ADDRESSABLE.
-
-Tue May 7 13:42:57 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.c: Include obstack.h.
- (bit_memory_operand): New function.
- (print_operand): Append ":16" to a memory reference to
- the tiny data area.
- (h8300_tiny_data_p): New function.
- (h8300_valid_machine_decl_attribute): Accept "tiny_data". Fix typo.
- (h8300_encode_label): New function.
- (h8300_adjust_insn_length): References to the tiny data section
- are two bytes shorter than normal accesses on the H8/300H.
- * h8300.h (OK_FOR_U): Fix thinko.
- (ENCODE_SECTION_INFO): Encode info for tiny data variables.
- (STRIP_NAME_ENCODING): Define.
- * h8300.md (movqi insn): Fix length for a constant load.
- (movstrictqi, movhi, movstricthi): Likewise.
- (memory btst patterns): Add register to the constraints to keep
- reload happy.
-
- * h8300.h (OK_FOR_U): (const (plus (symbol_ref) (const_int)))
- is valid U operand if SYMBOL_REF_FLAG is set on SYMBOL_REF.
- * h8300.md (memory btst patterns): New patterns.
-
- * h8300.c (h8300_eightbit_data_p): Renamed from h8300_tiny_data_p.
- (h8300_eightbit_data_p): Check for the "eightbit_data"
- attribute instead of "tiny_data".
- (h8300_valid_machine_decl_attribute): Likewise.
- * h8300.h (ENCODE_SECTION_INFO): Call h8300_eightbit_data_p
- instead of h8300_tiny_data_p.
-
- * h8300.h (READONLY_DATA_SECTION): Define.
- (EXTRA_SECTIONS): Add in_readonly_data.
- (READONLY_DATA_SECTION_ASM_OP): Define.
- (EXTRA_SECTION_FUNCTINOS): Add readonly_data.
-
-Tue May 7 09:26:24 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * varasm.c (make_decl_rtl): Update DECL_ASSEMBLER_NAME for local
- statics. Remove reference to flag_no_common.
-
-Mon May 6 21:38:36 1996 Paul Eggert <eggert@twinsun.com>
-
- * cpplib.c (skip_comment, handle_directive): Don't use uninit vars.
-
-Mon May 6 18:47:36 1996 Doug Evans <dje@cygnus.com>
-
- * dbxout.c (dbxout_function): When deciding to call dbxout_function_end
- change test from flag_function_sections to DECL_SECTION_NAME != NULL.
-
- * varasm.c (named_section): Accept any decl.
-
-Mon May 6 16:41:08 1996 Stan Cox (coxs@dg-rtp.dg.com)
-
- * final.c (final_scan_insn): Modify conditional moves whose cc is
- nonstandard.
-
- * c-common.c (decl_attributes): Chain multiple attributes correctly.
-
-Mon May 6 15:41:43 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * stmt.c (expand_decl): Don't deduce alignment of SIZE from
- DECL_ALIGN; use TYPE_ALIGN instead.
-
- * function.c (assign_parms): Set RTX_UNCHANGING_P in stack_parm
- if parm is read-only.
-
- * c-common.c (truthvalue_conversion, case ADDR_EXPR): Don't
- treat address of external decl as always nonzero.
-
-Mon May 6 11:33:57 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * c-decl.c (start_decl): Check -fno-common here.
- * varasm.c (assemble_variable): Instead of here.
- * final.c (end_final): Likewise.
- * c-common.c (init_attributes, decl_attributes): Add A_COMMON.
-
-Mon May 6 11:12:39 1996 Mike Stump <mrs@cygnus.com>
-
- * expr.c (expand_increment): Add third parameter to know when to
- ignore the result value.
- (store_constructor): Likewise
- (expand_expr, case {PRE,POST}{INC,DEC}REMENT_EXPR): Likewise.
- * tree.c (stabilize_reference): Always ignore the first operand of
- COMPOUND_EXPRs.
-
-Mon May 6 13:14:45 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.c (gen_shifty_op): Truncate VALUE to avoid out of bounds array
- access.
-
- * expr.c (expand_expr, case INDIRECT_REF): Delete obsolete code
- to special case a SAVE_EXPR operand.
-
-Mon May 6 10:00:12 1996 Pat Rankin <rankin@eql.caltech.edu>
-
- * vax.h (ASM_OUTPUT_MI_THUNK): Define.
-
-Mon May 6 09:49:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k/linux.h: Use the new trampoline definition.
- (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Deleted.
- (INITIALIZE_TRAMPOLINE): Changed.
- (FINALIZE_TRAMPOLINE, CLEAR_INSN_CACHE): New.
-
-Mon May 6 09:43:55 1996 Patrick J. LoPresti (patl@lcs.mit.edu)
-
- * rtlanal.c (rtx_addr_varies_p): Scan operands of type `E'.
-
-Mon May 6 09:04:40 1996 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * x-linux{,-aout} (BOOT_CFLAGS, STMP_FIXPROTO, STMP_FIXPROTO): Deleted.
- * config/t-linux (BOOT_CFLAGS, STMP_FIXPROTO, STMP_FIXPROTO): New,
- moved from x-linux.
- * t-linux-aout: New file.
- * configure (i[3456]86-*-linux*oldld*, i[3456]86-*-linux*aout*):
- Set tmake_file to t-linux-aout.
-
-Sun May 5 22:13:22 1996 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * Makefile.in (gxx_include_dir): Change to $(prefix)/include/g++.
- (old_gxx_include_dir): New - defined as $(libdir)/g++-include.
- (cccp.o, cpplib.o): Also pass OLD_GPLUSPLUS_INCLUDE_DIR (set
- from $(old_gxx_include_dir)).
- * cccp.c (include_defaults_array): For C++, also search
- OLD_GPLUSPLUS_INCLUDE_DIR.
- * cpplib.c (default_include): Likewise.
- * configure: Remove no-longer-needed support for --gxx-include-dir.
-
-Sun May 5 21:59:53 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-lex.c (check_newline): Fix #pragma parsing; issue error message
- for directive that starts with `p' but isn't `pragma'.
-
-Sun May 5 13:13:40 1996 Jeremy Bettis <jeremy@hksys.com>
-
- * objc/hash.c (hash_value_for_key): Prevent endless loop when 0 was
- stored in a hashtable.
-
-Sun May 5 13:09:54 1996 Satoshi Adachi (adachi@wisdom.aa.ap.titech.ac.jp)
-
- * m68k/newsgas.h (SET_ASM_OP, ASM_WEAKEN_LABEL): Define.
-
-Sun May 5 12:48:08 1996 Stephen L Moshier (moshier@world.std.com)
-
- * tree.c (build_real_from_int_cst): Remove spurious test for
- REAL_IS_NOT_DOUBLE.
-
-Sat May 4 12:17:58 1996 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * arm.h (ASM_OUTPUT_MI_THUNK): Moved here from aout.h. Rewrite to be
- independent of the selected assembler, and to use optimal number of
- instructions.
- * arm/aout.h (ASM_OUTPUT_MI_THUNK): Delete.
-
- * arm/aout.h (ASM_OUTPUT_OPTIONS): Define.
- (ASM_FILE_START): Call ASM_OUTPUT_OPTIONS.
- (BSS_SECTION_OP): Define.
- (ASM_OUTPUT_ALIGN): Don't output anything if byte alignment is wanted.
- (ASM_OUTPUT_ALIGNED_BSS): Define.
- * arm.h (target_cpu_name): Delete.
- (TARGET_SWITCHES): Delete "be" and "le".
- (TARGET_OPTIONS): Delete "cpu-", add "tune=".
- (struct arm_cpu_select): New struct.
- (PROCESSOR_DEFAULT, TARGET_CPU_DEFAULT): Define.
- (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CC_Cmode.
- (CANONICALIZE_COMPARISON): Define.
- * arm.c (arm_select): Declare and initialize.
- (all_procs): Add arm7100.
- (arm_override_options): Parse arm_select structure to determine
- selected architecture and tuning parameters.
- (output_option, output_options): New functions.
- (arm_canonicalize_comparison): New function.
- (arm_gen_movstrqi): Don't add a writeback of the index registers for
- the last instructions.
- (arm_select_cc_mode): Detect case where mode is carry out of unsigned
- arithmetic.
- (output_lcomm_directive): Use bss_section (), and use alignment
- rather than rounding.
- (get_arm_condition_code): Handle CC_Cmode.
- (final_prescan_insn): Avoid boundary case where we would occasionally
- inline MAX_INSNS_SKIPPED+1 insns. Allow call_insns to be inlined in
- APCS_32 mode if they are the last insn in the block.
- * arm.md (*addsi3_compareneg): Delete potentially unsafe insn.
- (*addsi3_compare_op[12]): New insns.
- (*compare_addsi2_op[01]): New insns.
- (*addsi3_carryin, *addsi3_carryin_alt[12]): New insns.
- (*cmp_ite1): Use arm_add_operand instead of arm_rhs_operand.
- * semi.h (PROCESSOR_DEFAULT): Default to PROCESSOR_ARM6.
-
-Fri May 3 10:52:11 1996 1996 Stan Cox (coxs@dg-rtp.dg.com)
-
- * i386.md (movesicc, movehicc) Pentium Pro conditional move insns.
-
- * i386.h (TARGET_PENTIUMPRO, TARGET_CMOVE, BRANCH_COST,
- ASM_OUTPUT_FUNCTION_PREFIX): New macros for conditional move.
-
- * i386.c (asm_output_function_prefix, function_prologue): Setup
- pic on Pentium Pro so a return will match the call.
- (print_operand, put_condition_code): Output conditional move suffixes.
-
-Fri May 3 10:52:11 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * i386/{att.h,gas.h,bsd.h,sub386.h} (ASM_OUTPUT_MI_THUNK): Define.
-
-Wed May 1 17:54:51 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.h (ASM_OUTPUT_MI_THUNK): Fix for sparc64, optimize.
-
-Wed May 1 13:28:32 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * i386/linux.h (ASM_OUTPUT_ALIGNED_BSS): Define.
- * i386/sysv4.h: Likewise.
- * sparc/sysv4.h: Likewise.
-
-Wed May 1 01:44:47 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.c (h8300_adjust_insn_length): Adjust the cost of
- shifts by small constant values.
- * h8300.md: Remove names from many patterns which don't need them.
- (compare insns): Don't underestimate lengths.
- (andqi3 expander): Remove constrains.
- (andhi3): Don't underestimate length.
- (andsi3): Don't underestimate length. Improve code when upper
- or lower half of destination is being cleared.
- (indirect_jump_h8300, indirect_jump_h8300h): Simplify.
- (shift insns): Remove useless "I" constraint.
-
- * h8300.md (bcs type): Remove "bcs" type attribute and all references.
- (bcs insns): Delete. No longer needed.
- (setcc from bitfield): Rewrite to use zero_extract. Provide
- QImode, HImode and SImode variants.
-
-Tue Apr 30 18:13:09 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * svr4.h (SELECT_SECTION): If RELOC is true, put it in data.
-
-Tue Apr 30 17:26:30 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * fold-const.c (fold): Don't call convert to recreate tree nodes
- we already have.
-
-Tue Apr 30 16:52:41 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.c (one_insn_adds_subs_operand): New function.
- (h8300_adjust_insn_length): New function.
- * h8300.h (ADJUST_INSN_LENGTH): Define.
- * h8300.md: Remove obsolete comments.
- (move patterns): Tweak constraints.
- (tst patterns): Use "register_operand" for predicate.
- (adds pattern): Use one_insn_adds_subs_operand to get length
- computation correct.
- (subs pattern): Similarly.
- (movstrhi): Remove unused expander.
- (fancy*, pxor, and-not patterns): Remove. No longer needed.
-
-Tue Apr 30 13:35:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/sol-c0.c (_start): Temporarily display calling
- __do_global_ctors, since the Solaris linker doesn't handle the
- relocations properly.
-
-Mon Apr 29 13:03:12 1996 Doug Evans <dje@cyguns.com>
-
- * sparc/vxsparc.h: sparc-aout.h renamed to aout.h.
-
-Mon Apr 29 00:35:15 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.c (names_small): Remove "BAD" postfix from %r7 byte registers.
- (rtx_equal_function_value_matters): Remove extra declaration.
- (output_simode_bld): New function.
- * h8300.h (NO_FUNCTION_CSE): Do define this.
- (reg_class): Remove LONG_REGS, SP_REG, SP_AND_G_REGS.
- (REG_CLASS_{NAMES,CONTENTS,FROM_LETTER}): Corresponding changes.
- (REGNO_REG_CLASS): Corresponding changes.
- (output_simode_bld): Declare.
- * h8300.md: Nuke comments for stuff which has been fixed.
- (all patterns): Remove references to register class "a" (SP_REGS)
- which no longer exists.
- (many patterns): Accept auto-inc auto-dec addresses in more cases.
- (zero_extendqisi2): New pattern for the H8/300.
- (zero_extendhisi2): Only use zero_extendhisi2_h8300 when not
- optimizing.
- (extendhisi2): Only use extendhisi2_h8300 when not optimizing.
- (extendqisi2): New pattern for the H8/300.
- (bitfield related patterns): Completely rewrite.
- (fancy_bclr, fancy_btst): Deleted.
- (addhi3 pattern for h8300): Handle case where we can't make matching
- constraints (works around hard to fix reload problem).
- (stack_pointer_manip): Delete.
- (and not patterns): New combiner patterns.
-
- * pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Make sure the
- final $CODE$ subspace is in the $TEXT$ space.
-
-Sun Apr 28 14:52:21 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * svr4.h (ASM_OUTPUT_SECTION_NAME): If no decl is specified,
- make the section read/write data.
-
-Sat Apr 27 10:28:59 1996 Michael Meissner <meissner@wogglebug.tiac.net>
-
- * rs6000/t-ppcgas (MULTILIB_EXCEPTIONS): Don't allow -mrelocatable
- and -mcall-sysv-noeabi.
-
- * rs6000/sysv.h (SUBTARGET_OVERRIDE_OPTIONS): The -mcall-aix
- option sets -meabi. Don't allow -mrelocatable without -meabi.
-
-Fri Apr 26 16:10:46 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.md (*smacsi,*smacdi,*umacdi): Fix constraint on
- operand 0.
-
-Fri Apr 26 14:36:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * i960/t-{960bare,vxworks960} (MULTILIB*): Add
- soft-float multilib support.
-
-Fri Apr 26 06:38:56 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * stor-layout.c (layout_decl): Turn off DECL_BIT_FIELD for BLKmode
- that's properly aligned and a multiple of a byte.
-
-Thu Apr 25 22:43:19 1996 Doug Evans <dje@cygnus.com>
-
- * i386/gas.h (ASM_OUTPUT_ALIGN): #if 0 out again.
- Undoes change of Apr. 9.
- * i386/go32.h (ASM_OUTPUT_ALIGN): Define.
-
-Thu Apr 25 14:05:33 1996 Richard Kenner (kennervlsi1.ultra.nyu.edu)
-
- * calls.c (expand_call): In inlining case, if BEFORE_CALLS is
- zero, start looking at first insn (one more place).
-
- * expr.c (expand_builtin, case BUILT_IN_SETJMP): CLOBBER the
- static chain after label at setjmp point.
-
-Thu Apr 25 09:02:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (print_operand{,_address}): Correct compile error if
- TARGET_EABI is not defined. Also, just call small_data_operand,
- without testing the ABI.
- (rs6000_select_section): Ditto.
-
- * rs6000/sysv4.h (CC1_SPEC): For -mcall-solaris, don't pass
- -mno-main-init.
-
-Wed Apr 24 18:26:48 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * collect2.c (handler): Delete export_file when we get a signal.
-
-Wed Apr 24 14:54:44 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa/pa1-ghpux.h (LINK_SPEC): Define. Link in PA1.1 libraries
- by default.
- * pa/{pa1-ghpux9.h, pa1-hpux.h, pa1-hpux9.h}: Likewise.
-
-Wed Apr 24 11:12:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * configure (powerpc{,le}-*-eabi*): Use t-ppc{,gas}, instead of
- t-eabi{,gas}.
- (powerpc-*-linux,powerpcle-*-solaris): Add definitions.
- (MULTILIB_DIRNAMES): Pick shorter names for the multilib
- directories.
- (MULTILIB_*): Do not build -msdata versions of the library. Build
- both system V and eabi versions of the libraries.
-
- * rs6000/t-ppc{,gas} (MULTILIB*): Don't build -msdata versions of
- the libraries. Split -mcall-sysv libraries into
- -mcall-sysv-{eabi,noeabi} varients.
- (LIB2FUNCS_EXTRA): Add eabi.S, eabi-ctors.c.
- (eabi.S): Use eabi.S, not eabi.s for eabi.asm.
- (crt files): Add support for Solaris crt files.
-
- * rs6000/sol{2.h,-c0.c,-ci.asm,-cn.asm}: New files for Solaris.
-
- * rs6000/linux.h: New file for Linux-based GNU system support.
-
- * rs6000/eabi-ci.asm (ppc-asm.h): Include.
- (.got section): Correct attribute.
-
- * rs6000/eabi-c{i,n}.asm (.init,.finit): Add support for System V
- style .init/.fini sections, that constructors and destructors
- place a bl <func> in the appropriate section.
-
- * rs6000/eabi-ctors.c (__do_global_{c,d}tors): Call __init, and
- __fini to handle constructors/destructors in the .init, .fini
- sections.
-
- * rs6000/{eabi,sysv}.h: Move most eabi configuration stuff from
- eabi.h to sysv.h.
-
- * rs6000/sysv.h (TARGET_*): Convert -mcall-xxx from switch into option.
- Add -mcall-{solaris,linux,sysv-eabi,sysv-noeabi} options.
- Add -m{,no-}eabi options to control whether we adhere to
- the System V spec or the EABI spec. Add -m{,no-}regnames to
- control whether registers are printed out as %r0 instead of 0.
- (SUBTARGET_OVERRIDE_OPTIONS): Add support for new -mcall options.
- (FP_ARG_MAX_REG): Use new macros for ABI conformance.
- (RS6000_REG_SAVE): Likewise.
- (STACK_BOUNDARY,BIGGEST_ALIGNMENT): If eabi, align to 8 byte
- boundary, otherwise 16 byte.
- (EXTRA_SECTIONS): Add .init, .fini sections.
- (*_SPEC): Reorganize so that the different targets all have sub
- specs that go in the specs file. Add support for linux and
- Solaris targets.
-
- * rs6000/{sysv4,eabi}*.h (*_SPECS): Only override the default
- spec, all other specs moved to sysv4.h.
- (RS6000_ABI_NAME): Use RS6000_ABI_NAME to set the default ABI
- name, not TARGET_DEFAULTS.
-
- * rs6000/xm-sysv4.h (alloca): Properly declare alloca if compiler
- is not GCC.
- (DONT_DECLARE_SYS_SIGLIST): Define.
-
- * rs6000.c (rs6000_abi_name): New global for getting the results
- of -mcall-xxx.
- (rs6000_reg_names): New global for holding the normal register names.
- (alt_reg_names): Alternate register names for -mregnames.
- (rs6000_override_options): If -mregnames, copy alt_reg_names into
- rs6000_reg_names.
- (input_operand): Recognize ABI_SOLARIS.
- (small_data_operand, init_cumulative_args): Likewise.
- (function_arg{,_boundary,_advance,_partial_nregs}): Likewise.
- (function_arg_pass_by_reference, setup_incoming_varargs): Likewise.
- ({rs6000,debug}_stack_info, output_{prolog,epilog}): Likewise.
- (print_operand): %$ prints '.' on Solaris, '$' elsewhere.
- (print_operand{,_address}): If not eabi, use @sdarel for small
- data references.
- (rs6000_stack_info): Only emit __eabi call if TARGET_EABI.
-
- * rs6000.h (*_SPECS): Move the System V specs to svr4.h.
- (ABI_SOLARIS): New ABI, mostly like System V.
- (EXTRA_CONSTRAINT): Use ABI_SOLARIS like ABI_V4.
- (RETURN_ADDRESS_OFFSET, (LEGITIMATE_SMALL_DATA_P): Likewise.
- (RETURN_IN_MEMORY): On Solaris, small structures are returned in regs.
- (REGISTER_NAMES): Use rs6000_reg_names array, instead of string
- literals.
- (DEBUG_REGISTER_NAMES): Define.
- (ADDITIONAL_REGISTER_NAMES): Add sp, toc aliases.
- (PRINT_OPERAND_PUNCT_VALID_P): Recognize $ as a punctuation char.
-
- * rs6000.md (got & call patterns): Use ABI_SOLARIS to mean the
- same as ABI_V4.
- (branch patterns): Use %$ for the current location, not just $.
-
- * va-ppc.h: Add Solaris support.
-
-Tue Apr 23 20:02:13 1996 Doug Evans <dje@cygnus.com>
-
- * sparc.c (output_function_prologue): In -mbroken-saverestore
- case, %sp = %fp - size.
- * sparc/t-splet (TARGET_LIBGCC2_CFLAGS): Delete.
- * sparc.md (isa attribute): Add sparclet.
- (*smacsi,*smacdi,*umacdi): Use match_operand, not match_dup
- for third arg.
- (*mulsidi3_sp32,const_mulsidi3,*umulsidi3_sp32,const_umulsidi3): Use
- smuld,umuld for sparclet.
-
-Tue Apr 23 16:28:28 1996 Michael Meissner <meissner@wombat.gnu.ai.mit.edu>
-
- * m68k/m68kemb.h: Add {LINK,STARTFILE,LIB,SUBTARGET}_SPEC, so
- gcc will use libgloss for supported target boards {idp,mvme,bcc}.
-
-Tue Apr 23 16:00:28 1996 Per Bothner <bothner@cygnus.com>
-
- * expr.c (store_constructor): Fix test for missing array elements.
-
-Tue Apr 23 11:21:09 1996 Stephen L Moshier (moshier@world.std.com)
-
- * i386/sco5.h (BSS_SECTION_ASM_OP): Use `data' directive.
- (ASM_OUTPUT_ALIGNED_LOCAL): Generate an `lcomm' directive.
- (TARGET_DEFAULT): Include TARGET_IEEE_FP.
- (CPP_PREDEFINES): Include Di386.
-
-Mon Apr 22 12:00:46 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (BIGGEST_FIELD_ALIGNMENT): Delete.
- (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Define.
- * sysv4.h (BIGGEST_FIELD_ALIGNMENT): Delete.
- (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Undefine.
- * win-nt.h (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Undefine.
-
-Sun Apr 21 17:52:36 1996 Jim Wilson <wilson@cygnus.com>
-
- * m68k/coff.h (ASM_OUTPUT_SECTION): Test DECL before
- dereferencing it.
-
- * cse.c (cse_process_notes): Handle SUBREG like ZERO_EXTEND.
-
-Sun Apr 21 12:57:12 1996 Doug Evans <dje@cygnus.com>
-
- * arm/aout.h (ASM_OUTPUT_MI_THUNK): Define.
-
-Sun Apr 21 09:50:09 1996 Stephen L Moshier (moshier@world.std.com)
-
- * choose-temp.c: Include sys/types.h before sys/file.h for sco3.2v5.
-
-Sun Apr 21 08:42:13 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.c (check_float_value): Cast args of bcopy to avoid warnings.
-
-Sat Apr 20 21:22:21 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * stor-layout.c (layout_record): Use ADJUST_FIELD_ALIGN to modify
- alignment of fields within records.
-
-Sat Apr 20 19:55:33 1996 Niels Moller <nisse@lysator.liu.se>
-
- * c-parse.in (typespec): Made <SomeProtocol> equivalent
- to (id <SomeProtocol>).
- (non_empty_protocolrefs): New nonterminal.
-
-Sat Apr 20 08:34:02 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * stmt.c (check_for_full_enumeration_handling): Call case_tree2list
- before checking for case expressions not corresponding to enumerators.
- (mark_seen_cases): If SPARSENESS == 2, exploit AVL order.
- Else, convert tree to list.
- Set xlo to -1 if SPARSENESS == 1 search failed.
- (expand_end_case): Avoid calling case_tree2list on list.
-
-Fri Apr 19 16:54:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000/win-nt.h (BIGGEST_FIELD_ALIGNMENT): Set to 64, not
- 32 that AIX uses.
-
-Fri Apr 19 16:40:38 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * i386.md (movqi): Handle QImode values in %si and %di.
-
-Thu Apr 18 20:56:56 1996 Jim Wilson <wilson@cygnus.com>
-
- * sh.md (lshrsi3): Change gen_ashlsi3_d to gen_lshrsi3_d.
-
-Thu Apr 18 15:49:28 1996 Per Bothner <bothner@cygnus.com>
-
- * sparc.h (ASM_OUTPUT_MI_THUNK): Define.
-
-Thu Apr 18 15:19:26 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.md: Remove "type" attribute from all patterns except those
- which have varying length branches. Eliminate obsolete "type"
- attributes. Add "length" and "cc" attributes to insns without them;
- fix some length computations. Remove patterns which are commented out.
-
- * h8300.md (zero extension expanders and insns): Simplify, fix various
- length problems, provide optimized versions for the h8300 and h8300h.
- (sign extension expanders and insns): Likewise. Make them
- nearly identical to zero_extension patterns and insns.
-
-Wed Apr 17 18:50:16 1996 Jeffrey A. Law <law@cygnus.com>
-
- * pa.h (SELECT_SECTION): Define. Never place a something
- into the read-only data section if it requires a reloc.
-
- * pa.md (rotlsi3): Delete unnecessary and incorrect pattern.
-
-Wed Apr 17 17:15:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.md (movdi): Never FAIL, even if operand[1] is not a
- general operand, due to being in volatile memory.
-
-Wed Apr 17 15:20:10 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * c-lex.c (check_newline): Rewrite to use tokens.
- (handle_sysv_pragma): Take a token instead of a character.
- * i960.c (process_pragma): Take the IDENTIFIER_POINTER tree
- node instead of a character.
- * sh.c (handle_pragma): Likewise.
- * config/nextstep.c (handle_pragma): Likewise.
- * h8300.c (handle_pragma): Likewise.
- * i960.h (HANDLE_PRAGMA): Expect/pass 2nd arg of NODE, not CH.
- * sh.h (HANDLE_PRAGMA): Likewise.
- * config/nextstep.h (HANDLE_PRAGMA): Likewise.
- * h8300.h (HANDLE_PRAGMA): Likewise.
-
-Wed Apr 17 14:28:43 1996 Doug Evans <dje@cygnus.com>
-
- * choose-temp.c: Don't include sys/file.h ifdef NO_SYS_FILE_H.
- #include <stdio.h>.
- (choose_temp_base): Make tmp,usrtmp, static locals.
-
-Wed Apr 17 08:41:02 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.c (alpha_emit_conditional_move): Fix some bugs in previous
- change and do some cleanup.
-
-Tue Apr 16 18:53:05 1996 Jim Wilson <wilson@cygnus.com>
-
- * reload.c (push_reload): Add extra reload for inside of SUBREG if
- it is CONSTANT_P.
-
- * expr.c (do_store_flag): Rewrite last change to avoid compiler
- warnings.
-
- * reload.c (push_reload): When reuse an old reload, set the modes
- to be the larger of the old and new modes.
-
- * i960/t-960bare (xp-bit.c): Fix typo in source file name.
-
-Tue Apr 16 18:09:16 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.md (andhi3): If 2nd operand is a CONST_INT that meets 'J'
- constraint, then only two bytes are needed for this insn. Improve
- code generated for the h8300h when both operands are registers.
- (iorhi3, xorhi3): Likewise. Rework to be nearly identical to andhi3.
- (andsi3): If 2nd operand is a CONST_INT that meets the 'J'
- constraint, then only two bytes are need for this insn.
- Improve code generated for the h8300h regardless of the
- type of the 2nd operand. Make this pattern work on the h8300 too.
- (iorsi3, xorsi3): Likewise. Rework to be nearly identical to andsi3.
- (iorqi3_internal): Make this pattern look more like andqi3_internal.
- (one_cmplhi2, one_cmplsi2): Fix length computation for H8300H.
-
-Tue Apr 16 17:43:25 1996 J"orn Rennecke (amylaar@meolyon.hanse.de)
-
- * i386.md (addsidi3_2): Handle non-MEM overlap case.
-
-Tue Apr 16 16:59:49 1996 Richard Henderson <rth@tamu.edu>
-
- * function.c (expand_function_end): Allow TRAMPOLINE_TEMPLATE
- to be omitted on systems for which it is not cost effective.
- * varasm.c (assemble_trampoline_template): No such function
- if no TRAMPOLINE_TEMPLATE.
- * m68k.h: Greatly simplify the run-time trampoline code:
- (TRAMPOLINE_TEMPLATE, TRANSFER_FROM_TRAMPOLINE): Delete define.
- (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed.
- (TRAMPOLINE_ALIGN): No point aligning to cache line.
- (FINISH_INIT_TRAMPOLINE): New define.
- * m68k/next.h: Instead of redefining INITIALIZE_TRAMPOLINE,
- make use of the new FINISH_INIT_TRAMPOLINE.
- * m68k/{m68k.h,next.h,aux.h} (FINISH_INIT_TRAMPOLINE):
- Rename to FINALIZE_TRAMPOLINE.
- * m68k/{linux.h,m68kv4.h}: Override trampoline macros.
-
-Tue Apr 16 16:02:50 1996 David Edelsohn <edelsohn@mhpcc.edu>
-
- * combine.c (make_field_assignment): Allow XOR in final case.
-
-Tue Apr 16 11:33:53 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * m68k.h (TARGET_SWITCHES): Don't remove MASK_68060 with -msoft-float.
-
- * m68k.h (MULL_COST, MULW_COST, RTX_COSTS): Add costs for TARGET_68060.
- * m68k.md (ashlsi_16, lshrsi_16): Disable pattern for TARGET_68060;
- this special case is not faster for that cpu.
-
-Tue Apr 16 10:54:55 1996 Eliot Dresselhaus <dresselh@rft30.nas.nasa.gov>
-
- * alpha.c (alpha_emit_conditional_move): New function.
- * alpha.h (alpha_emit_conditional_move): Declare it.
- * alpha.md (cmov* define_expands): Use it.
-
-Tue Apr 16 09:06:17 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * function.h (struct function): New field returns_pointer.
- * function.c (push_function_context_{to,from}): Save and restore
- current_function_returns_pointer.
-
- * config/svr4.h (ENDFILE_SPEC): Add missing `%s'.
-
- * configure (m68k-*-linux*aout*): Set tmake_file to m68k/t-linux-aout.
- (m68k-*-linux*): Set extra_parts.
- * m68k/t-linux (INSTALL_ASSERT_H): New definition.
- (CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): New definitions.
- * m68k/t-linux-aout: New file.
- * m68k/linux.h (LIB_SPEC): Deleted.
- (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Define.
-
- * m68k.h (TRAMPOLINE_ALIGNMENT): Specify alignment in bits, not bytes.
-
-Tue Apr 16 08:53:17 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * final.c (final_scan_insn): Allow removal of redundant test and
- compare instructions that use clobbers.
-
-Tue Apr 16 06:22:00 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-decl.c (clear_limbo_values): New function.
- (pushdecl): Call it for function body blocks.
-
- * objc/thr-decosf1.c (_objc_thread_id): Correct return type from
- int to _objc_thread_id.
-
- * expr.c (expand_builtin, case BUILT_IN_LONGJMP): Make a decl
- for __dummy, so we can call make_function_rtl on it.
-
- * expr.c (expand_assignment): Don't pre-evaluate RHS if a CALL_EXPR
- with a variable-size return.
-
-Mon Apr 15 17:38:45 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * fixincludes: Fix undefined VOIDFUNCPTR in VxWorks 5.2 <time.h>.
-
-Mon Apr 15 15:12:16 1996 Jim Wilson <wilson@cygnus.com>
-
- * expr.c (do_store_flag): Before calling exact_log2, remove any
- sign extension bits.
-
- * reload1.c (emit_reload_insns): Call reload_reg_reaches_end_p for
- every reg of multi-reg spill register. Invalidate old info for multi
- reg spill registers when only part survives to the end.
-
-Mon Apr 15 14:49:12 1996 Mike Stump <mrs@cygnus.com>
-
- * function.c (preserve_temp_slots): Only preserve temporaries that
- happen to be at the current level.
-
-Mon Apr 15 14:08:12 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * gansidecl.h: New file.
- * choose-temp.c: New file.
- * Makefile.in (xgcc): Depend on and link in choose-temp.o.
- (collect2): Likewise.
- (choose-temp.o): Add rule for.
- * collect2.c: #include "gansidecl.h".
- (const,PROTO): Delete.
- (P_tmpdir): Delete.
- (choose_temp_base): Declare as extern, delete internal copy.
- (main): Update call to choose_temp_base.
- * cpphash.c: #include "gansidecl.h".
- (NULL,const,volatile): Delete.
- * demangle.h: #include "gansidecl.h".
- (PROTO,PTR,const): Delete.
- * expr.h (const): Delete.
- * fix-header.c: #include "gansidecl.h".
- (const): Delete.
- * gcc.c: #include "gansidecl.h".
- (PROTO,VPROTO,PVPROTO,VPROTO,VA_START,NULL): Delete.
- (GENERIC_PTR,NULL_PTR,P_tmpdir): Delete.
- (choose_temp_base): Declare as extern, delete internal copy.
- (concat): Rewrite to take a variable number of arguments.
- (choose_temp_base_try,concat[346]): Delete.
- (translate_options,set_spec,process_command,do_spec_1,
- is_directory,main): Always use concat, not concat[346]. Pass
- NULL_PTR as trailing arg to concat.
- * genattr.c (main): Delete printing of "#define PROTO".
- * machmode.h: #include "gansidecl.h".
- (PROTO): Delete.
- (HAVE_MACHINE_MODES): Move definition to standard place.
- * recog.h: #include "gansidecl.h".
- (PROTO,const): Delete.
- * rtl.h: #include "gansidecl.h".
- (PROTO,VPROTO,PVPROTO,VPROTO,VA_START,STDIO_PROTO): Delete.
- (NULL,GENERIC_PTR,NULL_PTR): Delete.
- * tree.h: Likewise.
-
-Mon Apr 15 08:49:20 1996 Tom May (ftom@netcom.com)
-
- * cse.c (invalidate_skipped_set): Ignore CLOBBER after calling
- note_mem_written, not before.
-
-Mon Apr 15 08:22:03 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
-
- * m68k.md (tstdi): Optimized for "d" case.
- (movqi): Allow moving "i" into "a".
- (zero_extendsidi2): Alternatives merged.
- (extendplussidi): Fixed when operands 0 and 1 share a register.
- (adddi_sexthishl32): Constraints reordered for better reload.
- (adddi3,subdi_sexthishl32,subdi3,negdi2): Likewise.
- (ashldi_sexthi): Accept "m" as operand 0.
- (ashldi_const32): Alternatives merged.
- (ashift patterns): Output "lsl" instead of "asl".
- (beq0_di): If condition codes already set, output only branch insn.
- (bne0_di,bge0_di,blt0_di): Likewise.
- * m68k.c (notice_update_cc, case ASHIFT{,RT}, LSHIFTRT, ROTATE{,RT}):
- Don't set CC_NO_OVERFLOW.
- * m68k.h (TARGET_SWITCHES): Fix typo in "c68000" entry.
-
-Mon Apr 15 08:06:17 1996 Stephen L Moshier (moshier@world.std.com)
-
- * real.c (eadd1): Check for overflow on X plus X.
-
-Mon Apr 15 08:02:24 1996 J.T. Conklin <jtc@cygnus.com>
-
- * i386/netbsd.h (HAVE_SYSV_PRAGMA): Removed definition.
- * config/netbsd.h (HAVE_SYSV_PRAGMA): Define.
- (SET_ASM_OP): Define.
-
-Mon Apr 15 07:28:54 1996 Fila Kolodny <fila@ibi.com>
-
- * configure: Add definition for host= into Makefile.
- * build-make (CC): Pass -b $(host), not target.
-
-Mon Apr 15 05:12:39 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (bc_expand_increment): Change declaration to return void.
-
- * toplev.c (max_label_num_after_reload): New variable.
- (rest_of_compilation): Set it.
- * reorg.c (find_dead_or_set_registers): Only kill spill regs after
- label made before jump2.
-
- * combine.c (expand_field_assignment): Take SUBREG_WORD into
- account when have STRICT_LOW_PART.
- (make_extraction): Make a STRICT_LOW_PART at any low-order word.
-
-Mon Apr 15 03:43:11 1996 Jeffrey A. Law <law@cygnus.com>
-
- * flags.h (flag_function_sections): Declare.
- * toplev.c (flag_function_sections): Define.
- (compile_file): Add warnings when -ffunction-sections is
- used with -g, or profiling. Disable -ffunction-sections
- when profiling is used. Add warning when -ffunction-sections
- is used on a target that doesn't support it.
- * varasm.c (named_section): Make a copy of the section name
- in case the original is in temporary storage.
- (function_section): Set DECL_SECTION_NAME for each function
- if flag_function_sections is on and the target supports it.
- * dbxout.c (dbxout_function_end): New function.
- (dbxout_function): Call dbxout_function_end if using extensions
- and flag_function_sections is on.
- * sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Prefix a function
- section's name with ".text%" when -ffunction-sections.
-
-Sun Apr 14 19:37:43 1996 Doug Evans <dje@cygnus.com>
-
- * toplev.c (main): Delete redundant test for -p used with -fbytecode.
-
-Sun Apr 14 19:01:59 1996 John F. Carr <jfc@mit.edu>
-
- * c-decl.c (finish_enum): Don't crash if no type can represent all
- enumeration values.
-
-Sun Apr 14 18:56:40 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * m68k.md (ftruncdf2): Enable for m68060 systems.
-
-Sun Apr 14 18:49:30 1996 David L. Reese (david.reese@east.sun.com)
-
- * fold-const.c (range_test): Don't convert hi_cst or lo_cst
- to unsigned when folding signed range tests.
-
-Sun Apr 14 08:56:27 1996 Stephen L Moshier <moshier@world.std.com>
-
- * real.h (ereal_from_{int,uint}): Add new arg, MODE.
- (REAL_VALUE_FROM{,_UNSIGNED}_INT): New arg, MODE.
- * real.c (ereal_from_{int,uint}): New arg, MODE.
- * cse.c (simplify_unary_operation): Add new arg to REAL_VALUE_FROM_INT.
- * fold-const.c (fold_convert): Likewise.
- * tree.c (real_value_from_int_cst): New arg, TYPE.
- Pass mode to REAL_VALUE_FROM_INT.
- (build_real_from_int_cst): Properly deal with truncation.
-
-Sun Apr 14 08:21:29 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (try_combine): When substituting in output of I2,
- ensure dest isn't clobbered in I2.
-
- * combine.c (combine_instructions): In initial scan of insns,
- handle a REG_INC note's affect on sign bit copies and nonzero bits.
- (set_nonzero_bits_and_sign_copies): Treat a zero SET arg as a CLOBBER.
-
-Sun Apr 14 07:52:28 1996 Manor Askenazi <manor@santafe.edu>
-
- * objc/encoding.c (objc_skip_typespec): Don't abort for _C_UNDEF.
-
-Sat Apr 13 20:35:36 1996 Richard Henderson (richard@atheist.tamu.edu)
-
- * configure (m68k-apple-aux*): Rework to take advantange
- of list of tm.h files and support all four gas/gld options.
- * m68k/auxas.h, m68k/auxgas.h, m68k/auxgld.h, m68k/auxld.h: New files.
- * m68k/auxstd.h, m68k/auxgnu.h: Deleted.
-
-Sat Apr 13 20:18:11 1996 Stephen L Moshier <moshier@world.std.com>
-
- * alpha.c (check_float_value): New function.
- * alpha.h (CHECK_FLOAT_VALUE): Define.
- (ASM_OUTPUT_FLOAT): Print the value in hex.
-
-Sat Apr 13 15:08:45 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * configure: New target arm{,el}-*-coff*.
- (cpu_default): Sort alphabetically.
- * arm/coff.h: New file.
- * arm/t-bare: New file.
- * arm/arm.c (use_return_insn): Don't use return for naked functions.
- (arm_valid_machine_decl_attribute): New function.
- (arm_naked_function_p): New function.
- (output_func_prologue): Naked functions don't have prologues.
- (arm_expand_prologue): Likewise.
- (output_func_epilogue): Likewise with epilogues.
-
-Sat Apr 13 11:31:32 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.c (adds_subs_operand): Fix thinko in last change.
-
- * h8300.md (subhi3): Turn into a define_expand.
- (subhi3 using adds_subs): New pattern.
- (H8300 subhi): Derived from old subhi pattern. Simplified.
- (H8300H subhi): Likewise.
- (subsi using adds_subs): New pattern. Only used on H8300H.
- (subsi_h8300): Allow "a" registers as destination.
- (subsi_h8300h): Allow "a" registers as destination. Simplify.
-
- * h8300.md (bcs_qiqi, bcs_hihi, bs_hiqi): Fix thinkos
- in last change.
-
-Sat Apr 13 08:59:48 1996 Fila Kolodny <fila@ibi.com>
-
- * i370/mvs.h (ASM_DECLARE_FUNCTION_NAME): Don't write anything to
- asm file, because everything is handled in FUNCTION_PROLOGUE.
-
-Sat Apr 13 07:55:38 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.c (alpha_emit_set_const_1): Renamed from
- alpha_emit_set_const and static.
- Remove change of Nov 26; again use normal mechanism for SImode.
- (alpha_emit_set_const): New function.
-
-Fri Apr 12 18:19:39 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.c (adds_subs_operand, output_adds_subs): New functions.
- * h8300.md (addhi3): Turn into a define_expand.
- (addhi3 using adds_subs): New pattern.
- (H8300 addhi): Derived from old addhi pattern. Simplified.
- (H8300H addhi): Likewise.
- (addsi using adds_subs): New pattern. Only used on H8300H.
- (addsi_h8300): Allow "a" registers as destination.
- (addsi_h8300h): Simplify. Allow "a" registers as destination.
-
- * h8300.md (bcs): New attribute type.
- (default_length): Compute correct length for bcs insns.
- (bcs_qiqi, bcs_hihi, bs_hiqi): Use new type and update
- to account for correct length computation.
-
- * h8300.md (movhi_internal): Demand at least one operand to be reg.
- (movsi_h8300{{,h}): Optimize loading certain constants.
-
- * h8300.h (NO_FUNCTION_CSE): Comment out.
- (FUNCTION_ARG_REGNO_P): Properly define for TARGET_QUICKCALL.
- (RETURN_IN_MEMORY): Don't return small structs in regs.
-
- * h8300.c (const_costs): -4 and 4 are cheap on the h8300h.
- (notice_update_cc): Remove references to "value2" field.
-
- * h8300.c (dosize): Remove unused "fped" argument. All callers
- changed. Handle add/sub of 5-8 bytes efficiently on the h8300h.
-
- * h8300.c (print_operand): Handle new 'R' case for accessing
- the 8-bit area. Make code for 'Y' fall into code for 'R' when
- operand is not a register. Update some comments.
- (h8300_tiny_data_p): New function.
- (h8300_valid_machine_decl_attribute): Handle "tiny_data" attribute.
- * h8300.h (OK_FOR_U): Handle memory references into 8-bit area.
- (ENCODE_SECTION_INFO): Mark SYMBOL_REFs which refer to 8-bit area.
- * h8300.md (many patterns): Use 'R' rather than 'X' for
- operands that may be memory accesses into the 8-bit area.
- (btst pattern): New pattern to set the cc0 (zbit) based on
- data in the 8-bit area.
-
- * h8300.md (one_cmplsi2): Fix length computation for h8300h.
-
-Fri Apr 12 14:34:39 1996 Doug Evans <dje@cygnus.com>
-
- * arm.md (*ldmsi,*stmsi): Use (mem (match_operand ...))
- to avoid using indirect_operand (reload problems).
- * arm/semi.h (CPP_PREDEFINES): Define __semi__ instead of semi.
- * arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
- (ASM_OUTPUT_ADDR_{VEC,DIFF_ELT}): Likewise.
-
-Fri Apr 12 09:43:30 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dbxout.c (dbxout_typedefs): Don't emit incomplete types yet.
- (dbxout_symbol): Use DECL_ARTIFICIAL to recognize C++ implicit
- typedefs.
-
-Thu Apr 11 21:56:26 1996 Doug Evans <dje@cygnus.com>
-
- * i386/t-winnt (winnt.o): Rewrite based on .c.o rule.
- (oldnames.o,spawnv.o): Add rules for.
-
-Thu Apr 11 07:25:06 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * calls.c (expand_call): In inlining case, if BEFORE_CALLS is
- zero, start looking at first insn.
-
- * expr.c (preexpand_calls, case CALL_EXPR): Rework to properly
- avoid expanding functions returning variable size objects.
-
- * integrate.c (expand_inline_function): When comparing types
- of formal and actual, use TYPE_MAIN_VARIANT.
-
-Thu Apr 11 00:48:29 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300/lib1funcs.asm (modnorm): New function(s). Like divnorm,
- but gets the sign bit right for modulo operations.
- (__modhi3, modsi3): Use modnorm.
-
- * h8300.c (dosize): On h8300h, do 4 byte adjusts using adds and subs.
- * h8300.h (LONG_LONG_TYPE_SIZE): Always make this 32bits.
- Reverses change from Apr 2, 1996.
-
-Wed Apr 10 18:39:52 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
- (FUNCTION_PROFILER): Use ASM_GENERATE_INTERNAL_LABEL instead.
-
- * sparc.c (sparc_override_options): 90c701 renamed to tsc701.
- (eligible_for_epilogue_delay_slot): Don't allow anything if
- -mbroken-saverestore.
- (output_function_prologue): Only use trivial save's if
- -mbroken-saverestore.
- * sparc.h (CPP_SPEC): Handle -mcpu={sparclet,tsc701}.
- (ASM_SPEC): Likewise.
- ({MASK,TARGET}_BROKEN_SAVERESTORE): Define.
- (enum processor_type): 90C701 renamed to TSC701.
- * sparc.md (attr cpu): 90c701 renamed to tsc701.
- * sparc/splet.h (SUBTARGET_SWITCHES): Recognize -mbroken-saverestore.
-
-Wed Apr 10 17:56:02 1996 Stan Cox <coxs@dg-rtp.dg.com>
-
- * m88k/dgux.h (EXTRA_SPECS): Define.
- (ASM_SPEC,CPP_SPEC,STARTFILE_SPEC): Use EXTRA_SPECS.
- * m88k/dguxbcs.h (ASM_SPEC,CPP_SPEC,STARTFILE_SPEC): Use EXTRA_SPECS.
- * m88k/m88k.c (output_ascii) Output literal HT.
-
-Wed Apr 10 17:28:37 1996 James Carlson (carlson@xylogics.com)
-
- * configure: Work around AIX bug when defining SUBDIRS.
-
-Wed Apr 10 17:22:42 1996 Paul Eggert <eggert@twinsun.com>
-
- * cexp.y (parse_number): Don't reject long long constants unless
- pedantic.
-
-Wed Apr 10 17:19:56 1996 Stephen L. Moshier (moshier@world.std.com)
-
- * real.c (e64toe): Properly distinguish between NaN and infinity
- bit patterns for real-words-big-endian targets.
-
-Wed Apr 10 17:17:26 1996 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * real.c (endian): Add two explicit casts.
- (e64toe): Support ARM extended precision fp format.
- Check negative infinities properly for NaNs.
- (toe64): Support ARM extended precision fp format.
-
-Tue Apr 9 12:53:31 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * i386/gas.h (ASM_OUTPUT_ALIGN): Define and use .balign.
-
-Tue Apr 9 12:48:45 1996 Stephen L Moshier (moshier@world.std.com)
-
- * sparc.c (fp_zero_operand): Exclude -0.0.
-
-Tue Apr 9 07:11:24 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.c: Fix typo in last change.
-
- * tree.c (substitute_in_expr): Don't return new expression if
- nothing changed.
- (substitute_in_type): Deleted, not used.
- * tree.h (substitute_in_type): Delete declaration.
-
-Mon Apr 8 16:30:18 1996 Jeffrey A. Law <law@cygnus.com>
-
- * flow.c (find_auto_inc): Also make sure there aren't
- any sets of the incremented register between the memory
- reference and increment insn.
-
-Mon Apr 8 15:41:14 1996 John Polstra (jdp@polstra.com)
-
- * configure (i[3456]86-*-freebsdelf*): New target.
- * i386/freebsd-elf.h: New file.
- * i386/x-freebsd (USER_H): New define; to null.
-
-Mon Apr 8 14:44:41 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * c-decl.c (finish_function): Always warn if main doesn't return int.
-
-Mon Apr 8 13:01:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * rs6000.c (got_operand): New function, returns true if the
- operand can go in V.4's GOT.
- (rs6000_pic_register): New variable.
- (output_epilog): Reset rs6000_pic_register.
-
- * rs6000.h (rs6000_pic_register, got_operand, flag_pic): Add decls.
- (PREDICATE_CODES): Add got_operand.
-
- * rs6000.md (movsi): Add support for V.4's -fpic and -FPIC.
- (init_v4_pic): Initialize the V4 pic register if needed.
- (call patterns): If -fpic/-fPIC, call function with @plt suffix.
-
- * t-eabigas (MULTILIB_DIRNAMES): Remove errant pic directory.
-
- * rs6000.c (output_prolog): Correctly store & restore the
- arguments to main in their correct save location, when calling the
- start function.
-
-Mon Apr 8 13:01:37 1996 David Reese <Dave.Reese@East.Sun.COM>
-
- * rs6000.c (print_operand): Use reg_names to print registers.
-
-Fri Apr 5 00:40:19 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.c (h8300_valid_machine_decl_attribute): Use underscores,
- not dashes in attributes.
- (h8300_funcvec_function_p): Corresponding changes.
- (h8300_interrupt_function_p): Likewise.
-
- * pa.h (INIT_CUMULATIVE_INCOMING_ARGS): Initialize "indirect"
- field to zero.
-
-Thu Apr 4 12:52:11 1996 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * loop.c (combine_givs): Use new macro GIV_SORT_CRITERION.
- New variable giv_array. Loop over giv_array instead of following
- next_iv links.
- (giv_sort): New function.
- * sh.h (GIV_SORT_CRITERION): Define.
-
- * c-typeck.c (push_init_level): When output alignment for structure
- field, add check to verify it is the next field to be output.
-
-Thu Apr 4 12:19:26 1996 David Mosberger-Tang <davidm@AZStarNet.com>
-
- * alpha.c: Don't include stamp.h for Linux-based GNU systems.
-
-Thu Apr 4 12:17:08 1996 Richardg Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * objc/Makefile: Rename thread* to thr*.
- * objc/thread.c: Rename thread-* to thr-*.
- * objc/thr-decosf1.c: Renamed from thread-decosf1.c
- * objc/thr-irix.c: Renamed from thread-irix.c.
- * objc/thr-single.c: Renamed from thread-single.c.
- * objc/thr-solarius.c: Renamed from thread-solaris.c.
- * objc/thr-win32.c: Renamed from thread-win32.c.
- * objc/objc-api.h: Include thr.h, not thread.h.
- * objc/runtime.h, objc/sarray.h: Likewise.
-
- * i386.md (ashldi3_const_int): Don't recognize if won't match
- constraint of operand 2.
-
-Thu Apr 4 11:40:55 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * config/fp-bit.c (EXTENDED_FLOAT_STUBS): If EXTENDED_FLOAT_STUBS
- is defined, define all of the XF/TF functions that might be
- generated that we don't have code for yet.
-
- * i960/t-(vxworks960,960bare): (LIB2FUNCS_EXTRA): Make and
- compile xp-bits.c that defines EXTENDED_FLOAT_STUBS.
-
- From: steve chamberlain <sac@slash.cygnus.com>
- * i386/x-cygwin32 (LANGUAGES): Delete.
- * i386/xm-cygwin32.h (EXECUTABLE_SUFFIX): Set to .exe.
- * rs6000/xm-cygwin32.h (EXECUTABLE_SUFFIX): Set to .exe.
-
-Wed Apr 3 14:10:16 1996 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * expr.c (emit_push_insn): Clobber register only if it is non-zero.
-
-Wed Apr 3 11:31:55 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.h (h8300_funcvec_function_p): Declaration moved here.
- * h8300.c (h8300_funcvec_function_p): Declaration removed from here.
- * h8300.md (tstqi): Tweak to work like other tstXX patterns.
- (cmphi): Turn into a define_expand. Add two anonymous
- matterns to match the output of the cmphi expander.
- (cmpsi): Accept constants as the second input operand.
-
-Tue Apr 2 13:52:30 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.md (movqi_internal): Remove useless alternative(s). Fix
- lengths and simplify by reordering remaining alternatives.
- (movstrictqi, movhi_internal, movstricthi): Likewise.
- (movsi_h8300h, movsf_h8300h): Likewise.
-
- * h8300/h8300.c (extra_pop): Remove unused variable.
- (current_function_anonymous_args): Likewise.
- (function_prologue): Remove incorrect varargs/stdarg
- related code.
- (function_epilogue): Likewise.
- (function_arg): Never pass unnamed arguments in registers.
- * h8300.h (LONG_LONG_TYPE_SIZE): Use 64bits when ints are 32bits.
- (SETUP_INCOMING_VARARGS): Remove definition.
-
-Mon Apr 1 16:59:48 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * fixincludes: Fix signal prototype on SunOS to avoid pedantic C++
- error.
-
-Mon Apr 1 16:16:34 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (get_inner_reference): When finding mode to access bitfield
- that ends up properly aligned, use mode class of its type unless
- type's mode was BLKmode.
-
-Mon Apr 1 13:45:30 1996 Jeffrey A. Law <law@cygnus.com>
-
- * h8300.c (interrupt_handler): Renamed from pragma_interrupt.
- All references changed.
- (function_prologue): Set interrupt_handler if the current
- function has the "interrrupt-handler" attribute.
- (small_call_insn_operand): New function.
- (h8300_interrrupt_function_p): New function.
- (h8300_funcvec_function_p): New function.
- (h8300_valid_machine_decl_attribute): New function.
- * h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Define.
- * h8300.md (call insns): Handle calls through the
- function vector. Indirect calls and calls through
- the function vector have a length of two bytes.
-
-See ChangeLog.10 for earlier changes.
-
-Use a consistent time stamp format in ChangeLog entries.
-Not everyone has Emacs 20 yet, so stick with Emacs 19 format for now.
-
-Local Variables:
-add-log-time-format: current-time-string
-End:
diff --git a/gcc/FSFChangeLog.12 b/gcc/FSFChangeLog.12
deleted file mode 100755
index ecb2919..0000000
--- a/gcc/FSFChangeLog.12
+++ /dev/null
@@ -1,1244 +0,0 @@
-Sat May 2 20:39:22 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (fold): When commutting COND_EXPR and binary operation,
- avoid quadratic behavior if have nested COND_EXPRs.
-
-Tue Apr 28 17:30:05 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * mips.h (HOST_WIDE_INT): Define if not already.
- (compute_frame_size, mips_debugger_offset): Return HOST_WIDE_INT.
- (DEBUGGER_{AUTO,ARG}_OFFSET): Cast second arg to HOST_WIDE_INT.
- * /mips.c (mips_debugger_offset): Now returns HOST_WIDE_INT.
- Likewise for internal variable frame_size.
-
- * final.c (alter_subreg): Make new SUBREG if reload replacement
- scheduled inside it.
-
- * dwarf2out.c (add_bound_info, case SAVE_EXPR): Pass
- SAVE_EXPR_RTL address through fix_lexical_addr.
-
-Mon Apr 27 18:57:18 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips/sni-svr4.h (CPP_PREDEFINES): Add -Dsinix and -DSNI.
-
-Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md (mov{sf,df} define_splits): When splitting move of
- constant to int reg, don't split insns that do simple AND and OR
- operations; just split each word and let normal movsi define split
- handle it further.
-
-Sun Apr 19 20:21:19 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * real.h (C4X_FLOAT_FORMAT): New macro.
- * real.c (c4xtoe, etoc4x, toc4x): New functions.
-
-Sun Apr 19 20:17:32 1998 Niklas Hallqvist <niklas@petra.appli.se>
-
- * m68k.c (notice_update_cc): Use modified_in_p to check for update.
-
-Sun Apr 19 18:48:07 1998 K. Richard Pixley <rich@kyoto.noir.com>
-
- * fixincludes: Discard empty C++ comments.
- Special case more files with C++ comments nested in C comments.
-
-Sun Apr 19 18:30:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.md ({add,sub}di3): Optimize for constant operand.
-
-Sun Apr 19 18:27:11 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.c (output_387_binary_op): Swap operands when popping if result
- is st(0).
-
-Sun Apr 19 17:58:01 1998 Peter Jeremy <peter.jeremy@alcatel.com.au>
-
- * expr.c (do_jump_by_parts_equality_rtx): Now public.
- * expmed.c (do_cmp_and_jump): New function.
- (expand_divmod): Use do_cmp_and_jmp instead of emit_cmp_insn and
- emit_jump_insn.
-
-Sun Apr 19 07:48:37 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * c-typeck.c (build_c_cast): Check underlying type when seeing
- if discarding const or volatile.
-
- * c-decl.c (pushdecl): Avoid duplicate warning about implicit redecl.
-
- * configure.in (stab.h): Check for it.
- (i386-*-vsta): Include xm-i386.h too.
- * dbxout.c (stab.h): Include based on autoconf results.
- * vax/xm-vms.h (NO_STAB_H): Deleted.
- * alpha/xm-vms.h, xm-mips.h, i386/xm-mingw32.h, i386/go32.h: Likewise.
- * i386/xm-cygwin32.h: Likewise.
- * i386/xm-vsta.h (NO_STAB_H): Likewise.
- (i386/xm-i386.h): No longer include.
-
- * mips.c: Cleanups and reformatting throughout.
- ({expand,output}_block_move): Use HOST_WIDE_INT for sizes.
- (mips_debugger_offset, compute_frame_size): Likewise.
- (save_restore_insns, mips_expand_{pro,epi}logue): Likewise.
- (siginfo): Deleted.
- (override_options): Don't set up to call it; don't call setvbuf.
-
-Mon Apr 13 06:40:17 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * configure.in (sparc-*-vxsim*): Include xm-siglist.h and
- define USG and POSIX.
-
-Sun Apr 12 21:59:27 1998 Jeffrey A. Law <law@cygnus.com>
-
- * calls.c (expand_call): Fix typo in STRICT_ARGUMENT_NAMING.
-
-Sun Apr 12 21:42:23 1998 D. Karthikeyan <karthik@cdotd.ernet.in>
-
- * m68k.h (TARGET_SWITCHES): Add missing comma.
-
-Sun Apr 12 21:33:33 1998 Eric Valette <valette@crf.canon.fr>
-
- * configure.in (i[34567]86-*-rtemself*): New configuration.
- * i386/rtemself.h: New file.
-
-Sun Apr 12 21:08:28 1998 Jim Wilson <wilson@cygnus.com>
-
- * loop.c (loop_optimize): Reset max_uid_for_loop after
- find_and_verify_loops call.
- (strength_reduce): In auto_inc_opt code, verify v->insn has valid
- INSN_LUID.
-
-Sun Apr 12 20:54:59 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
- Add USG and POSIX to xm_defines.
-
-Sun Apr 12 20:47:37 1998 Pat Rankin <rankin@eql.caltech.edu>
-
- * cccp.c (eprint_string): New function.
- (do_elif, do_else, verror): Use it instead of fwrite(,,,stderr).
- (error_from_errno, vwarning): Likewise.
- ({verror,vwarning,pedwarn}_with_line): Likewise.
- (pedwarn_with_file_and_line, print_containing_files): Likewise.
-
-Sun Apr 12 20:40:44 1998 Richard Henderson <rth@dot.cygnus.com>
-
- * configure.in (alpha*-*-linux-gnu*): Add alpha/t-crtbe.
- Add crt{begin,end}.o in extra_parts and delete crt{begin,end}S.o.o
- * alpha/t-crtbe, alpha/crt{begin,end}.asm: New files.
-
- * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
- * alpha.c (print_operand): Handle it.
- * alpha.md (fix_trunc[ds]fdi2): Use it. Add earlyclobber pattern
- for ALPHA_TP_INSN.
-
-Sun Apr 12 13:09:46 1998 Scott Christley <scottc@net-community.com>
-
- * objc/encoding.c (objc_sizeof_type, _C_VOID): New case.
-
-Sun Apr 12 13:04:55 1998 Nikolay Yatsenko (nikolay@osf.org)
-
- * configure.in (i[34567]86-*-osf1*): New entry.
- * i386/osf1-c[in].asm: New files for OSF/1.
- * i386/osf1elf{,gdb}.h, i386/[xt]-osf1elf, i386/xm-osf1elf.h: Likewise.
-
-Sun Apr 12 10:03:51 1998 Noel Cragg <noel@red-bean.com>
-
- * fixincludes: Remove specification of parameters when renaming
- functions in Alpha DEC Unix include files.
-
-Sun Apr 12 07:33:46 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * mips.c (large_int): Use HOST_WIDE_INT, not int.
- (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
-
- * toplev.c (main): Sort order of handling of -d letters.
- Use `F' instead of `D' for addressof_dump.
-
- * libgcc2.c (_eh_compat): Deleted.
- * Makefile.in (LIB2FUNCS): Delete _eh_compat.
-
- * configure.in (alpha*-*-linux-gnu*): Don't include alpha/xm-linux.h.
-
- * c-common.c (check_format_info): Properly test for nested pointers.
-
- * pa.md (casesi0): Add missing mode for operand 0.
-
- * function.c (purge_addressof_1, case MEM): If BLKmode, put ADDRESSOF
- into stack.
-
- * c-parse.in (label): Give warning if pedantic and label not integral.
-
- * c-decl.c (grokdeclarator): Don't warn about return type if in
- system header.
-
- * reload.c (reload_nongroup): New variable.
- (push{_secondary,}_reload): Initialize it.
- (find_reloads): Compute it.
- (debug_reload): Print it.
- * reload.h (reload_nongroup): Declare.
- * reload1.c (reload): Use reload_nongroup instead of local computation.
- Check caller_save_spill_class against any nongroup reloads.
- (reloads_conflict): No longer static.
-
-Sun Apr 12 05:52:18 1998 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * vax.md (call patterns): Operand 1 is always a CONST_INT.
-
-Sat Apr 11 16:01:11 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * convert.c (convert_to_{pointer,integer,real,complex}): Use switch.
- Add missing integer-like types.
- Simplify return of zero in error case.
- (convert_to_pointer): Remove dubious abort.
- (convert_to_integer, case POINTER_TYPE): Make recursive call.
- (convert_to_integer, case COND_EXPR): Always convert arms.
- * tree.c (type_precision): Deleted.
-
- * cccp.c (do_warning): Give pedantic warning if -pedantic and not
- in system file.
- * cpplib.c (do_warning): Likewise.
-
- * function.c (target_temp_slot_level): Define here.
- (push_temp_slots_for_target, {get,set}_target_temp_slot_level): New.
- * stmt.c (target_temp_slot_level): Don't define here.
- * expr.h (temp_slot_level): New declaration.
-
-Fri Apr 10 16:35:48 1998 Paul Eggert <eggert@twinsun.com>
-
- * c-common.c (decl_attributes): Support strftime format checking.
- (record_function_format, {check,init_function}_format_info): Likewise.
- (enum format_type): New type.
- (record_function_format): Now static; takes value of type
- enum format_type instead of int.
- (time_char_table): New constant.
- (struct function_format_info): format_type member renamed from is_scan.
- (check_format_info): Use `warning' rather than sprintf followed by
- `warning', to avoid mishandling `%' in warnings.
- Change a `pedwarn' to `warning'.
- * c-tree.h (record_function_format): Remove decl.
-
-Thu Apr 2 17:34:27 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * regclass.c (memory_move_secondary_cost): Protect uses of
- SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS with #ifdef tests.
-
-Thu Apr 2 07:06:57 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.c (standard_68881_constant_p): Don't use fmovecr on 68060.
-
-Thu Apr 2 06:19:25 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * Makefile.in (version.c): Put "cvs log" output in build directory.
-
- * reload.h (MEMORY_MOVE_COST): Define here if not already defined.
- (memory_move_secondary_cost): Declare.
- * regclass.c (MEMORY_MOVE_COST): Don't define default here.
- (memory_move_secondary_cost) [HAVE_SECONDARY_RELOADS]: New function.
- (regclass, record_reg_classes, copy_cost, record_address_regs):
- Pass register class and direction of move to MEMORY_MOVE_COST.
- (top_of_stack) [HAVE_SECONDARY_RELOADS]: New static array.
- (init_regs) [HAVE_SECONDARY_RELOADS]: Initialize it.
- * reload1.c (MEMORY_MOVE_COST): Don't define default here.
- (emit_reload_insns, reload_cse_simplify_set): Pass register class
- and direction of move to MEMORY_MOVE_COST.
- * 1750a.h (MEMORY_MOVE_COST): Add extra ignored arguments.
- * a29k.h, alpha.h, arc.h, arm.h, dsp16xx.h, i386.h, m32r.h: Likewise.
- * m88k.h, rs6000.h: Likewise.
- * mips.h (MEMORY_MOVE_COST): Likewise.
- Add memory_move_secondary_cost result to cpu-specific cost.
-
-Mon Mar 30 13:56:30 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips/ultrix.h (SUBTARGET_CPP_SPEC): Define.
-
-Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum direction.
- (function_arg_padding): Declare.
-
- * rs6000.c: Include stdlib.h if we have it.
- (function_arg_padding): Change return type to int, cast enum's to int.
-
- (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
- * rs6000.c (rs6000_override_options): Change type of `i', `j' and
- `ptt_size' from int to size_t.
- (rs6000_file_start): Likewise for `i'.
- (rs6000_replace_regno): Add default case in enumeration switch.
- (output_epilog): Remove unused variable `i'.
- (rs6000_longcall_ref): Remove unused variables `len', `p', `reg[12]'.
-
- * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
- initializer.
- (get_issue_rate, non_logical_cint_operand): Add prototype.
- (rs6000_output_load_toc_table): Likewise.
-
- * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
- `else'.
-
-Wed Mar 25 02:39:01 1998 Paul Eggert <eggert@twinsun.com>
-
- * configure.in (i[[34567]]86-*-solaris2*, powerpcle-*-solaris2*,
- sparc-*-solaris2*): Use fixinc.svr4 if Solaris 2.0 through 2.4.
-
-Mon Mar 23 07:27:19 1998 Philippe De Muyter <phdm@macqel.be>
-
- * m68k.md (ashldi_const): Allow shift count in range ]32,63].
- (ashldi3): Allow constant shift count in range ]32,63].
- (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
-
- * m68k.md (zero_extend[qh]idi2, iordi_zext): New patterns.
- (zero_extendsidi2): Avoid useless copy.
- (iorsi_zexthi_ashl16): Avoid "0" constraint for operand 2.
- (iorsi_zext): New name for old unnamed pattern; indentation fixes.
-
-Mon Mar 23 07:12:05 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * final.c (only_leaf_regs_used): If pic_offset_table_rtx used,
- make sure it is a permitted register.
-
-Sun Mar 22 06:57:04 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expmed.c (extract_bit_field): Don't confuse SUBREG_WORD with
- endian adjustment in SUBREG case.
- Don't abort if can't make SUBREG needed for extv/extzv.
-
-Sat Mar 21 08:02:17 1998 Richard Gorton <gorton@amt.tay1.dec.com>
-
- * alpha.md (zero_extendqi[hsd]i2): Use "and", not "zapnot".
-
-Sat Mar 21 07:47:04 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * unroll.c (verify_addresses): Use validate_replace_rtx.
- (find_splittable_givs): If invalid address, show nothing same_insn.
-
-Fri Mar 20 10:24:12 1998 Philippe De Muyter <phdm@macqel.be>
-
- * fold-const.c (fold, case CONVERT_EXPR): Replace sign-extension of
- a zero-extended value by a single zero-extension.
-
-Thu Mar 19 14:59:32 1998 Andrew Pochinsky <avp@ctp.mit.edu>
-
- * sparc.h (ASM_OUTPUT_LOOP_ALIGN): Fix error in last change.
-
-Thu Mar 19 14:48:35 1998 Michael Meissner <meissner@cygnus.com>
-
- * gcc.c (default_arg): Don't wander off the end of allocated memory.
-
- * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
- and EABI.
-
-Thu Mar 19 06:17:59 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (toplev.o): Depend on Makefile.
-
-Wed Mar 18 17:40:09 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * expr.c (convert_move): Add [QH]Imode/P[QH]Imode conversions.
- * machmode.def (PQImode, PHImode): New modes.
-
-Wed Mar 18 17:11:18 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.md (movsf+1): Optimize moving a CONST_DOUBLE zero.
-
-Wed Mar 18 17:07:54 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * regclass.c (init_reg_sets): Delete init of reg-move cost tables.
- (init_reg_sets_1): Put it here.
-
-Wed Mar 18 16:43:11 1998 Jim Wilson <wilson@cygnus.com>
-
- * i960.md (tablejump): Handle flag_pic.
-
- * profile.c (branch_prob): If see computed goto, call fatal.
-
- * calls.c (expand_call): Fix typos in n_named_args computation.
-
-Wed Mar 18 05:54:25 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * fold-const.c (operand_equal_for_comparison_p): See if equal
- when nop conversions are removed.
-
- * expr.c (expand_expr, case COND_EXPR): If have conditional move,
- don't use ORIGINAL_TARGET unless REG.
-
- * function.c (fixup_var_refs_insns): Also delete insn storing pseudo
- back into arg list.
-
- * combine.c (gen_binary): Don't make AND that does nothing.
- (simplify_comparison, case AND): Commute AND and SUBREG.
- * i386.h (CONST_CONSTS, case CONST_INT): One-byte integers are cost 0.
-
-Mon Mar 16 15:57:17 1998 Geoffrey Keating <geoffk@ozemail.com.au>
-
- * rs6000.c (small_data_operand): Ensure any address referenced
- relative to small data area is inside SDA.
-
-Sun Mar 15 16:01:19 1998 Andrew Pochinsky <avp@ctp.mit.edu>
-
- * sparc.h (ASM_OUTPUT_LOOP_ALIGN): Write nop's.
-
-Sun Mar 15 15:53:39 1998 Philippe De Muyter <phdm@macqel.be>
-
- * libgcc2.c (exit): Don't call __bb_exit_func if HAVE_ATEXIT.
-
-Sun Mar 15 15:44:41 1998 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c: Fix bugs relating to NUL in input file name,
- e.g. with `#line 2 "x\0y"'.
- (PRINTF_PROTO_4): New macro.
- (struct {file_buf,definition,if_stack}): New member nominal_fname_len.
- (main, expand_to_temp_buffer): Store length of input file names.
- (finclude, create_definition, do_line, conditional_skip): Likewise.
- (skip_if_group, macroexpand): Likewise.
- (make_{definition,undef,assertion}): Likewise.
- (special_symbol, do_include): Use stored length of input file names.
- (do_define, do_elif, do_else, output_line_directive, verror): Likewise.
- (error_from_errno, vwarning, verror_with_line): Likewise.
- (vwarning_with_line, pedwarn_with_file_and_line): Likewise.
- (print_containing_files): Likewise.
- (do_line): Fix off-by-1 problem: 1 too many bytes were being allocated.
- (quote_string, pedwarn_with_file_and_line): New arg specifies length.
- All callers changed.
-
-Sun Mar 15 15:38:16 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-typeck.c: Collect pending initializers in AVL tree instead of list.
- (add_pending_init, pending_init_member): New functions.
- (output_init_element): Use them.
- (output_pending_init_elements): Rewritten to exploit AVL order.
-
-Sun Mar 15 05:10:49 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * gnu.h (GNU_CPP_PREDEFINES): Deleted; not valid in traditional C.
- * {i386,mips}/gnu.h (CPP_PREDEFINES): Don't call GNU_CPP_PREDEFINES.
-
- * flow.c (insn_dead_p): A CLOBBER of a dead pseudo is dead.
-
- * alpha.h (REG_ALLOC_ORDER): Put $f1 after other nonsaved.
-
- * sparc.c (sparc_type_code): Fix error in previous change.
-
-Sat Mar 14 05:45:21 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i386/xm-aix.h, i386/xm-osf.h (i386/xm-i386.h): Don't include.
- (USG): Don't define.
- * i386/xm-isc.h (i386/xm-sysv3.h): Don't include.
- * i386/xm-sco.h (i386/xm-sysv3.h): Likewise.
- (BROKEN_LDEXP, SMALL_ARG_MAX, NO_SYS_SIGLIST): Don't define.
- * m68k/xm-3b1.h (m68k/xm-m68k.h): Don't include.
- (USG): Don't define.
- * m68k/xm-atari.h (m68k/xm-m68kv.h): Don't include.
- (HAVE_VPRINTF, FULL_PROTOTYPES): Don't define.
- * m68k/xm-crds.h (m68k/xm-m68k.h): Don't include.
- (USE_C_ALLOCA, unos, USG): Don't define.
- * m68k/xm-mot3300.h (m68k/xm-m68k.h): Don't include.
- (USE_C_ALLOCA, NO_SYS_SIGLIST): Don't define.
- * m68k/xm-plexus.h (m68k/xm-m68k.h): Don't include.
- (USE_C_ALLOCA, USG): Don't define.
- * m88k/xm-sysv3.h (m88k/xm-m88k.h): Don't include.
- * m68k/xm-next.h (m68k/xm-m68k.h): Don't include.
- * ns32k/xm-pc532-min.h (ns32k/xm-ns32k.h): Don't include.
- (USG): Don't define.
- * rs6000/xm-mach.h: Don't include xm-rs6000.h.
- * rs6000/xm-cygwin32.h (rs6000/xm-rs6000.h): Don't include.
- (NO_STAB_H): Don't define.
- * sparc/xm-linux.h (xm-linux.h): Don't include.
- * sparc/xm-sol2.h (sparc/xm-sysv4.h): Don't include.
- * a29k/xm-unix.h, alpha/xm-linux.h, arm/xm-linux.h: Deleted.
- * arm/xm-netbsd.h, i386/xm-bsd386.h, i386/xm-gnu.h: Deleted.
- * i386/xm-linux.h, i386/xm-sun.h, i386/xm-sysv3.h: Deleted.
- * i386/xm-winnt.h, m68k/xm-altos3068.h, m68k/xm-amix.h: Deleted.
- * m68k/xm-amix.h, m68k/xm-hp320.h, m68k/xm-linux.h: Deleted.
- * m68k/xm-m68kv.h, mips/xm-iris5.h, ns32k/xm-genix.h: Deleted.
- * sparc/xm-pbd.h, vax/xm-vaxv.h, xm-svr3.h, xm-linux.h: Deleted.
- * configure.in: Reflect above changes.
-
- * xm-siglist.h, xm-alloca.h: New files.
- * i386/xm-sysv4.h (i386/xm-i386.h, xm-svr4.h): Don't include.
- (USE_C_ALLOCA, SMALL_ARG_MAX): Don't define.
- * i386/xm-sco5.h (i386/xm-sysv3.h): Don't include.
- (SYS_SIGLIST_DECLARED, USE_C_ALLOCA): Don't define.
- * rs6000/xm-sysv4.h, sparc/xm-sysv4.h: Don't include xm-svr4.h.
- * xm-svr4.h, i386/xm-dgux.h, mips/xm-news.h, mips/xm-sysv4.h: Deleted.
- * configure.in: Reflect above changes.
-
- * configure.in ({,host_,build_}xm_defines): New variables.
- Set to USG instead of including xm-usg.h.
- Write #define lines in config.h files from xm_defines vars.
- * xm-usg.h: Deleted.
-
-Fri Mar 13 07:10:59 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * calls.c (expand_call): Fix typo in previous change.
-
- * sparc.c (sparc_type_code): Avoid infinite loop when have
- pointer to array of same pointer.
- (sparc_type_code, case REAL_TYPE): Process subtypes here too.
-
- * mips/bsd-4.h, mips/iris3.h, mips/news{4,5}.h: Don't include mips.h.
- * mips/news5.h, mips/osfrose.h, mips/svr{3,4}-4.h: Likewise.
- * mips/ultrix.h: Likewise.
- * mips/cross64.h: Don't include iris6.h.
- * mips/ecoff.h: Don't include mips.h or gofast.h.
- * mips/elforion.h: Don't include elf64.h.
- * mips/iris4.h: Don't include iris3.h.
- * mips/iris4loser.h: Don't include iris4.h.
- * mips/iris5gas.h: Don't include iris5.h.
- * mips/elflorion.h, mips/nws3250v4.h, mips/xm-iris{3,4}.h: Deleted.
- * mips/xm-nws3250v4.h, mips/xm-sysv.h: Deleted.
- * mips/rtems64.h: Don't include elflorion.h.
- * mips/sni-gas.h: Don't include sni-svr4.h.
- * mips/svr4-t.h: Don't include svr4-5.h.
- * mips/dec-osf1.h: Also include mips.h.
- * mips/ecoffl.h, mips/elf.h: Also include mips.h and gofast.h.
- * mips/iris5.h: Also include iris3.h and mips.h.
- * xm-usg.h: New file.
- * mips/xm-iris5.h: Don't include xm-mips.h; don't define USG.
- * mips/xm-news.h, mips/xm-sysv4.h: Don't include xm-sysv.h.
- * configure.in: Reflect above changes.
-
-Thu Mar 12 07:18:48 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.h (STRICT_ARGUMENT_NAMING): Provide default value of 0.
- * calls.c (expand_call): Use value of STRICT_ARGUMENT_NAMING.
- * function.c (assign_parm): Likewise.
- * mips/abi64.h (STRICT_ARGUMENT_NAMING): Return 0 for ABI_32.
- * sparc.h (STRICT_ARGUMENT_NAMING): Only nonzero for V9.
-
- * calls.c (expand_call, expand_library_call{,_value}, store_one_arg):
- Rework handling of REG_PARM_STACK_SPACE to treat return value of
- zero as if macro not defined; add new arg to emit_push_insn.
- * expr.c (emit_push_insn): New arg, REG_PARM_STACK_SPACE.
- * expr.h (emit_push_insn): Likewise.
- * mips/abi64.h (REG_PARM_STACK_SPACE): Define.
-
-Wed Mar 11 06:58:13 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.h (CONST_OK_FOR_LETTER_P, case 'M'): Correct range check.
-
-Wed Mar 11 06:15:52 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (emit_push_insn): Use loop to find movstr patterns
- instead of explicit tests.
-
- * Makefile.in (extraclean): Don't delete install1.texi.
-
-Tue Mar 10 14:27:51 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * combine.c (make_field_assignment): Don't get confused if OTHER
- has VOIDmode and don't do anything if DEST is wider than a host word.
-
- * vax.c (check_float_value): Cast bcopy args to char *.
-
-Tue Mar 10 13:56:12 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips/abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and
- TARGET_DEFAULT and define __LONG_MAX__ appropriately.
- Add support for -mabi=X, -mlong64, and -mgp{32,64} options.
- * mips.c (mips_abi): Change type to int.
- * mips.h (enum mips_abi_type): Delete.
- (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
- (mips_abi): Change type to int.
-
-Mon Mar 2 08:06:58 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Version 2.8.1 released.
-
- * Makefile.in (mostlyclean): Remove duplicate deletion of temp
- files. Delete more stamp files and [df]p-bit.c
- (clean): Don't delete stamp files here.
- (VERSION_DEP): New variable.
- (distdir-finish): Pass a value of null for it.
- (version.c): Use it.
- Avoid broken pipe with cvs log.
-
- * objc/Make-lang.in (objc/runtime-info.h): Rename emptyfile to
- tmp-runtime and delete at end.
-
-Sun Mar 1 05:50:25 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * tree.c (build_reference_type): Handle obstacks like
- build_pointer_type.
-
- * Makefile.in (tmp-gcc.xtar): Renamed from gcc.xtar.
- (gcc.xtar.gz): Deleted; merged with `dist'.
- (diff): Create gcc-$(oldversion)-$(version).diff.
- (distdir): Depend on distdir-cvs.
- (distdir-cvs): New rule.
- (distdir-start): Depend on version.c and TAGS.
- (TAGS): Use tmp-tags instead of temp.
- (dist): Create gcc-$(version).tar.gz.
-
- * varasm.c (compare_constant_1): Fix typo in previous change.
-
- * objc/Make-lang.in (objc-distdir): Properly rebuild objc-parse.c.
-
-Sat Feb 28 16:58:08 1998 Tristan Gingold <gingold@rossini.enst.fr>
-
- * stmt.c (expand_decl): If -fcheck-memory-usage, put vars in memory.
- * expr.c (get_memory_usage_from_modifier): Convert
- EXPAND_{CONST_ADDRESS, INITIALIZER} to MEMORY_USE_DONT.
-
-Sat Feb 28 08:13:43 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i860/fx2800.h (DATA_ALIGNMENT): Use POINTER_TYPE_P.
- * m68k/a-ux.h (FUNCTION_VALUE): Likewise.
- * expr.c (get_pointer_alignment, compare, do_store_flag): Likewise.
- (expand_builtin): Likewise.
- * fold-const.c (force_fit_type, fold_convert, fold): Likewise.
- * function.c (assign_parms): Likewise.
- * integrate.c (expand_inline_function): Likewise.
- * sdbout.c (sdbout_field_types): Likewise.
- * tree.c (integer_pow2p, tree_log2, valid_machine_attribute): Likewise.
- * stmt.c (expand_decl): Likewise.
- ({,bc_}expand_decl_init): Also test for REFERENCE_TYPE.
-
- * configure.in (version_dep): New variable; if srcdir is CVS working
- directory, set to ChangeLog.
- (version): Supply default if no version.c.
- * Makefile.in (version.c): New rule.
-
- * gcc.c (snapshot_warning): New function.
- (main): Call it for snapshots.
-
- * dwarf2out.c (expand_builtin_dwarf_reg_size): If reg_raw_mode
- not valid for reg, use last size. Also refine range assertion.
-
-Sat Feb 28 05:04:47 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * enquire.c (cprop): Don't perform exhaustive search for char_min
- and char_max when bits_per_byte > 16.
-
-Thu Feb 26 15:12:03 1998 Christopher Taylor <cit@ckshq.com>
-
- * fixincludes: Avoid using '0-~' in egrep.
-
-Thu Feb 26 08:04:05 1998 Tristan Gingold <gingold@messiaen.enst.fr>
-
- * function.c (assign_parms): Call 'chkr_set_right' when DECL_RTL
- is stack_parm.
- * expr.c (get_memory_usage_from_modifier): Convert
- EXPAND_{SUM, CONST_ADDRESS, INITIALIZER} to MEMORY_USE_RO.
-
-Thu Feb 26 07:33:53 1998 Paul Eggert <eggert@twinsun.com>
-
- * c-lex.c (yylex): Don't munge errno before using it.
- * cccp.c (error_from_errno, perror_with_name): Likewise.
- * cpplib.c (cpp_error_from_errno): Likewise.
- * gcc.c (pfatal_pexecute): Likewise.
- * protoize.c (safe_write, find_file, process_aux_info_file): Likewise.
- (rename_c_file, edit_file): Likewise.
-
- * c-lex.c (yylex): Remove unused variable exceeds_double.
-
-Thu Feb 26 07:05:14 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * reorg.c (fill_slots_from_thread): Don't steal delay list from target
- if condition code of jump conflicts with opposite_needed.
-
-Thu Feb 26 06:45:23 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (distdir-start): Don't copy CVS subdirectory of config.
-
- * varasm.c ({compare,record}_constant_1, case CONSTRUCTOR):
- Handle the case when we have TREE_PURPOSE values.
-
-Thu Feb 26 05:59:01 1998 Philippe De Muyter <phdm@macqel.be>
-
- * fixincludes (sys/limits.h): Fix a nested comment problem with
- HUGE_VAL definition on sysV68 R3V7.1.
-
-Wed Feb 25 21:09:38 1998 Philippe De Muyter <phdm@macqel.be>
-
- * toplev.c (TICKS_PER_SECOND): Renamed from CLOCKS_PER_SECOND.
-
-Wed Feb 25 20:50:08 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * reorg.c (fill_slots_from_thread): Mark resources referenced in
- opposite_needed thread. Return delay_list even when cannot get
- any more delay insns from end of subroutine.
-
-Wed Feb 25 19:50:01 1998 Mikael Pettersson <Mikael.Pettersson@sophia.inria.fr>
-
- * gcc.c (lookup_compiler): Remove redundant test.
-
-Wed Feb 25 07:24:22 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * vax.md (call insns): Second operand to CALL rtl is SImode.
-
- * configure.in (i[34567]86-*-mingw32): Support msv and crt suffix.
- * i386/crtdll.h: New file.
-
- * sparc.c (pic_setup_code): If -O0, write USE of pic_offset_table_rtx.
-
- * expr.c (safe_from_p): Add new arg, TOP_P; all callers changed.
-
-Sat Feb 21 07:02:39 1998 Jim Wilson <wilson@cygnus.com>
-
- * mips/iris5.h (DWARF2_UNWIND_INFO): Define to 0.
- * mips/iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
-
-Fri Feb 20 08:27:46 1998 Paul Eggert <eggert@twinsun.com>
-
- * sparc/sol2-sld.h: New file.
- * configure.in (sparc-*-solaris2*): Use it when using system linker.
- * toplev.c (main): Don't default to DWARF2_DEBUG with -ggdb
- if LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
-
-Fri Feb 20 08:21:49 1998 H.J. Lu (hjl@gnu.org)
-
- * alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Support shared library.
- (LIB_SPEC, DEFAULT_VTABLE_THUNKS): Defined #ifndef USE_GNULIBC_1.
- * sparc/linux.h (DEFAULT_VTABLE_THUNKS): Likewise.
- (LIB_SPEC): Add -lc for -shared #ifndef USE_GNULIBC_1.
- * linux.h (LIB_SPEC): Likewise.
- * sparc/linux64.h (LIB_SPEC): Likewise; also updated for glibc 2.
- (LIBGCC_SPEC): Removed.
- (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
-
-Fri Feb 20 05:22:12 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (distdir-start): Add dependence on bi-parser.[ch].
-
-Thu Feb 19 18:07:11 1998 Jim Wilson <wilson@cygnus.com>
-
- * m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
- For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
-
-Wed Feb 18 09:37:29 1998 Paul Eggert <eggert@twinsun.com>
-
- * fixincludes (stdlib.h): Do not double-wrap the size_t typedef.
-
-Wed Feb 18 07:32:11 1998 Jim Wilson <wilson@cygnus.com>
-
- * i960.c (emit_move_sequence): Handle unaligned stores to pseudos.
- * i960.md (store_unaligned_[dt]i_reg): Handle register dest.
- (store_unaligned_ti_reg): Likewise.
-
- * m68k.h (MACHINE_STATE_{SAVE,RESTORE} [MOTOROLA]): Add %# and %/;
- add : to make them into extended asms.
-
-Wed Feb 18 07:08:05 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * reg-stack.c (compare_for_stack_reg): Only handle FP conditional
- move as next insn specially.
-
- * reload.c (find_reloads): Always convert address reload for
- non-reloaded operand to RELOAD_FOR_OPERAND_ADDRESS.
-
- * emit-rtl.c (hard-reg-set.h): Include.
- (get_lowpart_common): Don't make new REG for hard reg in a
- class that cannot change size.
- * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
-
-Sat Feb 14 09:59:00 1998 Richard Earnshaw (rearnsha@arm.com)
-
- * arm.md (movsfcc): Also validate operands[3] for hard float.
- (movdfcc): Only accept fpu_add_operand for operands[3].8
-
-Sat Feb 14 09:32:34 1998 Jim Wilson <wilson@cygnus.com>
-
- * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
- Convert CCmode to word_mode before calling GET_MODE_SIZE.
-
-Sat Feb 14 09:27:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
-
- * rs6000.h (MY_ISCOFF): Check for U803XTOCMAGIC.
-
-Sat Feb 14 08:29:43 1998 Arvind Sankar <arvind@cse.iitb.ernet.in>
-
- * t-svr4 (TARGET_LIBGCC_CFLAGS): New definition.
-
-Sat Feb 14 07:45:16 1998 Ken Rose (rose@acm.org)
-
- * reorg.c (fill_slots_from_thread): New parameter, delay_list.
- All callers changed.
-
-Sat Feb 14 07:14:02 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * reload.c (debug_reload): Properly output insn codes.
-
- * pa.c (emit_move_sequence): If in reload, call find_replacement.
-
- * gansidecl.h (bcopy, bzero, {,r}index): Don't define if IN_LIBGCC2.
-
- * combine.c (distribute_notes, case REG_DEAD): When seeing if place
- to put new note sets register, use reg_bitfield_target_p, as in
- original code.
-
- * gcc.c (process_command): If file is for linker, set lang to "*".
- (lookup_compiler): Return 0 for language of "*".
-
- * sched.c (attach_deaths, case SUBREG): Fix error in last change.
-
- * i386.md (mov[sdx]fcc): Disable for now.
- (mov[sd]fcc_1): Add earlyclobber for output on last alternative.
-
-Sat Feb 14 06:42:50 1998 Jason Merrill <jason@yorick.cygnus.com>
-
- * except.c (get_dynamic_handler_chain): Only make call once per func.
- (expand_fixup_region_{start,end}): New functions.
- (expand_eh_region_start_tree): Store cleanup into finalization here.
- * stmt.c (expand_cleanups): Use new functions to protect fixups.
-
- * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
- * optabs.c (init_optabs): Don't init get_dynamic_handler_chain_libfunc.
- * expr.h (get_dynamic_handler_chain_libfunc): Deleted.
-
-Sat Feb 14 06:34:41 1998 Peter Lawrence <Peter.Lawrence@Eng.Sun.COM>
-
- * optabs.c (emit_conditional_move): Don't reverse condition for FP.
-
-Fri Feb 13 07:22:04 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (mostlyclean): Only use s-* convention for stamp
- files in main dir.
-
- * configure.in: Add support for i786 (Pentium II); same as i686.
-
-Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
-
- * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
-
-Thu Feb 12 10:08:14 1998 John Hassey <hassey@dg-rtp.dg.com>
-
- * configure.in (i[3456]86-dg-dgux*): Don't need fixincludes.
-
-Thu Feb 12 07:27:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Define.
- about system headers.
- (LIB_SPEC): Add -ladvapi32 -lshell32.
-
-Thu Feb 12 07:19:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (expand_assignment): Fix typo in checking OFFSET.
-
- * gbl-ctors.h (atexit): Don't define unless needed.
-
- * combine.c (distribute_notes): Completely check for note operand being
- only partially set on potential note target; adjust what notes
- we make in that case.
-
- * i386/xm-go32.h (HAVE_{BCOPY,BZERO,INDEX,RINDEX}): Deleted.
-
-Wed Feb 11 08:53:27 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * calls.c (emit_call_1): Size args now HOST_WIDE_INT.
- (expand_call): struct_value_size now HOST_WIDE_INT.
-
-Tue Feb 10 09:04:39 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * integrate.c (initialize_for_inline): Ensure DECL_INCOMING_RTL
- is always copied.
-
-Tue Feb 10 06:10:49 1998 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c (rescan): Fix bug with macro name appearing
- immediately after L'x'.
-
-Mon Feb 9 20:45:32 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * c-common.c (format_char_info): Add new field zlen.
- (print_char_table): Remove entry for 'Z' as a format character.
- Initialize zlen field as appropriate.
- (scan_char_table): Set zlen field to NULL in each entry.
- (check_format_info): Recognize 'Z' as a length modifier, with a
- warning in pedantic mode.
- Avoid infinite loop when a repeated flag character is detected.
-
-Mon Feb 9 09:24:04 1998 Paul Eggert <eggert@twinsun.com>
-
- * c-parse.in (primary): Minor wording fix in diagnostic.
-
-Mon Feb 9 07:50:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * c-decl.c (grokdeclarator): Remove warning on inline of varargs.
-
- * reload.c (find_reloads): Check for const_to_mem case before
- checking for invalid reload; use force_const_mem if no_input_reloads.
-
- * function.c (push_function_context_to): Call init_emit last.
-
- * protoize.c (my_link): Define as -1 in mingw32.
- (link): Remove declaration.
-
- * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
-
- * integrate.c (expand_inline_function): Clear label_map with bzero.
-
- * unroll.c (copy_loop_body, case JUMP_INSN): Correct error in last
- change: call single_set on COPY, not INSN.
-
-Sun Feb 8 08:07:37 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * msdos/top.sed, winnt/config-nt.sed: Change version number to 2.8.1.
-
- * configure.in (i[3456]86-*-sco3.2v5*): Use cpio for headers.
-
-Sat Feb 7 07:32:46 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i386/mingw32.h (LIBGCC_SPEC, STARTFILE_SPEC, MATH_LIBRARY):
- Use msvcrt, not crtdll.
-
-Fri Feb 6 20:32:06 1998 Geert Bosch <bosch@gnat.com>
-
- * i386/xm-os2.h (EMX, USG, BSTRING, HAVE_{PUTENV,VPRINTF,STRERROR}):
- Define ifdef __EMX__.
- (strcasecmp): Define to be stricmp if __EMX__.
- (spawnv{,p}): Don't define if EMX.
- (OBJECT_SUFFIX): Don't define if EMX.
- (MKTEMP_EACH_FILE): Define.
-
-Fri Feb 6 16:37:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
- (objc.stage2, objc.stage3, objc.stage4): Likewise for the
- respective stageN-start targets.
- (objc/sendmsg.o): Depend on objc/runtime-info.h.
-
-Fri Feb 6 16:27:09 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
-
- * stmt.c (expand_asm_operands): Properly treat asm statement
- statements with no operands as volatile.
-
-Fri Feb 6 16:03:25 1998 Greg McGary <gkm@gnu.org>
-
- * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
-
-Fri Feb 6 15:57:36 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * i386/cygwin32.h (STRIP_NAME_ENCODING): New macro.
-
-Fri Feb 6 15:50:42 1998 Paul Eggert <eggert@twinsun.com>
-
- * libgcc2.c (__floatdi[xtds]f): Round properly even when rounding
- large negative integer to plus or minus infinity.
-
-Fri Feb 6 15:45:16 1998 Philippe De Muyter <phdm@macqel.be>
-
- * sdbout.c (plain_type_1): Return T_DOUBLE, not T_VOID, for
- long double #ifndef EXTENDED_SDB_BASIC_TYPES.
-
-Fri Feb 6 15:23:49 1998 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * vax/ultrix.h (HAVE_ATEXIT): Define.
- * x-vax: File deleted.
-
-Fri Feb 6 14:34:19 1998 Douglas Rupp <rupp@gnat.com>
-
- * gcc.c (process_command, case "-dumpversion"): Print spec_version.
-
-Fri Feb 6 11:01:13 1998 Josh Littlefield <josh@american.com>
-
- * i386/gmon-sol2.c (internal_mcount): Do set-up when program starts
- and install hook to do clean-up when it exits.
- * i386/sol2-c1.asm (_mcount): Make a weak instead of global symbol.
- * i386/sol2dbg.h (ASM_SPEC): Support Solaris bundled assembler's -V
- argument; pass -s argument to assembler.
-
-Fri Feb 6 09:13:21 1998 Jim Wilson (wilson@cygnus.com)
-
- * function.c (assign_parms): New variable named_arg, with value
- depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
-
- * crtstuff.c (__frame_dummy): New function for irix6.
- (__do_global_ctors): Call __frame_dummy for irix6.
- * mips/iris6.h (LINK_SPEC): Hide __frame_dummy too.
-
-Fri Feb 6 09:08:21 1998 Mike Stump <mrs@wrs.com>
-
- * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after reload.
- * genattrtab.c (reload_completed): Define.
-
- * configure.in (i960-wrs-vxworks): Same as i960-wrs-vxworks5*.
-
-Fri Feb 6 08:47:38 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Makefile.in (diff): Add INSTALL, configure, and config.in;
- remove objc-*.
- * objc/config-lang.in (diff_excludes): Add objc-parse.[cy].
-
- * i386/xm-mingw32.h (link): Delete macro.
-
- * alpha.c (output_prolog): Write out frame sizes as longs and
- print too large sizes as zero.
-
- * function.c (combine_temp_slots): No need to allocate and free rtx.
- Don't do anything if too many slots in the list.
- (put_var_into_stack): Don't use ADDRESSOF if not optimizing.
-
- * function.c (purge_addressof_1): Force into mem if VOLATILE reference.
-
- * calls.c (expand_call): Show VAR_DECL made for structure return
- address is used; remove bogus set of MEM_IN_STRUCT_P.
- * expr.c (expand_expr, case SAVE_EXPR, case TARGET_EXPR): Show used.
- (expand_builtin, case BUILT_IN_LONGJMP): Show __dummy used.
- * function.c (put_reg_into_stack): New arg USED_P; all callers changed.
-
- * expr.c (expand_expr, case SAVE_EXPR): assign_temp with KEEP of 3.
- * function.c (var_temp_slot_level): New variable.
- (push_function_context_to, pop_function_context_from): Save/restore
- it and target_temp_slot_level.
- (assign_stack_temp): Implement KEEP of 3.
- (push_temp_slots_for_block): New function.
- (init_temp_slots): Initialize var_temp_slot_level.
- * function.h (struct function, fields {var,target}_temp_slot_level):
- New fields.
- * stmt.c (expand_start_bindings): Call push_temp_slots_for_block.
-
- * function.c (struct temp_slot): SIZE, BASE_OFF_SET, and FULL_SIZE
- now HOST_WIDE_INT.
- (assign_{,outer_}stack_local, assign_{,stack_}temp): Size arg is
- now HOST_WIDE_INT.
- (assign_stack_temp): Do size computations in HOST_WIDE_INT.
- (fixup_var_refs_1, optimize_bit_field, instantiate_decls): Likewise.
- (instantiate_virtual_regs_1, fix_lexical_address): Likewise.
- * rtl.h (assign_stack_{local,temp}): Size arg is HOST_WIDE_INT.
- (assign_temp): Likewise.
- * expr.h (struct args_size): Field CONSTANT is now HOST_WIDE_INT.
-
- * sched.c (attach_deaths, case REG): Don't check for REG_UNUSED.
- (attach_deaths, case SUBREG, STRICT_LOW_PART, {ZERO,SIGN}_EXTRACT):
- Don't pass set_p of 1 if partial assignment.
-
- * tree.h (size_in_bytes): Returns HOST_WIDE_INT.
- * tree.c (size_in_bytes): Likewise.
- Tighen up logic some to avoid returning a bogus value instead of -1.
-
- * expr.c (get_inner_reference, case ARRAY_EXPR): Make WITH_RECORD_EXPR
- just for index.
- (expand_expr, case PLACEHOLDER_EXPR): Refine search again; look
- at each expression and look for pointer to type.
-
- * expr.c (safe_from_p, case ADDR_EXPR): If TREE_STATIC, no trampoline.
- (expand_expr, case ADDR_EXPR): Likewise.
-
- * expr.c (emit_block_move): Use conservative range for movstr mode.
-
- * configure.in: See if "cp -p" works if "ln -s" doesn't; else "cp".
-
- * combine.c (try_combine.c): Pass elim_i2 and elim_i1 to
- distribute_notes for i3dest_killed REG_DEAD note.
-
- * configure.in (mips-dec-netbsd*): Remove bogus setting of prefix.
-
- * c-decl.c (duplicate_decls): Set DECL_IGNORED_P in newdecl if
- different bindings levels.
-
- * configure.in: Test ln -s by symlinking gcc.c.
-
- * configure.in (i[3456]86-dg-dgux): Add wildcard for version.
-
- * crtstuff.c (__do_global_ctors_aux): Switch back to text section
- in proper place.
-
- * rtlanal.c (rtx_varies_p, case REG): pic_offset_table_rtx is fixed.
- * genattrtab.c (pic_offset_table_rtx): Define (dummy).
- * cse.c (set_nonvarying_address_components): Understand PIC refs.
-
- * loop.c (strength_reduce): When placing increment for auto-inc
- case, do comparison in loop order.
-
- * i860.c (output_delayed_branch): Add missing arg to recog.
- (output_delay_insn): Add missing arg to constrain_operands.
-
- * configure.in: Truncate target after finished comparing it with host.
-
- * i386.h (MAX_FIXED_MODE_SIZE): Delete.
-
- * c-parse.in (expr_no_comma): Clarify undefined error.
-
- * prefix.c (get_key_value): Don't default to PREFIX here.
- (translate_name): Remove bogus addition of "$" if getenv fails;
- clean up application of default value of PREFIX.
-
- * fold-const.c (fold_convert): Call force_fit_type even if input
- already overflows.
-
-Fri Feb 6 07:45:01 1998 Robert Hoehne <robert.hoehne@gmx.net>
-
- * i386/xm-go32.h (HAVE_{BCOPY,BZERO,BCMP,RINDEX,INDEX}): Define.
-
- * gcc.c (main): Treat paths starting with '$' or DOS drives
- as absolute in standard_startfile_prefix.
-
-Thu Feb 5 21:07:12 1998 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * cpplib.c (IS_INCLUDE_DIRECTIVE_TYPE): Add casts from enum to int.
- * cccp.c (IS_INCLUDE_DIRECTIVE_TYPE, handle_directive): Likewise.
-
-Thu Feb 5 19:00:44 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (expand_expr, case CONSTRUCTOR): Correct shift count
- when making signed bit field; use EXPAND_NORMAL, not 0.
-
-Thu Feb 5 17:42:43 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
- stuff only if MCT_TEXT is #define'd.
-
-Thu Feb 5 17:32:01 1998 Robert Hoehne <robert.hoehne@gmx.net>
-
- * Makefile.in: Changed most stamp-* to s-*.
-
-Tue Feb 3 19:45:50 1998 James Hawtin <oolon@ankh.org>
-
- * i386/sol2.h (STARTFILE_SPEC, LIB_SPEC): Update -pg files.
- * configure.in (i[3456]86-*-solaris2*): Add gcrt1.o and gmon.o
- to extra_parts.
-
-Tue Feb 3 17:28:48 1998 Christopher C Chimelis <chris@classnet.med.miami.edu>
-
- * configure.in (alpha*-*-linux-gnu*): Add extra_parts for crtstuff.
-
-Tue Feb 3 17:18:19 1998 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (find_barrier): Fix one-too-many bug if fail to find barrier.
-
- * arm.c (arm_reload_in_hi): Handle cases where the MEM is too
- complex for a simple offset.
-
-Tue Feb 3 16:14:21 1998 Robert Hoehne <robert.hoehne@gmx.net>
-
- * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
-
- * configure.in (i[3456]86-pc-msdosdjgpp*): New entry.
-
-Tue Feb 3 07:33:58 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * explow.c (probe_stack_range): Properly check for small
- number of probes.
-
- * gcc.c (process_command, case 'V'): Validate arg.
-
- * configure.in (sbrk): Add check for needed declaration.
- * acconfig.h (NEED_DECLARATION_SBRK): New entry.
- * toplev.c (sbrk): Update declaration conditional.
- * mips-tfile.c (sbrk, free): Likewise.
-
- * sparc/sysv4.h (DBX_REGISTER_NUMBER): Remove abort.
-
- * mips.c (mips_expand_prologue): Pass reg 25 to gen_loadgp.
- * mips.md (loadgp): Add second operand for register number to add.
- (builtin_setjmp_receiver): Pass new label and reg 31 to loadgp.
-
- * toplev.c: Include insn-codes.h, insn-config.h, and recog.h.
- (compile_file): Try to emit nop to separate gcc_compiled symbol.
- * Makefile.in (toplev.o): Depends on insn-{codes,config}.h, recog.h.
-
-Tue Feb 3 06:58:46 1998 Mark Mitchell <mmitchell@usa.net>
-
- * integrate.c (get_label_from_map): New function.
- (expand_inline_function): Use it.
- Initialize label_map to NULL_RTX instead of gen_label_rtx.
- (copy_rtx_and_substitute): Use get_label_from_map.
- * integrate.h (get_label_from_map): New function.
- (set_label_from_map): New macro.
- * unroll.c (unroll_loop, copy_loop_body): Use them.
-
-Mon Feb 2 16:33:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * i386.md (mov{si,hi,sf,df,xf}cc{,_1}): Remove cases with branches.
-
- * rs6000/x-aix31 (INSTALL): Deleted.
- * mips/x-dec-osf1, mips/x-osfrose, i386/x-osfrose: Likewise.
- * arm/x-riscix: Likewise.
-
- * c-typeck.c (signed_or_unsigned_type): Properly handle pointer types.
-
-Mon Feb 2 15:33:58 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
-
- * unroll.c (copy_loop_body): Use single_set instead of
- PATTERN to detect increment of an iv inside a PARALLEL.
-
-Fri Jan 16 20:29:50 1998 Paul Eggert <eggert@twinsun.com>
-
- * toplev.c (<unistd.h>): New include.
- (get_run_time): Prefer CLK_TCK (if available) to HZ, and
- prefer sysconf (_SC_CLK_TCK) (if available) to CLK_TCK.
- * configure.in (sysconf): Call AC_CHECK_FUNCS.
-
-Wed Jan 14 20:10:51 1998 Paul Eggert <eggert@twinsun.com>
-
- * cccp.c: (rescan): Don't report line 0 as the possible real start
- of an unterminated string constant.
- Don't mishandle backslash-newlines that in are the output of
- a macro expansion. Properly skip // style comments between a function
- macro name and '(', as well as backslash-newlines in comments there.
- (handle_directive): Handle / \ newline * between # and directive name.
- In #include directives, \ does not escape ".
- (do_include): For `#include "file', do not bother expanding into temp
- buffer. When error encountered when expanding, do not try result.
- (skip_if_group): When skipping an include directive, use include
- tokenization, not normal tokenization. Backslash-newline is still
- special when skipping. Handle * \ newline / correctly in comments
- when skipping.
- (skip_quoted_string): After \ newline, set *backslash_newlines_p
- even if count_newlines is 0.
- (macroexpand): Newline space is not a special marker inside a string.
- (macroexpand, macarg): Do not generate \ddd for control characters
- when stringifying; the C Standard does not allow this.
- (macarg1): New arg MACRO. All callers changed.
- Do not treat /*, //, or backslash-newline specially when processing
- the output of a macro.
- (discard_comments): Don't go past limit if looking for end of comment.
- Discard backslash-newline properly when discarding comments.
- (change_newlines): \" does not end a string.
- (make_definition): Do not treat backslash-newline specially, as it
- has already been removed before we get here.
-
- * profile.c (output_func_start_profiler): Don't fflush output
- if -quiet.
- * toplev.c (rest_of_compilation): Likewise.
-
- * i386/x-sco5 (CC): Remove trailing white space.
- * x-convex (CCLIBFLAGS): Likewise.
- * arm/t-semi (LIBGCC2_CFLAGS): Likewise.
-
-Wed Jan 7 18:02:42 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Version 2.8.0 released.
-
-Wed Jan 7 17:54:41 1998 J. Kean Johnston <jkj@sco.com>
-
- * i386/sco5.h ({END,START}FILE_SPEC): Link with correct crtbegin.o
- and crtend.o when using -static.
-
-Wed Jan 7 17:49:14 1998 Jan Christiaan van Winkel <Jan.Christiaan.van.Winkel@ATComputing.nl>
-
- * cppexp.c (gansidecl.h): Include.
-
-Wed Jan 7 17:45:07 1998 Tristan Gingold <gingold@puccini.enst.fr>
-
- * expr.c (get_push_address): Use copy_to_reg instead of force_operand.
- (emit_push_insn): Avoid null pointer deference if aggregate has no
- types.
- (expand_expr): Avoid finite but useless recursion.
- (expand_builtin): Fix typo in calling function.
- * function.c (assign_parms): Avoid useless call to chkr_set_right.
-
-Wed Jan 7 17:31:13 1998 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
-
- * combine.c (force_to_mode): Return if operand is a CLOBBER.
-
-Wed Jan 7 17:23:24 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * x-rs6000 (INSTALL): Remove.
-
- * jump.c (jump_optimize): Don't use a hard reg as an operand
- of a conditional move if small register classes.
-
-Wed Jan 7 17:09:28 1998 Jim Wilson <wilson@cygnus.com>
-
- * cse.c (max_insn_uid): New variable.
- (cse_around_loop): Use it.
- (cse_main): Set it.
-
-See ChangeLog.11 for earlier changes.
-
-Use a consistent time stamp format in ChangeLog entries.
-Not everyone has Emacs 20 yet, so stick with Emacs 19 format for now.
-
-Local Variables:
-add-log-time-format: current-time-string
-End:
diff --git a/gcc/c-aux-info.c b/gcc/c-aux-info.c
index d86d445..aa00448 100755
--- a/gcc/c-aux-info.c
+++ b/gcc/c-aux-info.c
@@ -43,67 +43,6 @@ static int deserves_ellipsis PROTO((tree));
static char *gen_formal_list_for_func_def PROTO((tree, formals_style));
static char *gen_type PROTO((char *, tree, formals_style));
static char *gen_decl PROTO((tree, int, formals_style));
-
-/* Concatenate a sequence of strings, returning the result.
-
- This function is based on the one in libiberty. */
-
-/* This definition will conflict with the one from prefix.c in
- libcpp.a when linking cc1 and cc1obj. So only provide it if we are
- not using libcpp.a */
-#ifndef USE_CPPLIB
-char *
-concat VPROTO((const char *first, ...))
-{
- register int length;
- register char *newstr;
- register char *end;
- register const char *arg;
- va_list args;
-#ifndef ANSI_PROTOTYPES
- const char *first;
-#endif
-
- /* First compute the size of the result and get sufficient memory. */
-
- VA_START (args, first);
-#ifndef ANSI_PROTOTYPES
- first = va_arg (args, const char *);
-#endif
-
- arg = first;
- length = 0;
-
- while (arg != 0)
- {
- length += strlen (arg);
- arg = va_arg (args, const char *);
- }
-
- newstr = (char *) malloc (length + 1);
- va_end (args);
-
- /* Now copy the individual pieces to the result string. */
-
- VA_START (args, first);
-#ifndef ANSI_PROTOTYPES
- first = va_arg (args, char *);
-#endif
-
- end = newstr;
- arg = first;
- while (arg != 0)
- {
- while (*arg)
- *end++ = *arg++;
- arg = va_arg (args, const char *);
- }
- *end = '\000';
- va_end (args);
-
- return (newstr);
-}
-#endif /* ! USE_CPPLIB */
/* Given a string representing an entire type or an entire declaration
which only lacks the actual "data-type" specifier (at its left end),
diff --git a/gcc/c-common.c b/gcc/c-common.c
index a55df35..5f56218 100755
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -30,12 +30,10 @@ Boston, MA 02111-1307, USA. */
#include "c-pragma.h"
#include "rtl.h"
-#if USE_CPPLIB
#include "cpplib.h"
cpp_reader parse_in;
cpp_options parse_options;
static enum cpp_token cpp_token;
-#endif
#ifndef WCHAR_TYPE_SIZE
#ifdef INT_TYPE_SIZE
@@ -2781,7 +2779,6 @@ truthvalue_conversion (expr)
return build_binary_op (NE_EXPR, expr, integer_zero_node, 1);
}
-#if USE_CPPLIB
/* Read the rest of a #-directive from input stream FINPUT.
In normal use, the directive name and the white space after it
have already been read, so they won't be included in the result.
@@ -2886,90 +2883,6 @@ get_directive_line ()
char_escaped = (c == '\\' && ! char_escaped);
}
}
-#else
-/* Read the rest of a #-directive from input stream FINPUT.
- In normal use, the directive name and the white space after it
- have already been read, so they won't be included in the result.
- We allow for the fact that the directive line may contain
- a newline embedded within a character or string literal which forms
- a part of the directive.
-
- The value is a string in a reusable buffer. It remains valid
- only until the next time this function is called.
-
- The terminating character ('\n' or EOF) is left in FINPUT for the
- caller to re-read. */
-
-char *
-get_directive_line (finput)
- register FILE *finput;
-{
- static char *directive_buffer = NULL;
- static unsigned buffer_length = 0;
- register char *p;
- register char *buffer_limit;
- register int looking_for = 0;
- register int char_escaped = 0;
-
- if (buffer_length == 0)
- {
- directive_buffer = (char *)xmalloc (128);
- buffer_length = 128;
- }
-
- buffer_limit = &directive_buffer[buffer_length];
-
- for (p = directive_buffer; ; )
- {
- int c;
-
- /* Make buffer bigger if it is full. */
- if (p >= buffer_limit)
- {
- register unsigned bytes_used = (p - directive_buffer);
-
- buffer_length *= 2;
- directive_buffer
- = (char *)xrealloc (directive_buffer, buffer_length);
- p = &directive_buffer[bytes_used];
- buffer_limit = &directive_buffer[buffer_length];
- }
-
- c = getc (finput);
-
- /* Discard initial whitespace. */
- if ((c == ' ' || c == '\t') && p == directive_buffer)
- continue;
-
- /* Detect the end of the directive. */
- if (looking_for == 0
- && (c == '\n' || c == EOF))
- {
- ungetc (c, finput);
- c = '\0';
- }
-
- *p++ = c;
-
- if (c == 0)
- return directive_buffer;
-
- /* Handle string and character constant syntax. */
- if (looking_for)
- {
- if (looking_for == c && !char_escaped)
- looking_for = 0; /* Found terminator... stop looking. */
- }
- else
- if (c == '\'' || c == '"')
- looking_for = c; /* Don't stop buffering until we see another
- one of these (or an EOF). */
-
- /* Handle backslash. */
- char_escaped = (c == '\\' && ! char_escaped);
- }
-}
-#endif /* !USE_CPPLIB */
/* Make a variant type in the proper way for C/C++, propagating qualifiers
down to the element type of an array. */
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 71bf948..cf98fbd 100755
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -35,10 +35,8 @@ Boston, MA 02111-1307, USA. */
#include "c-lex.h"
#include "toplev.h"
-#if USE_CPPLIB
#include "cpplib.h"
extern cpp_reader parse_in;
-#endif
/* In grokdeclarator, distinguish syntactic contexts of declarators. */
enum decl_context
@@ -608,11 +606,7 @@ c_decode_option (argc, argv)
{
int strings_processed;
char *p = argv[0];
-#if USE_CPPLIB
strings_processed = cpp_handle_option (&parse_in, argc, argv);
-#else
- strings_processed = 0;
-#endif /* ! USE_CPPLIB */
if (!strcmp (p, "-ftraditional") || !strcmp (p, "-traditional"))
{
diff --git a/gcc/c-lex.c b/gcc/c-lex.c
index 6ddfd81..5daf7ba 100755
--- a/gcc/c-lex.c
+++ b/gcc/c-lex.c
@@ -38,14 +38,9 @@ Boston, MA 02111-1307, USA. */
#include <locale.h>
#endif /* MULTIBYTE_CHARS */
-#if USE_CPPLIB
#include "cpplib.h"
extern cpp_reader parse_in;
extern cpp_options parse_options;
-#else
-/* Stream for reading from the input file. */
-FILE *finput;
-#endif
extern void yyprint PROTO((FILE *, int, YYSTYPE));
@@ -57,17 +52,12 @@ tree ridpointers[(int) RID_MAX];
/* Cause the `yydebug' variable to be defined. */
#define YYDEBUG 1
-#if USE_CPPLIB
extern unsigned char *yy_cur, *yy_lim;
extern int yy_get_token ();
#define GETC() (yy_cur < yy_lim ? *yy_cur++ : yy_get_token ())
#define UNGETC(c) ((void)(c), yy_cur--)
-#else
-#define GETC() getc (finput)
-#define UNGETC(c) ungetc (c, finput)
-#endif
/* the declaration found for the last IDENTIFIER token read in.
yylex must look this up to detect typedefs, which get token type TYPENAME,
@@ -100,10 +90,6 @@ static int indent_level = 0; /* Number of { minus number of }. */
/* Nonzero if end-of-file has been seen on input. */
static int end_of_file;
-#if !USE_CPPLIB
-/* Buffered-back input character; faster than using ungetc. */
-static int nextchar = -1;
-#endif
#ifdef HANDLE_GENERIC_PRAGMAS
static int handle_generic_pragma PROTO((int));
@@ -169,22 +155,6 @@ char *
init_parse (filename)
char *filename;
{
-#if !USE_CPPLIB
- /* Open input file. */
- if (filename == 0 || !strcmp (filename, "-"))
- {
- finput = stdin;
- filename = "stdin";
- }
- else
- finput = fopen (filename, "r");
- if (finput == 0)
- pfatal_with_name (filename);
-
-#ifdef IO_BUFFER_SIZE
- setvbuf (finput, (char *) xmalloc (IO_BUFFER_SIZE), _IOFBF, IO_BUFFER_SIZE);
-#endif
-#else /* !USE_CPPLIB */
parse_in.show_column = 1;
if (! cpp_start_read (&parse_in, filename))
abort ();
@@ -196,7 +166,6 @@ init_parse (filename)
token buffer. We must arrange to read it out here. */
yy_cur = parse_in.token_buffer;
yy_lim = CPP_PWRITTEN (&parse_in);
-#endif
init_lex ();
@@ -206,11 +175,7 @@ init_parse (filename)
void
finish_parse ()
{
-#if USE_CPPLIB
cpp_finish (&parse_in);
-#else
- fclose (finput);
-#endif
}
void
@@ -422,11 +387,6 @@ position_after_white_space ()
{
register int c;
-#if !USE_CPPLIB
- if (nextchar != -1)
- c = nextchar, nextchar = -1;
- else
-#endif
c = GETC();
UNGETC (skip_white_space (c));
@@ -560,13 +520,6 @@ check_newline ()
/* We invoke HANDLE_PRAGMA before HANDLE_GENERIC_PRAGMAS (if
both are defined), in order to give the back end a chance to
override the interpretation of generic style pragmas. */
-#if !USE_CPPLIB
- if (nextchar >= 0)
- {
- c = nextchar, nextchar = -1;
- UNGETC (c);
- }
-#endif /* !USE_CPPLIB */
if (TREE_CODE (yylval.ttype) != IDENTIFIER_NODE)
goto skipline;
@@ -837,10 +790,6 @@ linenum:
/* skip the rest of this line. */
skipline:
-#if !USE_CPPLIB
- if (c != '\n' && c != EOF && nextchar >= 0)
- c = nextchar, nextchar = -1;
-#endif
while (c != '\n' && c != EOF)
c = GETC();
return c;
@@ -874,11 +823,6 @@ handle_generic_pragma (token)
default:
handle_pragma_token (token_buffer, NULL);
}
-#if !USE_CPPLIB
- if (nextchar >= 0)
- c = nextchar, nextchar = -1;
- else
-#endif
c = GETC ();
while (c == ' ' || c == '\t')
@@ -1090,11 +1034,6 @@ yylex ()
register int value;
int wide_flag = 0;
-#if !USE_CPPLIB
- if (nextchar >= 0)
- c = nextchar, nextchar = -1;
- else
-#endif
c = GETC();
/* Effectively do c = skip_white_space (c)
@@ -1192,11 +1131,7 @@ yylex ()
}
*p = 0;
-#if USE_CPPLIB
UNGETC (c);
-#else
- nextchar = c;
-#endif
value = IDENTIFIER;
yylval.itype = 0;
@@ -2253,9 +2188,5 @@ void
set_yydebug (value)
int value;
{
-#if YYDEBUG != 0
yydebug = value;
-#else
- warning ("YYDEBUG not defined.");
-#endif
}
diff --git a/gcc/c-tree.h b/gcc/c-tree.h
index ebf0d8b..cfbeaa8 100755
--- a/gcc/c-tree.h
+++ b/gcc/c-tree.h
@@ -187,13 +187,8 @@ extern tree convert_and_check PROTO((tree, tree));
extern void overflow_warning PROTO((tree));
extern void unsigned_conversion_warning PROTO((tree, tree));
/* Read the rest of the current #-directive line. */
-#if USE_CPPLIB
extern char *get_directive_line PROTO((void));
#define GET_DIRECTIVE_LINE() get_directive_line ()
-#else
-extern char *get_directive_line PROTO((FILE *));
-#define GET_DIRECTIVE_LINE() get_directive_line (finput)
-#endif
/* Subroutine of build_binary_op, used for comparison operations.
See if the operands have both been converted from subword integer types
diff --git a/gcc/cccp.1 b/gcc/cccp.1
deleted file mode 100755
index 84eb19e..0000000
--- a/gcc/cccp.1
+++ /dev/null
@@ -1,674 +0,0 @@
-.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation \-*-Text-*-
-.\" See section COPYING for conditions for redistribution
-.TH cpp 1 "30apr1993" "GNU Tools" "GNU Tools"
-.SH NAME
-cccp, cpp \- The GNU C-Compatible Compiler Preprocessor.
-.SH SYNOPSIS
-.hy 0
-.na
-.TP
-.B cccp
-.RB "[\|" \-$ "\|]"
-.RB "[\|" \-A \c
-.I predicate\c
-.RB [ (\c
-.I value\c
-.BR ) ]\|]
-.RB "[\|" \-C "\|]"
-.RB "[\|" \-D \c
-.I name\c
-.RB [ =\c
-.I definition\c
-\&]\|]
-.RB "[\|" \-dD "\|]"
-.RB "[\|" \-dM "\|]"
-.RB "[\|" "\-I\ "\c
-.I directory\c
-\&\|]
-.RB "[\|" \-H "\|]"
-.RB "[\|" \-I\- "\|]"
-.RB "[\|" "\-imacros\ "\c
-.I file\c
-\&\|]
-.RB "[\|" "\-include\ "\c
-.I file\c
-\&\|]
-.RB "[\|" "\-idirafter\ "\c
-.I dir\c
-\&\|]
-.RB "[\|" "\-iprefix\ "\c
-.I prefix\c
-\&\|]
-.RB "[\|" "\-iwithprefix\ "\c
-.I dir\c
-\&\|]
-.RB "[\|" \-lang\-c "\|]"
-.RB "[\|" \-lang\-c++ "\|]"
-.RB "[\|" \-lang\-objc "\|]"
-.RB "[\|" \-lang\-objc++ "\|]"
-.RB "[\|" \-lint "\|]"
-.RB "[\|" \-M\ [ \-MG "\|]]"
-.RB "[\|" \-MM\ [ \-MG "\|]]"
-.RB "[\|" \-MD\ \c
-.I file\ \c
-\&\|]
-.RB "[\|" \-MMD\ \c
-.I file\ \c
-\&\|]
-.RB "[\|" \-nostdinc "\|]"
-.RB "[\|" \-nostdinc++ "\|]"
-.RB "[\|" \-P "\|]"
-.RB "[\|" \-pedantic "\|]"
-.RB "[\|" \-pedantic\-errors "\|]"
-.RB "[\|" \-traditional "\|]"
-.RB "[\|" \-trigraphs "\|]"
-.RB "[\|" \-U \c
-.I name\c
-\&\|]
-.RB "[\|" \-undef "\|]"
-.RB "[\|" \-Wtrigraphs "\|]"
-.RB "[\|" \-Wcomment "\|]"
-.RB "[\|" \-Wall "\|]"
-.RB "[\|" \-Wtraditional "\|]"
-.br
-.RB "[\|" \c
-.I infile\c
-.RB | \- "\|]"
-.RB "[\|" \c
-.I outfile\c
-.RB | \- "\|]"
-.ad b
-.hy 1
-.SH DESCRIPTION
-The C preprocessor is a \c
-.I macro processor\c
-\& that is used automatically by
-the C compiler to transform your program before actual compilation. It is
-called a macro processor because it allows you to define \c
-.I macros\c
-\&,
-which are brief abbreviations for longer constructs.
-
-The C preprocessor provides four separate facilities that you can use as
-you see fit:
-.TP
-\(bu
-Inclusion of header files. These are files of declarations that can be
-substituted into your program.
-.TP
-\(bu
-Macro expansion. You can define \c
-.I macros\c
-\&, which are abbreviations
-for arbitrary fragments of C code, and then the C preprocessor will
-replace the macros with their definitions throughout the program.
-.TP
-\(bu
-Conditional compilation. Using special preprocessing directives, you
-can include or exclude parts of the program according to various
-conditions.
-.TP
-\(bu
-Line control. If you use a program to combine or rearrange source files into
-an intermediate file which is then compiled, you can use line control
-to inform the compiler of where each source line originally came from.
-.PP
-C preprocessors vary in some details. For a full explanation of the
-GNU C preprocessor, see the
-.B info
-file `\|\c
-.B cpp.info\c
-\&\|', or the manual
-.I The C Preprocessor\c
-\&. Both of these are built from the same documentation source file, `\|\c
-.B cpp.texinfo\c
-\&\|'. The GNU C
-preprocessor provides a superset of the features of ANSI Standard C.
-
-ANSI Standard C requires the rejection of many harmless constructs commonly
-used by today's C programs. Such incompatibility would be inconvenient for
-users, so the GNU C preprocessor is configured to accept these constructs
-by default. Strictly speaking, to get ANSI Standard C, you must use the
-options `\|\c
-.B \-trigraphs\c
-\&\|', `\|\c
-.B \-undef\c
-\&\|' and `\|\c
-.B \-pedantic\c
-\&\|', but in
-practice the consequences of having strict ANSI Standard C make it
-undesirable to do this.
-
-Most often when you use the C preprocessor you will not have to invoke it
-explicitly: the C compiler will do so automatically. However, the
-preprocessor is sometimes useful individually.
-
-When you call the preprocessor individually, either name
-(\c
-.B cpp\c
-\& or \c
-.B cccp\c
-\&) will do\(em\&they are completely synonymous.
-
-The C preprocessor expects two file names as arguments, \c
-.I infile\c
-\& and
-\c
-.I outfile\c
-\&. The preprocessor reads \c
-.I infile\c
-\& together with any other
-files it specifies with `\|\c
-.B #include\c
-\&\|'. All the output generated by the
-combined input files is written in \c
-.I outfile\c
-\&.
-
-Either \c
-.I infile\c
-\& or \c
-.I outfile\c
-\& may be `\|\c
-.B \-\c
-\&\|', which as \c
-.I infile\c
-\&
-means to read from standard input and as \c
-.I outfile\c
-\& means to write to
-standard output. Also, if \c
-.I outfile\c
-\& or both file names are omitted,
-the standard output and standard input are used for the omitted file names.
-.SH OPTIONS
-Here is a table of command options accepted by the C preprocessor.
-These options can also be given when compiling a C program; they are
-passed along automatically to the preprocessor when it is invoked by
-the compiler.
-.TP
-.B \-P
-Inhibit generation of `\|\c
-.B #\c
-\&\|'-lines with line-number information in
-the output from the preprocessor. This might be
-useful when running the preprocessor on something that is not C code
-and will be sent to a program which might be confused by the
-`\|\c
-.B #\c
-\&\|'-lines.
-.TP
-.B \-C
-Do not discard comments: pass them through to the output file.
-Comments appearing in arguments of a macro call will be copied to the
-output before the expansion of the macro call.
-.TP
-.B \-traditional
-Try to imitate the behavior of old-fashioned C, as opposed to ANSI C.
-.TP
-.B \-trigraphs
-Process ANSI standard trigraph sequences. These are three-character
-sequences, all starting with `\|\c
-.B ??\c
-\&\|', that are defined by ANSI C to
-stand for single characters. For example, `\|\c
-.B ??/\c
-\&\|' stands for
-`\|\c
-.BR "\e" "\|',"
-so `\|\c
-.B '??/n'\c
-\&\|' is a character constant for a newline.
-Strictly speaking, the GNU C preprocessor does not support all
-programs in ANSI Standard C unless `\|\c
-.B \-trigraphs\c
-\&\|' is used, but if
-you ever notice the difference it will be with relief.
-
-You don't want to know any more about trigraphs.
-.TP
-.B \-pedantic
-Issue warnings required by the ANSI C standard in certain cases such
-as when text other than a comment follows `\|\c
-.B #else\c
-\&\|' or `\|\c
-.B #endif\c
-\&\|'.
-.TP
-.B \-pedantic\-errors
-Like `\|\c
-.B \-pedantic\c
-\&\|', except that errors are produced rather than
-warnings.
-.TP
-.B \-Wtrigraphs
-Warn if any trigraphs are encountered (assuming they are enabled).
-.TP
-.B \-Wcomment
-.TP
-.B \-Wcomments
-Warn whenever a comment-start sequence `\|\c
-.B /*\c
-\&\|' appears in a comment.
-(Both forms have the same effect).
-.TP
-.B \-Wall
-Requests both `\|\c
-.B \-Wtrigraphs\c
-\&\|' and `\|\c
-.B \-Wcomment\c
-\&\|' (but not
-`\|\c
-.B \-Wtraditional\c
-\&\|').
-.TP
-.B \-Wtraditional
-Warn about certain constructs that behave differently in traditional and
-ANSI C.
-.TP
-.BI "\-I " directory\c
-\&
-Add the directory \c
-.I directory\c
-\& to the end of the list of
-directories to be searched for header files.
-This can be used to override a system header file, substituting your
-own version, since these directories are searched before the system
-header file directories. If you use more than one `\|\c
-.B \-I\c
-\&\|' option,
-the directories are scanned in left-to-right order; the standard
-system directories come after.
-.TP
-.B \-I\-
-Any directories specified with `\|\c
-.B \-I\c
-\&\|' options before the `\|\c
-.B \-I\-\c
-\&\|'
-option are searched only for the case of `\|\c
-.B #include "\c
-.I file\c
-\&"\c
-\&\|';
-they are not searched for `\|\c
-.B #include <\c
-.I file\c
-\&>\c
-\&\|'.
-
-If additional directories are specified with `\|\c
-.B \-I\c
-\&\|' options after
-the `\|\c
-.B \-I\-\c
-\&\|', these directories are searched for all `\|\c
-.B #include\c
-\&\|'
-directives.
-
-In addition, the `\|\c
-.B \-I\-\c
-\&\|' option inhibits the use of the current
-directory as the first search directory for `\|\c
-.B #include "\c
-.I file\c
-\&"\c
-\&\|'.
-Therefore, the current directory is searched only if it is requested
-explicitly with `\|\c
-.B \-I.\c
-\&\|'. Specifying both `\|\c
-.B \-I\-\c
-\&\|' and `\|\c
-.B \-I.\c
-\&\|'
-allows you to control precisely which directories are searched before
-the current one and which are searched after.
-.TP
-.B \-nostdinc
-Do not search the standard system directories for header files.
-Only the directories you have specified with `\|\c
-.B \-I\c
-\&\|' options
-(and the current directory, if appropriate) are searched.
-.TP
-.B \-nostdinc++
-Do not search for header files in the C++ specific standard
-directories, but do still search the other standard directories.
-(This option is used when building libg++.)
-.TP
-.BI "\-D " "name"\c
-\&
-Predefine \c
-.I name\c
-\& as a macro, with definition `\|\c
-.B 1\c
-\&\|'.
-.TP
-.BI "\-D " "name" = definition
-\&
-Predefine \c
-.I name\c
-\& as a macro, with definition \c
-.I definition\c
-\&.
-There are no restrictions on the contents of \c
-.I definition\c
-\&, but if
-you are invoking the preprocessor from a shell or shell-like program
-you may need to use the shell's quoting syntax to protect characters
-such as spaces that have a meaning in the shell syntax. If you use more than
-one `\|\c
-.B \-D\c
-\&\|' for the same
-.I name\c
-\&, the rightmost definition takes effect.
-.TP
-.BI "\-U " "name"\c
-\&
-Do not predefine \c
-.I name\c
-\&. If both `\|\c
-.B \-U\c
-\&\|' and `\|\c
-.B \-D\c
-\&\|' are
-specified for one name, the `\|\c
-.B \-U\c
-\&\|' beats the `\|\c
-.B \-D\c
-\&\|' and the name
-is not predefined.
-.TP
-.B \-undef
-Do not predefine any nonstandard macros.
-.TP
-.BI "\-A " "name(" value )
-Assert (in the same way as the \c
-.B #assert\c
-\& directive)
-the predicate \c
-.I name\c
-\& with tokenlist \c
-.I value\c
-\&. Remember to escape or quote the parentheses on
-shell command lines.
-
-You can use `\|\c
-.B \-A-\c
-\&\|' to disable all predefined assertions; it also
-undefines all predefined macros.
-.TP
-.B \-dM
-Instead of outputting the result of preprocessing, output a list of
-`\|\c
-.B #define\c
-\&\|' directives for all the macros defined during the
-execution of the preprocessor, including predefined macros. This gives
-you a way of finding out what is predefined in your version of the
-preprocessor; assuming you have no file `\|\c
-.B foo.h\c
-\&\|', the command
-.sp
-.br
-touch\ foo.h;\ cpp\ \-dM\ foo.h
-.br
-.sp
-will show the values of any predefined macros.
-.TP
-.B \-dD
-Like `\|\c
-.B \-dM\c
-\&\|' except in two respects: it does \c
-.I not\c
-\& include the
-predefined macros, and it outputs \c
-.I both\c
-\& the `\|\c
-.B #define\c
-\&\|'
-directives and the result of preprocessing. Both kinds of output go to
-the standard output file.
-.PP
-.TP
-.BR \-M\ [ \-MG ]
-Instead of outputting the result of preprocessing, output a rule
-suitable for \c
-.B make\c
-\& describing the dependencies of the main
-source file. The preprocessor outputs one \c
-.B make\c
-\& rule containing
-the object file name for that source file, a colon, and the names of
-all the included files. If there are many included files then the
-rule is split into several lines using `\|\c
-.B \\\\\c
-\&\|'-newline.
-
-`\|\c
-.B \-MG\c
-\&\|' says to treat missing header files as generated files and assume \c
-they live in the same directory as the source file. It must be specified \c
-in addition to `\|\c
-.B \-M\c
-\&\|'.
-
-This feature is used in automatic updating of makefiles.
-.TP
-.BR \-MM\ [ \-MG ]
-Like `\|\c
-.B \-M\c
-\&\|' but mention only the files included with `\|\c
-.B #include
-"\c
-.I file\c
-\&"\c
-\&\|'. System header files included with `\|\c
-.B #include
-<\c
-.I file\c
-\&>\c
-\&\|' are omitted.
-.TP
-.BI \-MD\ file
-Like `\|\c
-.B \-M\c
-\&\|' but the dependency information is written to `\|\c
-.I file\c
-\&\|'. This is in addition to compiling the file as
-specified\(em\&`\|\c
-.B \-MD\c
-\&\|' does not inhibit ordinary compilation the way
-`\|\c
-.B \-M\c
-\&\|' does.
-
-When invoking gcc, do not specify the `\|\c
-.I file\c
-\&\|' argument. Gcc will create file names made by replacing `\|\c
-.B .c\c
-\&\|' with `\|\c
-.B .d\c
-\&\|' at the end of the input file names.
-
-In Mach, you can use the utility \c
-.B md\c
-\& to merge multiple files
-into a single dependency file suitable for using with the `\|\c
-.B make\c
-\&\|'
-command.
-.TP
-.BI \-MMD\ file
-Like `\|\c
-.B \-MD\c
-\&\|' except mention only user header files, not system
-header files.
-.TP
-.B \-H
-Print the name of each header file used, in addition to other normal
-activities.
-.TP
-.BI "\-imacros " "file"\c
-\&
-Process \c
-.I file\c
-\& as input, discarding the resulting output, before
-processing the regular input file. Because the output generated from
-\c
-.I file\c
-\& is discarded, the only effect of `\|\c
-.B \-imacros \c
-.I file\c
-\&\c
-\&\|' is to
-make the macros defined in \c
-.I file\c
-\& available for use in the main
-input. The preprocessor evaluates any `\|\c
-.B \-D\c
-\&\|' and `\|\c
-.B \-U\c
-\&\|' options
-on the command line before processing `\|\c
-.B \-imacros \c
-.I file\c
-\&\|' \c
-\&.
-.TP
-.BI "\-include " "file"
-Process
-.I file
-as input, and include all the resulting output,
-before processing the regular input file.
-.TP
-.BI "-idirafter " "dir"\c
-\&
-Add the directory \c
-.I dir\c
-\& to the second include path. The directories
-on the second include path are searched when a header file is not found
-in any of the directories in the main include path (the one that
-`\|\c
-.B \-I\c
-\&\|' adds to).
-.TP
-.BI "-iprefix " "prefix"\c
-\&
-Specify \c
-.I prefix\c
-\& as the prefix for subsequent `\|\c
-.B \-iwithprefix\c
-\&\|'
-options.
-.TP
-.BI "-iwithprefix " "dir"\c
-\&
-Add a directory to the second include path. The directory's name is
-made by concatenating \c
-.I prefix\c
-\& and \c
-.I dir\c
-\&, where \c
-.I prefix\c
-\&
-was specified previously with `\|\c
-.B \-iprefix\c
-\&\|'.
-.TP
-.B \-lang-c
-.TP
-.B \-lang-c++
-.TP
-.B \-lang-objc
-.TP
-.B \-lang-objc++
-Specify the source language. `\|\c
-.B \-lang-c++\c
-\&\|' makes the preprocessor
-handle C++ comment syntax, and includes extra default include
-directories for C++, and `\|\c
-.B \-lang-objc\c
-\&\|' enables the Objective C
-`\|\c
-.B #import\c
-\&\|' directive. `\|\c
-.B \-lang-c\c
-\&\|' explicitly turns off both of
-these extensions, and `\|\c
-.B \-lang-objc++\c
-\&\|' enables both.
-
-These options are generated by the compiler driver \c
-.B gcc\c
-\&, but not
-passed from the `\|\c
-.B gcc\c
-\&\|' command line.
-.TP
-.B \-lint
-Look for commands to the program checker \c
-.B lint\c
-\& embedded in
-comments, and emit them preceded by `\|\c
-.B #pragma lint\c
-\&\|'. For example,
-the comment `\|\c
-.B /* NOTREACHED */\c
-\&\|' becomes `\|\c
-.B #pragma lint
-NOTREACHED\c
-\&\|'.
-
-This option is available only when you call \c
-.B cpp\c
-\& directly;
-\c
-.B gcc\c
-\& will not pass it from its command line.
-.TP
-.B \-$
-Forbid the use of `\|\c
-.B $\c
-\&\|' in identifiers. This was formerly required for strict conformance
-to the C Standard before the standard was corrected. \c
-
-This option is available only when you call \c
-.B cpp\c
-\& directly;
-.B gcc\c
-\& will not pass it from its command line.
-.SH "SEE ALSO"
-.RB "`\|" Cpp "\|'"
-entry in
-.B info\c
-\&;
-.I The C Preprocessor\c
-, Richard M. Stallman.
-.br
-.BR gcc "(" 1 ");"
-.RB "`\|" Gcc "\|'"
-entry in
-.B info\c
-\&;
-.I
-Using and Porting GNU CC (for version 2.0)\c
-, Richard M. Stallman.
-.SH COPYING
-Copyright (c) 1991, 1992, 1993 Free Software Foundation, Inc.
-.PP
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-.PP
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-.PP
-Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be included in
-translations approved by the Free Software Foundation instead of in
-the original English.
diff --git a/gcc/cccp.c b/gcc/cccp.c
deleted file mode 100755
index f8c1725..0000000
--- a/gcc/cccp.c
+++ /dev/null
@@ -1,10833 +0,0 @@
-/* C Compatible Compiler Preprocessor (CCCP)
- Copyright (C) 1986, 87, 89, 92-98, 1999 Free Software Foundation, Inc.
- Written by Paul Rubin, June 1986
- Adapted to ANSI C, Richard Stallman, Jan 1987
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#include "config.h"
-
-#define PRINTF_PROTO(ARGS, m, n) PVPROTO (ARGS) ATTRIBUTE_PRINTF(m, n)
-
-#define PRINTF_PROTO_1(ARGS) PRINTF_PROTO(ARGS, 1, 2)
-#define PRINTF_PROTO_2(ARGS) PRINTF_PROTO(ARGS, 2, 3)
-#define PRINTF_PROTO_3(ARGS) PRINTF_PROTO(ARGS, 3, 4)
-#define PRINTF_PROTO_4(ARGS) PRINTF_PROTO(ARGS, 4, 5)
-
-#include "system.h"
-#include <signal.h>
-
-#ifdef HAVE_SYS_RESOURCE_H
-# include <sys/resource.h>
-#endif
-
-typedef unsigned char U_CHAR;
-
-#include "pcp.h"
-#include "prefix.h"
-
-#ifdef MULTIBYTE_CHARS
-#include "mbchar.h"
-#include <locale.h>
-#endif /* MULTIBYTE_CHARS */
-
-#ifndef GET_ENV_PATH_LIST
-#define GET_ENV_PATH_LIST(VAR,NAME) do { (VAR) = getenv (NAME); } while (0)
-#endif
-
-#ifndef STANDARD_INCLUDE_DIR
-# define STANDARD_INCLUDE_DIR "/usr/include"
-#endif
-
-/* By default, colon separates directories in a path. */
-#ifndef PATH_SEPARATOR
-# define PATH_SEPARATOR ':'
-#endif
-
-/* By default, the suffix for object files is ".o". */
-#ifdef OBJECT_SUFFIX
-# define HAVE_OBJECT_SUFFIX
-#else
-# define OBJECT_SUFFIX ".o"
-#endif
-
-/* Windows does not natively support inodes, and neither does MSDOS. */
-#if (defined (_WIN32) && ! defined (__CYGWIN__)) || defined (__MSDOS__)
-#define INO_T_EQ(a, b) 0
-#endif
-
-/* Find the largest host integer type and set its size and type.
- Watch out: on some crazy hosts `long' is shorter than `int'. */
-
-#ifndef HOST_WIDE_INT
-# if HAVE_INTTYPES_H
-# include <inttypes.h>
-# define HOST_WIDE_INT intmax_t
-# else
-# if (HOST_BITS_PER_LONG <= HOST_BITS_PER_INT && HOST_BITS_PER_LONGLONG <= HOST_BITS_PER_INT)
-# define HOST_WIDE_INT int
-# else
-# if (HOST_BITS_PER_LONGLONG <= HOST_BITS_PER_LONG || ! (defined LONG_LONG_MAX || defined LLONG_MAX))
-# define HOST_WIDE_INT long
-# else
-# define HOST_WIDE_INT long long
-# endif
-# endif
-# endif
-#endif
-
-#ifndef INO_T_EQ
-#define INO_T_EQ(a, b) ((a) == (b))
-#endif
-
-#ifndef INO_T_HASH
-#define INO_T_HASH(a) (a)
-#endif
-
-#ifndef INCLUDE_LEN_FUDGE
-#define INCLUDE_LEN_FUDGE 0
-#endif
-
-/* External declarations. */
-
-extern char *version_string;
-HOST_WIDE_INT parse_escape PROTO((char **, HOST_WIDE_INT));
-HOST_WIDE_INT parse_c_expression PROTO((char *, int));
-
-/* Name under which this program was invoked. */
-
-static char *progname = "cpp"; /* CYGNUS LOCAL: initialisation added nickc */
-
-/* Nonzero means use extra default include directories for C++. */
-
-static int cplusplus;
-
-/* Nonzero means handle cplusplus style comments */
-
-static int cplusplus_comments;
-
-/* Nonzero means handle #import, for objective C. */
-
-static int objc;
-
-/* Nonzero means this is an assembly file, and allow
- unknown directives, which could be comments. */
-
-static int lang_asm;
-
-/* CYGNUS LOCAL chill */
-/* Nonzero means handle CHILL comment syntax
- and output CHILL string delimeter for __DATE___ etc. */
-
-static int chill;
-/* END CYGNUS LOCAL chill */
-
-/* Current maximum length of directory names in the search path
- for include files. (Altered as we get more of them.) */
-
-static int max_include_len;
-
-/* Nonzero means turn NOTREACHED into #pragma NOTREACHED etc */
-
-static int for_lint = 0;
-
-/* Nonzero means copy comments into the output file. */
-
-static int put_out_comments = 0;
-
-/* Nonzero means don't process the ANSI trigraph sequences. */
-
-static int no_trigraphs = 0;
-
-/* Nonzero means print the names of included files rather than
- the preprocessed output. 1 means just the #include "...",
- 2 means #include <...> as well. */
-
-static int print_deps = 0;
-
-/* Nonzero if missing .h files in -M output are assumed to be generated
- files and not errors. */
-
-static int print_deps_missing_files = 0;
-
-/* Nonzero means print names of header files (-H). */
-
-static int print_include_names = 0;
-
-/* Nonzero means don't output line number information. */
-
-static int no_line_directives;
-
-/* Nonzero means output the text in failing conditionals,
- inside #failed ... #endfailed. */
-
-static int output_conditionals;
-
-/* dump_only means inhibit output of the preprocessed text
- and instead output the definitions of all user-defined
- macros in a form suitable for use as input to cccp.
- dump_names means pass #define and the macro name through to output.
- dump_definitions means pass the whole definition (plus #define) through
-*/
-
-static enum {dump_none, dump_only, dump_names, dump_definitions}
- dump_macros = dump_none;
-
-/* Nonzero means pass all #define and #undef directives which we actually
- process through to the output stream. This feature is used primarily
- to allow cc1 to record the #defines and #undefs for the sake of
- debuggers which understand about preprocessor macros, but it may
- also be useful with -E to figure out how symbols are defined, and
- where they are defined. */
-static int debug_output = 0;
-
-/* Nonzero means pass #include lines through to the output,
- even if they are ifdefed out. */
-static int dump_includes;
-
-/* Nonzero indicates special processing used by the pcp program. The
- special effects of this mode are:
-
- Inhibit all macro expansion, except those inside #if directives.
-
- Process #define directives normally, and output their contents
- to the output file.
-
- Output preconditions to pcp_outfile indicating all the relevant
- preconditions for use of this file in a later cpp run.
-*/
-static FILE *pcp_outfile;
-
-/* Nonzero means we are inside an IF during a -pcp run. In this mode
- macro expansion is done, and preconditions are output for all macro
- uses requiring them. */
-static int pcp_inside_if;
-
-/* Nonzero means never to include precompiled files.
- This is 1 since there's no way now to make precompiled files,
- so it's not worth testing for them. */
-static int no_precomp = 1;
-
-/* Nonzero means give all the error messages the ANSI standard requires. */
-
-int pedantic;
-
-/* Nonzero means try to make failure to fit ANSI C an error. */
-
-static int pedantic_errors;
-
-/* Nonzero means don't print warning messages. -w. */
-
-static int inhibit_warnings = 0;
-
-/* Nonzero means warn if slash-star appears in a slash-star comment,
- or if newline-backslash appears in a slash-slash comment. */
-
-static int warn_comments;
-
-/* Nonzero means warn if a macro argument is (or would be)
- stringified with -traditional. */
-
-static int warn_stringify;
-
-/* Nonzero means warn if there are any trigraphs. */
-
-static int warn_trigraphs;
-
-/* Nonzero means warn if undefined identifiers are evaluated in an #if. */
-
-static int warn_undef;
-
-/* Nonzero means warn if #import is used. */
-
-static int warn_import = 1;
-
-/* Nonzero means turn warnings into errors. */
-
-static int warnings_are_errors;
-
-/* Nonzero means try to imitate old fashioned non-ANSI preprocessor. */
-
-int traditional;
-
-/* Nonzero for the 1989 C Standard, including corrigenda and amendments. */
-
-int c89;
-
-/* Nonzero for the 199x C Standard. */
-
-int c9x;
-
-/* Nonzero causes output not to be done,
- but directives such as #define that have side effects
- are still obeyed. */
-
-static int no_output;
-
-/* Nonzero means we should look for header.gcc files that remap file names. */
-static int remap;
-
-/* Nonzero means this file was included with a -imacros or -include
- command line and should not be recorded as an include file. */
-
-static int no_record_file;
-
-/* Nonzero means that we have finished processing the command line options.
- This flag is used to decide whether or not to issue certain errors
- and/or warnings. */
-
-static int done_initializing = 0;
-
-/* Line where a newline was first seen in a string constant. */
-
-static int multiline_string_line = 0;
-
-/* I/O buffer structure.
- The `fname' field is nonzero for source files and #include files
- and for the dummy text used for -D and -U.
- It is zero for rescanning results of macro expansion
- and for expanding macro arguments. */
-#define INPUT_STACK_MAX 400
-static struct file_buf {
- char *fname;
- /* Filename specified with #line directive. */
- char *nominal_fname;
- /* The length of nominal_fname, which may contain embedded NULs. */
- size_t nominal_fname_len;
- /* Include file description. */
- struct include_file *inc;
- /* Record where in the search path this file was found.
- For #include_next. */
- struct file_name_list *dir;
- int lineno;
- int length;
- U_CHAR *buf;
- U_CHAR *bufp;
- /* Macro that this level is the expansion of.
- Included so that we can reenable the macro
- at the end of this level. */
- struct hashnode *macro;
- /* Value of if_stack at start of this file.
- Used to prohibit unmatched #endif (etc) in an include file. */
- struct if_stack *if_stack;
- /* Object to be freed at end of input at this level. */
- U_CHAR *free_ptr;
- /* True if this is a system header file; see is_system_include. */
- char system_header_p;
-} instack[INPUT_STACK_MAX];
-
-static int last_error_tick; /* Incremented each time we print it. */
-static int input_file_stack_tick; /* Incremented when the status changes. */
-
-/* Current nesting level of input sources.
- `instack[indepth]' is the level currently being read. */
-static int indepth = -1;
-#define CHECK_DEPTH(code) \
- if (indepth >= (INPUT_STACK_MAX - 1)) \
- { \
- error_with_line (line_for_error (instack[indepth].lineno), \
- "macro or `#include' recursion too deep"); \
- code; \
- }
-
-/* Current depth in #include directives that use <...>. */
-static int system_include_depth = 0;
-
-typedef struct file_buf FILE_BUF;
-
-/* The output buffer. Its LENGTH field is the amount of room allocated
- for the buffer, not the number of chars actually present. To get
- that, subtract outbuf.buf from outbuf.bufp. */
-
-#define OUTBUF_SIZE 10 /* initial size of output buffer */
-static FILE_BUF outbuf;
-
-/* Grow output buffer OBUF points at
- so it can hold at least NEEDED more chars. */
-
-#define check_expand(OBUF, NEEDED) \
- (((OBUF)->length - ((OBUF)->bufp - (OBUF)->buf) <= (NEEDED)) \
- ? grow_outbuf ((OBUF), (NEEDED)) : 0)
-
-struct file_name_list
- {
- struct file_name_list *next;
- /* If the following is 1, it is a C-language system include
- directory. */
- int c_system_include_path;
- /* Mapping of file names for this directory. */
- struct file_name_map *name_map;
- /* Non-zero if name_map is valid. */
- int got_name_map;
- /* The include directory status. */
- struct stat st;
- /* The include prefix: "" denotes the working directory,
- otherwise fname must end in '/'.
- The actual size is dynamically allocated. */
- char fname[1];
- };
-
-/* #include "file" looks in source file dir, then stack. */
-/* #include <file> just looks in the stack. */
-/* -I directories are added to the end, then the defaults are added. */
-/* The */
-static struct default_include {
- char *fname; /* The name of the directory. */
- char *component; /* The component containing the directory */
- int cplusplus; /* Only look here if we're compiling C++. */
- int cxx_aware; /* Includes in this directory don't need to
- be wrapped in extern "C" when compiling
- C++. */
-} include_defaults_array[]
-#ifdef INCLUDE_DEFAULTS
- = INCLUDE_DEFAULTS;
-#else
- = {
- /* Pick up GNU C++ specific include files. */
- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },
-#ifdef CROSS_COMPILE
- /* This is the dir for fixincludes. Put it just before
- the files that we fix. */
- { GCC_INCLUDE_DIR, "GCC", 0, 0 },
- /* For cross-compilation, this dir name is generated
- automatically in Makefile.in. */
- { CROSS_INCLUDE_DIR, "GCC", 0, 0 },
-#ifdef TOOL_INCLUDE_DIR
- /* This is another place that the target system's headers might be. */
- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 0 },
-#endif
-#else /* not CROSS_COMPILE */
-#ifdef LOCAL_INCLUDE_DIR
- /* This should be /usr/local/include and should come before
- the fixincludes-fixed header files. */
- { LOCAL_INCLUDE_DIR, 0, 0, 1 },
-#endif
-#ifdef TOOL_INCLUDE_DIR
- /* This is here ahead of GCC_INCLUDE_DIR because assert.h goes here.
- Likewise, behind LOCAL_INCLUDE_DIR, where glibc puts its assert.h. */
- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 0 },
-#endif
- /* This is the dir for fixincludes. Put it just before
- the files that we fix. */
- { GCC_INCLUDE_DIR, "GCC", 0, 0 },
- /* Some systems have an extra dir of include files. */
-#ifdef SYSTEM_INCLUDE_DIR
- { SYSTEM_INCLUDE_DIR, 0, 0, 0 },
-#endif
-#ifndef STANDARD_INCLUDE_COMPONENT
-#define STANDARD_INCLUDE_COMPONENT 0
-#endif
- { STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT, 0, 0 },
-#endif /* not CROSS_COMPILE */
- { 0, 0, 0, 0 }
- };
-#endif /* no INCLUDE_DEFAULTS */
-
-/* The code looks at the defaults through this pointer, rather than through
- the constant structure above. This pointer gets changed if an environment
- variable specifies other defaults. */
-static struct default_include *include_defaults = include_defaults_array;
-
-static struct file_name_list *include = 0; /* First dir to search */
- /* First dir to search for <file> */
-/* This is the first element to use for #include <...>.
- If it is 0, use the entire chain for such includes. */
-static struct file_name_list *first_bracket_include = 0;
-/* This is the first element in the chain that corresponds to
- a directory of system header files. */
-static struct file_name_list *first_system_include = 0;
-static struct file_name_list *last_include = 0; /* Last in chain */
-
-/* Chain of include directories to put at the end of the other chain. */
-static struct file_name_list *after_include = 0;
-static struct file_name_list *last_after_include = 0; /* Last in chain */
-
-/* Chain to put at the start of the system include files. */
-static struct file_name_list *before_system = 0;
-static struct file_name_list *last_before_system = 0; /* Last in chain */
-
-/* Directory prefix that should replace `/usr' in the standard
- include file directories. */
-static char *include_prefix;
-
-/* Maintain and search list of included files. */
-
-struct include_file {
- struct include_file *next; /* for include_hashtab */
- struct include_file *next_ino; /* for include_ino_hashtab */
- char *fname;
- /* If the following is the empty string, it means #pragma once
- was seen in this include file, or #import was applied to the file.
- Otherwise, if it is nonzero, it is a macro name.
- Don't include the file again if that macro is defined. */
- U_CHAR *control_macro;
- /* Nonzero if the dependency on this include file has been output. */
- int deps_output;
- struct stat st;
-};
-
-/* Hash tables of files already included with #include or #import.
- include_hashtab is by full name; include_ino_hashtab is by inode number. */
-
-#define INCLUDE_HASHSIZE 61
-static struct include_file *include_hashtab[INCLUDE_HASHSIZE];
-static struct include_file *include_ino_hashtab[INCLUDE_HASHSIZE];
-
-/* Global list of strings read in from precompiled files. This list
- is kept in the order the strings are read in, with new strings being
- added at the end through stringlist_tailp. We use this list to output
- the strings at the end of the run.
-*/
-static STRINGDEF *stringlist;
-static STRINGDEF **stringlist_tailp = &stringlist;
-
-
-/* Structure returned by create_definition */
-typedef struct macrodef MACRODEF;
-struct macrodef
-{
- struct definition *defn;
- U_CHAR *symnam;
- int symlen;
-};
-
-enum sharp_token_type {
- NO_SHARP_TOKEN = 0, /* token not present */
-
- SHARP_TOKEN = '#', /* token spelled with # only */
- WHITE_SHARP_TOKEN, /* token spelled with # and white space */
-
- PERCENT_COLON_TOKEN = '%', /* token spelled with %: only */
- WHITE_PERCENT_COLON_TOKEN /* token spelled with %: and white space */
-};
-
-/* Structure allocated for every #define. For a simple replacement
- such as
- #define foo bar ,
- nargs = -1, the `pattern' list is null, and the expansion is just
- the replacement text. Nargs = 0 means a functionlike macro with no args,
- e.g.,
- #define getchar() getc (stdin) .
- When there are args, the expansion is the replacement text with the
- args squashed out, and the reflist is a list describing how to
- build the output from the input: e.g., "3 chars, then the 1st arg,
- then 9 chars, then the 3rd arg, then 0 chars, then the 2nd arg".
- The chars here come from the expansion. Whatever is left of the
- expansion after the last arg-occurrence is copied after that arg.
- Note that the reflist can be arbitrarily long---
- its length depends on the number of times the arguments appear in
- the replacement text, not how many args there are. Example:
- #define f(x) x+x+x+x+x+x+x would have replacement text "++++++" and
- pattern list
- { (0, 1), (1, 1), (1, 1), ..., (1, 1), NULL }
- where (x, y) means (nchars, argno). */
-
-typedef struct definition DEFINITION;
-struct definition {
- int nargs;
- int length; /* length of expansion string */
- int predefined; /* True if the macro was builtin or */
- /* came from the command line */
- U_CHAR *expansion;
- int line; /* Line number of definition */
- char *file; /* File of definition */
- size_t file_len; /* Length of file (which can contain NULs) */
- char rest_args; /* Nonzero if last arg. absorbs the rest */
- struct reflist {
- struct reflist *next;
-
- enum sharp_token_type stringify; /* set if a # operator before arg */
- enum sharp_token_type raw_before; /* set if a ## operator before arg */
- enum sharp_token_type raw_after; /* set if a ## operator after arg */
-
- char rest_args; /* Nonzero if this arg. absorbs the rest */
- int nchars; /* Number of literal chars to copy before
- this arg occurrence. */
- int argno; /* Number of arg to substitute (origin-0) */
- } *pattern;
- union {
- /* Names of macro args, concatenated in reverse order
- with comma-space between them.
- The only use of this is that we warn on redefinition
- if this differs between the old and new definitions. */
- U_CHAR *argnames;
- } args;
-};
-
-/* different kinds of things that can appear in the value field
- of a hash node. Actually, this may be useless now. */
-union hashval {
- char *cpval;
- DEFINITION *defn;
- KEYDEF *keydef;
-};
-
-/*
- * special extension string that can be added to the last macro argument to
- * allow it to absorb the "rest" of the arguments when expanded. Ex:
- * #define wow(a, b...) process (b, a, b)
- * { wow (1, 2, 3); } -> { process (2, 3, 1, 2, 3); }
- * { wow (one, two); } -> { process (two, one, two); }
- * if this "rest_arg" is used with the concat token '##' and if it is not
- * supplied then the token attached to with ## will not be outputted. Ex:
- * #define wow (a, b...) process (b ## , a, ## b)
- * { wow (1, 2); } -> { process (2, 1, 2); }
- * { wow (one); } -> { process (one); {
- */
-static char rest_extension[] = "...";
-#define REST_EXTENSION_LENGTH (sizeof (rest_extension) - 1)
-
-/* This is the implicit parameter name when using variable number of
- parameters for macros using the ISO C 9x extension. */
-static char va_args_name[] = "__VA_ARGS__";
-#define VA_ARGS_NAME_LENGTH (sizeof (va_args_name) - 1)
-
-/* The structure of a node in the hash table. The hash table
- has entries for all tokens defined by #define directives (type T_MACRO),
- plus some special tokens like __LINE__ (these each have their own
- type, and the appropriate code is run when that type of node is seen.
- It does not contain control words like "#define", which are recognized
- by a separate piece of code. */
-
-/* different flavors of hash nodes --- also used in keyword table */
-enum node_type {
- T_DEFINE = 1, /* the `#define' keyword */
- T_INCLUDE, /* the `#include' keyword */
- T_INCLUDE_NEXT, /* the `#include_next' keyword */
- T_IMPORT, /* the `#import' keyword */
- T_IFDEF, /* the `#ifdef' keyword */
- T_IFNDEF, /* the `#ifndef' keyword */
- T_IF, /* the `#if' keyword */
- T_ELSE, /* `#else' */
- T_PRAGMA, /* `#pragma' */
- T_ELIF, /* `#elif' */
- T_UNDEF, /* `#undef' */
- T_LINE, /* `#line' */
- T_ERROR, /* `#error' */
- T_WARNING, /* `#warning' */
- T_ENDIF, /* `#endif' */
- T_SCCS, /* `#sccs', used on system V. */
- T_IDENT, /* `#ident', used on system V. */
- T_ASSERT, /* `#assert', taken from system V. */
- T_UNASSERT, /* `#unassert', taken from system V. */
- T_SPECLINE, /* special symbol `__LINE__' */
- T_DATE, /* `__DATE__' */
- T_FILE, /* `__FILE__' */
- T_BASE_FILE, /* `__BASE_FILE__' */
- T_INCLUDE_LEVEL, /* `__INCLUDE_LEVEL__' */
- T_VERSION, /* `__VERSION__' */
- T_SIZE_TYPE, /* `__SIZE_TYPE__' */
- T_PTRDIFF_TYPE, /* `__PTRDIFF_TYPE__' */
- T_WCHAR_TYPE, /* `__WCHAR_TYPE__' */
- T_USER_LABEL_PREFIX_TYPE, /* `__USER_LABEL_PREFIX__' */
- T_REGISTER_PREFIX_TYPE, /* `__REGISTER_PREFIX__' */
- T_IMMEDIATE_PREFIX_TYPE, /* `__IMMEDIATE_PREFIX__' */
- T_TIME, /* `__TIME__' */
- T_CONST, /* Constant value, used by `__STDC__' */
- T_MACRO, /* macro defined by `#define' */
- T_DISABLED, /* macro temporarily turned off for rescan */
- T_SPEC_DEFINED, /* special `defined' macro for use in #if statements */
- T_PCSTRING, /* precompiled string (hashval is KEYDEF *) */
- T_UNUSED /* Used for something not defined. */
- };
-
-struct hashnode {
- struct hashnode *next; /* double links for easy deletion */
- struct hashnode *prev;
- struct hashnode **bucket_hdr; /* also, a back pointer to this node's hash
- chain is kept, in case the node is the head
- of the chain and gets deleted. */
- enum node_type type; /* type of special token */
- int length; /* length of token, for quick comparison */
- U_CHAR *name; /* the actual name */
- union hashval value; /* pointer to expansion, or whatever */
-};
-
-typedef struct hashnode HASHNODE;
-
-/* Some definitions for the hash table. The hash function MUST be
- computed as shown in hashf () below. That is because the rescan
- loop computes the hash value `on the fly' for most tokens,
- in order to avoid the overhead of a lot of procedure calls to
- the hashf () function. Hashf () only exists for the sake of
- politeness, for use when speed isn't so important. */
-
-#define HASHSIZE 1403
-static HASHNODE *hashtab[HASHSIZE];
-#define HASHSTEP(old, c) ((old << 2) + c)
-#define MAKE_POS(v) (v & 0x7fffffff) /* make number positive */
-
-/* Symbols to predefine. */
-
-#ifdef CPP_PREDEFINES
-static char *predefs = CPP_PREDEFINES;
-#else
-static char *predefs = "";
-#endif
-
-/* We let tm.h override the types used here, to handle trivial differences
- such as the choice of unsigned int or long unsigned int for size_t.
- When machines start needing nontrivial differences in the size type,
- it would be best to do something here to figure out automatically
- from other information what type to use. */
-
-/* The string value for __SIZE_TYPE__. */
-
-#ifndef SIZE_TYPE
-#define SIZE_TYPE "long unsigned int"
-#endif
-
-/* The string value for __PTRDIFF_TYPE__. */
-
-#ifndef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "long int"
-#endif
-
-/* The string value for __WCHAR_TYPE__. */
-
-/* CYGNUS LOCAL vmakarov */
-#ifndef NO_BUILTIN_WCHAR_TYPE
-/* END CYGNUS LOCAL */
-#ifndef WCHAR_TYPE
-#define WCHAR_TYPE "int"
-#endif
-char * wchar_type = WCHAR_TYPE;
-#undef WCHAR_TYPE
-/* CYGNUS LOCAL vmakarov */
-#endif
-/* END CYGNUS LOCAL */
-
-/* The string value for __USER_LABEL_PREFIX__ */
-
-#ifndef USER_LABEL_PREFIX
-#define USER_LABEL_PREFIX ""
-#endif
-char * user_label_prefix = USER_LABEL_PREFIX;
-#undef USER_LABEL_PREFIX
-
-/* The string value for __REGISTER_PREFIX__ */
-
-#ifndef REGISTER_PREFIX
-#define REGISTER_PREFIX ""
-#endif
-
-/* The string value for __IMMEDIATE_PREFIX__ */
-
-#ifndef IMMEDIATE_PREFIX
-#define IMMEDIATE_PREFIX ""
-#endif
-
-/* In the definition of a #assert name, this structure forms
- a list of the individual values asserted.
- Each value is itself a list of "tokens".
- These are strings that are compared by name. */
-
-struct tokenlist_list {
- struct tokenlist_list *next;
- struct arglist *tokens;
-};
-
-struct assertion_hashnode {
- struct assertion_hashnode *next; /* double links for easy deletion */
- struct assertion_hashnode *prev;
- /* also, a back pointer to this node's hash
- chain is kept, in case the node is the head
- of the chain and gets deleted. */
- struct assertion_hashnode **bucket_hdr;
- int length; /* length of token, for quick comparison */
- U_CHAR *name; /* the actual name */
- /* List of token-sequences. */
- struct tokenlist_list *value;
-};
-
-typedef struct assertion_hashnode ASSERTION_HASHNODE;
-
-/* Some definitions for the hash table. The hash function MUST be
- computed as shown in hashf below. That is because the rescan
- loop computes the hash value `on the fly' for most tokens,
- in order to avoid the overhead of a lot of procedure calls to
- the hashf function. hashf only exists for the sake of
- politeness, for use when speed isn't so important. */
-
-#define ASSERTION_HASHSIZE 37
-static ASSERTION_HASHNODE *assertion_hashtab[ASSERTION_HASHSIZE];
-
-/* Nonzero means inhibit macroexpansion of what seem to be
- assertion tests, in rescan. For #if. */
-static int assertions_flag;
-
-/* `struct directive' defines one #-directive, including how to handle it. */
-
-#define DO_PROTO PROTO((U_CHAR *, U_CHAR *, FILE_BUF *, struct directive *))
-
-struct directive {
- int length; /* Length of name */
- int (*func) DO_PROTO; /* Function to handle directive */
- char *name; /* Name of directive */
- enum node_type type; /* Code which describes which directive. */
-};
-
-#define IS_INCLUDE_DIRECTIVE_TYPE(t) \
-((int) T_INCLUDE <= (int) (t) && (int) (t) <= (int) T_IMPORT)
-
-/* These functions are declared to return int instead of void since they
- are going to be placed in the table and some old compilers have trouble with
- pointers to functions returning void. */
-
-static int do_assert DO_PROTO;
-static int do_define DO_PROTO;
-static int do_elif DO_PROTO;
-static int do_else DO_PROTO;
-static int do_endif DO_PROTO;
-static int do_error DO_PROTO;
-static int do_ident DO_PROTO;
-static int do_if DO_PROTO;
-static int do_include DO_PROTO;
-static int do_line DO_PROTO;
-static int do_pragma DO_PROTO;
-#ifdef SCCS_DIRECTIVE
-static int do_sccs DO_PROTO;
-#endif
-static int do_unassert DO_PROTO;
-static int do_undef DO_PROTO;
-static int do_warning DO_PROTO;
-static int do_xifdef DO_PROTO;
-
-/* Here is the actual list of #-directives, most-often-used first. */
-
-static struct directive directive_table[] = {
- { 6, do_define, "define", T_DEFINE},
- { 2, do_if, "if", T_IF},
- { 5, do_xifdef, "ifdef", T_IFDEF},
- { 6, do_xifdef, "ifndef", T_IFNDEF},
- { 5, do_endif, "endif", T_ENDIF},
- { 4, do_else, "else", T_ELSE},
- { 4, do_elif, "elif", T_ELIF},
- { 4, do_line, "line", T_LINE},
- { 7, do_include, "include", T_INCLUDE},
- { 12, do_include, "include_next", T_INCLUDE_NEXT},
- { 6, do_include, "import", T_IMPORT},
- { 5, do_undef, "undef", T_UNDEF},
- { 5, do_error, "error", T_ERROR},
- { 7, do_warning, "warning", T_WARNING},
-#ifdef SCCS_DIRECTIVE
- { 4, do_sccs, "sccs", T_SCCS},
-#endif
- { 6, do_pragma, "pragma", T_PRAGMA},
- { 5, do_ident, "ident", T_IDENT},
- { 6, do_assert, "assert", T_ASSERT},
- { 8, do_unassert, "unassert", T_UNASSERT},
- { -1, 0, "", T_UNUSED},
-};
-
-/* When a directive handler is called,
- this points to the # (or the : of the %:) that started the directive. */
-U_CHAR *directive_start;
-
-/* table to tell if char can be part of a C identifier. */
-U_CHAR is_idchar[256];
-/* table to tell if char can be first char of a c identifier. */
-U_CHAR is_idstart[256];
-/* table to tell if c is horizontal space. */
-static U_CHAR is_hor_space[256];
-/* table to tell if c is horizontal or vertical space. */
-U_CHAR is_space[256];
-/* names of some characters */
-static char *char_name[256];
-
-#define SKIP_WHITE_SPACE(p) do { while (is_hor_space[*p]) p++; } while (0)
-#define SKIP_ALL_WHITE_SPACE(p) do { while (is_space[*p]) p++; } while (0)
-
-static int errors = 0; /* Error counter for exit code */
-
-/* Name of output file, for error messages. */
-static char *out_fname;
-
-/* Nonzero to ignore \ in string constants. Use to treat #line 1 "A:\file.h
- as a non-form feed. If you want it to be a form feed, you must use
- # 1 "\f". */
-static int ignore_escape_flag = 1;
-
-/* Stack of conditionals currently in progress
- (including both successful and failing conditionals). */
-
-struct if_stack {
- struct if_stack *next; /* for chaining to the next stack frame */
- char *fname; /* copied from input when frame is made */
- size_t fname_len; /* similarly */
- int lineno; /* similarly */
- int if_succeeded; /* true if a leg of this if-group
- has been passed through rescan */
- U_CHAR *control_macro; /* For #ifndef at start of file,
- this is the macro name tested. */
- enum node_type type; /* type of last directive seen in this group */
-};
-typedef struct if_stack IF_STACK_FRAME;
-static IF_STACK_FRAME *if_stack = NULL;
-
-/* Buffer of -M output. */
-static char *deps_buffer;
-
-/* Number of bytes allocated in above. */
-static int deps_allocated_size;
-
-/* Number of bytes used. */
-static int deps_size;
-
-/* Number of bytes since the last newline. */
-static int deps_column;
-
-/* Nonzero means -I- has been seen,
- so don't look for #include "foo" the source-file directory. */
-static int ignore_srcdir;
-
-static int safe_read PROTO((int, char *, int));
-static void safe_write PROTO((int, char *, int));
-static void eprint_string PROTO((char *, size_t));
-
-int main PROTO((int, char **));
-
-static void path_include PROTO((char *));
-
-static U_CHAR *index0 PROTO((U_CHAR *, int, size_t));
-
-static void trigraph_pcp PROTO((FILE_BUF *));
-
-static void newline_fix PROTO((U_CHAR *));
-static void name_newline_fix PROTO((U_CHAR *));
-
-static char *get_lintcmd PROTO((U_CHAR *, U_CHAR *, U_CHAR **, int *, int *));
-
-static void rescan PROTO((FILE_BUF *, int));
-
-static FILE_BUF expand_to_temp_buffer PROTO((U_CHAR *, U_CHAR *, int, int));
-
-static int handle_directive PROTO((FILE_BUF *, FILE_BUF *));
-
-static struct tm *timestamp PROTO((void));
-static void special_symbol PROTO((HASHNODE *, FILE_BUF *));
-
-static int is_system_include PROTO((char *));
-static char *base_name PROTO((char *));
-static int absolute_filename PROTO((char *));
-static size_t simplify_filename PROTO((char *));
-
-static char *read_filename_string PROTO((int, FILE *));
-static struct file_name_map *read_name_map PROTO((char *));
-static int open_include_file PROTO((char *, struct file_name_list *, U_CHAR *, struct include_file **));
-static char *remap_include_file PROTO((char *, struct file_name_list *));
-static int lookup_ino_include PROTO((struct include_file *));
-
-static void finclude PROTO((int, struct include_file *, FILE_BUF *, int, struct file_name_list *));
-static void record_control_macro PROTO((struct include_file *, U_CHAR *));
-
-static char *check_precompiled PROTO((int, struct stat *, char *, char **));
-static int check_preconditions PROTO((char *));
-static void pcfinclude PROTO((U_CHAR *, U_CHAR *, FILE_BUF *));
-static void pcstring_used PROTO((HASHNODE *));
-static void write_output PROTO((void));
-static void pass_thru_directive PROTO((U_CHAR *, U_CHAR *, FILE_BUF *, struct directive *));
-
-static MACRODEF create_definition PROTO((U_CHAR *, U_CHAR *, FILE_BUF *));
-
-static int check_macro_name PROTO((U_CHAR *, char *));
-static int compare_defs PROTO((DEFINITION *, DEFINITION *));
-static int comp_def_part PROTO((int, U_CHAR *, int, U_CHAR *, int, int));
-
-static DEFINITION *collect_expansion PROTO((U_CHAR *, U_CHAR *, int, struct arglist *));
-
-int check_assertion PROTO((U_CHAR *, int, int, struct arglist *));
-static int compare_token_lists PROTO((struct arglist *, struct arglist *));
-
-static struct arglist *read_token_list PROTO((U_CHAR **, U_CHAR *, int *));
-static void free_token_list PROTO((struct arglist *));
-
-static ASSERTION_HASHNODE *assertion_install PROTO((U_CHAR *, int, int));
-static ASSERTION_HASHNODE *assertion_lookup PROTO((U_CHAR *, int, int));
-static void delete_assertion PROTO((ASSERTION_HASHNODE *));
-
-static void do_once PROTO((void));
-
-static HOST_WIDE_INT eval_if_expression PROTO((U_CHAR *, int));
-static void conditional_skip PROTO((FILE_BUF *, int, enum node_type, U_CHAR *, FILE_BUF *));
-static void skip_if_group PROTO((FILE_BUF *, int, FILE_BUF *));
-static void validate_else PROTO((U_CHAR *, U_CHAR *));
-
-static U_CHAR *skip_to_end_of_comment PROTO((FILE_BUF *, int *, int));
-static U_CHAR *skip_quoted_string PROTO((U_CHAR *, U_CHAR *, int, int *, int *, int *));
-static char *quote_string PROTO((char *, char *, size_t));
-static U_CHAR *skip_paren_group PROTO((FILE_BUF *));
-
-/* Last arg to output_line_directive. */
-enum file_change_code {same_file, enter_file, leave_file};
-static void output_line_directive PROTO((FILE_BUF *, FILE_BUF *, int, enum file_change_code));
-
-static void macroexpand PROTO((HASHNODE *, FILE_BUF *));
-
-struct argdata;
-static char *macarg PROTO((struct argdata *, int));
-
-static U_CHAR *macarg1 PROTO((U_CHAR *, U_CHAR *, struct hashnode *, int *, int *, int *, int));
-
-static int discard_comments PROTO((U_CHAR *, int, int));
-
-static int change_newlines PROTO((U_CHAR *, int));
-
-static char *my_strerror PROTO((int));
-void error PRINTF_PROTO_1((char *, ...));
-static void verror PROTO((char *, va_list));
-static void error_from_errno PROTO((char *));
-void warning PRINTF_PROTO_1((char *, ...));
-static void vwarning PROTO((char *, va_list));
-static void error_with_line PRINTF_PROTO_2((int, char *, ...));
-static void verror_with_line PROTO((int, char *, va_list));
-static void vwarning_with_line PROTO((int, char *, va_list));
-static void warning_with_line PRINTF_PROTO_2((int, char *, ...));
-void pedwarn PRINTF_PROTO_1((char *, ...));
-void pedwarn_with_line PRINTF_PROTO_2((int, char *, ...));
-static void pedwarn_with_file_and_line PRINTF_PROTO_4((char *, size_t, int, char *, ...));
-
-static void print_containing_files PROTO((void));
-
-static int line_for_error PROTO((int));
-static int grow_outbuf PROTO((FILE_BUF *, int));
-
-static HASHNODE *install PROTO((U_CHAR *, int, enum node_type, char *, int));
-HASHNODE *lookup PROTO((U_CHAR *, int, int));
-static void delete_macro PROTO((HASHNODE *));
-static int hashf PROTO((U_CHAR *, int, int));
-
-static void dump_single_macro PROTO((HASHNODE *, FILE *));
-static void dump_all_macros PROTO((void));
-static void dump_defn_1 PROTO((U_CHAR *, int, int, FILE *));
-static void dump_arg_n PROTO((DEFINITION *, int, FILE *));
-
-static void initialize_char_syntax PROTO((void));
-static void initialize_builtins PROTO((FILE_BUF *, FILE_BUF *));
-
-static void make_definition PROTO((char *));
-static void make_undef PROTO((char *, FILE_BUF *));
-
-static void make_assertion PROTO((char *, char *));
-
-static struct file_name_list *new_include_prefix PROTO((struct file_name_list *, const char *, const char *, const char *));
-static void append_include_chain PROTO((struct file_name_list *, struct file_name_list *));
-
-static int quote_string_for_make PROTO((char *, char *));
-static void deps_output PROTO((char *, int));
-
-static void fatal PRINTF_PROTO_1((char *, ...)) __attribute__ ((noreturn));
-void fancy_abort PROTO((void)) __attribute__ ((noreturn));
-static void perror_with_name PROTO((char *));
-static void pfatal_with_name PROTO((char *)) __attribute__ ((noreturn));
-static void pipe_closed PROTO((int)) __attribute__ ((noreturn));
-
-static void memory_full PROTO((void)) __attribute__ ((noreturn));
-static char *savestring PROTO((char *));
-static void print_help PROTO((void));
-
-/* Read LEN bytes at PTR from descriptor DESC, for file FILENAME,
- retrying if necessary. If MAX_READ_LEN is defined, read at most
- that bytes at a time. Return a negative value if an error occurs,
- otherwise return the actual number of bytes read,
- which must be LEN unless end-of-file was reached. */
-
-static int
-safe_read (desc, ptr, len)
- int desc;
- char *ptr;
- int len;
-{
- int left, rcount, nchars;
-
- left = len;
- while (left > 0) {
- rcount = left;
-#ifdef MAX_READ_LEN
- if (rcount > MAX_READ_LEN)
- rcount = MAX_READ_LEN;
-#endif
- nchars = read (desc, ptr, rcount);
- if (nchars < 0)
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- return nchars;
- }
- if (nchars == 0)
- break;
- ptr += nchars;
- left -= nchars;
- }
- return len - left;
-}
-
-/* Write LEN bytes at PTR to descriptor DESC,
- retrying if necessary, and treating any real error as fatal.
- If MAX_WRITE_LEN is defined, write at most that many bytes at a time. */
-
-static void
-safe_write (desc, ptr, len)
- int desc;
- char *ptr;
- int len;
-{
- int wcount, written;
-
- while (len > 0) {
- wcount = len;
-#ifdef MAX_WRITE_LEN
- if (wcount > MAX_WRITE_LEN)
- wcount = MAX_WRITE_LEN;
-#endif
- written = write (desc, ptr, wcount);
- if (written < 0)
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- pfatal_with_name (out_fname);
- }
- ptr += written;
- len -= written;
- }
-}
-
-/* Print a string to stderr, with extra handling in case it contains
- embedded NUL characters. Any present are written as is.
-
- Using fwrite for this purpose produces undesireable results on VMS
- when stderr happens to be a record oriented file, such as a batch log
- file, rather than a stream oriented one. */
-
-static void
-eprint_string (string, length)
- char *string;
- size_t length;
-{
- size_t segment_length;
-
- do {
- fprintf(stderr, "%s", string);
- length -= (segment_length = strlen(string));
- if (length > 0)
- {
- fputc('\0', stderr);
- length -= 1;
- /* Advance past the portion which has already been printed. */
- string += segment_length + 1;
- }
- } while (length > 0);
-}
-
-
-static void
-print_help ()
-{
- printf ("Usage: %s [switches] input output\n", progname);
- printf ("Switches:\n");
- printf (" -include <file> Include the contents of <file> before other files\n");
- printf (" -imacros <file> Accept definition of marcos in <file>\n");
- printf (" -iprefix <path> Specify <path> as a prefix for next two options\n");
- printf (" -iwithprefix <dir> Add <dir> to the end of the system include paths\n");
- printf (" -iwithprefixbefore <dir> Add <dir> to the end of the main include paths\n");
- printf (" -isystem <dir> Add <dir> to the start of the system include paths\n");
- printf (" -idirafter <dir> Add <dir> to the end of the system include paths\n");
- printf (" -I <dir> Add <dir> to the end of the main include paths\n");
- printf (" -nostdinc Do not search the system include directories\n");
- printf (" -nostdinc++ Do not search the system include directories for C++\n");
- printf (" -o <file> Put output into <file>\n");
- printf (" -pedantic Issue all warnings demanded by strict ANSI C\n");
- printf (" -traditional Follow K&R pre-processor behaviour\n");
- printf (" -trigraphs Support ANSI C trigraphs\n");
- printf (" -lang-c Assume that the input sources are in C\n");
- printf (" -lang-c89 Assume that the input is C89; depricated\n");
- printf (" -lang-c++ Assume that the input sources are in C++\n");
- printf (" -lang-objc Assume that the input sources are in ObjectiveC\n");
- printf (" -lang-objc++ Assume that the input sources are in ObjectiveC++\n");
- printf (" -lang-asm Assume that the input sources are in assembler\n");
- printf (" -lang-chill Assume that the input sources are in Chill\n");
- printf (" -std=<std name> Specify the conformance standard; one of:\n");
- printf (" gnu89, gnu9x, c89, c9x, iso9899:1990,\n");
- printf (" iso9899:199409, iso9899:199x\n");
- printf (" -+ Allow parsing of C++ style features\n");
- printf (" -w Inhibit warning messages\n");
- printf (" -Wtrigraphs Warn if trigraphs are encountered\n");
- printf (" -Wno-trigraphs Do not warn about trigraphs\n");
- printf (" -Wcomment{s} Warn if one comment starts inside another\n");
- printf (" -Wno-comment{s} Do not warn about comments\n");
- printf (" -Wtraditional Warn if a macro argument is/would be turned into\n");
- printf (" a string if -tradtional is specified\n");
- printf (" -Wno-traditional Do not warn about stringification\n");
- printf (" -Wundef Warn if an undefined macro is used by #if\n");
- printf (" -Wno-undef Do not warn about testing udefined macros\n");
- printf (" -Wimport Warn about the use of the #import directive\n");
- printf (" -Wno-import Do not warn about the use of #import\n");
- printf (" -Werror Treat all warnings as errors\n");
- printf (" -Wno-error Do not treat warnings as errors\n");
- printf (" -Wall Enable all preprocessor warnings\n");
- printf (" -M Generate make dependencies\n");
- printf (" -MM As -M, but ignore system header files\n");
- printf (" -MD As -M, but put output in a .d file\n");
- printf (" -MMD As -MD, but ignore system header files\n");
- printf (" -MG Treat missing header file as generated files\n");
- printf (" -g Include #define and #undef directives in the output\n");
- printf (" -D<macro> Define a <macro> with string '1' as its value\n");
- printf (" -D<macro>=<val> Define a <macro> with <val> as its value\n");
- printf (" -A<question> (<answer>) Assert the <answer> to <question>\n");
- printf (" -U<macro> Undefine <macro> \n");
- printf (" -u or -undef Do not predefine any macros\n");
- printf (" -v Display the version number\n");
- printf (" -H Print the name of header files as they are used\n");
- printf (" -C Do not discard comments\n");
- printf (" -dM Display a list of macro definitions active at end\n");
- printf (" -dD Preserve macro definitions in output\n");
- printf (" -dN As -dD except that only the names are preserved\n");
- printf (" -dI Include #include directives in the output\n");
- printf (" -ifoutput Describe skipped code blocks in output \n");
- printf (" -P Do not generate #line directives\n");
- printf (" -$ Do not include '$' in identifiers\n");
- printf (" -remap Remap file names when including files.\n");
- printf (" -h or --help Display this information\n");
-}
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- struct stat st;
- char *in_fname;
- char *cp;
- int f, i;
- FILE_BUF *fp;
- char **pend_files = (char **) xmalloc (argc * sizeof (char *));
- char **pend_defs = (char **) xmalloc (argc * sizeof (char *));
- char **pend_undefs = (char **) xmalloc (argc * sizeof (char *));
- char **pend_assertions = (char **) xmalloc (argc * sizeof (char *));
- char **pend_includes = (char **) xmalloc (argc * sizeof (char *));
-
- /* Record the option used with each element of pend_assertions.
- This is preparation for supporting more than one option for making
- an assertion. */
- char **pend_assertion_options = (char **) xmalloc (argc * sizeof (char *));
- int inhibit_predefs = 0;
- int no_standard_includes = 0;
- int no_standard_cplusplus_includes = 0;
- int missing_newline = 0;
-
- /* Non-0 means don't output the preprocessed program. */
- int inhibit_output = 0;
- /* Non-0 means -v, so print the full set of include dirs. */
- int verbose = 0;
-
- /* File name which deps are being written to.
- This is 0 if deps are being written to stdout. */
- char *deps_file = 0;
- /* Fopen file mode to open deps_file with. */
- char *deps_mode = "a";
- /* Stream on which to print the dependency information. */
- FILE *deps_stream = 0;
- /* Target-name to write with the dependency information. */
- char *deps_target = 0;
-
-#if defined (RLIMIT_STACK) && defined (HAVE_GETRLIMIT) && defined (HAVE_SETRLIMIT)
- /* Get rid of any avoidable limit on stack size. */
- {
- struct rlimit rlim;
-
- /* Set the stack limit huge so that alloca (particularly stringtab
- in dbxread.c) does not fail. */
- getrlimit (RLIMIT_STACK, &rlim);
- rlim.rlim_cur = rlim.rlim_max;
- setrlimit (RLIMIT_STACK, &rlim);
- }
-#endif
-
-#ifdef SIGPIPE
- signal (SIGPIPE, pipe_closed);
-#endif
-
- progname = base_name (argv[0]);
-
-
- in_fname = NULL;
- out_fname = NULL;
-
- /* Initialize is_idchar. */
- initialize_char_syntax ();
-
- no_line_directives = 0;
- no_trigraphs = 1;
- dump_macros = dump_none;
- no_output = 0;
- cplusplus = 0;
- cplusplus_comments = 1;
-
- bzero ((char *) pend_files, argc * sizeof (char *));
- bzero ((char *) pend_defs, argc * sizeof (char *));
- bzero ((char *) pend_undefs, argc * sizeof (char *));
- bzero ((char *) pend_assertions, argc * sizeof (char *));
- bzero ((char *) pend_includes, argc * sizeof (char *));
-
-#ifdef MULTIBYTE_CHARS
- /* Change to the native locale for multibyte conversions. */
- setlocale (LC_CTYPE, "");
- literal_codeset = getenv ("LANG");
-#endif
-
- /* Process switches and find input file name. */
-
- for (i = 1; i < argc; i++) {
- if (argv[i][0] != '-') {
- if (out_fname != NULL)
- {
- print_help ();
- fatal ("Too many arguments");
- }
- else if (in_fname != NULL)
- out_fname = argv[i];
- else
- in_fname = argv[i];
- } else {
- switch (argv[i][1]) {
-
- case 'i':
- if (!strcmp (argv[i], "-include")) {
- int temp = i;
-
- if (i + 1 == argc)
- fatal ("Filename missing after `-include' option");
- else
- simplify_filename (pend_includes[temp] = argv[++i]);
- }
- if (!strcmp (argv[i], "-imacros")) {
- int temp = i;
-
- if (i + 1 == argc)
- fatal ("Filename missing after `-imacros' option");
- else
- simplify_filename (pend_files[temp] = argv[++i]);
- }
- if (!strcmp (argv[i], "-iprefix")) {
- if (i + 1 == argc)
- fatal ("Filename missing after `-iprefix' option");
- else
- include_prefix = argv[++i];
- }
- if (!strcmp (argv[i], "-ifoutput")) {
- output_conditionals = 1;
- }
- if (!strcmp (argv[i], "-isystem")) {
- struct file_name_list *dirtmp;
-
- if (! (dirtmp = new_include_prefix (NULL_PTR, NULL_PTR,
- "", argv[++i])))
- break;
- dirtmp->c_system_include_path = 1;
-
- if (before_system == 0)
- before_system = dirtmp;
- else
- last_before_system->next = dirtmp;
- last_before_system = dirtmp; /* Tail follows the last one */
- }
- /* Add directory to end of path for includes,
- with the default prefix at the front of its name. */
- if (!strcmp (argv[i], "-iwithprefix")) {
- struct file_name_list *dirtmp;
- char *prefix;
-
- if (include_prefix != 0)
- prefix = include_prefix;
- else {
- prefix = savestring (GCC_INCLUDE_DIR);
- /* Remove the `include' from /usr/local/lib/gcc.../include. */
- if (!strcmp (prefix + strlen (prefix) - 8, "/include"))
- prefix[strlen (prefix) - 7] = 0;
- }
-
- if (! (dirtmp = new_include_prefix (NULL_PTR, NULL_PTR,
- prefix, argv[++i])))
- break;
-
- if (after_include == 0)
- after_include = dirtmp;
- else
- last_after_include->next = dirtmp;
- last_after_include = dirtmp; /* Tail follows the last one */
- }
- /* Add directory to main path for includes,
- with the default prefix at the front of its name. */
- if (!strcmp (argv[i], "-iwithprefixbefore")) {
- struct file_name_list *dirtmp;
- char *prefix;
-
- if (include_prefix != 0)
- prefix = include_prefix;
- else {
- prefix = savestring (GCC_INCLUDE_DIR);
- /* Remove the `include' from /usr/local/lib/gcc.../include. */
- if (!strcmp (prefix + strlen (prefix) - 8, "/include"))
- prefix[strlen (prefix) - 7] = 0;
- }
-
- dirtmp = new_include_prefix (NULL_PTR, NULL_PTR, prefix, argv[++i]);
- append_include_chain (dirtmp, dirtmp);
- }
- /* Add directory to end of path for includes. */
- if (!strcmp (argv[i], "-idirafter")) {
- struct file_name_list *dirtmp;
-
- if (! (dirtmp = new_include_prefix (NULL_PTR, NULL_PTR,
- "", argv[++i])))
- break;
-
- if (after_include == 0)
- after_include = dirtmp;
- else
- last_after_include->next = dirtmp;
- last_after_include = dirtmp; /* Tail follows the last one */
- }
- break;
-
- case 'o':
- if (out_fname != NULL)
- fatal ("Output filename specified twice");
- if (i + 1 == argc)
- fatal ("Filename missing after -o option");
- out_fname = argv[++i];
- if (!strcmp (out_fname, "-"))
- out_fname = "";
- break;
-
- case 'p':
- if (!strcmp (argv[i], "-pedantic"))
- pedantic = 1;
- else if (!strcmp (argv[i], "-pedantic-errors")) {
- pedantic = 1;
- pedantic_errors = 1;
- } else if (!strcmp (argv[i], "-pcp")) {
- char *pcp_fname;
- if (i + 1 == argc)
- fatal ("Filename missing after -pcp option");
- pcp_fname = argv[++i];
- pcp_outfile
- = ((pcp_fname[0] != '-' || pcp_fname[1] != '\0')
- ? fopen (pcp_fname, "w")
- : stdout);
- if (pcp_outfile == 0)
- pfatal_with_name (pcp_fname);
- no_precomp = 1;
- }
- break;
-
- case 't':
- if (!strcmp (argv[i], "-traditional")) {
- traditional = 1;
- cplusplus_comments = 0;
- } else if (!strcmp (argv[i], "-trigraphs")) {
-/* CYGNUS LOCAL chill */
- if (!chill)
-/* END CYGNUS LOCAL chill */
- no_trigraphs = 0;
- }
- break;
-
- case 'l':
- if (! strcmp (argv[i], "-lang-c"))
- cplusplus = 0, cplusplus_comments = 1, c89 = 0, c9x = 1, objc = 0;
- else if (! strcmp (argv[i], "-lang-c89"))
- cplusplus = 0, cplusplus_comments = 0, c89 = 1, c9x = 0, objc = 0;
- else if (! strcmp (argv[i], "-lang-c++"))
- cplusplus = 1, cplusplus_comments = 1, c89 = 0, c9x = 0, objc = 0;
- else if (! strcmp (argv[i], "-lang-objc"))
- cplusplus = 0, cplusplus_comments = 1, c89 = 0, c9x = 0, objc = 1;
- else if (! strcmp (argv[i], "-lang-objc++"))
- cplusplus = 1, cplusplus_comments = 1, c89 = 0, c9x = 0, objc = 1;
- else if (! strcmp (argv[i], "-lang-asm"))
- lang_asm = 1;
- else if (! strcmp (argv[i], "-lint"))
- for_lint = 1;
-/* CYGNUS LOCAL chill */
- if (! strcmp (argv[i], "-lang-chill"))
- objc = 0, cplusplus = 0, chill = 1, /* traditional = 1, */
- no_trigraphs = 1, cplusplus_comments = 0;;
-/* END CYGNUS LOCAL chill */
- break;
-
- case '+':
- cplusplus = 1, cplusplus_comments = 1;
- break;
-
- case 's':
- if (!strcmp (argv[i], "-std=iso9899:1990")
- || !strcmp (argv[i], "-std=iso9899:199409")
- || !strcmp (argv[i], "-std=c89")
- || !strcmp (argv[i], "-std=gnu89"))
- cplusplus = 0, cplusplus_comments = 0, c89 = 1, c9x = 0, objc = 0;
- else if (!strcmp (argv[i], "-std=iso9899:199x")
- || !strcmp (argv[i], "-std=c9x")
- || !strcmp (argv[i], "-std=gnu9x"))
- cplusplus = 0, cplusplus_comments = 1, c89 = 0, c9x = 1, objc = 0;
- break;
-
- case 'w':
- inhibit_warnings = 1;
- break;
-
- case 'W':
- if (!strcmp (argv[i], "-Wtrigraphs"))
- warn_trigraphs = 1;
- else if (!strcmp (argv[i], "-Wno-trigraphs"))
- warn_trigraphs = 0;
- else if (!strcmp (argv[i], "-Wcomment"))
- warn_comments = 1;
- else if (!strcmp (argv[i], "-Wno-comment"))
- warn_comments = 0;
- else if (!strcmp (argv[i], "-Wcomments"))
- warn_comments = 1;
- else if (!strcmp (argv[i], "-Wno-comments"))
- warn_comments = 0;
- else if (!strcmp (argv[i], "-Wtraditional"))
- warn_stringify = 1;
- else if (!strcmp (argv[i], "-Wno-traditional"))
- warn_stringify = 0;
- else if (!strcmp (argv[i], "-Wundef"))
- warn_undef = 1;
- else if (!strcmp (argv[i], "-Wno-undef"))
- warn_undef = 0;
- else if (!strcmp (argv[i], "-Wimport"))
- warn_import = 1;
- else if (!strcmp (argv[i], "-Wno-import"))
- warn_import = 0;
- else if (!strcmp (argv[i], "-Werror"))
- warnings_are_errors = 1;
- else if (!strcmp (argv[i], "-Wno-error"))
- warnings_are_errors = 0;
- else if (!strcmp (argv[i], "-Wall"))
- {
- warn_trigraphs = 1;
- warn_comments = 1;
- }
- break;
-
- case 'f':
- if (!strcmp (argv[i], "-fleading-underscore"))
- user_label_prefix = "_";
- else if (!strcmp (argv[i], "-fno-leading-underscore"))
- user_label_prefix = "";
- break;
-
- case 'M':
- /* The style of the choices here is a bit mixed.
- The chosen scheme is a hybrid of keeping all options in one string
- and specifying each option in a separate argument:
- -M|-MM|-MD file|-MMD file [-MG]. An alternative is:
- -M|-MM|-MD file|-MMD file|-MG|-MMG; or more concisely:
- -M[M][G][D file]. This is awkward to handle in specs, and is not
- as extensible. */
- /* ??? -MG must be specified in addition to one of -M or -MM.
- This can be relaxed in the future without breaking anything.
- The converse isn't true. */
-
- /* -MG isn't valid with -MD or -MMD. This is checked for later. */
- if (!strcmp (argv[i], "-MG"))
- {
- print_deps_missing_files = 1;
- break;
- }
- if (!strcmp (argv[i], "-M"))
- print_deps = 2;
- else if (!strcmp (argv[i], "-MM"))
- print_deps = 1;
- else if (!strcmp (argv[i], "-MD"))
- print_deps = 2;
- else if (!strcmp (argv[i], "-MMD"))
- print_deps = 1;
- /* For -MD and -MMD options, write deps on file named by next arg. */
- if (!strcmp (argv[i], "-MD")
- || !strcmp (argv[i], "-MMD")) {
- if (i + 1 == argc)
- fatal ("Filename missing after %s option", argv[i]);
- i++;
- deps_file = argv[i];
- deps_mode = "w";
- } else {
- /* For -M and -MM, write deps on standard output
- and suppress the usual output. */
- deps_stream = stdout;
- inhibit_output = 1;
- }
- break;
-
- case 'd':
- {
- char *p = argv[i] + 2;
- char c;
- while ((c = *p++)) {
- /* Arg to -d specifies what parts of macros to dump */
- switch (c) {
- case 'M':
- dump_macros = dump_only;
- no_output = 1;
- break;
- case 'N':
- dump_macros = dump_names;
- break;
- case 'D':
- dump_macros = dump_definitions;
- break;
- case 'I':
- dump_includes = 1;
- break;
- }
- }
- }
- break;
-
- case 'g':
- if (argv[i][2] == '3')
- debug_output = 1;
- break;
-
- case '-':
- if (strcmp (argv[i], "--help") != 0)
- return i;
- print_help ();
- exit (0);
- break;
-
- case 'v':
- fprintf (stderr, "GNU CPP version %s", version_string);
-#ifdef TARGET_VERSION
- TARGET_VERSION;
-#endif
- fprintf (stderr, "\n");
- verbose = 1;
- break;
-
- case 'H':
- print_include_names = 1;
- break;
-
- case 'D':
- if (argv[i][2] != 0)
- pend_defs[i] = argv[i] + 2;
- else if (i + 1 == argc)
- fatal ("Macro name missing after -D option");
- else
- i++, pend_defs[i] = argv[i];
- break;
-
- case 'A':
- {
- char *p;
-
- if (argv[i][2] != 0)
- p = argv[i] + 2;
- else if (i + 1 == argc)
- fatal ("Assertion missing after -A option");
- else
- p = argv[++i];
-
- if (!strcmp (p, "-")) {
- /* -A- eliminates all predefined macros and assertions.
- Let's include also any that were specified earlier
- on the command line. That way we can get rid of any
- that were passed automatically in from GCC. */
- int j;
- inhibit_predefs = 1;
- for (j = 0; j < i; j++)
- pend_defs[j] = pend_assertions[j] = 0;
- } else {
- pend_assertions[i] = p;
- pend_assertion_options[i] = "-A";
- }
- }
- break;
-
- case 'U': /* JF #undef something */
- if (argv[i][2] != 0)
- pend_undefs[i] = argv[i] + 2;
- else if (i + 1 == argc)
- fatal ("Macro name missing after -U option");
- else
- pend_undefs[i] = argv[i+1], i++;
- break;
-
- case 'C':
- put_out_comments = 1;
- break;
-
- case 'E': /* -E comes from cc -E; ignore it. */
- break;
-
- case 'P':
- no_line_directives = 1;
- break;
-
- case '$': /* Don't include $ in identifiers. */
- is_idchar['$'] = is_idstart['$'] = 0;
- break;
-
- case 'I': /* Add directory to path for includes. */
- {
- struct file_name_list *dirtmp;
-
- if (! ignore_srcdir && !strcmp (argv[i] + 2, "-")) {
- ignore_srcdir = 1;
- /* Don't use any preceding -I directories for #include <...>. */
- first_bracket_include = 0;
- }
- else {
- dirtmp = new_include_prefix (last_include, NULL_PTR, "",
- argv[i][2] ? argv[i] + 2 : argv[++i]);
- append_include_chain (dirtmp, dirtmp);
- }
- }
- break;
-
- case 'n':
- if (!strcmp (argv[i], "-nostdinc"))
- /* -nostdinc causes no default include directories.
- You must specify all include-file directories with -I. */
- no_standard_includes = 1;
- else if (!strcmp (argv[i], "-nostdinc++"))
- /* -nostdinc++ causes no default C++-specific include directories. */
- no_standard_cplusplus_includes = 1;
- else if (!strcmp (argv[i], "-noprecomp"))
- no_precomp = 1;
- break;
-
- case 'r':
- if (!strcmp (argv[i], "-remap"))
- remap = 1;
- break;
-
- case 'u':
- /* Sun compiler passes undocumented switch "-undef".
- Let's assume it means to inhibit the predefined symbols. */
- inhibit_predefs = 1;
- break;
-
- case '\0': /* JF handle '-' as file name meaning stdin or stdout */
- if (in_fname == NULL) {
- in_fname = "";
- break;
- } else if (out_fname == NULL) {
- out_fname = "";
- break;
- } /* else fall through into error */
-
- default:
- fatal ("Invalid option `%s'", argv[i]);
- }
- }
- }
-
- /* Add dirs from CPATH after dirs from -I. */
- /* There seems to be confusion about what CPATH should do,
- so for the moment it is not documented. */
- /* Some people say that CPATH should replace the standard include dirs,
- but that seems pointless: it comes before them, so it overrides them
- anyway. */
- GET_ENV_PATH_LIST (cp, "CPATH");
- if (cp && ! no_standard_includes)
- path_include (cp);
-
- /* Initialize output buffer */
-
- outbuf.buf = (U_CHAR *) xmalloc (OUTBUF_SIZE);
- outbuf.bufp = outbuf.buf;
- outbuf.length = OUTBUF_SIZE;
-
- /* Do partial setup of input buffer for the sake of generating
- early #line directives (when -g is in effect). */
-
- fp = &instack[++indepth];
- if (in_fname == NULL)
- in_fname = "";
- fp->nominal_fname = fp->fname = in_fname;
- fp->nominal_fname_len = strlen (in_fname);
- fp->lineno = 0;
-
-/* CYGNUS LOCAL vmakarov */
-#ifndef NO_BUILTIN_WCHAR_TYPE
-/* END CYGNUS LOCAL */
- /* In C++, wchar_t is a distinct basic type, and we can expect
- __wchar_t to be defined by cc1plus. */
- if (cplusplus)
- wchar_type = "__wchar_t";
-/* CYGNUS LOCAL vmakarov */
-#endif
-/* END CYGNUS LOCAL */
-
- /* Install __LINE__, etc. Must follow initialize_char_syntax
- and option processing. */
- initialize_builtins (fp, &outbuf);
-
- /* Do standard #defines and assertions
- that identify system and machine type. */
-
- if (!inhibit_predefs) {
- char *p = (char *) alloca (strlen (predefs) + 1);
-
-
- strcpy (p, predefs);
- while (*p) {
- char *q;
- while (*p == ' ' || *p == '\t')
- p++;
- /* Handle -D options. */
- if (p[0] == '-' && p[1] == 'D') {
- q = &p[2];
- while (*p && *p != ' ' && *p != '\t')
- p++;
- if (*p != 0)
- *p++= 0;
- if (debug_output)
- output_line_directive (fp, &outbuf, 0, same_file);
- make_definition (q);
- while (*p == ' ' || *p == '\t')
- p++;
- } else if (p[0] == '-' && p[1] == 'A') {
- /* Handle -A options (assertions). */
- char *assertion;
- char *past_name;
- char *value;
- char *past_value;
- char *termination;
- int save_char;
-
- assertion = &p[2];
- past_name = assertion;
- /* Locate end of name. */
- while (*past_name && *past_name != ' '
- && *past_name != '\t' && *past_name != '(')
- past_name++;
- /* Locate `(' at start of value. */
- value = past_name;
- while (*value && (*value == ' ' || *value == '\t'))
- value++;
- if (*value++ != '(')
- abort ();
- while (*value && (*value == ' ' || *value == '\t'))
- value++;
- past_value = value;
- /* Locate end of value. */
- while (*past_value && *past_value != ' '
- && *past_value != '\t' && *past_value != ')')
- past_value++;
- termination = past_value;
- while (*termination && (*termination == ' ' || *termination == '\t'))
- termination++;
- if (*termination++ != ')')
- abort ();
- if (*termination && *termination != ' ' && *termination != '\t')
- abort ();
- /* Temporarily null-terminate the value. */
- save_char = *termination;
- *termination = '\0';
- /* Install the assertion. */
- make_assertion ("-A", assertion);
- *termination = (char) save_char;
- p = termination;
- while (*p == ' ' || *p == '\t')
- p++;
- } else {
- abort ();
- }
- }
- }
-
- /* Now handle the command line options. */
-
- /* Do -U's, -D's and -A's in the order they were seen. */
- for (i = 1; i < argc; i++) {
- if (pend_undefs[i]) {
- if (debug_output)
- output_line_directive (fp, &outbuf, 0, same_file);
- make_undef (pend_undefs[i], &outbuf);
- }
- if (pend_defs[i]) {
- if (debug_output)
- output_line_directive (fp, &outbuf, 0, same_file);
- make_definition (pend_defs[i]);
- }
- if (pend_assertions[i])
- make_assertion (pend_assertion_options[i], pend_assertions[i]);
- }
-
- done_initializing = 1;
-
- { /* Read the appropriate environment variable and if it exists
- replace include_defaults with the listed path. */
- char *epath = 0;
- switch ((objc << 1) + cplusplus)
- {
- case 0:
- GET_ENV_PATH_LIST (epath, "C_INCLUDE_PATH");
- break;
- case 1:
- GET_ENV_PATH_LIST (epath, "CPLUS_INCLUDE_PATH");
- break;
- case 2:
- GET_ENV_PATH_LIST (epath, "OBJC_INCLUDE_PATH");
- break;
- case 3:
- GET_ENV_PATH_LIST (epath, "OBJCPLUS_INCLUDE_PATH");
- break;
- }
- /* If the environment var for this language is set,
- add to the default list of include directories. */
- if (epath) {
- int num_dirs;
- char *startp, *endp;
-
- for (num_dirs = 1, startp = epath; *startp; startp++)
- if (*startp == PATH_SEPARATOR)
- num_dirs++;
- include_defaults
- = (struct default_include *) xmalloc ((num_dirs
- * sizeof (struct default_include))
- + sizeof (include_defaults_array));
- startp = endp = epath;
- num_dirs = 0;
- while (1) {
- char c = *endp++;
- if (c == PATH_SEPARATOR || !c) {
- endp[-1] = 0;
- include_defaults[num_dirs].fname
- = startp == endp ? "." : savestring (startp);
- endp[-1] = c;
- include_defaults[num_dirs].component = 0;
- include_defaults[num_dirs].cplusplus = cplusplus;
- include_defaults[num_dirs].cxx_aware = 1;
- num_dirs++;
- if (!c)
- break;
- startp = endp;
- }
- }
- /* Put the usual defaults back in at the end. */
- bcopy ((char *) include_defaults_array,
- (char *) &include_defaults[num_dirs],
- sizeof (include_defaults_array));
- }
- }
-
- append_include_chain (before_system, last_before_system);
- first_system_include = before_system;
-
- /* Unless -fnostdinc,
- tack on the standard include file dirs to the specified list */
- if (!no_standard_includes) {
- struct default_include *p = include_defaults;
- char *specd_prefix = include_prefix;
- char *default_prefix = savestring (GCC_INCLUDE_DIR);
- int default_len = 0;
- /* Remove the `include' from /usr/local/lib/gcc.../include. */
- if (!strcmp (default_prefix + strlen (default_prefix) - 8, "/include")) {
- default_len = strlen (default_prefix) - 7;
- default_prefix[default_len] = 0;
- }
- /* Search "translated" versions of GNU directories.
- These have /usr/local/lib/gcc... replaced by specd_prefix. */
- if (specd_prefix != 0 && default_len != 0)
- for (p = include_defaults; p->fname; p++) {
- /* Some standard dirs are only for C++. */
- if (!p->cplusplus || (cplusplus && !no_standard_cplusplus_includes)) {
- /* Does this dir start with the prefix? */
- if (!strncmp (p->fname, default_prefix, default_len)) {
- /* Yes; change prefix and add to search list. */
- struct file_name_list *new
- = new_include_prefix (NULL_PTR, NULL_PTR, specd_prefix,
- p->fname + default_len);
- if (new) {
- new->c_system_include_path = !p->cxx_aware;
- append_include_chain (new, new);
- if (first_system_include == 0)
- first_system_include = new;
- }
- }
- }
- }
- /* Search ordinary names for GNU include directories. */
- for (p = include_defaults; p->fname; p++) {
- /* Some standard dirs are only for C++. */
- if (!p->cplusplus || (cplusplus && !no_standard_cplusplus_includes)) {
- struct file_name_list *new
- = new_include_prefix (NULL_PTR, p->component, "", p->fname);
- if (new) {
- new->c_system_include_path = !p->cxx_aware;
- append_include_chain (new, new);
- if (first_system_include == 0)
- first_system_include = new;
- }
- }
- }
- }
-
- /* Tack the after_include chain at the end of the include chain. */
- append_include_chain (after_include, last_after_include);
- if (first_system_include == 0)
- first_system_include = after_include;
-
- /* With -v, print the list of dirs to search. */
- if (verbose) {
- struct file_name_list *p;
- fprintf (stderr, "#include \"...\" search starts here:\n");
- for (p = include; p; p = p->next) {
- if (p == first_bracket_include)
- fprintf (stderr, "#include <...> search starts here:\n");
- if (!p->fname[0])
- fprintf (stderr, " .\n");
- else if (!strcmp (p->fname, "/") || !strcmp (p->fname, "//"))
- fprintf (stderr, " %s\n", p->fname);
- else
- /* Omit trailing '/'. */
- fprintf (stderr, " %.*s\n", (int) strlen (p->fname) - 1, p->fname);
- }
- fprintf (stderr, "End of search list.\n");
- }
-
- /* -MG doesn't select the form of output and must be specified with one of
- -M or -MM. -MG doesn't make sense with -MD or -MMD since they don't
- inhibit compilation. */
- if (print_deps_missing_files && (print_deps == 0 || !inhibit_output))
- fatal ("-MG must be specified with one of -M or -MM");
-
- /* Either of two environment variables can specify output of deps.
- Its value is either "OUTPUT_FILE" or "OUTPUT_FILE DEPS_TARGET",
- where OUTPUT_FILE is the file to write deps info to
- and DEPS_TARGET is the target to mention in the deps. */
-
- if (print_deps == 0
- && (getenv ("SUNPRO_DEPENDENCIES") != 0
- || getenv ("DEPENDENCIES_OUTPUT") != 0)) {
- char *spec = getenv ("DEPENDENCIES_OUTPUT");
- char *s;
- char *output_file;
-
- if (spec == 0) {
- spec = getenv ("SUNPRO_DEPENDENCIES");
- print_deps = 2;
- }
- else
- print_deps = 1;
-
- s = spec;
- /* Find the space before the DEPS_TARGET, if there is one. */
- /* This should use index. (mrs) */
- while (*s != 0 && *s != ' ') s++;
- if (*s != 0) {
- deps_target = s + 1;
- output_file = xmalloc (s - spec + 1);
- bcopy (spec, output_file, s - spec);
- output_file[s - spec] = 0;
- }
- else {
- deps_target = 0;
- output_file = spec;
- }
-
- deps_file = output_file;
- deps_mode = "a";
- }
-
- /* For -M, print the expected object file name
- as the target of this Make-rule. */
- if (print_deps) {
- deps_allocated_size = 200;
- deps_buffer = xmalloc (deps_allocated_size);
- deps_buffer[0] = 0;
- deps_size = 0;
- deps_column = 0;
-
- if (deps_target) {
- deps_output (deps_target, ':');
- } else if (*in_fname == 0) {
- deps_output ("-", ':');
- } else {
- char *p, *q;
- int len;
-
- q = base_name (in_fname);
-
- /* Copy remainder to mungable area. */
- p = (char *) alloca (strlen(q) + 8);
- strcpy (p, q);
-
- /* Output P, but remove known suffixes. */
- len = strlen (p);
- q = p + len;
- if (len >= 2
- && p[len - 2] == '.'
- && index("cCsSm", p[len - 1]))
- q = p + (len - 2);
- else if (len >= 3
- && p[len - 3] == '.'
- && p[len - 2] == 'c'
- && p[len - 1] == 'c')
- q = p + (len - 3);
- else if (len >= 4
- && p[len - 4] == '.'
- && p[len - 3] == 'c'
- && p[len - 2] == 'x'
- && p[len - 1] == 'x')
- q = p + (len - 4);
- else if (len >= 4
- && p[len - 4] == '.'
- && p[len - 3] == 'c'
- && p[len - 2] == 'p'
- && p[len - 1] == 'p')
- q = p + (len - 4);
-
- /* Supply our own suffix. */
- strcpy (q, OBJECT_SUFFIX);
-
- deps_output (p, ':');
- deps_output (in_fname, ' ');
- }
- }
-
- /* Scan the -imacros files before the main input.
- Much like #including them, but with no_output set
- so that only their macro definitions matter. */
-
- no_output++; no_record_file++;
- for (i = 1; i < argc; i++)
- if (pend_files[i]) {
- struct include_file *inc;
- int fd = open_include_file (pend_files[i], NULL_PTR, NULL_PTR, &inc);
- if (fd < 0) {
- perror_with_name (pend_files[i]);
- return FATAL_EXIT_CODE;
- }
- finclude (fd, inc, &outbuf, 0, NULL_PTR);
- }
- no_output--; no_record_file--;
-
- /* Copy the entire contents of the main input file into
- the stacked input buffer previously allocated for it. */
-
- /* JF check for stdin */
- if (in_fname == NULL || *in_fname == 0) {
- in_fname = "";
- f = 0;
- } else if ((f = open (in_fname, O_RDONLY, 0666)) < 0)
- goto perror;
-
- if (fstat (f, &st) != 0)
- pfatal_with_name (in_fname);
- fp->nominal_fname = fp->fname = in_fname;
- fp->nominal_fname_len = strlen (in_fname);
- fp->lineno = 1;
- fp->system_header_p = 0;
- /* JF all this is mine about reading pipes and ttys */
- if (! S_ISREG (st.st_mode)) {
- /* Read input from a file that is not a normal disk file.
- We cannot preallocate a buffer with the correct size,
- so we must read in the file a piece at the time and make it bigger. */
- int size;
- int bsize;
- int cnt;
-
- if (S_ISDIR (st.st_mode))
- fatal ("Input file `%s' is a directory", in_fname);
-
- bsize = 2000;
- size = 0;
- fp->buf = (U_CHAR *) xmalloc (bsize + 2);
- for (;;) {
- cnt = safe_read (f, (char *) fp->buf + size, bsize - size);
- if (cnt < 0) goto perror; /* error! */
- size += cnt;
- if (size != bsize) break; /* End of file */
- bsize *= 2;
- fp->buf = (U_CHAR *) xrealloc (fp->buf, bsize + 2);
- }
- fp->length = size;
- } else {
- /* Read a file whose size we can determine in advance.
- For the sake of VMS, st.st_size is just an upper bound. */
- size_t s = (size_t) st.st_size;
- if (s != st.st_size || s + 2 < s)
- memory_full ();
- fp->buf = (U_CHAR *) xmalloc (s + 2);
- fp->length = safe_read (f, (char *) fp->buf, s);
- if (fp->length < 0) goto perror;
- }
- fp->bufp = fp->buf;
- fp->if_stack = if_stack;
-
- /* Make sure data ends with a newline. And put a null after it. */
-
- if ((fp->length > 0 && fp->buf[fp->length - 1] != '\n')
- /* Backslash-newline at end is not good enough. */
- || (fp->length > 1 && fp->buf[fp->length - 2] == '\\')) {
- fp->buf[fp->length++] = '\n';
- missing_newline = 1;
- }
- fp->buf[fp->length] = '\0';
-
- /* Unless inhibited, convert trigraphs in the input. */
-
- if (!no_trigraphs)
- trigraph_pcp (fp);
-
- /* Now that we know the input file is valid, open the output. */
-
- if (!out_fname || !strcmp (out_fname, ""))
- out_fname = "stdout";
- else if (! freopen (out_fname, "w", stdout))
- pfatal_with_name (out_fname);
-
- output_line_directive (fp, &outbuf, 0, same_file);
-
- /* Scan the -include files before the main input. */
-
- no_record_file++;
- for (i = 1; i < argc; i++)
- if (pend_includes[i]) {
- struct include_file *inc;
- int fd = open_include_file (pend_includes[i], NULL_PTR, NULL_PTR, &inc);
- if (fd < 0) {
- perror_with_name (pend_includes[i]);
- return FATAL_EXIT_CODE;
- }
- finclude (fd, inc, &outbuf, 0, NULL_PTR);
- }
- no_record_file--;
-
- /* Scan the input, processing macros and directives. */
-
- rescan (&outbuf, 0);
-
- if (missing_newline)
- fp->lineno--;
-
- if (pedantic && missing_newline)
- pedwarn ("file does not end in newline");
-
- /* Now we have processed the entire input
- Write whichever kind of output has been requested. */
-
- if (dump_macros == dump_only)
- dump_all_macros ();
- else if (! inhibit_output) {
- write_output ();
- }
-
- if (print_deps) {
- /* Don't actually write the deps file if compilation has failed. */
- if (errors == 0) {
- if (deps_file && ! (deps_stream = fopen (deps_file, deps_mode)))
- pfatal_with_name (deps_file);
- fputs (deps_buffer, deps_stream);
- putc ('\n', deps_stream);
- if (deps_file) {
- if (ferror (deps_stream) || fclose (deps_stream) != 0)
- fatal ("I/O error on output");
- }
- }
- }
-
- if (pcp_outfile && pcp_outfile != stdout
- && (ferror (pcp_outfile) || fclose (pcp_outfile) != 0))
- fatal ("I/O error on `-pcp' output");
-
- if (ferror (stdout) || fclose (stdout) != 0)
- fatal ("I/O error on output");
-
- if (errors)
- exit (FATAL_EXIT_CODE);
- exit (SUCCESS_EXIT_CODE);
-
- perror:
- pfatal_with_name (in_fname);
- return 0;
-}
-
-/* Given a colon-separated list of file names PATH,
- add all the names to the search path for include files. */
-
-static void
-path_include (path)
- char *path;
-{
- char *p;
-
- p = path;
-
- if (*p)
- while (1) {
- char *q = p;
- char c;
- struct file_name_list *dirtmp;
-
- /* Find the end of this name. */
- while ((c = *q++) != PATH_SEPARATOR && c)
- continue;
-
- q[-1] = 0;
- dirtmp = new_include_prefix (last_include, NULL_PTR,
- "", p == q ? "." : p);
- q[-1] = c;
- append_include_chain (dirtmp, dirtmp);
-
- /* Advance past this name. */
- p = q;
- if (! c)
- break;
- }
-}
-
-/* Return the address of the first character in S that equals C.
- S is an array of length N, possibly containing '\0's, and followed by '\0'.
- Return 0 if there is no such character. Assume that C itself is not '\0'.
- If we knew we could use memchr, we could just invoke memchr (S, C, N),
- but unfortunately memchr isn't autoconfigured yet. */
-
-static U_CHAR *
-index0 (s, c, n)
- U_CHAR *s;
- int c;
- size_t n;
-{
- char *p = (char *) s;
- for (;;) {
- char *q = index (p, c);
- if (q)
- return (U_CHAR *) q;
- else {
- size_t l = strlen (p);
- if (l == n)
- return 0;
- l++;
- p += l;
- n -= l;
- }
- }
-}
-
-/* Pre-C-Preprocessor to translate ANSI trigraph idiocy in BUF
- before main CCCP processing. Name `pcp' is also in honor of the
- drugs the trigraph designers must have been on.
-
- Using an extra pass through the buffer takes a little extra time,
- but is infinitely less hairy than trying to handle trigraphs inside
- strings, etc. everywhere, and also makes sure that trigraphs are
- only translated in the top level of processing. */
-
-static void
-trigraph_pcp (buf)
- FILE_BUF *buf;
-{
- register U_CHAR c, *fptr, *bptr, *sptr, *lptr;
- int len;
-
- fptr = bptr = sptr = buf->buf;
- lptr = fptr + buf->length;
- while ((sptr = index0 (sptr, '?', (size_t) (lptr - sptr))) != NULL) {
- if (*++sptr != '?')
- continue;
- switch (*++sptr) {
- case '=':
- c = '#';
- break;
- case '(':
- c = '[';
- break;
- case '/':
- c = '\\';
- break;
- case ')':
- c = ']';
- break;
- case '\'':
- c = '^';
- break;
- case '<':
- c = '{';
- break;
- case '!':
- c = '|';
- break;
- case '>':
- c = '}';
- break;
- case '-':
- c = '~';
- break;
- case '?':
- sptr--;
- continue;
- default:
- continue;
- }
- len = sptr - fptr - 2;
-
- /* BSD doc says bcopy () works right for overlapping strings. In ANSI
- C, this will be memmove (). */
- if (bptr != fptr && len > 0)
- bcopy ((char *) fptr, (char *) bptr, len);
-
- bptr += len;
- *bptr++ = c;
- fptr = ++sptr;
- }
- len = buf->length - (fptr - buf->buf);
- if (bptr != fptr && len > 0)
- bcopy ((char *) fptr, (char *) bptr, len);
- buf->length -= fptr - bptr;
- buf->buf[buf->length] = '\0';
- if (warn_trigraphs && fptr != bptr)
- warning_with_line (0, "%lu trigraph(s) encountered",
- (unsigned long) (fptr - bptr) / 2);
-}
-
-/* Move all backslash-newline pairs out of embarrassing places.
- Exchange all such pairs following BP
- with any potentially-embarrassing characters that follow them.
- Potentially-embarrassing characters are / and *
- (because a backslash-newline inside a comment delimiter
- would cause it not to be recognized). */
-
-static void
-newline_fix (bp)
- U_CHAR *bp;
-{
- register U_CHAR *p = bp;
-
- /* First count the backslash-newline pairs here. */
-
- while (p[0] == '\\' && p[1] == '\n')
- p += 2;
-
- /* What follows the backslash-newlines is not embarrassing. */
-
- if (*p != '/' && *p != '*')
- return;
-
- /* Copy all potentially embarrassing characters
- that follow the backslash-newline pairs
- down to where the pairs originally started. */
-
- while (*p == '*' || *p == '/')
- *bp++ = *p++;
-
- /* Now write the same number of pairs after the embarrassing chars. */
- while (bp < p) {
- *bp++ = '\\';
- *bp++ = '\n';
- }
-}
-
-/* Like newline_fix but for use within a directive-name.
- Move any backslash-newlines up past any following symbol constituents. */
-
-static void
-name_newline_fix (bp)
- U_CHAR *bp;
-{
- register U_CHAR *p = bp;
-
- /* First count the backslash-newline pairs here. */
- while (p[0] == '\\' && p[1] == '\n')
- p += 2;
-
- /* What follows the backslash-newlines is not embarrassing. */
-
- if (!is_idchar[*p])
- return;
-
- /* Copy all potentially embarrassing characters
- that follow the backslash-newline pairs
- down to where the pairs originally started. */
-
- while (is_idchar[*p])
- *bp++ = *p++;
-
- /* Now write the same number of pairs after the embarrassing chars. */
- while (bp < p) {
- *bp++ = '\\';
- *bp++ = '\n';
- }
-}
-
-/* Look for lint commands in comments.
-
- When we come in here, ibp points into a comment. Limit is as one expects.
- scan within the comment -- it should start, after lwsp, with a lint command.
- If so that command is returned as a (constant) string.
-
- Upon return, any arg will be pointed to with argstart and will be
- arglen long. Note that we don't parse that arg since it will just
- be printed out again. */
-
-static char *
-get_lintcmd (ibp, limit, argstart, arglen, cmdlen)
- register U_CHAR *ibp;
- register U_CHAR *limit;
- U_CHAR **argstart; /* point to command arg */
- int *arglen, *cmdlen; /* how long they are */
-{
- HOST_WIDE_INT linsize;
- register U_CHAR *numptr; /* temp for arg parsing */
-
- *arglen = 0;
-
- SKIP_WHITE_SPACE (ibp);
-
- if (ibp >= limit) return NULL;
-
- linsize = limit - ibp;
-
- /* Oh, I wish C had lexical functions... hell, I'll just open-code the set */
- if ((linsize >= 10) && !bcmp (ibp, "NOTREACHED", 10)) {
- *cmdlen = 10;
- return "NOTREACHED";
- }
- if ((linsize >= 8) && !bcmp (ibp, "ARGSUSED", 8)) {
- *cmdlen = 8;
- return "ARGSUSED";
- }
- if ((linsize >= 11) && !bcmp (ibp, "LINTLIBRARY", 11)) {
- *cmdlen = 11;
- return "LINTLIBRARY";
- }
- if ((linsize >= 7) && !bcmp (ibp, "VARARGS", 7)) {
- *cmdlen = 7;
- ibp += 7; linsize -= 7;
- if ((linsize == 0) || ! ISDIGIT (*ibp)) return "VARARGS";
-
- /* OK, read a number */
- for (numptr = *argstart = ibp; (numptr < limit) && ISDIGIT (*numptr);
- numptr++);
- *arglen = numptr - *argstart;
- return "VARARGS";
- }
- return NULL;
-}
-
-/*
- * The main loop of the program.
- *
- * Read characters from the input stack, transferring them to the
- * output buffer OP.
- *
- * Macros are expanded and push levels on the input stack.
- * At the end of such a level it is popped off and we keep reading.
- * At the end of any other kind of level, we return.
- * #-directives are handled, except within macros.
- *
- * If OUTPUT_MARKS is nonzero, keep Newline markers found in the input
- * and insert them when appropriate. This is set while scanning macro
- * arguments before substitution. It is zero when scanning for final output.
- * There are three types of Newline markers:
- * * Newline - follows a macro name that was not expanded
- * because it appeared inside an expansion of the same macro.
- * This marker prevents future expansion of that identifier.
- * When the input is rescanned into the final output, these are deleted.
- * These are also deleted by ## concatenation.
- * * Newline Space (or Newline and any other whitespace character)
- * stands for a place that tokens must be separated or whitespace
- * is otherwise desirable, but where the ANSI standard specifies there
- * is no whitespace. This marker turns into a Space (or whichever other
- * whitespace char appears in the marker) in the final output,
- * but it turns into nothing in an argument that is stringified with #.
- * Such stringified arguments are the only place where the ANSI standard
- * specifies with precision that whitespace may not appear.
- *
- * During this function, IP->bufp is kept cached in IBP for speed of access.
- * Likewise, OP->bufp is kept in OBP. Before calling a subroutine
- * IBP, IP and OBP must be copied back to memory. IP and IBP are
- * copied back with the RECACHE macro. OBP must be copied back from OP->bufp
- * explicitly, and before RECACHE, since RECACHE uses OBP.
- */
-
-static void
-rescan (op, output_marks)
- FILE_BUF *op;
- int output_marks;
-{
- /* Character being scanned in main loop. */
- register U_CHAR c;
-
- /* Length of pending accumulated identifier. */
- register int ident_length = 0;
-
- /* Hash code of pending accumulated identifier. */
- register int hash = 0;
-
- /* Current input level (&instack[indepth]). */
- FILE_BUF *ip;
-
- /* Pointer for scanning input. */
- register U_CHAR *ibp;
-
- /* Pointer to end of input. End of scan is controlled by LIMIT. */
- register U_CHAR *limit;
-
- /* Pointer for storing output. */
- register U_CHAR *obp;
-
- /* REDO_CHAR is nonzero if we are processing an identifier
- after backing up over the terminating character.
- Sometimes we process an identifier without backing up over
- the terminating character, if the terminating character
- is not special. Backing up is done so that the terminating character
- will be dispatched on again once the identifier is dealt with. */
- int redo_char = 0;
-
- /* 1 if within an identifier inside of which a concatenation
- marker (Newline -) has been seen. */
- int concatenated = 0;
-
- /* While scanning a comment or a string constant,
- this records the line it started on, for error messages. */
- int start_line;
-
- /* Record position of last `real' newline. */
- U_CHAR *beg_of_line;
-
-/* Pop the innermost input stack level, assuming it is a macro expansion. */
-
-#define POPMACRO \
-do { ip->macro->type = T_MACRO; \
- if (ip->free_ptr) free (ip->free_ptr); \
- --indepth; } while (0)
-
-/* Reload `rescan's local variables that describe the current
- level of the input stack. */
-
-#define RECACHE \
-do { ip = &instack[indepth]; \
- ibp = ip->bufp; \
- limit = ip->buf + ip->length; \
- op->bufp = obp; \
- check_expand (op, limit - ibp); \
- beg_of_line = 0; \
- obp = op->bufp; } while (0)
-
- if (no_output && instack[indepth].fname != 0)
- skip_if_group (&instack[indepth], 1, NULL);
-
- obp = op->bufp;
- RECACHE;
-
- beg_of_line = ibp;
-
- /* Our caller must always put a null after the end of
- the input at each input stack level. */
- if (*limit != 0)
- abort ();
-
- while (1) {
- c = *ibp++;
- *obp++ = c;
-
- switch (c) {
- case '\\':
- if (*ibp == '\n' && !ip->macro) {
- /* At the top level, always merge lines ending with backslash-newline,
- even in middle of identifier. But do not merge lines in a macro,
- since backslash might be followed by a newline-space marker. */
- ++ibp;
- ++ip->lineno;
- --obp; /* remove backslash from obuf */
- break;
- }
- /* If ANSI, backslash is just another character outside a string. */
- if (!traditional)
- goto randomchar;
- /* Otherwise, backslash suppresses specialness of following char,
- so copy it here to prevent the switch from seeing it.
- But first get any pending identifier processed. */
- if (ident_length > 0)
- goto specialchar;
- if (ibp < limit)
- *obp++ = *ibp++;
- break;
-
- case '%':
- if (ident_length || ip->macro || traditional)
- goto randomchar;
- while (*ibp == '\\' && ibp[1] == '\n') {
- ibp += 2;
- ++ip->lineno;
- }
- if (*ibp != ':')
- break;
- /* Treat this %: digraph as if it were #. */
- /* Fall through. */
-
- case '#':
- if (assertions_flag) {
- if (ident_length)
- goto specialchar;
- /* Copy #foo (bar lose) without macro expansion. */
- obp[-1] = '#'; /* In case it was '%'. */
- SKIP_WHITE_SPACE (ibp);
- while (is_idchar[*ibp])
- *obp++ = *ibp++;
- SKIP_WHITE_SPACE (ibp);
- if (*ibp == '(') {
- ip->bufp = ibp;
- skip_paren_group (ip);
- bcopy ((char *) ibp, (char *) obp, ip->bufp - ibp);
- obp += ip->bufp - ibp;
- ibp = ip->bufp;
- }
- break;
- }
-
- /* If this is expanding a macro definition, don't recognize
- preprocessing directives. */
- if (ip->macro != 0)
- goto randomchar;
- /* If this is expand_into_temp_buffer,
- don't recognize them either. Warn about them
- only after an actual newline at this level,
- not at the beginning of the input level. */
- if (! ip->fname) {
- if (ip->buf != beg_of_line)
- warning ("preprocessing directive not recognized within macro arg");
- goto randomchar;
- }
- if (ident_length)
- goto specialchar;
-
-
- /* # keyword: a # must be first nonblank char on the line */
- if (beg_of_line == 0)
- goto randomchar;
- {
- U_CHAR *bp;
-
- /* Scan from start of line, skipping whitespace, comments
- and backslash-newlines, and see if we reach this #.
- If not, this # is not special. */
- bp = beg_of_line;
- /* If -traditional, require # to be at beginning of line. */
- if (!traditional) {
- while (1) {
- if (is_hor_space[*bp])
- bp++;
- else if (*bp == '\\' && bp[1] == '\n')
- bp += 2;
- else if (*bp == '/' && bp[1] == '*') {
- bp += 2;
- while (1)
- {
- if (*bp == '*')
- {
- if (bp[1] == '/')
- {
- bp += 2;
- break;
- }
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (bp, limit - bp);
- if (length > 1)
- bp += (length - 1);
- }
-#endif
- }
- bp++;
- }
- }
- /* There is no point in trying to deal with C++ // comments here,
- because if there is one, then this # must be part of the
- comment and we would never reach here. */
- else break;
- }
- if (c == '%') {
- if (bp[0] != '%')
- break;
- while (bp[1] == '\\' && bp[2] == '\n')
- bp += 2;
- if (bp + 1 != ibp)
- break;
- /* %: appears at start of line; skip past the ':' too. */
- bp++;
- ibp++;
- }
- }
- if (bp + 1 != ibp)
- goto randomchar;
- }
-
- /* This # can start a directive. */
-
- --obp; /* Don't copy the '#' */
-
- ip->bufp = ibp;
- op->bufp = obp;
- if (! handle_directive (ip, op)) {
-#ifdef USE_C_ALLOCA
- alloca (0);
-#endif
- /* Not a known directive: treat it as ordinary text.
- IP, OP, IBP, etc. have not been changed. */
- if (no_output && instack[indepth].fname) {
- /* If not generating expanded output,
- what we do with ordinary text is skip it.
- Discard everything until next # directive. */
- skip_if_group (&instack[indepth], 1, 0);
- RECACHE;
- beg_of_line = ibp;
- break;
- }
- *obp++ = '#'; /* Copy # (even if it was originally %:). */
- /* Don't expand an identifier that could be a macro directive.
- (Section 3.8.3 of the ANSI C standard) */
- SKIP_WHITE_SPACE (ibp);
- if (is_idstart[*ibp])
- {
- *obp++ = *ibp++;
- while (is_idchar[*ibp])
- *obp++ = *ibp++;
- }
- goto randomchar;
- }
-#ifdef USE_C_ALLOCA
- alloca (0);
-#endif
- /* A # directive has been successfully processed. */
- /* If not generating expanded output, ignore everything until
- next # directive. */
- if (no_output && instack[indepth].fname)
- skip_if_group (&instack[indepth], 1, 0);
- obp = op->bufp;
- RECACHE;
- beg_of_line = ibp;
- break;
-
- case '\"': /* skip quoted string */
- case '\'':
- /* A single quoted string is treated like a double -- some
- programs (e.g., troff) are perverse this way */
-
- /* Handle any pending identifier;
- but the L in L'...' or L"..." is not an identifier. */
- if (ident_length) {
- if (! (ident_length == 1 && hash == HASHSTEP (0, 'L')))
- goto specialchar;
- ident_length = hash = 0;
- }
-
- start_line = ip->lineno;
-
- /* Skip ahead to a matching quote. */
-
- while (1) {
- if (ibp >= limit) {
- if (ip->macro != 0) {
- /* try harder: this string crosses a macro expansion boundary.
- This can happen naturally if -traditional.
- Otherwise, only -D can make a macro with an unmatched quote. */
- POPMACRO;
- RECACHE;
- continue;
- }
- if (!traditional) {
- error_with_line (line_for_error (start_line),
- "unterminated string or character constant");
- if (multiline_string_line) {
- error_with_line (multiline_string_line,
- "possible real start of unterminated constant");
- multiline_string_line = 0;
- }
- }
- break;
- }
- *obp++ = *ibp;
- switch (*ibp++) {
- case '\n':
- ++ip->lineno;
- ++op->lineno;
- /* Traditionally, end of line ends a string constant with no error.
- So exit the loop and record the new line. */
- if (traditional) {
- beg_of_line = ibp;
- goto while2end;
- }
- if (c == '\'') {
- error_with_line (line_for_error (start_line),
- "unterminated character constant");
- goto while2end;
- }
- if (multiline_string_line == 0) {
- if (pedantic)
- pedwarn_with_line (line_for_error (start_line),
- "string constant runs past end of line");
- multiline_string_line = ip->lineno - 1;
- }
- break;
-
- case '\\':
-/* CYGNUS LOCAL chill */
- if (chill)
- break;
-/* END CYGNUS LOCAL chill */
- if (*ibp == '\n') {
- /* Backslash newline is replaced by nothing at all, but
- keep the line counts correct. But if we are reading
- from a macro, keep the backslash newline, since backslash
- newlines have already been processed. */
- if (ip->macro)
- *obp++ = '\n';
- else
- --obp;
- ++ibp;
- ++ip->lineno;
- } else {
- /* ANSI stupidly requires that in \\ the second \
- is *not* prevented from combining with a newline. */
- if (!ip->macro) {
- while (*ibp == '\\' && ibp[1] == '\n') {
- ibp += 2;
- ++ip->lineno;
- }
- }
- *obp++ = *ibp++;
- }
- break;
-
- case '\"':
- case '\'':
- if (ibp[-1] == c)
- goto while2end;
- break;
-/* CYGNUS LOCAL chill */
- case '^':
- if (chill)
- {
- /* skip a control sequence in chill. This looks like
- ^([b | B | d | D | h | H | o | O']digits) | ^^ */
- if (*ibp == '^')
- {
- *obp++=*ibp++;
- break;
- }
- if (*ibp == '(')
- {
- /* skip till closing paran or eol */
- while (*ibp)
- {
- *obp++ = *ibp++;
- if (*ibp == ')')
- break;
- if (*ibp == '\n' || *ibp == 0)
- goto while2end;
- }
- }
- }
- break;
-/* END CYGNUS LOCAL chill */
-#ifdef MULTIBYTE_CHARS
- default:
-/* CYGNUS LOCAL chill */
- if (! chill)
-/* END CYGNUS LOCAL chill */
- {
- int length;
- --ibp;
- length = local_mblen (ibp, limit - ibp);
- if (length > 0)
- {
- --obp;
- bcopy (ibp, obp, length);
- obp += length;
- ibp += length;
- }
- else
- ++ibp;
- }
- break;
-#endif
- }
- }
- while2end:
- break;
-
-/* CYGNUS LOCAL chill */
- case '-':
- if (*ibp == '\\' && ibp[1] == '\n')
- newline_fix (ibp);
-
- if (!(chill && *ibp == '-'))
- goto randomchar;
- if (ip->macro != 0)
- goto randomchar;
- if (ident_length)
- goto specialchar;
-
- if (*ibp == '-') {
- /* CHILL style comment... */
- start_line = ip->lineno;
-
- --ibp; /* Back over the dash */
- --obp;
-
- /* Comments are equivalent to spaces. */
- if (! put_out_comments)
- *obp++ = ' ';
- else {
- /* must fake up a comment here */
- *obp++ = '-';
- *obp++ = '-';
- }
- {
- U_CHAR *before_bp = ibp+2;
-
- while (ibp < limit) {
- if (*ibp++ == '\n') {
- ibp--;
- if (put_out_comments) {
- bcopy (before_bp, obp, ibp - before_bp);
- obp += ibp - before_bp;
- }
- break;
- }
- }
- break;
- }
- }
- break;
-/* END CYGNUS LOCAL chill */
-
- case '/':
- if (ip->macro != 0)
- goto randomchar;
- if (*ibp == '\\' && ibp[1] == '\n')
- newline_fix (ibp);
- if (*ibp != '*'
- && !(cplusplus_comments && *ibp == '/'))
- goto randomchar;
- if (ident_length)
- goto specialchar;
-
- if (*ibp == '/') {
- /* C++ style comment... */
- start_line = ip->lineno;
-
- /* Comments are equivalent to spaces. */
- if (! put_out_comments)
- obp[-1] = ' ';
-
- {
- U_CHAR *before_bp = ibp;
-
- while (++ibp < limit) {
- if (*ibp == '\n')
- {
- if (put_out_comments) {
- bcopy ((char *) before_bp, (char *) obp, ibp - before_bp);
- obp += ibp - before_bp;
- }
- break;
- }
- if (*ibp == '\\')
- {
- if (ibp + 1 < limit && ibp[1] == '\n')
- {
- if (warn_comments)
- warning ("multiline `//' comment");
- ++ip->lineno;
- /* Copy the newline into the output buffer, in order to
- avoid the pain of a #line every time a multiline comment
- is seen. */
- if (!put_out_comments)
- *obp++ = '\n';
- ++op->lineno;
- ++ibp;
- }
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (ibp, limit - ibp);
- if (length > 1)
- ibp += (length - 1);
- }
-#endif
- }
- }
- break;
- }
- }
-
- /* Ordinary C comment. Skip it, optionally copying it to output. */
-
- start_line = ip->lineno;
-
- ++ibp; /* Skip the star. */
-
- /* If this cpp is for lint, we peek inside the comments: */
- if (for_lint) {
- U_CHAR *argbp;
- int cmdlen, arglen;
- char *lintcmd = get_lintcmd (ibp, limit, &argbp, &arglen, &cmdlen);
-
- if (lintcmd != NULL) {
- op->bufp = obp;
- check_expand (op, cmdlen + arglen + 14);
- obp = op->bufp;
- /* I believe it is always safe to emit this newline: */
- obp[-1] = '\n';
- bcopy ("#pragma lint ", (char *) obp, 13);
- obp += 13;
- bcopy (lintcmd, (char *) obp, cmdlen);
- obp += cmdlen;
-
- if (arglen != 0) {
- *(obp++) = ' ';
- bcopy (argbp, (char *) obp, arglen);
- obp += arglen;
- }
-
- /* OK, now bring us back to the state we were in before we entered
- this branch. We need #line because the #pragma's newline always
- messes up the line count. */
- op->bufp = obp;
- output_line_directive (ip, op, 0, same_file);
- check_expand (op, limit - ibp + 2);
- obp = op->bufp;
- *(obp++) = '/';
- }
- }
-
- /* Comments are equivalent to spaces.
- Note that we already output the slash; we might not want it.
- For -traditional, a comment is equivalent to nothing. */
- if (! put_out_comments) {
- if (traditional)
- obp--;
- else
- obp[-1] = ' ';
- }
- else
- *obp++ = '*';
-
- {
- U_CHAR *before_bp = ibp;
-
- for (;;) {
- switch (*ibp++) {
- case '*':
- if (ibp[-2] == '/' && warn_comments)
- warning ("`/*' within comment");
- if (*ibp == '\\' && ibp[1] == '\n')
- newline_fix (ibp);
- if (*ibp == '/')
- goto comment_end;
- break;
-
- case '\n':
- ++ip->lineno;
- /* Copy the newline into the output buffer, in order to
- avoid the pain of a #line every time a multiline comment
- is seen. */
- if (!put_out_comments)
- *obp++ = '\n';
- ++op->lineno;
- break;
-
- case 0:
- if (limit < ibp) {
- error_with_line (line_for_error (start_line),
- "unterminated comment");
- goto limit_reached;
- }
- break;
-#ifdef MULTIBYTE_CHARS
- default:
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (ibp, limit - ibp);
- if (length > 1)
- ibp += (length - 1);
- }
- break;
-#endif
- }
- }
- comment_end:
-
- ibp++;
- if (put_out_comments) {
- bcopy ((char *) before_bp, (char *) obp, ibp - before_bp);
- obp += ibp - before_bp;
- }
- }
- break;
-
- case '$':
- if (! is_idchar['$'])
- goto randomchar;
- if (pedantic)
- pedwarn ("`$' in identifier");
- goto letter;
-
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- /* If digit is not part of identifier, it starts a number,
- which means that following letters are not an identifier.
- "0x5" does not refer to an identifier "x5".
- So copy all alphanumerics that follow without accumulating
- as an identifier. Periods also, for sake of "3.e7". */
-
- if (ident_length == 0) {
- for (;;) {
- if (!ip->macro) {
- while (ibp[0] == '\\' && ibp[1] == '\n') {
- ++ip->lineno;
- ibp += 2;
- }
- }
- c = *ibp++;
- if (!is_idchar[c] && c != '.') {
- --ibp;
- break;
- }
- *obp++ = c;
- /* A sign can be part of a preprocessing number
- if it follows an `e' or `p'. */
- if (c == 'e' || c == 'E' || c == 'p' || c == 'P') {
- if (!ip->macro) {
- while (ibp[0] == '\\' && ibp[1] == '\n') {
- ++ip->lineno;
- ibp += 2;
- }
- }
- if (*ibp == '+' || *ibp == '-') {
- *obp++ = *ibp++;
- /* But traditional C does not let the token go past the sign,
- and C89 does not allow `p'. */
- if (traditional || (c89 && (c == 'p' || c == 'P')))
- break;
- }
- }
- }
- break;
- }
- /* fall through */
-
- case '_':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
-/* CYGNUS LOCAL chill */
- if (chill && *ibp == '\'' &&
- (c == 'd' || c == 'D' || c == 'o' || c == 'O' ||
- c == 'h' || c == 'H' || c == 'b' || c == 'B'))
- {
- /* here we skip till end of literal. The reason is, that this
- literal may not be terminated by another "'", and therefor
- no macro evaluation is done till end of line */
- /* put the "'" */
- *obp++ = *ibp++;
- while (*ibp == '_' || (*ibp >= '0' && *ibp <= '9') ||
- (*ibp >= 'A' && *ibp <= 'F') || (*ibp >= 'a' && *ibp <= 'f'))
- *obp++ = *ibp++;
-
- /* if we have another "'" at the end, put this to obp and
- continue */
- if (*ibp == '\'')
- *obp++ = *ibp++;
- break;
- }
- /* fall through */
-/* END CYGNUS LOCAL chill */
- letter:
- ident_length++;
- /* Compute step of hash function, to avoid a proc call on every token */
- hash = HASHSTEP (hash, c);
- break;
-
- case '\n':
- if (ip->fname == 0 && *ibp == '-') {
- /* Newline - inhibits expansion of preceding token.
- If expanding a macro arg, we keep the newline -.
- In final output, it is deleted.
- We recognize Newline - in macro bodies and macro args. */
- if (! concatenated) {
- ident_length = 0;
- hash = 0;
- }
- ibp++;
- if (!output_marks) {
- obp--;
- } else {
- /* If expanding a macro arg, keep the newline -. */
- *obp++ = '-';
- }
- break;
- }
-
- /* If reprocessing a macro expansion, newline is a special marker. */
- else if (ip->macro != 0) {
- /* Newline White is a "funny space" to separate tokens that are
- supposed to be separate but without space between.
- Here White means any whitespace character.
- Newline - marks a recursive macro use that is not
- supposed to be expandable. */
-
- if (is_space[*ibp]) {
- /* Newline Space does not prevent expansion of preceding token
- so expand the preceding token and then come back. */
- if (ident_length > 0)
- goto specialchar;
-
- /* If generating final output, newline space makes a space. */
- if (!output_marks) {
- obp[-1] = *ibp++;
- /* And Newline Newline makes a newline, so count it. */
- if (obp[-1] == '\n')
- op->lineno++;
- } else {
- /* If expanding a macro arg, keep the newline space.
- If the arg gets stringified, newline space makes nothing. */
- *obp++ = *ibp++;
- }
- } else abort (); /* Newline followed by something random? */
- break;
- }
-
- /* If there is a pending identifier, handle it and come back here. */
- if (ident_length > 0)
- goto specialchar;
-
- beg_of_line = ibp;
-
- /* Update the line counts and output a #line if necessary. */
- ++ip->lineno;
- ++op->lineno;
- if (ip->lineno != op->lineno) {
- op->bufp = obp;
- output_line_directive (ip, op, 1, same_file);
- check_expand (op, limit - ibp);
- obp = op->bufp;
- }
- break;
-
- /* Come here either after (1) a null character that is part of the input
- or (2) at the end of the input, because there is a null there. */
- case 0:
- if (ibp <= limit)
- /* Our input really contains a null character. */
- goto randomchar;
-
- limit_reached:
- /* At end of a macro-expansion level, pop it and read next level. */
- if (ip->macro != 0) {
- obp--;
- ibp--;
- /* If traditional, and we have an identifier that ends here,
- process it now, so we get the right error for recursion. */
- if (traditional && ident_length
- && ! is_idchar[*instack[indepth - 1].bufp]) {
- redo_char = 1;
- goto randomchar;
- }
- POPMACRO;
- RECACHE;
- break;
- }
-
- /* If we don't have a pending identifier,
- return at end of input. */
- if (ident_length == 0) {
- obp--;
- ibp--;
- op->bufp = obp;
- ip->bufp = ibp;
- goto ending;
- }
-
- /* If we do have a pending identifier, just consider this null
- a special character and arrange to dispatch on it again.
- The second time, IDENT_LENGTH will be zero so we will return. */
-
- /* Fall through */
-
-specialchar:
-
- /* Handle the case of a character such as /, ', " or null
- seen following an identifier. Back over it so that
- after the identifier is processed the special char
- will be dispatched on again. */
-
- ibp--;
- obp--;
- redo_char = 1;
-
- default:
-
-randomchar:
-
- if (ident_length > 0) {
- register HASHNODE *hp;
-
- /* We have just seen an identifier end. If it's a macro, expand it.
-
- IDENT_LENGTH is the length of the identifier
- and HASH is its hash code.
-
- The identifier has already been copied to the output,
- so if it is a macro we must remove it.
-
- If REDO_CHAR is 0, the char that terminated the identifier
- has been skipped in the output and the input.
- OBP-IDENT_LENGTH-1 points to the identifier.
- If the identifier is a macro, we must back over the terminator.
-
- If REDO_CHAR is 1, the terminating char has already been
- backed over. OBP-IDENT_LENGTH points to the identifier. */
-
- if (!pcp_outfile || pcp_inside_if) {
- for (hp = hashtab[MAKE_POS (hash) % HASHSIZE]; hp != NULL;
- hp = hp->next) {
-
- if (hp->length == ident_length) {
- int obufp_before_macroname;
- int op_lineno_before_macroname;
- register int i = ident_length;
- register U_CHAR *p = hp->name;
- register U_CHAR *q = obp - i;
- int disabled;
-
- if (! redo_char)
- q--;
-
- do { /* All this to avoid a strncmp () */
- if (*p++ != *q++)
- goto hashcollision;
- } while (--i);
-
- /* We found a use of a macro name.
- see if the context shows it is a macro call. */
-
- /* Back up over terminating character if not already done. */
- if (! redo_char) {
- ibp--;
- obp--;
- }
-
- /* Save this as a displacement from the beginning of the output
- buffer. We can not save this as a position in the output
- buffer, because it may get realloc'ed by RECACHE. */
- obufp_before_macroname = (obp - op->buf) - ident_length;
- op_lineno_before_macroname = op->lineno;
-
- if (hp->type == T_PCSTRING) {
- pcstring_used (hp); /* Mark the definition of this key
- as needed, ensuring that it
- will be output. */
- break; /* Exit loop, since the key cannot have a
- definition any longer. */
- }
-
- /* Record whether the macro is disabled. */
- disabled = hp->type == T_DISABLED;
-
- /* This looks like a macro ref, but if the macro was disabled,
- just copy its name and put in a marker if requested. */
-
- if (disabled) {
-#if 0
- /* This error check caught useful cases such as
- #define foo(x,y) bar (x (y,0), y)
- foo (foo, baz) */
- if (traditional)
- error ("recursive use of macro `%s'", hp->name);
-#endif
-
- if (output_marks) {
- check_expand (op, limit - ibp + 2);
- *obp++ = '\n';
- *obp++ = '-';
- }
- break;
- }
-
- /* If macro wants an arglist, verify that a '(' follows.
- first skip all whitespace, copying it to the output
- after the macro name. Then, if there is no '(',
- decide this is not a macro call and leave things that way. */
- if ((hp->type == T_MACRO || hp->type == T_DISABLED)
- && hp->value.defn->nargs >= 0)
- {
- U_CHAR *old_ibp = ibp;
- U_CHAR *old_obp = obp;
- int old_iln = ip->lineno;
- int old_oln = op->lineno;
-
- while (1) {
- /* Scan forward over whitespace, copying it to the output. */
- if (ibp == limit && ip->macro != 0) {
- POPMACRO;
- RECACHE;
- old_ibp = ibp;
- old_obp = obp;
- old_iln = ip->lineno;
- old_oln = op->lineno;
- }
- else if (is_space[*ibp]) {
- *obp++ = *ibp++;
- if (ibp[-1] == '\n') {
- if (ip->macro == 0) {
- /* Newline in a file. Count it. */
- ++ip->lineno;
- ++op->lineno;
- } else if (!output_marks) {
- /* A newline mark, and we don't want marks
- in the output. If it is newline-hyphen,
- discard it entirely. Otherwise, it is
- newline-whitechar, so keep the whitechar. */
- obp--;
- if (*ibp == '-')
- ibp++;
- else {
- if (*ibp == '\n')
- ++op->lineno;
- *obp++ = *ibp++;
- }
- } else {
- /* A newline mark; copy both chars to the output. */
- *obp++ = *ibp++;
- }
- }
- }
- else if (ip->macro)
- break;
- else if (*ibp == '/') {
- /* If a comment, copy it unchanged or discard it. */
- if (ibp[1] == '\\' && ibp[2] == '\n')
- newline_fix (ibp + 1);
- if (ibp[1] == '*') {
- if (put_out_comments) {
- *obp++ = '/';
- *obp++ = '*';
- } else if (! traditional) {
- *obp++ = ' ';
- }
- for (ibp += 2; ibp < limit; ibp++) {
- /* We need not worry about newline-marks,
- since they are never found in comments. */
- if (ibp[0] == '*') {
- if (ibp[1] == '\\' && ibp[2] == '\n')
- newline_fix (ibp + 1);
- if (ibp[1] == '/') {
- ibp += 2;
- if (put_out_comments) {
- *obp++ = '*';
- *obp++ = '/';
- }
- break;
- }
- }
- else if (*ibp == '\n') {
- /* Newline in a file. Count it. */
- ++ip->lineno;
- ++op->lineno;
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (ibp, limit - ibp);
- if (length > 1)
- {
- if (put_out_comments)
- {
- bcopy (ibp, obp, length - 1);
- obp += length - 1;
- }
- ibp += (length - 1);
- }
- }
-#endif
- }
- if (put_out_comments)
- *obp++ = *ibp;
- }
- } else if (ibp[1] == '/' && cplusplus_comments) {
- if (put_out_comments) {
- *obp++ = '/';
- *obp++ = '/';
- } else if (! traditional) {
- *obp++ = ' ';
- }
- for (ibp += 2; ; ibp++)
- {
- if (*ibp == '\n')
- break;
- if (*ibp == '\\' && ibp[1] == '\n')
- {
- if (put_out_comments)
- *obp++ = *ibp++;
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (ibp, limit - ibp);
- if (length > 1)
- {
- if (put_out_comments)
- {
- bcopy (ibp, obp, length - 1);
- obp += length - 1;
- }
- ibp += (length - 1);
- }
- }
-#endif
- }
- if (put_out_comments)
- *obp++ = *ibp;
- }
- } else
- break;
- }
- else if (ibp[0] == '\\' && ibp[1] == '\n') {
- ibp += 2;
- ++ip->lineno;
- }
- else break;
- }
- if (*ibp != '(') {
- /* It isn't a macro call.
- Put back the space that we just skipped. */
- ibp = old_ibp;
- obp = old_obp;
- ip->lineno = old_iln;
- op->lineno = old_oln;
- /* Exit the for loop. */
- break;
- }
- }
-
- /* This is now known to be a macro call.
- Discard the macro name from the output,
- along with any following whitespace just copied,
- but preserve newlines if not outputting marks since this
- is more likely to do the right thing with line numbers. */
- obp = op->buf + obufp_before_macroname;
- if (output_marks)
- op->lineno = op_lineno_before_macroname;
- else {
- int newlines = op->lineno - op_lineno_before_macroname;
- while (0 < newlines--)
- *obp++ = '\n';
- }
-
- /* Prevent accidental token-pasting with a character
- before the macro call. */
- if (!traditional && obp != op->buf) {
- switch (obp[-1]) {
- case '!': case '%': case '&': case '*':
- case '+': case '-': case '.': case '/':
- case ':': case '<': case '=': case '>':
- case '^': case '|':
- /* If we are expanding a macro arg, make a newline marker
- to separate the tokens. If we are making real output,
- a plain space will do. */
- if (output_marks)
- *obp++ = '\n';
- *obp++ = ' ';
- }
- }
-
- /* Expand the macro, reading arguments as needed,
- and push the expansion on the input stack. */
- ip->bufp = ibp;
- op->bufp = obp;
- macroexpand (hp, op);
-
- /* Reexamine input stack, since macroexpand has pushed
- a new level on it. */
- obp = op->bufp;
- RECACHE;
- break;
- }
-hashcollision:
- ;
- } /* End hash-table-search loop */
- }
- ident_length = hash = 0; /* Stop collecting identifier */
- redo_char = 0;
- concatenated = 0;
- } /* End if (ident_length > 0) */
- } /* End switch */
- } /* End per-char loop */
-
- /* Come here to return -- but first give an error message
- if there was an unterminated successful conditional. */
- ending:
- if (if_stack != ip->if_stack)
- {
- char *str;
-
- switch (if_stack->type)
- {
- case T_IF:
- str = "if";
- break;
- case T_IFDEF:
- str = "ifdef";
- break;
- case T_IFNDEF:
- str = "ifndef";
- break;
- case T_ELSE:
- str = "else";
- break;
- case T_ELIF:
- str = "elif";
- break;
- default:
- abort ();
- }
-
- error_with_line (line_for_error (if_stack->lineno),
- "unterminated `#%s' conditional", str);
- }
- if_stack = ip->if_stack;
-}
-
-/*
- * Rescan a string into a temporary buffer and return the result
- * as a FILE_BUF. Note this function returns a struct, not a pointer.
- *
- * OUTPUT_MARKS nonzero means keep Newline markers found in the input
- * and insert such markers when appropriate. See `rescan' for details.
- * OUTPUT_MARKS is 1 for macroexpanding a macro argument separately
- * before substitution; it is 0 for other uses.
- */
-static FILE_BUF
-expand_to_temp_buffer (buf, limit, output_marks, assertions)
- U_CHAR *buf, *limit;
- int output_marks, assertions;
-{
- register FILE_BUF *ip;
- FILE_BUF obuf;
- int length = limit - buf;
- U_CHAR *buf1;
- int odepth = indepth;
- int save_assertions_flag = assertions_flag;
-
- assertions_flag = assertions;
-
- if (length < 0)
- abort ();
-
- /* Set up the input on the input stack. */
-
- buf1 = (U_CHAR *) alloca (length + 1);
- {
- register U_CHAR *p1 = buf;
- register U_CHAR *p2 = buf1;
-
- while (p1 != limit)
- *p2++ = *p1++;
- }
- buf1[length] = 0;
-
- /* Set up to receive the output. */
-
- obuf.length = length * 2 + 100; /* Usually enough. Why be stingy? */
- obuf.bufp = obuf.buf = (U_CHAR *) xmalloc (obuf.length);
- obuf.nominal_fname = 0;
- obuf.inc = 0;
- obuf.dir = 0;
- obuf.fname = 0;
- obuf.macro = 0;
- obuf.if_stack = 0;
- obuf.free_ptr = 0;
- obuf.system_header_p = 0;
-
- CHECK_DEPTH ({return obuf;});
-
- ++indepth;
-
- ip = &instack[indepth];
- ip->fname = 0;
- ip->nominal_fname = 0;
- ip->nominal_fname_len = 0;
- ip->inc = 0;
- ip->system_header_p = 0;
- ip->macro = 0;
- ip->free_ptr = 0;
- ip->length = length;
- ip->buf = ip->bufp = buf1;
- ip->if_stack = if_stack;
-
- ip->lineno = obuf.lineno = 1;
-
- /* Scan the input, create the output. */
- rescan (&obuf, output_marks);
-
- /* Pop input stack to original state. */
- --indepth;
-
- if (indepth != odepth)
- abort ();
-
- /* Record the output. */
- obuf.length = obuf.bufp - obuf.buf;
-
- assertions_flag = save_assertions_flag;
- return obuf;
-}
-
-/*
- * Process a # directive. Expects IP->bufp to point after the '#', as in
- * `#define foo bar'. Passes to the directive handler
- * (do_define, do_include, etc.): the addresses of the 1st and
- * last chars of the directive (starting immediately after the #
- * keyword), plus op and the keyword table pointer. If the directive
- * contains comments it is copied into a temporary buffer sans comments
- * and the temporary buffer is passed to the directive handler instead.
- * Likewise for backslash-newlines.
- *
- * Returns nonzero if this was a known # directive.
- * Otherwise, returns zero, without advancing the input pointer.
- */
-
-static int
-handle_directive (ip, op)
- FILE_BUF *ip, *op;
-{
- register U_CHAR *bp, *cp;
- register struct directive *kt;
- register int ident_length;
- U_CHAR *resume_p;
-
- /* Nonzero means we must copy the entire directive
- to get rid of comments or backslash-newlines. */
- int copy_directive = 0;
-
- U_CHAR *ident, *after_ident;
-
- bp = ip->bufp;
-
- /* Record where the directive started. do_xifdef needs this. */
- directive_start = bp - 1;
-
- ignore_escape_flag = 1;
-
- /* Skip whitespace and \-newline. */
- while (1) {
- if (is_hor_space[*bp]) {
- if (*bp != ' ' && *bp != '\t' && pedantic)
- pedwarn ("%s in preprocessing directive", char_name[*bp]);
- bp++;
- } else if (*bp == '/') {
- if (bp[1] == '\\' && bp[2] == '\n')
- newline_fix (bp + 1);
- if (! (bp[1] == '*' || (cplusplus_comments && bp[1] == '/')))
- break;
- ip->bufp = bp + 2;
- skip_to_end_of_comment (ip, &ip->lineno, 0);
- bp = ip->bufp;
- } else if (*bp == '\\' && bp[1] == '\n') {
- bp += 2; ip->lineno++;
- } else break;
- }
-
- /* Now find end of directive name.
- If we encounter a backslash-newline, exchange it with any following
- symbol-constituents so that we end up with a contiguous name. */
-
- cp = bp;
- while (1) {
- if (is_idchar[*cp])
- cp++;
- else {
- if (*cp == '\\' && cp[1] == '\n')
- name_newline_fix (cp);
- if (is_idchar[*cp])
- cp++;
- else break;
- }
- }
- ident_length = cp - bp;
- ident = bp;
- after_ident = cp;
-
- /* A line of just `#' becomes blank. */
-
- if (ident_length == 0 && *after_ident == '\n') {
- ip->bufp = after_ident;
- return 1;
- }
-
- if (ident_length == 0 || !is_idstart[*ident]) {
- U_CHAR *p = ident;
- while (is_idchar[*p]) {
- if (*p < '0' || *p > '9')
- break;
- p++;
- }
- /* Handle # followed by a line number. */
- if (p != ident && !is_idchar[*p]) {
- static struct directive line_directive_table[] = {
- { 4, do_line, "line", T_LINE},
- };
- if (pedantic)
- pedwarn ("`#' followed by integer");
- after_ident = ident;
- kt = line_directive_table;
- ignore_escape_flag = 0;
- goto old_linenum;
- }
-
- /* Avoid error for `###' and similar cases unless -pedantic. */
- if (p == ident) {
- while (*p == '#' || is_hor_space[*p]) p++;
- if (*p == '\n') {
- if (pedantic && !lang_asm)
- warning ("invalid preprocessing directive");
- return 0;
- }
- }
-
- if (!lang_asm)
- error ("invalid preprocessing directive name");
-
- return 0;
- }
-
- /*
- * Decode the keyword and call the appropriate expansion
- * routine, after moving the input pointer up to the next line.
- */
- for (kt = directive_table; kt->length > 0; kt++) {
- if (kt->length == ident_length && !bcmp (kt->name, ident, ident_length)) {
- register U_CHAR *buf;
- register U_CHAR *limit;
- int unterminated;
- int junk;
- int *already_output;
-
- /* Nonzero means do not delete comments within the directive.
- #define needs this when -traditional. */
- int keep_comments;
-
- old_linenum:
-
- limit = ip->buf + ip->length;
- unterminated = 0;
- already_output = 0;
- keep_comments = traditional && kt->type == T_DEFINE;
- /* #import is defined only in Objective C, or when on the NeXT. */
- if (kt->type == T_IMPORT
- && !(objc || lookup ((U_CHAR *) "__NeXT__", -1, -1)))
- break;
-
- /* Find the end of this directive (first newline not backslashed
- and not in a string or comment).
- Set COPY_DIRECTIVE if the directive must be copied
- (it contains a backslash-newline or a comment). */
-
- buf = bp = after_ident;
- while (bp < limit) {
- register U_CHAR c = *bp++;
- switch (c) {
- case '\\':
- if (bp < limit) {
- if (*bp == '\n') {
- ip->lineno++;
- copy_directive = 1;
- bp++;
- } else if (traditional)
- bp++;
- }
- break;
-
- case '"':
- /* "..." is special for #include. */
- if (IS_INCLUDE_DIRECTIVE_TYPE (kt->type)) {
- while (bp < limit && *bp != '\n') {
- if (*bp == '"') {
- bp++;
- break;
- }
- if (*bp == '\\' && bp[1] == '\n') {
- ip->lineno++;
- copy_directive = 1;
- bp++;
- }
- bp++;
- }
- break;
- }
- /* Fall through. */
- case '\'':
- bp = skip_quoted_string (bp - 1, limit, ip->lineno, &ip->lineno, &copy_directive, &unterminated);
- /* Don't bother calling the directive if we already got an error
- message due to unterminated string. Skip everything and pretend
- we called the directive. */
- if (unterminated) {
- if (traditional) {
- /* Traditional preprocessing permits unterminated strings. */
- ip->bufp = bp;
- goto endloop1;
- }
- ip->bufp = bp;
- return 1;
- }
- break;
-
- /* <...> is special for #include. */
- case '<':
- if (! IS_INCLUDE_DIRECTIVE_TYPE (kt->type))
- break;
- while (bp < limit && *bp != '>' && *bp != '\n') {
- if (*bp == '\\' && bp[1] == '\n') {
- ip->lineno++;
- copy_directive = 1;
- bp++;
- }
- bp++;
- }
- break;
-
- case '/':
- if (*bp == '\\' && bp[1] == '\n')
- newline_fix (bp);
- if (*bp == '*'
- || (cplusplus_comments && *bp == '/')) {
- U_CHAR *obp = bp - 1;
- ip->bufp = bp + 1;
- skip_to_end_of_comment (ip, &ip->lineno, 0);
- bp = ip->bufp;
- /* No need to copy the directive because of a comment at the end;
- just don't include the comment in the directive. */
- if (!put_out_comments) {
- U_CHAR *p;
- for (p = bp; *p == ' ' || *p == '\t'; p++)
- continue;
- if (*p == '\n') {
- bp = obp;
- goto endloop1;
- }
- }
- /* Don't remove the comments if -traditional. */
- if (! keep_comments)
- copy_directive++;
- }
- break;
-
- case '\f':
- case '\r':
- case '\v':
- if (pedantic)
- pedwarn ("%s in preprocessing directive", char_name[c]);
- break;
-
- case '\n':
- --bp; /* Point to the newline */
- ip->bufp = bp;
- goto endloop1;
- }
- }
- ip->bufp = bp;
-
- endloop1:
- resume_p = ip->bufp;
- /* BP is the end of the directive.
- RESUME_P is the next interesting data after the directive.
- A comment may come between. */
-
- /* If a directive should be copied through, and -C was given,
- pass it through before removing comments. */
- if (!no_output && put_out_comments
- && (kt->type == T_DEFINE ? dump_macros == dump_definitions
- : IS_INCLUDE_DIRECTIVE_TYPE (kt->type) ? dump_includes
- : kt->type == T_PRAGMA)) {
- int len;
-
- /* Output directive name. */
- check_expand (op, kt->length + 2);
- /* Make sure # is at the start of a line */
- if (op->bufp > op->buf && op->bufp[-1] != '\n') {
- op->lineno++;
- *op->bufp++ = '\n';
- }
- *op->bufp++ = '#';
- bcopy (kt->name, op->bufp, kt->length);
- op->bufp += kt->length;
-
- /* Output arguments. */
- len = (bp - buf);
- check_expand (op, len);
- bcopy (buf, (char *) op->bufp, len);
- op->bufp += len;
- /* Take account of any (escaped) newlines just output. */
- while (--len >= 0)
- if (buf[len] == '\n')
- op->lineno++;
-
- already_output = &junk;
- } /* Don't we need a newline or #line? */
-
- if (copy_directive) {
- register U_CHAR *xp = buf;
- /* Need to copy entire directive into temp buffer before dispatching */
-
- cp = (U_CHAR *) alloca (bp - buf + 5); /* room for directive plus
- some slop */
- buf = cp;
-
- /* Copy to the new buffer, deleting comments
- and backslash-newlines (and whitespace surrounding the latter). */
-
- while (xp < bp) {
- register U_CHAR c = *xp++;
- *cp++ = c;
-
- switch (c) {
- case '\n':
- abort (); /* A bare newline should never part of the line. */
- break;
-
- /* <...> is special for #include. */
- case '<':
- if (! IS_INCLUDE_DIRECTIVE_TYPE (kt->type))
- break;
- while (xp < bp && c != '>') {
- c = *xp++;
- if (c == '\\' && xp < bp && *xp == '\n')
- xp++;
- else
- *cp++ = c;
- }
- break;
-
- case '\\':
- if (*xp == '\n') {
- xp++;
- cp--;
- if (cp != buf && is_hor_space[cp[-1]]) {
- while (cp - 1 != buf && is_hor_space[cp[-2]])
- cp--;
- SKIP_WHITE_SPACE (xp);
- } else if (is_hor_space[*xp]) {
- *cp++ = *xp++;
- SKIP_WHITE_SPACE (xp);
- }
- } else if (traditional && xp < bp) {
- *cp++ = *xp++;
- }
- break;
-
- case '\'':
- case '\"':
- {
- register U_CHAR *bp1
- = skip_quoted_string (xp - 1, bp, ip->lineno,
- NULL_PTR, NULL_PTR, NULL_PTR);
- while (xp != bp1)
- *cp++ = *xp++;
- }
- break;
-
- case '/':
- if (*xp == '*'
- || (cplusplus_comments && *xp == '/')) {
- ip->bufp = xp + 1;
- /* If we already copied the directive through,
- already_output != 0 prevents outputting comment now. */
- skip_to_end_of_comment (ip, already_output, 0);
- if (keep_comments)
- while (xp != ip->bufp)
- *cp++ = *xp++;
- /* Delete or replace the slash. */
- else if (traditional)
- cp--;
- else
- cp[-1] = ' ';
- xp = ip->bufp;
- }
- }
- }
-
- /* Null-terminate the copy. */
-
- *cp = 0;
- } else
- cp = bp;
-
- ip->bufp = resume_p;
-
- /* Some directives should be written out for cc1 to process,
- just as if they were not defined. And sometimes we're copying
- directives through. */
-
- if (!no_output && already_output == 0
- && (kt->type == T_DEFINE ? (int) dump_names <= (int) dump_macros
- : IS_INCLUDE_DIRECTIVE_TYPE (kt->type) ? dump_includes
- : kt->type == T_PRAGMA)) {
- int len;
-
- /* Output directive name. */
- check_expand (op, kt->length + 1);
- *op->bufp++ = '#';
- bcopy (kt->name, (char *) op->bufp, kt->length);
- op->bufp += kt->length;
-
- if (kt->type == T_DEFINE && dump_macros == dump_names) {
- /* Output `#define name' only. */
- U_CHAR *xp = buf;
- U_CHAR *yp;
- SKIP_WHITE_SPACE (xp);
- yp = xp;
- while (is_idchar[*xp]) xp++;
- len = (xp - yp);
- check_expand (op, len + 1);
- *op->bufp++ = ' ';
- bcopy (yp, (char *) op->bufp, len);
- } else {
- /* Output entire directive. */
- len = (cp - buf);
- check_expand (op, len);
- bcopy (buf, (char *) op->bufp, len);
- }
- op->bufp += len;
- } /* Don't we need a newline or #line? */
-
- /* Call the appropriate directive handler. buf now points to
- either the appropriate place in the input buffer, or to
- the temp buffer if it was necessary to make one. cp
- points to the first char after the contents of the (possibly
- copied) directive, in either case. */
- (*kt->func) (buf, cp, op, kt);
- check_expand (op, ip->length - (ip->bufp - ip->buf));
-
- return 1;
- }
- }
-
- /* It is deliberate that we don't warn about undefined directives.
- That is the responsibility of cc1. */
- return 0;
-}
-
-static struct tm *
-timestamp ()
-{
- static struct tm *timebuf;
- if (!timebuf) {
- time_t t = time ((time_t *) 0);
- timebuf = localtime (&t);
- }
- return timebuf;
-}
-
-static char *monthnames[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
- };
-
-/*
- * expand things like __FILE__. Place the expansion into the output
- * buffer *without* rescanning.
- */
-
-static void
-special_symbol (hp, op)
- HASHNODE *hp;
- FILE_BUF *op;
-{
- char *buf;
- int i, len;
- int true_indepth;
- FILE_BUF *ip = NULL;
- struct tm *timebuf;
-
- int paren = 0; /* For special `defined' keyword */
-
- if (pcp_outfile && pcp_inside_if
- && hp->type != T_SPEC_DEFINED && hp->type != T_CONST)
- error ("Predefined macro `%s' used inside `#if' during precompilation",
- hp->name);
-
- for (i = indepth; i >= 0; i--)
- if (instack[i].fname != NULL) {
- ip = &instack[i];
- break;
- }
- if (ip == NULL) {
- error ("cccp error: not in any file?!");
- return; /* the show must go on */
- }
-
- switch (hp->type) {
- case T_FILE:
- case T_BASE_FILE:
- {
- FILE_BUF *p = hp->type == T_FILE ? ip : &instack[0];
- char *string = p->nominal_fname;
-
- if (string)
- {
- size_t string_len = p->nominal_fname_len;
- buf = (char *) alloca (3 + 4 * string_len);
- quote_string (buf, string, string_len);
- }
- else
- buf = "\"\"";
-
- break;
- }
-
- case T_INCLUDE_LEVEL:
- true_indepth = 0;
- for (i = indepth; i >= 0; i--)
- if (instack[i].fname != NULL)
- true_indepth++;
-
- buf = (char *) alloca (8); /* Eight bytes ought to be more than enough */
- sprintf (buf, "%d", true_indepth - 1);
- break;
-
- case T_VERSION:
- buf = (char *) alloca (3 + strlen (version_string));
- sprintf (buf, "\"%s\"", version_string);
- break;
-
-#ifndef NO_BUILTIN_SIZE_TYPE
- case T_SIZE_TYPE:
- buf = SIZE_TYPE;
- break;
-#endif
-
-#ifndef NO_BUILTIN_PTRDIFF_TYPE
- case T_PTRDIFF_TYPE:
- buf = PTRDIFF_TYPE;
- break;
-#endif
-
-/* CYGNUS LOCAL vmakarov */
-#ifndef NO_BUILTIN_WCHAR_TYPE
-/* END CYGNUS LOCAL */
- case T_WCHAR_TYPE:
- buf = wchar_type;
- break;
-/* CYGNUS LOCAL vmakarov */
-#endif
-/* END CYGNUS LOCAL */
-
- case T_USER_LABEL_PREFIX_TYPE:
- buf = user_label_prefix;
- break;
-
- case T_REGISTER_PREFIX_TYPE:
- buf = REGISTER_PREFIX;
- break;
-
- case T_IMMEDIATE_PREFIX_TYPE:
- buf = IMMEDIATE_PREFIX;
- break;
-
- case T_CONST:
- buf = hp->value.cpval;
-#ifdef STDC_0_IN_SYSTEM_HEADERS
- if (ip->system_header_p
- && hp->length == 8 && bcmp (hp->name, "__STDC__", 8) == 0
- && !lookup ((U_CHAR *) "__STRICT_ANSI__", -1, -1))
- buf = "0";
-#endif
- if (pcp_inside_if && pcp_outfile)
- /* Output a precondition for this macro use */
- fprintf (pcp_outfile, "#define %s %s\n", hp->name, buf);
- break;
-
- case T_SPECLINE:
- buf = (char *) alloca (10);
- sprintf (buf, "%d", ip->lineno);
- break;
-
- case T_DATE:
- case T_TIME:
- buf = (char *) alloca (20);
- timebuf = timestamp ();
- if (hp->type == T_DATE)
- sprintf (buf, "\"%s %2d %4d\"", monthnames[timebuf->tm_mon],
- timebuf->tm_mday, timebuf->tm_year + 1900);
- else
- sprintf (buf, "\"%02d:%02d:%02d\"", timebuf->tm_hour, timebuf->tm_min,
- timebuf->tm_sec);
- break;
-
- case T_SPEC_DEFINED:
- buf = " 0 "; /* Assume symbol is not defined */
- ip = &instack[indepth];
- SKIP_WHITE_SPACE (ip->bufp);
- if (*ip->bufp == '(') {
- paren++;
- ip->bufp++; /* Skip over the paren */
- SKIP_WHITE_SPACE (ip->bufp);
- }
-
- if (!is_idstart[*ip->bufp])
- goto oops;
- if (ip->bufp[0] == 'L' && (ip->bufp[1] == '\'' || ip->bufp[1] == '"'))
- goto oops;
- if ((hp = lookup (ip->bufp, -1, -1))) {
- if (pcp_outfile && pcp_inside_if
- && (hp->type == T_CONST
- || (hp->type == T_MACRO && hp->value.defn->predefined)))
- /* Output a precondition for this macro use. */
- fprintf (pcp_outfile, "#define %s\n", hp->name);
- buf = " 1 ";
- }
- else
- if (pcp_outfile && pcp_inside_if) {
- /* Output a precondition for this macro use */
- U_CHAR *cp = ip->bufp;
- fprintf (pcp_outfile, "#undef ");
- while (is_idchar[*cp]) /* Ick! */
- fputc (*cp++, pcp_outfile);
- putc ('\n', pcp_outfile);
- }
- while (is_idchar[*ip->bufp])
- ++ip->bufp;
- SKIP_WHITE_SPACE (ip->bufp);
- if (paren) {
- if (*ip->bufp != ')')
- goto oops;
- ++ip->bufp;
- }
- break;
-
-oops:
-
- error ("`defined' without an identifier");
- break;
-
- default:
- error ("cccp error: invalid special hash type"); /* time for gdb */
- abort ();
- }
- len = strlen (buf);
- check_expand (op, len);
- bcopy (buf, (char *) op->bufp, len);
- op->bufp += len;
-
- return;
-}
-
-
-/* Routines to handle #directives */
-
-/* Handle #include and #import.
- This function expects to see "fname" or <fname> on the input. */
-
-static int
-do_include (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword;
-{
- U_CHAR *importing = keyword->type == T_IMPORT ? (U_CHAR *) "" : (U_CHAR *) 0;
- int skip_dirs = (keyword->type == T_INCLUDE_NEXT);
- static int import_warning = 0;
- char *fname; /* Dynamically allocated fname buffer */
- char *pcftry;
- char *pcfname;
- char *fbeg, *fend; /* Beginning and end of fname */
- U_CHAR *fin;
-
- struct file_name_list *search_start = include; /* Chain of dirs to search */
- struct file_name_list *dsp; /* First in chain, if #include "..." */
- struct file_name_list *searchptr = 0;
- size_t flen;
-
- int f = -3; /* file number */
- struct include_file *inc = 0;
-
- int retried = 0; /* Have already tried macro
- expanding the include line*/
- int angle_brackets = 0; /* 0 for "...", 1 for <...> */
- int pcf = -1;
- char *pcfbuf;
- char *pcfbuflimit;
- int pcfnum;
-
- if (pedantic && !instack[indepth].system_header_p)
- {
- if (importing)
- pedwarn ("ANSI C does not allow `#import'");
- if (skip_dirs)
- pedwarn ("ANSI C does not allow `#include_next'");
- }
-
- if (importing && warn_import && !inhibit_warnings
- && !instack[indepth].system_header_p && !import_warning) {
- import_warning = 1;
- warning ("using `#import' is not recommended");
- fprintf (stderr, "The fact that a certain header file need not be processed more than once\n");
- fprintf (stderr, "should be indicated in the header file, not where it is used.\n");
- fprintf (stderr, "The best way to do this is with a conditional of this form:\n\n");
- fprintf (stderr, " #ifndef _FOO_H_INCLUDED\n");
- fprintf (stderr, " #define _FOO_H_INCLUDED\n");
- fprintf (stderr, " ... <real contents of file> ...\n");
- fprintf (stderr, " #endif /* Not _FOO_H_INCLUDED */\n\n");
- fprintf (stderr, "Then users can use `#include' any number of times.\n");
- fprintf (stderr, "GNU C automatically avoids processing the file more than once\n");
- fprintf (stderr, "when it is equipped with such a conditional.\n");
- }
-
-get_filename:
-
- fin = buf;
- SKIP_WHITE_SPACE (fin);
- /* Discard trailing whitespace so we can easily see
- if we have parsed all the significant chars we were given. */
- while (limit != fin && is_hor_space[limit[-1]]) limit--;
- fbeg = fend = (char *) alloca (limit - fin);
-
- switch (*fin++) {
- case '\"':
- {
- FILE_BUF *fp;
- /* Copy the operand text, concatenating the strings. */
- {
- for (;;) {
- for (;;) {
- if (fin == limit)
- goto invalid_include_file_name;
- *fend = *fin++;
- if (*fend == '"')
- break;
- fend++;
- }
- if (fin == limit)
- break;
- /* If not at the end, there had better be another string. */
- /* Skip just horiz space, and don't go past limit. */
- while (fin != limit && is_hor_space[*fin]) fin++;
- if (fin != limit && *fin == '\"')
- fin++;
- else
- goto fail;
- }
- }
-
- /* We have "filename". Figure out directory this source
- file is coming from and put it on the front of the list. */
-
- /* If -I- was specified, don't search current dir, only spec'd ones. */
- if (ignore_srcdir) break;
-
- for (fp = &instack[indepth]; fp >= instack; fp--)
- {
- int n;
- char *nam;
-
- if ((nam = fp->nominal_fname) != NULL) {
- /* Found a named file. Figure out dir of the file,
- and put it in front of the search list. */
- dsp = ((struct file_name_list *)
- alloca (sizeof (struct file_name_list)
- + fp->nominal_fname_len));
- strcpy (dsp->fname, nam);
- simplify_filename (dsp->fname);
- nam = base_name (dsp->fname);
- *nam = 0;
- /* But for efficiency's sake, do not insert the dir
- if it matches the search list's first dir. */
- dsp->next = search_start;
- if (!search_start || strcmp (dsp->fname, search_start->fname)) {
- search_start = dsp;
- n = nam - dsp->fname;
- if (n + INCLUDE_LEN_FUDGE > max_include_len)
- max_include_len = n + INCLUDE_LEN_FUDGE;
- }
- dsp[0].got_name_map = 0;
- break;
- }
- }
- break;
- }
-
- case '<':
- while (fin != limit && *fin != '>')
- *fend++ = *fin++;
- if (*fin == '>' && fin + 1 == limit) {
- angle_brackets = 1;
- /* If -I-, start with the first -I dir after the -I-. */
- search_start = first_bracket_include;
- break;
- }
- goto fail;
-
- default:
-
- fail:
- if (! retried) {
- /* Expand buffer and then remove any newline markers.
- We can't just tell expand_to_temp_buffer to omit the markers,
- since it would put extra spaces in include file names. */
- FILE_BUF trybuf;
- U_CHAR *src;
- int errors_before_expansion = errors;
- trybuf = expand_to_temp_buffer (buf, limit, 1, 0);
- if (errors != errors_before_expansion) {
- free (trybuf.buf);
- goto invalid_include_file_name;
- }
- src = trybuf.buf;
- buf = (U_CHAR *) alloca (trybuf.bufp - trybuf.buf + 1);
- limit = buf;
- while (src != trybuf.bufp) {
- switch ((*limit++ = *src++)) {
- case '\n':
- limit--;
- src++;
- break;
-
- case '\'':
- case '\"':
- {
- U_CHAR *src1 = skip_quoted_string (src - 1, trybuf.bufp, 0,
- NULL_PTR, NULL_PTR, NULL_PTR);
- while (src != src1)
- *limit++ = *src++;
- }
- break;
- }
- }
- *limit = 0;
- free (trybuf.buf);
- retried = 1;
- goto get_filename;
- }
-
- invalid_include_file_name:
- error ("`#%s' expects \"FILENAME\" or <FILENAME>", keyword->name);
- return 0;
- }
-
- /* For #include_next, skip in the search path
- past the dir in which the containing file was found. */
- if (skip_dirs) {
- FILE_BUF *fp;
- for (fp = &instack[indepth]; fp >= instack; fp--)
- if (fp->fname != NULL) {
- /* fp->dir is null if the containing file was specified
- with an absolute file name. In that case, don't skip anything. */
- if (fp->dir)
- search_start = fp->dir->next;
- break;
- }
- }
-
- *fend = 0;
- flen = simplify_filename (fbeg);
-
- if (flen == 0)
- {
- error ("empty file name in `#%s'", keyword->name);
- return 0;
- }
-
- /* Allocate this permanently, because it gets stored in the definitions
- of macros. */
- fname = xmalloc (max_include_len + flen + 1);
- /* + 1 above for terminating null. */
-
- system_include_depth += angle_brackets;
-
- /* If specified file name is absolute, just open it. */
-
- if (absolute_filename (fbeg)) {
- strcpy (fname, fbeg);
- f = open_include_file (fname, NULL_PTR, importing, &inc);
- } else {
-
- struct bypass_dir {
- struct bypass_dir *next;
- char *fname;
- struct file_name_list *searchptr;
- } **bypass_slot = 0;
-
- /* Search directory path, trying to open the file.
- Copy each filename tried into FNAME. */
-
- for (searchptr = search_start; searchptr; searchptr = searchptr->next) {
-
- if (searchptr == first_bracket_include) {
- /* Go to bypass directory if we know we've seen this file before. */
- static struct bypass_dir *bypass_hashtab[INCLUDE_HASHSIZE];
- struct bypass_dir *p;
- bypass_slot = &bypass_hashtab[hashf ((U_CHAR *) fbeg, flen,
- INCLUDE_HASHSIZE)];
- for (p = *bypass_slot; p; p = p->next)
- if (!strcmp (fbeg, p->fname)) {
- searchptr = p->searchptr;
- bypass_slot = 0;
- break;
- }
- }
-
- strcpy (fname, searchptr->fname);
- strcat (fname, fbeg);
- f = open_include_file (fname, searchptr, importing, &inc);
- if (f != -1) {
- if (bypass_slot && searchptr != first_bracket_include) {
- /* This is the first time we found this include file,
- and we found it after first_bracket_include.
- Record its location so that we can bypass to here next time. */
- struct bypass_dir *p
- = (struct bypass_dir *) xmalloc (sizeof (struct bypass_dir));
- p->next = *bypass_slot;
- p->fname = fname + strlen (searchptr->fname);
- p->searchptr = searchptr;
- *bypass_slot = p;
- }
- break;
- }
- if (errno != ENOENT && errno != ENOTDIR)
- break;
- }
- }
-
-
- if (f < 0) {
-
- if (f == -2) {
- /* The file was already included. */
-
- /* If generating dependencies and -MG was specified, we assume missing
- files are leaf files, living in the same directory as the source file
- or other similar place; these missing files may be generated from
- other files and may not exist yet (eg: y.tab.h). */
- } else if (print_deps_missing_files
- && (system_include_depth != 0) < print_deps)
- {
- /* If it was requested as a system header file,
- then assume it belongs in the first place to look for such. */
- if (angle_brackets)
- {
- if (search_start) {
- char *p = (char *) alloca (strlen (search_start->fname)
- + strlen (fbeg) + 1);
- strcpy (p, search_start->fname);
- strcat (p, fbeg);
- deps_output (p, ' ');
- }
- }
- else
- {
- /* Otherwise, omit the directory, as if the file existed
- in the directory with the source. */
- deps_output (fbeg, ' ');
- }
- }
- /* If -M was specified, and this header file won't be added to the
- dependency list, then don't count this as an error, because we can
- still produce correct output. Otherwise, we can't produce correct
- output, because there may be dependencies we need inside the missing
- file, and we don't know what directory this missing file exists in. */
- else if (0 < print_deps && print_deps <= (system_include_depth != 0))
- warning ("No include path in which to find %s", fbeg);
- else if (f != -3)
- error_from_errno (fbeg);
- else
- error ("No include path in which to find %s", fbeg);
-
- } else {
-
- /* Actually process the file. */
-
- pcftry = (char *) alloca (strlen (fname) + 30);
- pcfbuf = 0;
- pcfnum = 0;
-
- if (!no_precomp)
- {
- do {
- sprintf (pcftry, "%s%d", fname, pcfnum++);
-
- pcf = open (pcftry, O_RDONLY, 0666);
- if (pcf != -1)
- {
- struct stat s;
-
- if (fstat (pcf, &s) != 0)
- pfatal_with_name (pcftry);
- if (! INO_T_EQ (inc->st.st_ino, s.st_ino)
- || inc->st.st_dev != s.st_dev)
- {
- pcfbuf = check_precompiled (pcf, &s, fname, &pcfbuflimit);
- /* Don't need it any more. */
- close (pcf);
- }
- else
- {
- /* Don't need it at all. */
- close (pcf);
- break;
- }
- }
- } while (pcf != -1 && !pcfbuf);
- }
-
- /* Actually process the file */
- if (pcfbuf) {
- pcfname = xmalloc (strlen (pcftry) + 1);
- strcpy (pcfname, pcftry);
- pcfinclude ((U_CHAR *) pcfbuf, (U_CHAR *) fname, op);
- }
- else
- finclude (f, inc, op, is_system_include (fname), searchptr);
- }
-
- system_include_depth -= angle_brackets;
-
- return 0;
-}
-
-/* Return nonzero if the given FILENAME is an absolute pathname which
- designates a file within one of the known "system" include file
- directories. We assume here that if the given FILENAME looks like
- it is the name of a file which resides either directly in a "system"
- include file directory, or within any subdirectory thereof, then the
- given file must be a "system" include file. This function tells us
- if we should suppress pedantic errors/warnings for the given FILENAME.
-
- The value is 2 if the file is a C-language system header file
- for which C++ should (on most systems) assume `extern "C"'. */
-
-static int
-is_system_include (filename)
- register char *filename;
-{
- struct file_name_list *searchptr;
-
- for (searchptr = first_system_include; searchptr;
- searchptr = searchptr->next)
- if (! strncmp (searchptr->fname, filename, strlen (searchptr->fname)))
- return searchptr->c_system_include_path + 1;
- return 0;
-}
-
-/* Yield the non-directory suffix of a file name. */
-
-static char *
-base_name (fname)
- char *fname;
-{
- char *s = fname;
- char *p;
-#if defined (__MSDOS__) || defined (_WIN32)
- if (ISALPHA (s[0]) && s[1] == ':') s += 2;
-#endif
- if ((p = rindex (s, '/'))) s = p + 1;
-#ifdef DIR_SEPARATOR
- if ((p = rindex (s, DIR_SEPARATOR))) s = p + 1;
-#endif
- return s;
-}
-
-/* Yield nonzero if FILENAME is absolute (i.e. not relative). */
-
-static int
-absolute_filename (filename)
- char *filename;
-{
-#if defined (__MSDOS__) || (defined (_WIN32) && !defined (__CYGWIN__))
- if (ISALPHA (filename[0]) && filename[1] == ':') filename += 2;
-#endif
-#if defined (__CYGWIN__)
- /* At present, any path that begins with a drive spec is absolute. */
- if (ISALPHA (filename[0]) && filename[1] == ':') return 1;
-#endif
- if (filename[0] == '/') return 1;
-#ifdef DIR_SEPARATOR
- if (filename[0] == DIR_SEPARATOR) return 1;
-#endif
- return 0;
-}
-
-/* Remove unnecessary characters from FILENAME in place,
- to avoid unnecessary filename aliasing.
- Return the length of the resulting string.
-
- Do only the simplifications allowed by Posix.
- It is OK to miss simplifications on non-Posix hosts,
- since this merely leads to suboptimal results. */
-
-static size_t
-simplify_filename (filename)
- char *filename;
-{
- register char *from = filename;
- register char *to = filename;
- char *to0;
-
- /* Remove redundant initial /s. */
- if (*from == '/') {
- *to++ = '/';
- if (*++from == '/') {
- if (*++from == '/') {
- /* 3 or more initial /s are equivalent to 1 /. */
- while (*++from == '/')
- continue;
- } else {
- /* On some hosts // differs from /; Posix allows this. */
- static int slashslash_vs_slash;
- if (slashslash_vs_slash == 0) {
- struct stat s1, s2;
- slashslash_vs_slash = ((stat ("/", &s1) == 0 && stat ("//", &s2) == 0
- && INO_T_EQ (s1.st_ino, s2.st_ino)
- && s1.st_dev == s2.st_dev)
- ? 1 : -1);
- }
- if (slashslash_vs_slash < 0)
- *to++ = '/';
- }
- }
- }
- to0 = to;
-
- for (;;) {
- if (from[0] == '.' && from[1] == '/')
- from += 2;
- else
- {
- /* Copy this component and trailing /, if any. */
- while ((*to++ = *from++) != '/') {
- if (!to[-1]) {
- /* Trim . component at end of nonempty name. */
- to -= filename <= to - 3 && to[-3] == '/' && to[-2] == '.';
-
- /* Trim unnecessary trailing /s. */
- while (to0 < --to && to[-1] == '/')
- continue;
-
- *to = 0;
- return to - filename;
- }
- }
- }
-
- /* Skip /s after a /. */
- while (*from == '/')
- from++;
- }
-}
-
-/* The file_name_map structure holds a mapping of file names for a
- particular directory. This mapping is read from the file named
- FILE_NAME_MAP_FILE in that directory. Such a file can be used to
- map filenames on a file system with severe filename restrictions,
- such as DOS. The format of the file name map file is just a series
- of lines with two tokens on each line. The first token is the name
- to map, and the second token is the actual name to use. */
-
-struct file_name_map
-{
- struct file_name_map *map_next;
- char *map_from;
- char *map_to;
-};
-
-#define FILE_NAME_MAP_FILE "header.gcc"
-
-/* Read a space delimited string of unlimited length from a stdio
- file. */
-
-static char *
-read_filename_string (ch, f)
- int ch;
- FILE *f;
-{
- char *alloc, *set;
- int len;
-
- len = 20;
- set = alloc = xmalloc (len + 1);
- if (! is_space[ch])
- {
- *set++ = ch;
- while ((ch = getc (f)) != EOF && ! is_space[ch])
- {
- if (set - alloc == len)
- {
- len *= 2;
- alloc = xrealloc (alloc, len + 1);
- set = alloc + len / 2;
- }
- *set++ = ch;
- }
- }
- *set = '\0';
- ungetc (ch, f);
- return alloc;
-}
-
-/* Read the file name map file for DIRNAME.
- If DIRNAME is empty, read the map file for the working directory;
- otherwise DIRNAME must end in '/'. */
-
-static struct file_name_map *
-read_name_map (dirname)
- char *dirname;
-{
- /* This structure holds a linked list of file name maps, one per
- directory. */
- struct file_name_map_list
- {
- struct file_name_map_list *map_list_next;
- char *map_list_name;
- struct file_name_map *map_list_map;
- };
- static struct file_name_map_list *map_list;
- register struct file_name_map_list *map_list_ptr;
- char *name;
- FILE *f;
- size_t dirlen;
-
- for (map_list_ptr = map_list; map_list_ptr;
- map_list_ptr = map_list_ptr->map_list_next)
- if (! strcmp (map_list_ptr->map_list_name, dirname))
- return map_list_ptr->map_list_map;
-
- map_list_ptr = ((struct file_name_map_list *)
- xmalloc (sizeof (struct file_name_map_list)));
- map_list_ptr->map_list_name = savestring (dirname);
- map_list_ptr->map_list_map = NULL;
-
- dirlen = strlen (dirname);
- name = (char *) alloca (dirlen + strlen (FILE_NAME_MAP_FILE) + 1);
- strcpy (name, dirname);
- strcat (name, FILE_NAME_MAP_FILE);
- f = fopen (name, "r");
- if (!f)
- map_list_ptr->map_list_map = NULL;
- else
- {
- int ch;
-
- while ((ch = getc (f)) != EOF)
- {
- char *from, *to;
- struct file_name_map *ptr;
- size_t tolen;
-
- if (is_space[ch])
- continue;
- from = read_filename_string (ch, f);
- while ((ch = getc (f)) != EOF && is_hor_space[ch])
- ;
- to = read_filename_string (ch, f);
-
- simplify_filename (from);
- tolen = simplify_filename (to);
-
- ptr = ((struct file_name_map *)
- xmalloc (sizeof (struct file_name_map)));
- ptr->map_from = from;
-
- /* Make the real filename absolute. */
- if (absolute_filename (to))
- ptr->map_to = to;
- else
- {
- ptr->map_to = xmalloc (dirlen + tolen + 1);
- strcpy (ptr->map_to, dirname);
- strcat (ptr->map_to, to);
- free (to);
- }
-
- ptr->map_next = map_list_ptr->map_list_map;
- map_list_ptr->map_list_map = ptr;
-
- while ((ch = getc (f)) != '\n')
- if (ch == EOF)
- break;
- }
- fclose (f);
- }
-
- map_list_ptr->map_list_next = map_list;
- map_list = map_list_ptr;
-
- return map_list_ptr->map_list_map;
-}
-
-/* Try to open include file FILENAME. SEARCHPTR is the directory
- being tried from the include file search path.
- IMPORTING is "" if we are importing, null otherwise.
- Return -2 if found, either a matching name or a matching inode.
- Otherwise, open the file and return a file descriptor if successful
- or -1 if unsuccessful.
- Unless unsuccessful, put a descriptor of the included file into *PINC.
- This function maps filenames on file systems based on information read by
- read_name_map. */
-
-static int
-open_include_file (filename, searchptr, importing, pinc)
- char *filename;
- struct file_name_list *searchptr;
- U_CHAR *importing;
- struct include_file **pinc;
-{
- char *fname = remap ? remap_include_file (filename, searchptr) : filename;
- int fd = -2;
-
- /* Look up FNAME in include_hashtab. */
- struct include_file **phead = &include_hashtab[hashf ((U_CHAR *) fname,
- strlen (fname),
- INCLUDE_HASHSIZE)];
- struct include_file *inc, *head = *phead;
- for (inc = head; inc; inc = inc->next)
- if (!strcmp (fname, inc->fname))
- break;
-
- if (!inc
- || ! inc->control_macro
- || (inc->control_macro[0] && ! lookup (inc->control_macro, -1, -1))) {
-
- fd = open (fname, O_RDONLY, 0);
-
- if (fd < 0)
- {
- return fd;
- }
-
- if (!inc) {
- /* FNAME was not in include_hashtab; insert a new entry. */
- inc = (struct include_file *) xmalloc (sizeof (struct include_file));
- inc->next = head;
- inc->fname = fname;
- inc->control_macro = 0;
- inc->deps_output = 0;
- if (fstat (fd, &inc->st) != 0)
- pfatal_with_name (fname);
- *phead = inc;
-
- /* Look for another file with the same inode and device. */
- if (lookup_ino_include (inc)
- && inc->control_macro
- && (!inc->control_macro[0] || lookup (inc->control_macro, -1, -1))) {
- close (fd);
- fd = -2;
- }
- }
-
- /* For -M, add this file to the dependencies. */
- if (! inc->deps_output && (system_include_depth != 0) < print_deps) {
- inc->deps_output = 1;
- deps_output (fname, ' ');
- }
-
- /* Handle -H option. */
- if (print_include_names)
- fprintf (stderr, "%*s%s\n", indepth, "", fname);
- }
-
- if (importing)
- inc->control_macro = importing;
-
- *pinc = inc;
- return fd;
-}
-
-/* Return the remapped name of the include file FILENAME.
- SEARCHPTR is the directory being tried from the include file path. */
-
-static char *
-remap_include_file (filename, searchptr)
- char *filename;
- struct file_name_list *searchptr;
-{
- register struct file_name_map *map;
- register char *from;
-
- if (searchptr)
- {
- if (! searchptr->got_name_map)
- {
- searchptr->name_map = read_name_map (searchptr->fname);
- searchptr->got_name_map = 1;
- }
-
- /* Check the mapping for the directory we are using. */
- from = filename + strlen (searchptr->fname);
- for (map = searchptr->name_map; map; map = map->map_next)
- if (! strcmp (map->map_from, from))
- return map->map_to;
- }
-
- from = base_name (filename);
-
- if (from != filename || !searchptr)
- {
- /* Try to find a mapping file for the particular directory we are
- looking in. Thus #include <sys/types.h> will look up sys/types.h
- in /usr/include/header.gcc and look up types.h in
- /usr/include/sys/header.gcc. */
-
- char *dir = (char *) alloca (from - filename + 1);
- bcopy (filename, dir, from - filename);
- dir[from - filename] = '\0';
-
- for (map = read_name_map (dir); map; map = map->map_next)
- if (! strcmp (map->map_from, from))
- return map->map_to;
- }
-
- return filename;
-}
-
-/* Insert INC into the include file table, hashed by device and inode number.
- If a file with different name but same dev+ino was already in the table,
- return 1 and set INC's control macro to the already-known macro. */
-
-static int
-lookup_ino_include (inc)
- struct include_file *inc;
-{
- int hash = ((unsigned) (inc->st.st_dev + INO_T_HASH (inc->st.st_ino))
- % INCLUDE_HASHSIZE);
- struct include_file *i = include_ino_hashtab[hash];
- inc->next_ino = i;
- include_ino_hashtab[hash] = inc;
-
- for (; i; i = i->next_ino)
- if (INO_T_EQ (inc->st.st_ino, i->st.st_ino)
- && inc->st.st_dev == i->st.st_dev) {
- inc->control_macro = i->control_macro;
- return 1;
- }
-
- return 0;
-}
-
-/* Process file descriptor F, which corresponds to include file INC,
- with output to OP.
- SYSTEM_HEADER_P is 1 if this file resides in any one of the known
- "system" include directories (as decided by the `is_system_include'
- function above).
- DIRPTR is the link in the dir path through which this file was found,
- or 0 if the file name was absolute. */
-
-static void
-finclude (f, inc, op, system_header_p, dirptr)
- int f;
- struct include_file *inc;
- FILE_BUF *op;
- int system_header_p;
- struct file_name_list *dirptr;
-{
- char *fname = inc->fname;
- int i;
- FILE_BUF *fp; /* For input stack frame */
- int missing_newline = 0;
-
- CHECK_DEPTH (return;);
-
- fp = &instack[indepth + 1];
- bzero ((char *) fp, sizeof (FILE_BUF));
- fp->nominal_fname = fp->fname = fname;
- fp->nominal_fname_len = strlen (fname);
- fp->inc = inc;
- fp->length = 0;
- fp->lineno = 1;
- fp->if_stack = if_stack;
- fp->system_header_p = system_header_p;
- fp->dir = dirptr;
-
- if (S_ISREG (inc->st.st_mode)) {
- size_t s = (size_t) inc->st.st_size;
- if (s != inc->st.st_size || s + 2 < s)
- memory_full ();
- fp->buf = (U_CHAR *) xmalloc (s + 2);
- fp->bufp = fp->buf;
-
- /* Read the file contents, knowing that s is an upper bound
- on the number of bytes we can read. */
- fp->length = safe_read (f, (char *) fp->buf, s);
- if (fp->length < 0) goto nope;
- }
- else if (S_ISDIR (inc->st.st_mode)) {
- error ("directory `%s' specified in #include", fname);
- close (f);
- return;
- } else {
- /* Cannot count its file size before reading.
- First read the entire file into heap and
- copy them into buffer on stack. */
-
- int bsize = 2000;
- int st_size = 0;
-
- fp->buf = (U_CHAR *) xmalloc (bsize + 2);
-
- for (;;) {
- i = safe_read (f, (char *) fp->buf + st_size, bsize - st_size);
- if (i < 0)
- goto nope; /* error! */
- st_size += i;
- if (st_size != bsize)
- break; /* End of file */
- bsize *= 2;
- fp->buf = (U_CHAR *) xrealloc (fp->buf, bsize + 2);
- }
- fp->bufp = fp->buf;
- fp->length = st_size;
- }
-
- if ((fp->length > 0 && fp->buf[fp->length - 1] != '\n')
- /* Backslash-newline at end is not good enough. */
- || (fp->length > 1 && fp->buf[fp->length - 2] == '\\')) {
- fp->buf[fp->length++] = '\n';
- missing_newline = 1;
- }
- fp->buf[fp->length] = '\0';
-
- /* Close descriptor now, so nesting does not use lots of descriptors. */
- close (f);
-
- /* Must do this before calling trigraph_pcp, so that the correct file name
- will be printed in warning messages. */
-
- indepth++;
- input_file_stack_tick++;
-
- if (!no_trigraphs)
- trigraph_pcp (fp);
-
- output_line_directive (fp, op, 0, enter_file);
- rescan (op, 0);
-
- if (missing_newline)
- fp->lineno--;
-
- if (pedantic && missing_newline)
- pedwarn ("file does not end in newline");
-
- indepth--;
- input_file_stack_tick++;
- output_line_directive (&instack[indepth], op, 0, leave_file);
- free (fp->buf);
- return;
-
- nope:
-
- perror_with_name (fname);
- close (f);
- free (fp->buf);
-}
-
-/* Record that inclusion of the include file INC
- should be controlled by the macro named MACRO_NAME.
- This means that trying to include the file again
- will do something if that macro is defined. */
-
-static void
-record_control_macro (inc, macro_name)
- struct include_file *inc;
- U_CHAR *macro_name;
-{
- if (!inc->control_macro || inc->control_macro[0])
- inc->control_macro = macro_name;
-}
-
-/* Load the specified precompiled header into core, and verify its
- preconditions. PCF indicates the file descriptor to read, which must
- be a regular file. *ST is its file status.
- FNAME indicates the file name of the original header.
- *LIMIT will be set to an address one past the end of the file.
- If the preconditions of the file are not satisfied, the buffer is
- freed and we return 0. If the preconditions are satisfied, return
- the address of the buffer following the preconditions. The buffer, in
- this case, should never be freed because various pieces of it will
- be referred to until all precompiled strings are output at the end of
- the run. */
-
-static char *
-check_precompiled (pcf, st, fname, limit)
- int pcf;
- struct stat *st;
- char *fname ATTRIBUTE_UNUSED;
- char **limit;
-{
- int length = 0;
- char *buf;
- char *cp;
-
- if (pcp_outfile)
- return 0;
-
- if (S_ISREG (st->st_mode))
- {
- size_t s = (size_t) st->st_size;
- if (s != st->st_size || s + 2 < s)
- memory_full ();
- buf = xmalloc (s + 2);
- length = safe_read (pcf, buf, s);
- if (length < 0)
- goto nope;
- }
- else
- abort ();
-
- if (length > 0 && buf[length-1] != '\n')
- buf[length++] = '\n';
- buf[length] = '\0';
-
- *limit = buf + length;
-
- /* File is in core. Check the preconditions. */
- if (!check_preconditions (buf))
- goto nope;
- for (cp = buf; *cp; cp++)
- ;
-#ifdef DEBUG_PCP
- fprintf (stderr, "Using preinclude %s\n", fname);
-#endif
- return cp + 1;
-
- nope:
-#ifdef DEBUG_PCP
- fprintf (stderr, "Cannot use preinclude %s\n", fname);
-#endif
- free (buf);
- return 0;
-}
-
-/* PREC (null terminated) points to the preconditions of a
- precompiled header. These are a series of #define and #undef
- lines which must match the current contents of the hash
- table. */
-
-static int
-check_preconditions (prec)
- char *prec;
-{
- MACRODEF mdef;
- char *lineend;
-
- while (*prec) {
- lineend = index (prec, '\n');
-
- if (*prec++ != '#') {
- error ("Bad format encountered while reading precompiled file");
- return 0;
- }
- if (!strncmp (prec, "define", 6)) {
- HASHNODE *hp;
-
- prec += 6;
- mdef = create_definition ((U_CHAR *) prec, (U_CHAR *) lineend, NULL_PTR);
-
- if (mdef.defn == 0)
- abort ();
-
- if ((hp = lookup (mdef.symnam, mdef.symlen, -1)) == NULL
- || (hp->type != T_MACRO && hp->type != T_CONST)
- || (hp->type == T_MACRO
- && !compare_defs (mdef.defn, hp->value.defn)
- && (mdef.defn->length != 2
- || mdef.defn->expansion[0] != '\n'
- || mdef.defn->expansion[1] != ' ')))
- return 0;
- } else if (!strncmp (prec, "undef", 5)) {
- char *name;
- int len;
-
- prec += 5;
- while (is_hor_space[(U_CHAR) *prec])
- prec++;
- name = prec;
- while (is_idchar[(U_CHAR) *prec])
- prec++;
- len = prec - name;
-
- if (lookup ((U_CHAR *) name, len, -1))
- return 0;
- } else {
- error ("Bad format encountered while reading precompiled file");
- return 0;
- }
- prec = lineend + 1;
- }
- /* They all passed successfully */
- return 1;
-}
-
-/* Process the main body of a precompiled file. BUF points to the
- string section of the file, following the preconditions. LIMIT is one
- character past the end. NAME is the name of the file being read
- in. OP is the main output buffer. */
-
-static void
-pcfinclude (buf, name, op)
- U_CHAR *buf, *name;
- FILE_BUF *op;
-{
- FILE_BUF tmpbuf;
- int nstrings;
- U_CHAR *cp = buf;
-
- /* First in the file comes 4 bytes indicating the number of strings, */
- /* in network byte order. (MSB first). */
- nstrings = *cp++;
- nstrings = (nstrings << 8) | *cp++;
- nstrings = (nstrings << 8) | *cp++;
- nstrings = (nstrings << 8) | *cp++;
-
- /* Looping over each string... */
- while (nstrings--) {
- U_CHAR *string_start;
- U_CHAR *endofthiskey;
- STRINGDEF *str;
- int nkeys;
-
- /* Each string starts with a STRINGDEF structure (str), followed */
- /* by the text of the string (string_start) */
-
- /* First skip to a longword boundary */
- /* ??? Why a 4-byte boundary? On all machines? */
- /* NOTE: This works correctly even if size_t
- is narrower than a pointer.
- Do not try risky measures here to get another type to use!
- Do not include stddef.h--it will fail! */
- if ((size_t) cp & 3)
- cp += 4 - ((size_t) cp & 3);
-
- /* Now get the string. */
- str = (STRINGDEF *) (GENERIC_PTR) cp;
- string_start = cp += sizeof (STRINGDEF);
-
- for (; *cp; cp++) /* skip the string */
- ;
-
- /* We need to macro expand the string here to ensure that the
- proper definition environment is in place. If it were only
- expanded when we find out it is needed, macros necessary for
- its proper expansion might have had their definitions changed. */
- tmpbuf = expand_to_temp_buffer (string_start, cp++, 0, 0);
- /* Lineno is already set in the precompiled file */
- str->contents = tmpbuf.buf;
- str->len = tmpbuf.length;
- str->writeflag = 0;
- str->filename = name;
- str->output_mark = outbuf.bufp - outbuf.buf;
-
- str->chain = 0;
- *stringlist_tailp = str;
- stringlist_tailp = &str->chain;
-
- /* Next comes a fourbyte number indicating the number of keys
- for this string. */
- nkeys = *cp++;
- nkeys = (nkeys << 8) | *cp++;
- nkeys = (nkeys << 8) | *cp++;
- nkeys = (nkeys << 8) | *cp++;
-
- /* If this number is -1, then the string is mandatory. */
- if (nkeys == -1)
- str->writeflag = 1;
- else
- /* Otherwise, for each key, */
- for (; nkeys--; free (tmpbuf.buf), cp = endofthiskey + 1) {
- KEYDEF *kp = (KEYDEF *) (GENERIC_PTR) cp;
- HASHNODE *hp;
-
- /* It starts with a KEYDEF structure */
- cp += sizeof (KEYDEF);
-
- /* Find the end of the key. At the end of this for loop we
- advance CP to the start of the next key using this variable. */
- endofthiskey = cp + strlen ((char *) cp);
- kp->str = str;
-
- /* Expand the key, and enter it into the hash table. */
- tmpbuf = expand_to_temp_buffer (cp, endofthiskey, 0, 0);
- tmpbuf.bufp = tmpbuf.buf;
-
- while (is_hor_space[*tmpbuf.bufp])
- tmpbuf.bufp++;
- if (!is_idstart[*tmpbuf.bufp]
- || tmpbuf.bufp == tmpbuf.buf + tmpbuf.length) {
- str->writeflag = 1;
- continue;
- }
-
- hp = lookup (tmpbuf.bufp, -1, -1);
- if (hp == NULL) {
- kp->chain = 0;
- install (tmpbuf.bufp, -1, T_PCSTRING, (char *) kp, -1);
- }
- else if (hp->type == T_PCSTRING) {
- kp->chain = hp->value.keydef;
- hp->value.keydef = kp;
- }
- else
- str->writeflag = 1;
- }
- }
- /* This output_line_directive serves to switch us back to the current
- input file in case some of these strings get output (which will
- result in line directives for the header file being output). */
- output_line_directive (&instack[indepth], op, 0, enter_file);
-}
-
-/* Called from rescan when it hits a key for strings. Mark them all
- used and clean up. */
-
-static void
-pcstring_used (hp)
- HASHNODE *hp;
-{
- KEYDEF *kp;
-
- for (kp = hp->value.keydef; kp; kp = kp->chain)
- kp->str->writeflag = 1;
- delete_macro (hp);
-}
-
-/* Write the output, interspersing precompiled strings in their
- appropriate places. */
-
-static void
-write_output ()
-{
- STRINGDEF *next_string;
- U_CHAR *cur_buf_loc;
- int line_directive_len = 80;
- char *line_directive = xmalloc (line_directive_len);
- int len;
-
- /* In each run through the loop, either cur_buf_loc ==
- next_string_loc, in which case we print a series of strings, or
- it is less than next_string_loc, in which case we write some of
- the buffer. */
- cur_buf_loc = outbuf.buf;
- next_string = stringlist;
-
- while (cur_buf_loc < outbuf.bufp || next_string) {
- if (next_string
- && cur_buf_loc - outbuf.buf == next_string->output_mark) {
- if (next_string->writeflag) {
- len = 4 * strlen ((char *) next_string->filename) + 32;
- while (len > line_directive_len)
- line_directive = xrealloc (line_directive,
- line_directive_len *= 2);
- sprintf (line_directive, "\n# %d ", next_string->lineno);
- strcpy (quote_string (line_directive + strlen (line_directive),
- (char *) next_string->filename,
- strlen ((char *) next_string->filename)),
- "\n");
- safe_write (fileno (stdout), line_directive, strlen (line_directive));
- safe_write (fileno (stdout),
- (char *) next_string->contents, next_string->len);
- }
- next_string = next_string->chain;
- }
- else {
- len = (next_string
- ? (next_string->output_mark
- - (cur_buf_loc - outbuf.buf))
- : outbuf.bufp - cur_buf_loc);
-
- safe_write (fileno (stdout), (char *) cur_buf_loc, len);
- cur_buf_loc += len;
- }
- }
- free (line_directive);
-}
-
-/* Pass a directive through to the output file.
- BUF points to the contents of the directive, as a contiguous string.
- LIMIT points to the first character past the end of the directive.
- KEYWORD is the keyword-table entry for the directive. */
-
-static void
-pass_thru_directive (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword;
-{
- register unsigned keyword_length = keyword->length;
-
- check_expand (op, 1 + keyword_length + (limit - buf));
- *op->bufp++ = '#';
- bcopy (keyword->name, (char *) op->bufp, keyword_length);
- op->bufp += keyword_length;
- if (limit != buf && buf[0] != ' ')
- *op->bufp++ = ' ';
- bcopy ((char *) buf, (char *) op->bufp, limit - buf);
- op->bufp += (limit - buf);
-#if 0
- *op->bufp++ = '\n';
- /* Count the line we have just made in the output,
- to get in sync properly. */
- op->lineno++;
-#endif
-}
-
-/* The arglist structure is built by do_define to tell
- collect_definition where the argument names begin. That
- is, for a define like "#define f(x,y,z) foo+x-bar*y", the arglist
- would contain pointers to the strings x, y, and z.
- Collect_definition would then build a DEFINITION node,
- with reflist nodes pointing to the places x, y, and z had
- appeared. So the arglist is just convenience data passed
- between these two routines. It is not kept around after
- the current #define has been processed and entered into the
- hash table. */
-
-struct arglist {
- struct arglist *next;
- U_CHAR *name;
- int length;
- int argno;
- char rest_args;
-};
-
-/* Create a DEFINITION node from a #define directive. Arguments are
- as for do_define. */
-
-static MACRODEF
-create_definition (buf, limit, op)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
-{
- U_CHAR *bp; /* temp ptr into input buffer */
- U_CHAR *symname; /* remember where symbol name starts */
- int sym_length; /* and how long it is */
- int line = instack[indepth].lineno;
- char *file = instack[indepth].nominal_fname;
- size_t file_len = instack[indepth].nominal_fname_len;
- int rest_args = 0;
-
- DEFINITION *defn;
- int arglengths = 0; /* Accumulate lengths of arg names
- plus number of args. */
- MACRODEF mdef;
-
- bp = buf;
-
- while (is_hor_space[*bp])
- bp++;
-
- symname = bp; /* remember where it starts */
- sym_length = check_macro_name (bp, "macro");
- bp += sym_length;
-
- /* Lossage will occur if identifiers or control keywords are broken
- across lines using backslash. This is not the right place to take
- care of that. */
-
- if (*bp == '(') {
- struct arglist *arg_ptrs = NULL;
- int argno = 0;
-
- bp++; /* skip '(' */
- SKIP_WHITE_SPACE (bp);
-
- /* Loop over macro argument names. */
- while (*bp != ')') {
- struct arglist *temp;
-
- temp = (struct arglist *) alloca (sizeof (struct arglist));
- temp->name = bp;
- temp->next = arg_ptrs;
- temp->argno = argno++;
- temp->rest_args = 0;
- arg_ptrs = temp;
-
- if (rest_args)
- pedwarn ("another parameter follows `%s'",
- rest_extension);
-
- if (!is_idstart[*bp])
- {
- if (c9x && limit - bp > (long) REST_EXTENSION_LENGTH
- && bcmp (rest_extension, bp, REST_EXTENSION_LENGTH) == 0)
- {
- /* This is the ISO C 9x way to write macros with variable
- number of arguments. */
- rest_args = 1;
- temp->rest_args = 1;
- }
- else
- pedwarn ("invalid character in macro parameter name");
- }
-
- /* Find the end of the arg name. */
- while (is_idchar[*bp]) {
- bp++;
- /* do we have a "special" rest-args extension here? */
- if (limit - bp > (long) REST_EXTENSION_LENGTH
- && bcmp (rest_extension, bp, REST_EXTENSION_LENGTH) == 0) {
- if (pedantic && !instack[indepth].system_header_p)
- pedwarn ("ANSI C does not allow macro with variable arguments");
- rest_args = 1;
- temp->rest_args = 1;
- break;
- }
- }
- if (bp == temp->name && rest_args == 1)
- {
- /* This is the ISO C 9x style. */
- temp->name = va_args_name;
- temp->length = VA_ARGS_NAME_LENGTH;
- }
- else
- temp->length = bp - temp->name;
- if (rest_args == 1)
- bp += REST_EXTENSION_LENGTH;
- arglengths += temp->length + 2;
- SKIP_WHITE_SPACE (bp);
- if (temp->length == 0 || (*bp != ',' && *bp != ')')) {
- error ("badly punctuated parameter list in `#define'");
- goto nope;
- }
- if (*bp == ',') {
- bp++;
- SKIP_WHITE_SPACE (bp);
- /* A comma at this point can only be followed by an identifier. */
- if (!is_idstart[*bp]
- && !(c9x && limit - bp > (long) REST_EXTENSION_LENGTH
- && bcmp (rest_extension, bp, REST_EXTENSION_LENGTH) == 0)) {
- error ("badly punctuated parameter list in `#define'");
- goto nope;
- }
- }
- if (bp >= limit) {
- error ("unterminated parameter list in `#define'");
- goto nope;
- }
- {
- struct arglist *otemp;
-
- for (otemp = temp->next; otemp != NULL; otemp = otemp->next)
- if (temp->length == otemp->length
- && bcmp (temp->name, otemp->name, temp->length) == 0)
- {
- error ("duplicate argument name `%.*s' in `#define'",
- temp->length, temp->name);
- goto nope;
- }
- if (rest_args == 0 && temp->length == VA_ARGS_NAME_LENGTH
- && bcmp (temp->name, va_args_name, VA_ARGS_NAME_LENGTH) == 0)
- {
- error ("\
-reserved name `%s' used as argument name in `#define'", va_args_name);
- goto nope;
- }
- }
- }
-
- ++bp; /* skip paren */
- SKIP_WHITE_SPACE (bp);
- /* now everything from bp before limit is the definition. */
- defn = collect_expansion (bp, limit, argno, arg_ptrs);
- defn->rest_args = rest_args;
-
- /* Now set defn->args.argnames to the result of concatenating
- the argument names in reverse order
- with comma-space between them. */
- defn->args.argnames = (U_CHAR *) xmalloc (arglengths + 1);
- {
- struct arglist *temp;
- int i = 0;
- for (temp = arg_ptrs; temp; temp = temp->next) {
- bcopy (temp->name, &defn->args.argnames[i], temp->length);
- i += temp->length;
- if (temp->next != 0) {
- defn->args.argnames[i++] = ',';
- defn->args.argnames[i++] = ' ';
- }
- }
- defn->args.argnames[i] = 0;
- }
- } else {
- /* Simple expansion or empty definition. */
-
- if (bp < limit)
- {
- if (is_hor_space[*bp]) {
- bp++;
- SKIP_WHITE_SPACE (bp);
- } else if (sym_length) {
- switch (*bp) {
- case '!': case '"': case '#': case '%': case '&': case '\'':
- case ')': case '*': case '+': case ',': case '-': case '.':
- case '/': case ':': case ';': case '<': case '=': case '>':
- case '?': case '[': case '\\': case ']': case '^': case '{':
- case '|': case '}': case '~':
- warning ("missing white space after `#define %.*s'",
- sym_length, symname);
- break;
-
- default:
- pedwarn ("missing white space after `#define %.*s'",
- sym_length, symname);
- break;
- }
- }
- }
- /* Now everything from bp before limit is the definition. */
- defn = collect_expansion (bp, limit, -1, NULL_PTR);
- defn->args.argnames = (U_CHAR *) "";
- }
-
- defn->line = line;
- defn->file = file;
- defn->file_len = file_len;
-
- /* OP is null if this is a predefinition */
- defn->predefined = !op;
- mdef.defn = defn;
- mdef.symnam = symname;
- mdef.symlen = sym_length;
-
- return mdef;
-
- nope:
- mdef.defn = 0;
- return mdef;
-}
-
-/* Process a #define directive.
-BUF points to the contents of the #define directive, as a contiguous string.
-LIMIT points to the first character past the end of the definition.
-KEYWORD is the keyword-table entry for #define. */
-
-static int
-do_define (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword;
-{
- int hashcode;
- MACRODEF mdef;
-
- /* If this is a precompiler run (with -pcp) pass thru #define directives. */
- if (pcp_outfile && op)
- pass_thru_directive (buf, limit, op, keyword);
-
- mdef = create_definition (buf, limit, op);
- if (mdef.defn == 0)
- goto nope;
-
- hashcode = hashf (mdef.symnam, mdef.symlen, HASHSIZE);
-
- {
- HASHNODE *hp;
- if ((hp = lookup (mdef.symnam, mdef.symlen, hashcode)) != NULL) {
- int ok = 0;
- /* Redefining a precompiled key is ok. */
- if (hp->type == T_PCSTRING)
- ok = 1;
- /* Redefining a macro is ok if the definitions are the same. */
- else if (hp->type == T_MACRO)
- ok = ! compare_defs (mdef.defn, hp->value.defn);
- /* Redefining a constant is ok with -D. */
- else if (hp->type == T_CONST)
- ok = ! done_initializing;
- /* Print the warning if it's not ok. */
- if (!ok) {
- /* If we are passing through #define and #undef directives, do
- that for this re-definition now. */
- if (debug_output && op)
- pass_thru_directive (buf, limit, op, keyword);
-
-/* CYGNUS LOCAL chill */
- if (!chill || strcmp (mdef.defn->file, "*Initialization*"))
-/* END CYGNUS LOCAL chill */
- pedwarn ("`%.*s' redefined", mdef.symlen, mdef.symnam);
- if (hp->type == T_MACRO)
- pedwarn_with_file_and_line (hp->value.defn->file,
- hp->value.defn->file_len,
- hp->value.defn->line,
- "this is the location of the previous definition");
- }
- /* Replace the old definition. */
- hp->type = T_MACRO;
- hp->value.defn = mdef.defn;
- } else {
- /* If we are passing through #define and #undef directives, do
- that for this new definition now. */
- if (debug_output && op)
- pass_thru_directive (buf, limit, op, keyword);
- install (mdef.symnam, mdef.symlen, T_MACRO,
- (char *) mdef.defn, hashcode);
- }
- }
-
- return 0;
-
-nope:
-
- return 1;
-}
-
-/* Check a purported macro name SYMNAME, and yield its length.
- USAGE is the kind of name this is intended for. */
-
-static int
-check_macro_name (symname, usage)
- U_CHAR *symname;
- char *usage;
-{
- U_CHAR *p;
- int sym_length;
-
- for (p = symname; is_idchar[*p]; p++)
- ;
- sym_length = p - symname;
- if (sym_length == 0
- || (sym_length == 1 && *symname == 'L' && (*p == '\'' || *p == '"')))
- error ("invalid %s name", usage);
- else if (!is_idstart[*symname]
- || (sym_length == 7 && ! bcmp (symname, "defined", 7)))
- error ("invalid %s name `%.*s'", usage, sym_length, symname);
- return sym_length;
-}
-
-/* Return zero if two DEFINITIONs are isomorphic. */
-
-static int
-compare_defs (d1, d2)
- DEFINITION *d1, *d2;
-{
- register struct reflist *a1, *a2;
- register U_CHAR *p1 = d1->expansion;
- register U_CHAR *p2 = d2->expansion;
- int first = 1;
-
- if (d1->nargs != d2->nargs)
- return 1;
- if (pedantic
- && strcmp ((char *)d1->args.argnames, (char *)d2->args.argnames))
- return 1;
- for (a1 = d1->pattern, a2 = d2->pattern; a1 && a2;
- a1 = a1->next, a2 = a2->next) {
- if (!((a1->nchars == a2->nchars && ! bcmp (p1, p2, a1->nchars))
- || ! comp_def_part (first, p1, a1->nchars, p2, a2->nchars, 0))
- || a1->argno != a2->argno
- || a1->stringify != a2->stringify
- || a1->raw_before != a2->raw_before
- || a1->raw_after != a2->raw_after)
- return 1;
- first = 0;
- p1 += a1->nchars;
- p2 += a2->nchars;
- }
- if (a1 != a2)
- return 1;
- if (comp_def_part (first, p1, d1->length - (p1 - d1->expansion),
- p2, d2->length - (p2 - d2->expansion), 1))
- return 1;
- return 0;
-}
-
-/* Return 1 if two parts of two macro definitions are effectively different.
- One of the parts starts at BEG1 and has LEN1 chars;
- the other has LEN2 chars at BEG2.
- Any sequence of whitespace matches any other sequence of whitespace.
- FIRST means these parts are the first of a macro definition;
- so ignore leading whitespace entirely.
- LAST means these parts are the last of a macro definition;
- so ignore trailing whitespace entirely. */
-
-static int
-comp_def_part (first, beg1, len1, beg2, len2, last)
- int first;
- U_CHAR *beg1, *beg2;
- int len1, len2;
- int last;
-{
- register U_CHAR *end1 = beg1 + len1;
- register U_CHAR *end2 = beg2 + len2;
- if (first) {
- while (beg1 != end1 && is_space[*beg1]) beg1++;
- while (beg2 != end2 && is_space[*beg2]) beg2++;
- }
- if (last) {
- while (beg1 != end1 && is_space[end1[-1]]) end1--;
- while (beg2 != end2 && is_space[end2[-1]]) end2--;
- }
- while (beg1 != end1 && beg2 != end2) {
- if (is_space[*beg1] && is_space[*beg2]) {
- while (beg1 != end1 && is_space[*beg1]) beg1++;
- while (beg2 != end2 && is_space[*beg2]) beg2++;
- } else if (*beg1 == *beg2) {
- beg1++; beg2++;
- } else break;
- }
- return (beg1 != end1) || (beg2 != end2);
-}
-
-/* Read a replacement list for a macro with parameters.
- Build the DEFINITION structure.
- Reads characters of text starting at BUF until END.
- ARGLIST specifies the formal parameters to look for
- in the text of the definition; NARGS is the number of args
- in that list, or -1 for a macro name that wants no argument list.
- MACRONAME is the macro name itself (so we can avoid recursive expansion)
- and NAMELEN is its length in characters.
-
-Note that comments, backslash-newlines, and leading white space
-have already been deleted from the argument. */
-
-/* If there is no trailing whitespace, a Newline Space is added at the end
- to prevent concatenation that would be contrary to the standard. */
-
-static DEFINITION *
-collect_expansion (buf, end, nargs, arglist)
- U_CHAR *buf, *end;
- int nargs;
- struct arglist *arglist;
-{
- DEFINITION *defn;
- register U_CHAR *p, *limit, *lastp, *exp_p;
- struct reflist *endpat = NULL;
- /* Pointer to first nonspace after last ## seen. */
- U_CHAR *concat = 0;
- /* Pointer to first nonspace after last single-# seen. */
- U_CHAR *stringify = 0;
- /* How those tokens were spelled. */
- enum sharp_token_type concat_sharp_token_type = NO_SHARP_TOKEN;
- enum sharp_token_type stringify_sharp_token_type = NO_SHARP_TOKEN;
- int maxsize;
- int expected_delimiter = '\0';
-
- /* Scan thru the replacement list, ignoring comments and quoted
- strings, picking up on the macro calls. It does a linear search
- thru the arg list on every potential symbol. Profiling might say
- that something smarter should happen. */
-
- if (end < buf)
- abort ();
-
- /* Find the beginning of the trailing whitespace. */
- limit = end;
- p = buf;
- while (p < limit && is_space[limit[-1]]) limit--;
-
- /* Allocate space for the text in the macro definition.
- Each input char may or may not need 1 byte,
- so this is an upper bound.
- The extra 3 are for invented trailing newline-marker and final null. */
- maxsize = (sizeof (DEFINITION)
- + (limit - p) + 3);
- defn = (DEFINITION *) xcalloc (1, maxsize);
-
- defn->nargs = nargs;
- exp_p = defn->expansion = (U_CHAR *) defn + sizeof (DEFINITION);
- lastp = exp_p;
-
- if (p[0] == '#'
- ? p[1] == '#'
- : p[0] == '%' && p[1] == ':' && p[2] == '%' && p[3] == ':') {
- error ("`##' at start of macro definition");
- p += p[0] == '#' ? 2 : 4;
- }
-
- /* Process the main body of the definition. */
- while (p < limit) {
- int skipped_arg = 0;
- register U_CHAR c = *p++;
-
- *exp_p++ = c;
-
- if (!traditional) {
- switch (c) {
- case '\'':
- case '\"':
- if (expected_delimiter != '\0') {
- if (c == expected_delimiter)
- expected_delimiter = '\0';
- } else
- expected_delimiter = c;
- break;
-
- case '\\':
- if (p < limit && expected_delimiter) {
- /* In a string, backslash goes through
- and makes next char ordinary. */
- *exp_p++ = *p++;
- }
- break;
-
- case '%':
- if (!expected_delimiter && *p == ':') {
- /* %: is not a digraph if preceded by an odd number of '<'s. */
- U_CHAR *p0 = p - 1;
- while (buf < p0 && p0[-1] == '<')
- p0--;
- if ((p - p0) & 1) {
- /* Treat %:%: as ## and %: as #. */
- if (p[1] == '%' && p[2] == ':') {
- p += 2;
- goto sharp_sharp_token;
- }
- if (nargs >= 0) {
- p++;
- goto sharp_token;
- }
- }
- }
- break;
-
- case '#':
- /* # is ordinary inside a string. */
- if (expected_delimiter)
- break;
- if (*p == '#') {
- sharp_sharp_token:
- /* ##: concatenate preceding and following tokens. */
- /* Take out the first #, discard preceding whitespace. */
- exp_p--;
- while (exp_p > lastp && is_hor_space[exp_p[-1]])
- --exp_p;
- /* Skip the second #. */
- p++;
- concat_sharp_token_type = c;
- if (is_hor_space[*p]) {
- concat_sharp_token_type = c + 1;
- p++;
- SKIP_WHITE_SPACE (p);
- }
- concat = p;
- if (p == limit)
- error ("`##' at end of macro definition");
- } else if (nargs >= 0) {
- /* Single #: stringify following argument ref.
- Don't leave the # in the expansion. */
- sharp_token:
- exp_p--;
- stringify_sharp_token_type = c;
- if (is_hor_space[*p]) {
- stringify_sharp_token_type = c + 1;
- p++;
- SKIP_WHITE_SPACE (p);
- }
- if (! is_idstart[*p] || nargs == 0
- || (*p == 'L' && (p[1] == '\'' || p[1] == '"')))
- error ("`#' operator is not followed by a macro argument name");
- else
- stringify = p;
- }
- break;
- }
- } else {
- /* In -traditional mode, recognize arguments inside strings and
- character constants, and ignore special properties of #.
- Arguments inside strings are considered "stringified", but no
- extra quote marks are supplied. */
- switch (c) {
- case '\'':
- case '\"':
- if (expected_delimiter != '\0') {
- if (c == expected_delimiter)
- expected_delimiter = '\0';
- } else
- expected_delimiter = c;
- break;
-
- case '\\':
- /* Backslash quotes delimiters and itself, but not macro args. */
- if (expected_delimiter != 0 && p < limit
- && (*p == expected_delimiter || *p == '\\')) {
- *exp_p++ = *p++;
- continue;
- }
- break;
-
- case '/':
- if (expected_delimiter != '\0') /* No comments inside strings. */
- break;
- if (*p == '*') {
- /* If we find a comment that wasn't removed by handle_directive,
- this must be -traditional. So replace the comment with
- nothing at all. */
- exp_p--;
- while (++p < limit) {
- if (p[0] == '*' && p[1] == '/') {
- p += 2;
- break;
- }
- }
-#if 0
- /* Mark this as a concatenation-point, as if it had been ##. */
- concat = p;
-#endif
- }
- break;
- }
- }
-
-#ifdef MULTIBYTE_CHARS
-/* CYGNUS LOCAL chill */
- if (! chill)
-/* END CYGNUS LOCAL chill */
- {
- /* Handle multibyte characters inside string and character literals. */
- if (expected_delimiter != '\0')
- {
- int length;
- --p;
- length = local_mblen (p, limit - p);
- if (length > 1)
- {
- --exp_p;
- bcopy (p, exp_p, length);
- p += length;
- exp_p += length;
- continue;
- }
- ++p;
- }
- }
-#endif
-
- /* Handle the start of a symbol. */
- if (is_idchar[c] && nargs > 0) {
- U_CHAR *id_beg = p - 1;
- int id_len;
-
- --exp_p;
- while (p != limit && is_idchar[*p]) p++;
- id_len = p - id_beg;
-
- if (is_idstart[c]
- && ! (id_len == 1 && c == 'L' && (*p == '\'' || *p == '"'))) {
- register struct arglist *arg;
-
- for (arg = arglist; arg != NULL; arg = arg->next) {
- struct reflist *tpat;
-
- if (arg->name[0] == c
- && arg->length == id_len
- && bcmp (arg->name, id_beg, id_len) == 0) {
- enum sharp_token_type tpat_stringify;
- if (expected_delimiter) {
- if (warn_stringify) {
- if (traditional) {
- warning ("macro argument `%.*s' is stringified.",
- id_len, arg->name);
- } else {
- warning ("macro arg `%.*s' would be stringified with -traditional.",
- id_len, arg->name);
- }
- }
- /* If ANSI, don't actually substitute inside a string. */
- if (!traditional)
- break;
- tpat_stringify = SHARP_TOKEN;
- } else {
- tpat_stringify
- = (stringify == id_beg
- ? stringify_sharp_token_type : NO_SHARP_TOKEN);
- }
- /* make a pat node for this arg and append it to the end of
- the pat list */
- tpat = (struct reflist *) xmalloc (sizeof (struct reflist));
- tpat->next = NULL;
- tpat->raw_before
- = concat == id_beg ? concat_sharp_token_type : NO_SHARP_TOKEN;
- tpat->raw_after = NO_SHARP_TOKEN;
- tpat->rest_args = arg->rest_args;
- tpat->stringify = tpat_stringify;
-
- if (endpat == NULL)
- defn->pattern = tpat;
- else
- endpat->next = tpat;
- endpat = tpat;
-
- tpat->argno = arg->argno;
- tpat->nchars = exp_p - lastp;
- {
- register U_CHAR *p1 = p;
- SKIP_WHITE_SPACE (p1);
- if (p1[0]=='#'
- ? p1[1]=='#'
- : p1[0]=='%' && p1[1]==':' && p1[2]=='%' && p1[3]==':')
- tpat->raw_after = p1[0] + (p != p1);
- }
- lastp = exp_p; /* place to start copying from next time */
- skipped_arg = 1;
- break;
- }
- }
- }
-
- /* If this was not a macro arg, copy it into the expansion. */
- if (! skipped_arg) {
- register U_CHAR *lim1 = p;
- p = id_beg;
- while (p != lim1)
- *exp_p++ = *p++;
- if (stringify == id_beg)
- error ("`#' operator should be followed by a macro argument name");
- }
- }
- }
-
- if (!traditional && expected_delimiter == 0) {
- /* If ANSI, put in a newline-space marker to prevent token pasting.
- But not if "inside a string" (which in ANSI mode happens only for
- -D option). */
- *exp_p++ = '\n';
- *exp_p++ = ' ';
- }
-
- *exp_p = '\0';
-
- defn->length = exp_p - defn->expansion;
-
- /* Crash now if we overrun the allocated size. */
- if (defn->length + 1 > maxsize)
- abort ();
-
-#if 0
-/* This isn't worth the time it takes. */
- /* give back excess storage */
- defn->expansion = (U_CHAR *) xrealloc (defn->expansion, defn->length + 1);
-#endif
-
- return defn;
-}
-
-static int
-do_assert (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op ATTRIBUTE_UNUSED;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- U_CHAR *bp; /* temp ptr into input buffer */
- U_CHAR *symname; /* remember where symbol name starts */
- int sym_length; /* and how long it is */
- struct arglist *tokens = NULL;
-
- if (pedantic && done_initializing && !instack[indepth].system_header_p)
- pedwarn ("ANSI C does not allow `#assert'");
-
- bp = buf;
-
- while (is_hor_space[*bp])
- bp++;
-
- symname = bp; /* remember where it starts */
- sym_length = check_macro_name (bp, "assertion");
- bp += sym_length;
- /* #define doesn't do this, but we should. */
- SKIP_WHITE_SPACE (bp);
-
- /* Lossage will occur if identifiers or control tokens are broken
- across lines using backslash. This is not the right place to take
- care of that. */
-
- if (*bp != '(') {
- error ("missing token-sequence in `#assert'");
- return 1;
- }
-
- {
- int error_flag = 0;
-
- bp++; /* skip '(' */
- SKIP_WHITE_SPACE (bp);
-
- tokens = read_token_list (&bp, limit, &error_flag);
- if (error_flag)
- return 1;
- if (tokens == 0) {
- error ("empty token-sequence in `#assert'");
- return 1;
- }
-
- ++bp; /* skip paren */
- SKIP_WHITE_SPACE (bp);
- }
-
- /* If this name isn't already an assertion name, make it one.
- Error if it was already in use in some other way. */
-
- {
- ASSERTION_HASHNODE *hp;
- int hashcode = hashf (symname, sym_length, ASSERTION_HASHSIZE);
- struct tokenlist_list *value
- = (struct tokenlist_list *) xmalloc (sizeof (struct tokenlist_list));
-
- hp = assertion_lookup (symname, sym_length, hashcode);
- if (hp == NULL) {
- if (sym_length == 7 && ! bcmp (symname, "defined", 7))
- error ("`defined' redefined as assertion");
- hp = assertion_install (symname, sym_length, hashcode);
- }
-
- /* Add the spec'd token-sequence to the list of such. */
- value->tokens = tokens;
- value->next = hp->value;
- hp->value = value;
- }
-
- return 0;
-}
-
-static int
-do_unassert (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op ATTRIBUTE_UNUSED;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- U_CHAR *bp; /* temp ptr into input buffer */
- U_CHAR *symname; /* remember where symbol name starts */
- int sym_length; /* and how long it is */
-
- struct arglist *tokens = NULL;
- int tokens_specified = 0;
-
- if (pedantic && done_initializing && !instack[indepth].system_header_p)
- pedwarn ("ANSI C does not allow `#unassert'");
-
- bp = buf;
-
- while (is_hor_space[*bp])
- bp++;
-
- symname = bp; /* remember where it starts */
- sym_length = check_macro_name (bp, "assertion");
- bp += sym_length;
- /* #define doesn't do this, but we should. */
- SKIP_WHITE_SPACE (bp);
-
- /* Lossage will occur if identifiers or control tokens are broken
- across lines using backslash. This is not the right place to take
- care of that. */
-
- if (*bp == '(') {
- int error_flag = 0;
-
- bp++; /* skip '(' */
- SKIP_WHITE_SPACE (bp);
-
- tokens = read_token_list (&bp, limit, &error_flag);
- if (error_flag)
- return 1;
- if (tokens == 0) {
- error ("empty token list in `#unassert'");
- return 1;
- }
-
- tokens_specified = 1;
-
- ++bp; /* skip paren */
- SKIP_WHITE_SPACE (bp);
- }
-
- {
- ASSERTION_HASHNODE *hp;
- int hashcode = hashf (symname, sym_length, ASSERTION_HASHSIZE);
- struct tokenlist_list *tail, *prev;
-
- hp = assertion_lookup (symname, sym_length, hashcode);
- if (hp == NULL)
- return 1;
-
- /* If no token list was specified, then eliminate this assertion
- entirely. */
- if (! tokens_specified) {
- struct tokenlist_list *next;
- for (tail = hp->value; tail; tail = next) {
- next = tail->next;
- free_token_list (tail->tokens);
- free (tail);
- }
- delete_assertion (hp);
- } else {
- /* If a list of tokens was given, then delete any matching list. */
-
- tail = hp->value;
- prev = 0;
- while (tail) {
- struct tokenlist_list *next = tail->next;
- if (compare_token_lists (tail->tokens, tokens)) {
- if (prev)
- prev->next = next;
- else
- hp->value = tail->next;
- free_token_list (tail->tokens);
- free (tail);
- } else {
- prev = tail;
- }
- tail = next;
- }
- }
- }
-
- return 0;
-}
-
-/* Test whether there is an assertion named NAME
- and optionally whether it has an asserted token list TOKENS.
- NAME is not null terminated; its length is SYM_LENGTH.
- If TOKENS_SPECIFIED is 0, then don't check for any token list. */
-
-int
-check_assertion (name, sym_length, tokens_specified, tokens)
- U_CHAR *name;
- int sym_length;
- int tokens_specified;
- struct arglist *tokens;
-{
- ASSERTION_HASHNODE *hp;
- int hashcode = hashf (name, sym_length, ASSERTION_HASHSIZE);
-
- if (pedantic && !instack[indepth].system_header_p)
- pedwarn ("ANSI C does not allow testing assertions");
-
- hp = assertion_lookup (name, sym_length, hashcode);
- if (hp == NULL)
- /* It is not an assertion; just return false. */
- return 0;
-
- /* If no token list was specified, then value is 1. */
- if (! tokens_specified)
- return 1;
-
- {
- struct tokenlist_list *tail;
-
- tail = hp->value;
-
- /* If a list of tokens was given,
- then succeed if the assertion records a matching list. */
-
- while (tail) {
- if (compare_token_lists (tail->tokens, tokens))
- return 1;
- tail = tail->next;
- }
-
- /* Fail if the assertion has no matching list. */
- return 0;
- }
-}
-
-/* Compare two lists of tokens for equality including order of tokens. */
-
-static int
-compare_token_lists (l1, l2)
- struct arglist *l1, *l2;
-{
- while (l1 && l2) {
- if (l1->length != l2->length)
- return 0;
- if (bcmp (l1->name, l2->name, l1->length))
- return 0;
- l1 = l1->next;
- l2 = l2->next;
- }
-
- /* Succeed if both lists end at the same time. */
- return l1 == l2;
-}
-
-/* Read a space-separated list of tokens ending in a close parenthesis.
- Return a list of strings, in the order they were written.
- (In case of error, return 0 and store -1 in *ERROR_FLAG.)
- Parse the text starting at *BPP, and update *BPP.
- Don't parse beyond LIMIT. */
-
-static struct arglist *
-read_token_list (bpp, limit, error_flag)
- U_CHAR **bpp;
- U_CHAR *limit;
- int *error_flag;
-{
- struct arglist *token_ptrs = 0;
- U_CHAR *bp = *bpp;
- int depth = 1;
-
- *error_flag = 0;
-
- /* Loop over the assertion value tokens. */
- while (depth > 0) {
- struct arglist *temp;
- int eofp = 0;
- U_CHAR *beg = bp;
-
- /* Find the end of the token. */
- if (*bp == '(') {
- bp++;
- depth++;
- } else if (*bp == ')') {
- depth--;
- if (depth == 0)
- break;
- bp++;
- } else if (*bp == '"' || *bp == '\'')
- bp = skip_quoted_string (bp, limit, 0, NULL_PTR, NULL_PTR, &eofp);
- else
- while (! is_hor_space[*bp] && *bp != '(' && *bp != ')'
- && *bp != '"' && *bp != '\'' && bp != limit)
- bp++;
-
- temp = (struct arglist *) xmalloc (sizeof (struct arglist));
- temp->name = (U_CHAR *) xmalloc (bp - beg + 1);
- bcopy ((char *) beg, (char *) temp->name, bp - beg);
- temp->name[bp - beg] = 0;
- temp->next = token_ptrs;
- token_ptrs = temp;
- temp->length = bp - beg;
-
- SKIP_WHITE_SPACE (bp);
-
- if (bp >= limit) {
- error ("unterminated token sequence in `#assert' or `#unassert'");
- *error_flag = -1;
- return 0;
- }
- }
- *bpp = bp;
-
- /* We accumulated the names in reverse order.
- Now reverse them to get the proper order. */
- {
- register struct arglist *prev = 0, *this, *next;
- for (this = token_ptrs; this; this = next) {
- next = this->next;
- this->next = prev;
- prev = this;
- }
- return prev;
- }
-}
-
-static void
-free_token_list (tokens)
- struct arglist *tokens;
-{
- while (tokens) {
- struct arglist *next = tokens->next;
- free (tokens->name);
- free (tokens);
- tokens = next;
- }
-}
-
-/* Install a name in the assertion hash table.
-
- If LEN is >= 0, it is the length of the name.
- Otherwise, compute the length by scanning the entire name.
-
- If HASH is >= 0, it is the precomputed hash code.
- Otherwise, compute the hash code. */
-
-static ASSERTION_HASHNODE *
-assertion_install (name, len, hash)
- U_CHAR *name;
- int len;
- int hash;
-{
- register ASSERTION_HASHNODE *hp;
- register int i, bucket;
- register U_CHAR *p, *q;
-
- i = sizeof (ASSERTION_HASHNODE) + len + 1;
- hp = (ASSERTION_HASHNODE *) xmalloc (i);
- bucket = hash;
- hp->bucket_hdr = &assertion_hashtab[bucket];
- hp->next = assertion_hashtab[bucket];
- assertion_hashtab[bucket] = hp;
- hp->prev = NULL;
- if (hp->next != NULL)
- hp->next->prev = hp;
- hp->length = len;
- hp->value = 0;
- hp->name = ((U_CHAR *) hp) + sizeof (ASSERTION_HASHNODE);
- p = hp->name;
- q = name;
- for (i = 0; i < len; i++)
- *p++ = *q++;
- hp->name[len] = 0;
- return hp;
-}
-
-/* Find the most recent hash node for name "name" (ending with first
- non-identifier char) installed by install
-
- If LEN is >= 0, it is the length of the name.
- Otherwise, compute the length by scanning the entire name.
-
- If HASH is >= 0, it is the precomputed hash code.
- Otherwise, compute the hash code. */
-
-static ASSERTION_HASHNODE *
-assertion_lookup (name, len, hash)
- U_CHAR *name;
- int len;
- int hash;
-{
- register ASSERTION_HASHNODE *bucket;
-
- bucket = assertion_hashtab[hash];
- while (bucket) {
- if (bucket->length == len && bcmp (bucket->name, name, len) == 0)
- return bucket;
- bucket = bucket->next;
- }
- return NULL;
-}
-
-static void
-delete_assertion (hp)
- ASSERTION_HASHNODE *hp;
-{
-
- if (hp->prev != NULL)
- hp->prev->next = hp->next;
- if (hp->next != NULL)
- hp->next->prev = hp->prev;
-
- /* Make sure that the bucket chain header that the deleted guy was
- on points to the right thing afterwards. */
- if (hp == *hp->bucket_hdr)
- *hp->bucket_hdr = hp->next;
-
- free (hp);
-}
-
-/*
- * interpret #line directive. Remembers previously seen fnames
- * in its very own hash table.
- */
-#define FNAME_HASHSIZE 37
-
-static int
-do_line (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- register U_CHAR *bp;
- FILE_BUF *ip = &instack[indepth];
- FILE_BUF tem;
- int new_lineno;
- enum file_change_code file_change = same_file;
-
- /* Expand any macros. */
- tem = expand_to_temp_buffer (buf, limit, 0, 0);
-
- /* Point to macroexpanded line, which is null-terminated now. */
- bp = tem.buf;
- SKIP_WHITE_SPACE (bp);
-
- if (!ISDIGIT (*bp)) {
- error ("invalid format `#line' directive");
- return 0;
- }
-
- /* The Newline at the end of this line remains to be processed.
- To put the next line at the specified line number,
- we must store a line number now that is one less. */
- new_lineno = atoi ((char *) bp) - 1;
-
- /* NEW_LINENO is one less than the actual line number here. */
- if (pedantic && new_lineno < 0)
- pedwarn ("line number out of range in `#line' directive");
-
- /* skip over the line number. */
- while (ISDIGIT (*bp))
- bp++;
-
-#if 0 /* #line 10"foo.c" is supposed to be allowed. */
- if (*bp && !is_space[*bp]) {
- error ("invalid format `#line' directive");
- return;
- }
-#endif
-
- SKIP_WHITE_SPACE (bp);
-
- if (*bp == '\"') {
- static HASHNODE *fname_table[FNAME_HASHSIZE];
- HASHNODE *hp, **hash_bucket;
- U_CHAR *fname, *p;
- int fname_length;
-
- fname = ++bp;
-
- /* Turn the file name, which is a character string literal,
- into a null-terminated string. Do this in place. */
- p = bp;
- for (;;)
- switch ((*p++ = *bp++)) {
- case '\0':
- error ("invalid format `#line' directive");
- return 0;
-
- case '\\':
- if (! ignore_escape_flag)
- {
- char *bpc = (char *) bp;
- HOST_WIDE_INT c = parse_escape (&bpc, (HOST_WIDE_INT) (U_CHAR) (-1));
- bp = (U_CHAR *) bpc;
- if (c < 0)
- p--;
- else
- p[-1] = c;
- }
- break;
-
- case '\"':
- *--p = 0;
- goto fname_done;
- }
- fname_done:
- fname_length = p - fname;
-
- SKIP_WHITE_SPACE (bp);
- if (*bp) {
- if (pedantic)
- pedwarn ("garbage at end of `#line' directive");
- if (*bp == '1')
- file_change = enter_file;
- else if (*bp == '2')
- file_change = leave_file;
- else if (*bp == '3')
- ip->system_header_p = 1;
- else if (*bp == '4')
- ip->system_header_p = 2;
- else {
- error ("invalid format `#line' directive");
- return 0;
- }
-
- bp++;
- SKIP_WHITE_SPACE (bp);
- if (*bp == '3') {
- ip->system_header_p = 1;
- bp++;
- SKIP_WHITE_SPACE (bp);
- }
- if (*bp == '4') {
- ip->system_header_p = 2;
- bp++;
- SKIP_WHITE_SPACE (bp);
- }
- if (*bp) {
- error ("invalid format `#line' directive");
- return 0;
- }
- }
-
- hash_bucket = &fname_table[hashf (fname, fname_length, FNAME_HASHSIZE)];
- for (hp = *hash_bucket; hp != NULL; hp = hp->next)
- if (hp->length == fname_length &&
- bcmp (hp->value.cpval, fname, fname_length) == 0) {
- ip->nominal_fname = hp->value.cpval;
- ip->nominal_fname_len = fname_length;
- break;
- }
- if (hp == 0) {
- /* Didn't find it; cons up a new one. */
- hp = (HASHNODE *) xcalloc (1, sizeof (HASHNODE) + fname_length + 1);
- hp->next = *hash_bucket;
- *hash_bucket = hp;
-
- ip->nominal_fname = hp->value.cpval = ((char *) hp) + sizeof (HASHNODE);
- ip->nominal_fname_len = hp->length = fname_length;
- bcopy (fname, hp->value.cpval, fname_length + 1);
- }
- } else if (*bp) {
- error ("invalid format `#line' directive");
- return 0;
- }
-
- ip->lineno = new_lineno;
- output_line_directive (ip, op, 0, file_change);
- check_expand (op, ip->length - (ip->bufp - ip->buf));
- return 0;
-}
-
-/* Remove the definition of a symbol from the symbol table.
- according to un*x /lib/cpp, it is not an error to undef
- something that has no definitions, so it isn't one here either. */
-
-static int
-do_undef (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword;
-{
- int sym_length;
- HASHNODE *hp;
- U_CHAR *orig_buf = buf;
-
- /* If this is a precompiler run (with -pcp) pass thru #undef directives. */
- if (pcp_outfile && op)
- pass_thru_directive (buf, limit, op, keyword);
-
- SKIP_WHITE_SPACE (buf);
- sym_length = check_macro_name (buf, "macro");
-
- while ((hp = lookup (buf, sym_length, -1)) != NULL) {
- /* If we are generating additional info for debugging (with -g) we
- need to pass through all effective #undef directives. */
- if (debug_output && op)
- pass_thru_directive (orig_buf, limit, op, keyword);
- if (hp->type != T_MACRO)
- warning ("undefining `%s'", hp->name);
- delete_macro (hp);
- }
-
- if (pedantic) {
- buf += sym_length;
- SKIP_WHITE_SPACE (buf);
- if (buf != limit)
- pedwarn ("garbage after `#undef' directive");
- }
- return 0;
-}
-
-/* Report an error detected by the program we are processing.
- Use the text of the line in the error message.
- (We use error because it prints the filename & line#.) */
-
-static int
-do_error (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op ATTRIBUTE_UNUSED;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- int length = limit - buf;
- U_CHAR *copy = (U_CHAR *) alloca (length + 1);
- bcopy ((char *) buf, (char *) copy, length);
- copy[length] = 0;
- SKIP_WHITE_SPACE (copy);
- error ("#error %s", copy);
- return 0;
-}
-
-/* Report a warning detected by the program we are processing.
- Use the text of the line in the warning message, then continue.
- (We use error because it prints the filename & line#.) */
-
-static int
-do_warning (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op ATTRIBUTE_UNUSED;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- int length = limit - buf;
- U_CHAR *copy = (U_CHAR *) alloca (length + 1);
- bcopy ((char *) buf, (char *) copy, length);
- copy[length] = 0;
- SKIP_WHITE_SPACE (copy);
-
- if (pedantic && !instack[indepth].system_header_p)
- pedwarn ("ANSI C does not allow `#warning'");
-
- /* Use `pedwarn' not `warning', because #warning isn't in the C Standard;
- if -pedantic-errors is given, #warning should cause an error. */
- pedwarn ("#warning %s", copy);
- return 0;
-}
-
-/* Remember the name of the current file being read from so that we can
- avoid ever including it again. */
-
-static void
-do_once ()
-{
- int i;
-
- for (i = indepth; i >= 0; i--)
- if (instack[i].inc) {
- record_control_macro (instack[i].inc, (U_CHAR *) "");
- break;
- }
-}
-
-/* Report program identification. */
-
-static int
-do_ident (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- FILE_BUF trybuf;
- int len;
-
- /* Allow #ident in system headers, since that's not user's fault. */
- if (pedantic && !instack[indepth].system_header_p)
- pedwarn ("ANSI C does not allow `#ident'");
-
- trybuf = expand_to_temp_buffer (buf, limit, 0, 0);
- buf = trybuf.buf;
- len = trybuf.bufp - buf;
-
- /* Output expanded directive. */
- check_expand (op, 7 + len);
- bcopy ("#ident ", (char *) op->bufp, 7);
- op->bufp += 7;
- bcopy ((char *) buf, (char *) op->bufp, len);
- op->bufp += len;
-
- free (buf);
- return 0;
-}
-
-/* #pragma and its argument line have already been copied to the output file.
- Just check for some recognized pragmas that need validation here. */
-
-static int
-do_pragma (buf, limit, op, keyword)
- U_CHAR *buf, *limit ATTRIBUTE_UNUSED;
- FILE_BUF *op ATTRIBUTE_UNUSED;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- SKIP_WHITE_SPACE (buf);
- if (!strncmp ((char *) buf, "once", 4)) {
- /* Allow #pragma once in system headers, since that's not the user's
- fault. */
- if (!instack[indepth].system_header_p)
- warning ("`#pragma once' is obsolete");
- do_once ();
- }
-
- if (!strncmp ((char *) buf, "implementation", 14)) {
- /* Be quiet about `#pragma implementation' for a file only if it hasn't
- been included yet. */
-
- int h;
- U_CHAR *p = buf + 14, *fname;
- SKIP_WHITE_SPACE (p);
- if (*p != '\"')
- return 0;
-
- fname = p + 1;
- if ((p = (U_CHAR *) index ((char *) fname, '\"')))
- *p = '\0';
-
- for (h = 0; h < INCLUDE_HASHSIZE; h++) {
- struct include_file *inc;
- for (inc = include_hashtab[h]; inc; inc = inc->next) {
- if (!strcmp (base_name (inc->fname), (char *) fname)) {
- warning ("`#pragma implementation' for \"%s\" appears after its #include",fname);
- return 0;
- }
- }
- }
- }
- return 0;
-}
-
-#if 0
-/* This was a fun hack, but #pragma seems to start to be useful.
- By failing to recognize it, we pass it through unchanged to cc1. */
-
-/* The behavior of the #pragma directive is implementation defined.
- this implementation defines it as follows. */
-
-static int
-do_pragma ()
-{
- close (0);
- if (open ("/dev/tty", O_RDONLY, 0666) != 0)
- goto nope;
- close (1);
- if (open ("/dev/tty", O_WRONLY, 0666) != 1)
- goto nope;
- execl ("/usr/games/hack", "#pragma", 0);
- execl ("/usr/games/rogue", "#pragma", 0);
- execl ("/usr/new/emacs", "-f", "hanoi", "9", "-kill", 0);
- execl ("/usr/local/emacs", "-f", "hanoi", "9", "-kill", 0);
-nope:
- fatal ("You are in a maze of twisty compiler features, all different");
-}
-#endif
-
-#ifdef SCCS_DIRECTIVE
-
-/* Just ignore #sccs, on systems where we define it at all. */
-
-static int
-do_sccs (buf, limit, op, keyword)
- U_CHAR *buf ATTRIBUTE_UNUSED, *limit ATTRIBUTE_UNUSED;
- FILE_BUF *op ATTRIBUTE_UNUSED;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- if (pedantic)
- pedwarn ("ANSI C does not allow `#sccs'");
- return 0;
-}
-
-#endif /* defined (SCCS_DIRECTIVE) */
-
-/* Handle #if directive by
- 1) inserting special `defined' keyword into the hash table
- that gets turned into 0 or 1 by special_symbol (thus,
- if the luser has a symbol called `defined' already, it won't
- work inside the #if directive)
- 2) rescan the input into a temporary output buffer
- 3) pass the output buffer to the yacc parser and collect a value
- 4) clean up the mess left from steps 1 and 2.
- 5) call conditional_skip to skip til the next #endif (etc.),
- or not, depending on the value from step 3. */
-
-static int
-do_if (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- HOST_WIDE_INT value;
- FILE_BUF *ip = &instack[indepth];
-
- value = eval_if_expression (buf, limit - buf);
- conditional_skip (ip, value == 0, T_IF, NULL_PTR, op);
- return 0;
-}
-
-/* Handle a #elif directive by not changing if_stack either.
- see the comment above do_else. */
-
-static int
-do_elif (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- HOST_WIDE_INT value;
- FILE_BUF *ip = &instack[indepth];
-
- if (if_stack == instack[indepth].if_stack) {
- error ("`#elif' not within a conditional");
- return 0;
- } else {
- if (if_stack->type != T_IF && if_stack->type != T_ELIF) {
- error ("`#elif' after `#else'");
- fprintf (stderr, " (matches line %d", if_stack->lineno);
- if (! (if_stack->fname_len == ip->nominal_fname_len
- && !bcmp (if_stack->fname, ip->nominal_fname,
- if_stack->fname_len))) {
- fprintf (stderr, ", file ");
- eprint_string (if_stack->fname, if_stack->fname_len);
- }
- fprintf (stderr, ")\n");
- }
- if_stack->type = T_ELIF;
- }
-
- if (if_stack->if_succeeded)
- skip_if_group (ip, 0, op);
- else {
- value = eval_if_expression (buf, limit - buf);
- if (value == 0)
- skip_if_group (ip, 0, op);
- else {
- ++if_stack->if_succeeded; /* continue processing input */
- output_line_directive (ip, op, 1, same_file);
- }
- }
- return 0;
-}
-
-/* Evaluate a #if expression in BUF, of length LENGTH, then parse the
- result as a C expression and return the value as an int. */
-
-static HOST_WIDE_INT
-eval_if_expression (buf, length)
- U_CHAR *buf;
- int length;
-{
- FILE_BUF temp_obuf;
- HASHNODE *save_defined;
- HOST_WIDE_INT value;
-
- save_defined = install ((U_CHAR *) "defined", -1, T_SPEC_DEFINED,
- NULL_PTR, -1);
- pcp_inside_if = 1;
- temp_obuf = expand_to_temp_buffer (buf, buf + length, 0, 1);
- pcp_inside_if = 0;
- delete_macro (save_defined); /* clean up special symbol */
-
- temp_obuf.buf[temp_obuf.length] = '\n';
- value = parse_c_expression ((char *) temp_obuf.buf,
- warn_undef && !instack[indepth].system_header_p);
-
- free (temp_obuf.buf);
-
- return value;
-}
-
-/* routine to handle ifdef/ifndef. Try to look up the symbol, then do
- or don't skip to the #endif/#else/#elif depending on what directive
- is actually being processed. */
-
-static int
-do_xifdef (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword;
-{
- int skip;
- FILE_BUF *ip = &instack[indepth];
- U_CHAR *end;
- int start_of_file = 0;
- U_CHAR *control_macro = 0;
-
- /* Detect a #ifndef at start of file (not counting comments). */
- if (ip->fname != 0 && keyword->type == T_IFNDEF) {
- U_CHAR *p = ip->buf;
- while (p != directive_start) {
- U_CHAR c = *p++;
- if (is_space[c])
- ;
- /* Make no special provision for backslash-newline here; this is
- slower if backslash-newlines are present, but it's correct,
- and it's not worth it to tune for the rare backslash-newline. */
- else if (c == '/'
- && (*p == '*' || (cplusplus_comments && *p == '/'))) {
- /* Skip this comment. */
- int junk = 0;
- U_CHAR *save_bufp = ip->bufp;
- ip->bufp = p + 1;
- p = skip_to_end_of_comment (ip, &junk, 1);
- ip->bufp = save_bufp;
- } else {
- goto fail;
- }
- }
- /* If we get here, this conditional is the beginning of the file. */
- start_of_file = 1;
- fail: ;
- }
-
- /* Discard leading and trailing whitespace. */
- SKIP_WHITE_SPACE (buf);
- while (limit != buf && is_hor_space[limit[-1]]) limit--;
-
- /* Find the end of the identifier at the beginning. */
- for (end = buf; is_idchar[*end]; end++);
-
- if (end == buf) {
- skip = (keyword->type == T_IFDEF);
- if (! traditional)
- pedwarn (end == limit ? "`#%s' with no argument"
- : "`#%s' argument starts with punctuation",
- keyword->name);
- } else {
- HASHNODE *hp;
-
- if (! traditional) {
- if (ISDIGIT (buf[0]))
- pedwarn ("`#%s' argument starts with a digit", keyword->name);
- else if (end != limit)
- pedwarn ("garbage at end of `#%s' argument", keyword->name);
- }
-
- hp = lookup (buf, end-buf, -1);
-
- if (pcp_outfile) {
- /* Output a precondition for this macro. */
- if (hp
- && (hp->type == T_CONST
- || (hp->type == T_MACRO && hp->value.defn->predefined)))
- fprintf (pcp_outfile, "#define %s\n", hp->name);
- else {
- U_CHAR *cp = buf;
- fprintf (pcp_outfile, "#undef ");
- while (is_idchar[*cp]) /* Ick! */
- fputc (*cp++, pcp_outfile);
- putc ('\n', pcp_outfile);
- }
- }
-
- skip = (hp == NULL) ^ (keyword->type == T_IFNDEF);
- if (start_of_file && !skip) {
- control_macro = (U_CHAR *) xmalloc (end - buf + 1);
- bcopy ((char *) buf, (char *) control_macro, end - buf);
- control_macro[end - buf] = 0;
- }
- }
-
- conditional_skip (ip, skip, T_IF, control_macro, op);
- return 0;
-}
-
-/* Push TYPE on stack; then, if SKIP is nonzero, skip ahead.
- If this is a #ifndef starting at the beginning of a file,
- CONTROL_MACRO is the macro name tested by the #ifndef.
- Otherwise, CONTROL_MACRO is 0. */
-
-static void
-conditional_skip (ip, skip, type, control_macro, op)
- FILE_BUF *ip;
- int skip;
- enum node_type type;
- U_CHAR *control_macro;
- FILE_BUF *op;
-{
- IF_STACK_FRAME *temp;
-
- temp = (IF_STACK_FRAME *) xcalloc (1, sizeof (IF_STACK_FRAME));
- temp->fname = ip->nominal_fname;
- temp->fname_len = ip->nominal_fname_len;
- temp->lineno = ip->lineno;
- temp->next = if_stack;
- temp->control_macro = control_macro;
- if_stack = temp;
-
- if_stack->type = type;
-
- if (skip != 0) {
- skip_if_group (ip, 0, op);
- return;
- } else {
- ++if_stack->if_succeeded;
- output_line_directive (ip, &outbuf, 1, same_file);
- }
-}
-
-/* Skip to #endif, #else, or #elif. adjust line numbers, etc.
- Leaves input ptr at the sharp sign found.
- If ANY is nonzero, return at next directive of any sort. */
-
-static void
-skip_if_group (ip, any, op)
- FILE_BUF *ip;
- int any;
- FILE_BUF *op;
-{
- register U_CHAR *bp = ip->bufp, *cp;
- register U_CHAR *endb = ip->buf + ip->length;
- struct directive *kt;
- IF_STACK_FRAME *save_if_stack = if_stack; /* don't pop past here */
- U_CHAR *beg_of_line = bp;
- register int ident_length;
- U_CHAR *ident, *after_ident;
- /* Save info about where the group starts. */
- U_CHAR *beg_of_group = bp;
- int beg_lineno = ip->lineno;
- int skipping_include_directive = 0;
-
- if (output_conditionals && op != 0) {
- char *ptr = "#failed\n";
- int len = strlen (ptr);
-
- if (op->bufp > op->buf && op->bufp[-1] != '\n')
- {
- *op->bufp++ = '\n';
- op->lineno++;
- }
- check_expand (op, len);
- bcopy (ptr, (char *) op->bufp, len);
- op->bufp += len;
- op->lineno++;
- output_line_directive (ip, op, 1, 0);
- }
-
- while (bp < endb) {
- switch (*bp++) {
- case '/': /* possible comment */
- if (*bp == '\\' && bp[1] == '\n')
- newline_fix (bp);
- if (*bp == '*'
- || (cplusplus_comments && *bp == '/')) {
- ip->bufp = ++bp;
- bp = skip_to_end_of_comment (ip, &ip->lineno, 0);
- }
- break;
- case '<':
- if (skipping_include_directive) {
- while (bp < endb && *bp != '>' && *bp != '\n') {
- if (*bp == '\\' && bp[1] == '\n') {
- ip->lineno++;
- bp++;
- }
- bp++;
- }
- }
- break;
- case '\"':
- if (skipping_include_directive) {
- while (bp < endb && *bp != '\n') {
- if (*bp == '"') {
- bp++;
- break;
- }
- if (*bp == '\\' && bp[1] == '\n') {
- ip->lineno++;
- bp++;
- }
- bp++;
- }
- break;
- }
- /* Fall through. */
- case '\'':
- bp = skip_quoted_string (bp - 1, endb, ip->lineno, &ip->lineno,
- NULL_PTR, NULL_PTR);
- break;
- case '\\':
- /* Char after backslash loses its special meaning in some cases. */
- if (*bp == '\n') {
- ++ip->lineno;
- bp++;
- } else if (traditional && bp < endb)
- bp++;
- break;
- case '\n':
- ++ip->lineno;
- beg_of_line = bp;
- skipping_include_directive = 0;
- break;
- case '%':
- if (beg_of_line == 0 || traditional)
- break;
- ip->bufp = bp - 1;
- while (bp[0] == '\\' && bp[1] == '\n')
- bp += 2;
- if (*bp == ':')
- goto sharp_token;
- break;
- case '#':
- /* # keyword: a # must be first nonblank char on the line */
- if (beg_of_line == 0)
- break;
- ip->bufp = bp - 1;
- sharp_token:
- /* Scan from start of line, skipping whitespace, comments
- and backslash-newlines, and see if we reach this #.
- If not, this # is not special. */
- bp = beg_of_line;
- /* If -traditional, require # to be at beginning of line. */
- if (!traditional) {
- while (1) {
- if (is_hor_space[*bp])
- bp++;
- else if (*bp == '\\' && bp[1] == '\n')
- bp += 2;
- else if (*bp == '/' && bp[1] == '*') {
- bp += 2;
- while (1)
- {
- if (*bp == '*')
- {
- if (bp[1] == '/')
- {
- bp += 2;
- break;
- }
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (bp, endb - bp);
- if (length > 1)
- bp += (length - 1);
- }
-#endif
- }
- bp++;
- }
- }
- /* There is no point in trying to deal with C++ // comments here,
- because if there is one, then this # must be part of the
- comment and we would never reach here. */
- else break;
- }
- }
- if (bp != ip->bufp) {
- bp = ip->bufp + 1; /* Reset bp to after the #. */
- break;
- }
-
- bp = ip->bufp + 1; /* Point after the '#' */
- if (ip->bufp[0] == '%') {
- /* Skip past the ':' again. */
- while (*bp == '\\') {
- ip->lineno++;
- bp += 2;
- }
- bp++;
- }
-
- /* Skip whitespace and \-newline. */
- while (1) {
- if (is_hor_space[*bp])
- bp++;
- else if (*bp == '\\' && bp[1] == '\n')
- bp += 2;
- else if (*bp == '/') {
- if (bp[1] == '\\' && bp[2] == '\n')
- newline_fix (bp + 1);
- if (bp[1] == '*') {
- for (bp += 2; ; bp++) {
- if (*bp == '\n')
- ip->lineno++;
- else if (*bp == '*') {
- if (bp[-1] == '/' && warn_comments)
- warning ("`/*' within comment");
- if (bp[1] == '\\' && bp[2] == '\n')
- newline_fix (bp + 1);
- if (bp[1] == '/')
- break;
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (bp, endb - bp);
- if (length > 1)
- bp += (length - 1);
- }
-#endif
- }
- }
- bp += 2;
- } else if (bp[1] == '/' && cplusplus_comments) {
- for (bp += 2; ; bp++) {
- if (*bp == '\n')
- break;
- if (*bp == '\\' && bp[1] == '\n')
- {
- if (warn_comments)
- warning ("multiline `//' comment");
- ip->lineno++;
- bp++;
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (bp, endb - bp);
- if (length > 1)
- bp += (length - 1);
- }
-#endif
- }
- }
- } else
- break;
- } else
- break;
- }
-
- cp = bp;
-
- /* Now find end of directive name.
- If we encounter a backslash-newline, exchange it with any following
- symbol-constituents so that we end up with a contiguous name. */
-
- while (1) {
- if (is_idchar[*bp])
- bp++;
- else {
- if (*bp == '\\' && bp[1] == '\n')
- name_newline_fix (bp);
- if (is_idchar[*bp])
- bp++;
- else break;
- }
- }
- ident_length = bp - cp;
- ident = cp;
- after_ident = bp;
-
- /* A line of just `#' becomes blank. */
-
- if (ident_length == 0 && *after_ident == '\n') {
- continue;
- }
-
- if (ident_length == 0 || !is_idstart[*ident]) {
- U_CHAR *p = ident;
- while (is_idchar[*p]) {
- if (*p < '0' || *p > '9')
- break;
- p++;
- }
- /* Handle # followed by a line number. */
- if (p != ident && !is_idchar[*p]) {
- if (pedantic)
- pedwarn ("`#' followed by integer");
- continue;
- }
-
- /* Avoid error for `###' and similar cases unless -pedantic. */
- if (p == ident) {
- while (*p == '#' || is_hor_space[*p]) p++;
- if (*p == '\n') {
- if (pedantic && !lang_asm)
- pedwarn ("invalid preprocessing directive");
- continue;
- }
- }
-
- if (!lang_asm && pedantic)
- pedwarn ("invalid preprocessing directive name");
- continue;
- }
-
- for (kt = directive_table; kt->length >= 0; kt++) {
- IF_STACK_FRAME *temp;
- if (ident_length == kt->length
- && bcmp (cp, kt->name, kt->length) == 0) {
- /* If we are asked to return on next directive, do so now. */
- if (any)
- goto done;
-
- switch (kt->type) {
- case T_IF:
- case T_IFDEF:
- case T_IFNDEF:
- temp = (IF_STACK_FRAME *) xcalloc (1, sizeof (IF_STACK_FRAME));
- temp->next = if_stack;
- if_stack = temp;
- temp->lineno = ip->lineno;
- temp->fname = ip->nominal_fname;
- temp->fname_len = ip->nominal_fname_len;
- temp->type = kt->type;
- break;
- case T_ELSE:
- case T_ENDIF:
- if (pedantic && if_stack != save_if_stack)
- validate_else (bp, endb);
- case T_ELIF:
- if (if_stack == instack[indepth].if_stack) {
- error ("`#%s' not within a conditional", kt->name);
- break;
- }
- else if (if_stack == save_if_stack)
- goto done; /* found what we came for */
-
- if (kt->type != T_ENDIF) {
- if (if_stack->type == T_ELSE)
- error ("`#else' or `#elif' after `#else'");
- if_stack->type = kt->type;
- break;
- }
-
- temp = if_stack;
- if_stack = if_stack->next;
- free (temp);
- break;
-
- case T_INCLUDE:
- case T_INCLUDE_NEXT:
- case T_IMPORT:
- skipping_include_directive = 1;
- break;
-
- default:
- break;
- }
- break;
- }
- }
- /* Don't let erroneous code go by. */
- if (kt->length < 0 && !lang_asm && pedantic)
- pedwarn ("invalid preprocessing directive name");
- }
- }
-
- ip->bufp = bp;
- /* after this returns, rescan will exit because ip->bufp
- now points to the end of the buffer.
- rescan is responsible for the error message also. */
-
- done:
- if (output_conditionals && op != 0) {
- char *ptr = "#endfailed\n";
- int len = strlen (ptr);
-
- if (op->bufp > op->buf && op->bufp[-1] != '\n')
- {
- *op->bufp++ = '\n';
- op->lineno++;
- }
- check_expand (op, beg_of_line - beg_of_group);
- bcopy ((char *) beg_of_group, (char *) op->bufp,
- beg_of_line - beg_of_group);
- op->bufp += beg_of_line - beg_of_group;
- op->lineno += ip->lineno - beg_lineno;
- check_expand (op, len);
- bcopy (ptr, (char *) op->bufp, len);
- op->bufp += len;
- op->lineno++;
- }
-}
-
-/* Handle a #else directive. Do this by just continuing processing
- without changing if_stack ; this is so that the error message
- for missing #endif's etc. will point to the original #if. It
- is possible that something different would be better. */
-
-static int
-do_else (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- FILE_BUF *ip = &instack[indepth];
-
- if (pedantic) {
- SKIP_WHITE_SPACE (buf);
- if (buf != limit)
- pedwarn ("text following `#else' violates ANSI standard");
- }
-
- if (if_stack == instack[indepth].if_stack) {
- error ("`#else' not within a conditional");
- return 0;
- } else {
- /* #ifndef can't have its special treatment for containing the whole file
- if it has a #else clause. */
- if_stack->control_macro = 0;
-
- if (if_stack->type != T_IF && if_stack->type != T_ELIF) {
- error ("`#else' after `#else'");
- fprintf (stderr, " (matches line %d", if_stack->lineno);
- if (! (if_stack->fname_len == ip->nominal_fname_len
- && !bcmp (if_stack->fname, ip->nominal_fname,
- if_stack->fname_len))) {
- fprintf (stderr, ", file ");
- eprint_string (if_stack->fname, if_stack->fname_len);
- }
- fprintf (stderr, ")\n");
- }
- if_stack->type = T_ELSE;
- }
-
- if (if_stack->if_succeeded)
- skip_if_group (ip, 0, op);
- else {
- ++if_stack->if_succeeded; /* continue processing input */
- output_line_directive (ip, op, 1, same_file);
- }
- return 0;
-}
-
-/* Unstack after #endif directive. */
-
-static int
-do_endif (buf, limit, op, keyword)
- U_CHAR *buf, *limit;
- FILE_BUF *op;
- struct directive *keyword ATTRIBUTE_UNUSED;
-{
- if (pedantic) {
- SKIP_WHITE_SPACE (buf);
- if (buf != limit)
- pedwarn ("text following `#endif' violates ANSI standard");
- }
-
- if (if_stack == instack[indepth].if_stack)
- error ("unbalanced `#endif'");
- else {
- IF_STACK_FRAME *temp = if_stack;
- if_stack = if_stack->next;
- if (temp->control_macro != 0) {
- /* This #endif matched a #ifndef at the start of the file.
- See if it is at the end of the file. */
- FILE_BUF *ip = &instack[indepth];
- U_CHAR *p = ip->bufp;
- U_CHAR *ep = ip->buf + ip->length;
-
- while (p != ep) {
- U_CHAR c = *p++;
- if (!is_space[c]) {
- if (c == '/'
- && (*p == '*' || (cplusplus_comments && *p == '/'))) {
- /* Skip this comment. */
- int junk = 0;
- U_CHAR *save_bufp = ip->bufp;
- ip->bufp = p + 1;
- p = skip_to_end_of_comment (ip, &junk, 1);
- ip->bufp = save_bufp;
- } else
- goto fail;
- }
- }
- /* If we get here, this #endif ends a #ifndef
- that contains all of the file (aside from whitespace).
- Arrange not to include the file again
- if the macro that was tested is defined.
-
- Do not do this for the top-level file in a -include or any
- file in a -imacros. */
- if (indepth != 0
- && ! (indepth == 1 && no_record_file)
- && ! (no_record_file && no_output))
- record_control_macro (ip->inc, temp->control_macro);
- fail: ;
- }
- free (temp);
- output_line_directive (&instack[indepth], op, 1, same_file);
- }
- return 0;
-}
-
-/* When an #else or #endif is found while skipping failed conditional,
- if -pedantic was specified, this is called to warn about text after
- the directive name. P points to the first char after the directive
- name. */
-
-static void
-validate_else (p, limit)
- register U_CHAR *p;
- register U_CHAR *limit;
-{
- /* Advance P over whitespace and comments. */
- while (1) {
- while (*p == '\\' && p[1] == '\n')
- p += 2;
- if (is_hor_space[*p])
- p++;
- else if (*p == '/') {
- while (p[1] == '\\' && p[2] == '\n')
- p += 2;
- if (p[1] == '*') {
- /* Don't bother warning about unterminated comments
- since that will happen later. Just be sure to exit. */
- for (p += 2; ; p++) {
- if (p == limit)
- return;
- if (*p == '*') {
- while (p[1] == '\\' && p[2] == '\n')
- p += 2;
- if (p[1] == '/') {
- p += 2;
- break;
- }
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (p, limit - p);
- if (length > 1)
- p += (length - 1);
- }
-#endif
- }
- }
- }
- else if (cplusplus_comments && p[1] == '/')
- return;
- else break;
- } else break;
- }
- if (*p != '\n')
- pedwarn ("text following `#else' or `#endif' violates ANSI standard");
-}
-
-/* Skip a comment, assuming the input ptr immediately follows the
- initial slash-star. Bump *LINE_COUNTER for each newline.
- (The canonical line counter is &ip->lineno.)
- Don't use this routine (or the next one) if bumping the line
- counter is not sufficient to deal with newlines in the string.
-
- If NOWARN is nonzero, don't warn about slash-star inside a comment.
- This feature is useful when processing a comment that is going to
- be processed or was processed at another point in the preprocessor,
- to avoid a duplicate warning. Likewise for unterminated comment
- errors. */
-
-static U_CHAR *
-skip_to_end_of_comment (ip, line_counter, nowarn)
- register FILE_BUF *ip;
- int *line_counter; /* place to remember newlines, or NULL */
- int nowarn;
-{
- register U_CHAR *limit = ip->buf + ip->length;
- register U_CHAR *bp = ip->bufp;
- FILE_BUF *op = put_out_comments && !line_counter ? &outbuf : (FILE_BUF *) 0;
- int start_line = line_counter ? *line_counter : 0;
-
- /* JF this line_counter stuff is a crock to make sure the
- comment is only put out once, no matter how many times
- the comment is skipped. It almost works */
- if (op) {
- *op->bufp++ = '/';
- *op->bufp++ = bp[-1];
- }
- if (cplusplus_comments && bp[-1] == '/') {
- for (; bp < limit; bp++) {
- if (*bp == '\n')
- break;
- if (*bp == '\\' && bp + 1 < limit && bp[1] == '\n')
- {
- if (!nowarn && warn_comments)
- warning ("multiline `//' comment");
- if (line_counter)
- ++*line_counter;
- if (op)
- {
- ++op->lineno;
- *op->bufp++ = *bp;
- }
- ++bp;
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (bp, limit - bp);
- if (length > 1)
- {
- if (op)
- {
- bcopy (bp, op->bufp, length - 1);
- op->bufp += (length - 1);
- }
- bp += (length - 1);
- }
- }
-#endif
- }
- if (op)
- *op->bufp++ = *bp;
- }
- ip->bufp = bp;
- return bp;
- }
- while (bp < limit) {
- if (op)
- *op->bufp++ = *bp;
- switch (*bp++) {
- case '\n':
- /* If this is the end of the file, we have an unterminated comment.
- Don't swallow the newline. We are guaranteed that there will be a
- trailing newline and various pieces assume it's there. */
- if (bp == limit)
- {
- --bp;
- --limit;
- break;
- }
- if (line_counter != NULL)
- ++*line_counter;
- if (op)
- ++op->lineno;
- break;
- case '*':
- if (bp[-2] == '/' && !nowarn && warn_comments)
- warning ("`/*' within comment");
- if (*bp == '\\' && bp[1] == '\n')
- newline_fix (bp);
- if (*bp == '/') {
- if (op)
- *op->bufp++ = '/';
- ip->bufp = ++bp;
- return bp;
- }
- break;
-#ifdef MULTIBYTE_CHARS
- default:
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- bp--;
- length = local_mblen (bp, limit - bp);
- if (length <= 0)
- length = 1;
- if (op)
- {
- op->bufp--;
- bcopy (bp, op->bufp, length);
- op->bufp += length;
- }
- bp += length;
- }
-#endif
- }
- }
-
- if (!nowarn)
- error_with_line (line_for_error (start_line), "unterminated comment");
- ip->bufp = bp;
- return bp;
-}
-
-/* Skip over a quoted string. BP points to the opening quote.
- Returns a pointer after the closing quote. Don't go past LIMIT.
- START_LINE is the line number of the starting point (but it need
- not be valid if the starting point is inside a macro expansion).
-
- The input stack state is not changed.
-
- If COUNT_NEWLINES is nonzero, it points to an int to increment
- for each newline passed.
-
- If BACKSLASH_NEWLINES_P is nonzero, store 1 thru it
- if we pass a backslash-newline.
-
- If EOFP is nonzero, set *EOFP to 1 if the string is unterminated. */
-
-static U_CHAR *
-skip_quoted_string (bp, limit, start_line, count_newlines, backslash_newlines_p, eofp)
- register U_CHAR *bp;
- register U_CHAR *limit;
- int start_line;
- int *count_newlines;
- int *backslash_newlines_p;
- int *eofp;
-{
- register U_CHAR c, match;
-
- match = *bp++;
- while (1) {
- if (bp >= limit) {
- error_with_line (line_for_error (start_line),
- "unterminated string or character constant");
- error_with_line (multiline_string_line,
- "possible real start of unterminated constant");
- multiline_string_line = 0;
- if (eofp)
- *eofp = 1;
- break;
- }
- c = *bp++;
- if (c == '\\') {
- while (*bp == '\\' && bp[1] == '\n') {
- if (backslash_newlines_p)
- *backslash_newlines_p = 1;
- if (count_newlines)
- ++*count_newlines;
- bp += 2;
- }
- if (*bp == '\n') {
- if (backslash_newlines_p)
- *backslash_newlines_p = 1;
- if (count_newlines)
- ++*count_newlines;
- }
- bp++;
- } else if (c == '\n') {
- if (traditional
-/* CYGNUS LOCAL chill */
- || chill
-/* END CYGNUS LOCAL chill */
- ) {
- /* Unterminated strings and character constants are 'valid'. */
- bp--; /* Don't consume the newline. */
- if (eofp)
- *eofp = 1;
- break;
- }
- if (match == '\'') {
- error_with_line (line_for_error (start_line),
- "unterminated string or character constant");
- bp--;
- if (eofp)
- *eofp = 1;
- break;
- }
- /* If not traditional, then allow newlines inside strings. */
- if (count_newlines)
- ++*count_newlines;
- if (multiline_string_line == 0) {
- if (pedantic)
- pedwarn_with_line (line_for_error (start_line),
- "string constant runs past end of line");
- multiline_string_line = start_line;
- }
- } else if (c == match)
- break;
-#ifdef MULTIBYTE_CHARS
-/* CYGNUS LOCAL chill */
- else if (! chill)
-/* END CYGNUS LOCAL chill */
- {
- int length;
- --bp;
- length = local_mblen (bp, limit - bp);
- if (length <= 0)
- length = 1;
- bp += length;
- }
-#endif
- }
- return bp;
-}
-
-/* Place into DST a quoted string representing the string SRC.
- SRCLEN is the length of SRC; SRC may contain null bytes.
- Return the address of DST's terminating null. */
-
-static char *
-quote_string (dst, src, srclen)
- char *dst, *src;
- size_t srclen;
-{
- U_CHAR c;
- char *srclim = src + srclen;
-
- *dst++ = '\"';
- while (src != srclim)
- switch ((c = *src++))
- {
- default:
- if (ISPRINT (c))
- *dst++ = c;
- else
- {
- sprintf (dst, "\\%03o", c);
- dst += 4;
- }
- break;
-
- case '\"':
- case '\\':
- *dst++ = '\\';
- *dst++ = c;
- break;
- }
-
- *dst++ = '\"';
- *dst = '\0';
- return dst;
-}
-
-/* Skip across a group of balanced parens, starting from IP->bufp.
- IP->bufp is updated. Use this with IP->bufp pointing at an open-paren.
-
- This does not handle newlines, because it's used for the arg of #if,
- where there aren't any newlines. Also, backslash-newline can't appear. */
-
-static U_CHAR *
-skip_paren_group (ip)
- register FILE_BUF *ip;
-{
- U_CHAR *limit = ip->buf + ip->length;
- U_CHAR *p = ip->bufp;
- int depth = 0;
- int lines_dummy = 0;
-
- while (p != limit) {
- int c = *p++;
- switch (c) {
- case '(':
- depth++;
- break;
-
- case ')':
- depth--;
- if (depth == 0)
- return ip->bufp = p;
- break;
-
- case '/':
- if (*p == '*') {
- ip->bufp = p;
- p = skip_to_end_of_comment (ip, &lines_dummy, 0);
- p = ip->bufp;
- }
-
- case '"':
- case '\'':
- {
- int eofp = 0;
- p = skip_quoted_string (p - 1, limit, 0, NULL_PTR, NULL_PTR, &eofp);
- if (eofp)
- return ip->bufp = p;
- }
- break;
- }
- }
-
- ip->bufp = p;
- return p;
-}
-
-/* Write out a #line directive, for instance, after an #include file.
- If CONDITIONAL is nonzero, we can omit the #line if it would
- appear to be a no-op, and we can output a few newlines instead
- if we want to increase the line number by a small amount.
- FILE_CHANGE says whether we are entering a file, leaving, or neither. */
-
-static void
-output_line_directive (ip, op, conditional, file_change)
- FILE_BUF *ip, *op;
- int conditional;
- enum file_change_code file_change;
-{
- int len;
- char *line_directive_buf, *line_end;
-
- if (no_line_directives
- || ip->fname == NULL
- || no_output) {
- op->lineno = ip->lineno;
- return;
- }
-
- if (conditional) {
- if (ip->lineno == op->lineno)
- return;
-
- /* If the inherited line number is a little too small,
- output some newlines instead of a #line directive. */
- if (ip->lineno > op->lineno && ip->lineno < op->lineno + 8) {
- check_expand (op, 10);
- while (ip->lineno > op->lineno) {
- *op->bufp++ = '\n';
- op->lineno++;
- }
- return;
- }
- }
-
- /* Output a positive line number if possible. */
- while (ip->lineno <= 0 && ip->bufp - ip->buf < ip->length
- && *ip->bufp == '\n') {
- ip->lineno++;
- ip->bufp++;
- }
-
- line_directive_buf = (char *) alloca (4 * ip->nominal_fname_len + 100);
- sprintf (line_directive_buf, "# %d ", ip->lineno);
- line_end = quote_string (line_directive_buf + strlen (line_directive_buf),
- ip->nominal_fname, ip->nominal_fname_len);
- if (file_change != same_file) {
- *line_end++ = ' ';
- *line_end++ = file_change == enter_file ? '1' : '2';
- }
- /* Tell cc1 if following text comes from a system header file. */
- if (ip->system_header_p) {
- *line_end++ = ' ';
- *line_end++ = '3';
- }
-#ifndef NO_IMPLICIT_EXTERN_C
- /* Tell cc1plus if following text should be treated as C. */
- if (ip->system_header_p == 2 && cplusplus) {
- *line_end++ = ' ';
- *line_end++ = '4';
- }
-#endif
- *line_end++ = '\n';
- len = line_end - line_directive_buf;
- check_expand (op, len + 1);
- if (op->bufp > op->buf && op->bufp[-1] != '\n')
- *op->bufp++ = '\n';
- bcopy ((char *) line_directive_buf, (char *) op->bufp, len);
- op->bufp += len;
- op->lineno = ip->lineno;
-}
-
-/* This structure represents one parsed argument in a macro call.
- `raw' points to the argument text as written (`raw_length' is its length).
- `expanded' points to the argument's macro-expansion
- (its length is `expand_length').
- `stringified_length' is the length the argument would have
- if stringified.
- `use_count' is the number of times this macro arg is substituted
- into the macro. If the actual use count exceeds 10,
- the value stored is 10.
- `free1' and `free2', if nonzero, point to blocks to be freed
- when the macro argument data is no longer needed. */
-
-struct argdata {
- U_CHAR *raw, *expanded;
- int raw_length, expand_length;
- int stringified_length;
- U_CHAR *free1, *free2;
- char newlines;
- char use_count;
-};
-
-/* Expand a macro call.
- HP points to the symbol that is the macro being called.
- Put the result of expansion onto the input stack
- so that subsequent input by our caller will use it.
-
- If macro wants arguments, caller has already verified that
- an argument list follows; arguments come from the input stack. */
-
-static void
-macroexpand (hp, op)
- HASHNODE *hp;
- FILE_BUF *op;
-{
- int nargs;
- DEFINITION *defn = hp->value.defn;
- register U_CHAR *xbuf;
- int xbuf_len;
- int start_line = instack[indepth].lineno;
- int rest_args, rest_zero;
-
- CHECK_DEPTH (return;);
-
- /* it might not actually be a macro. */
- if (hp->type != T_MACRO) {
- special_symbol (hp, op);
- return;
- }
-
- /* This macro is being used inside a #if, which means it must be */
- /* recorded as a precondition. */
- if (pcp_inside_if && pcp_outfile && defn->predefined)
- dump_single_macro (hp, pcp_outfile);
-
- nargs = defn->nargs;
-
- if (nargs >= 0) {
- register int i;
- struct argdata *args;
- char *parse_error = 0;
-
- args = (struct argdata *) alloca ((nargs + 1) * sizeof (struct argdata));
-
- for (i = 0; i < nargs; i++) {
- args[i].raw = (U_CHAR *) "";
- args[i].expanded = 0;
- args[i].raw_length = args[i].expand_length
- = args[i].stringified_length = 0;
- args[i].free1 = args[i].free2 = 0;
- args[i].use_count = 0;
- }
-
- /* Parse all the macro args that are supplied. I counts them.
- The first NARGS args are stored in ARGS.
- The rest are discarded.
- If rest_args is set then we assume macarg absorbed the rest of the args.
- */
- i = 0;
- rest_args = 0;
- do {
- /* Discard the open-parenthesis or comma before the next arg. */
- ++instack[indepth].bufp;
- if (rest_args)
- continue;
- if (i < nargs || (nargs == 0 && i == 0)) {
- /* If we are working on last arg which absorbs rest of args... */
- if (i == nargs - 1 && defn->rest_args)
- rest_args = 1;
- parse_error = macarg (&args[i], rest_args);
- }
- else
- parse_error = macarg (NULL_PTR, 0);
- if (parse_error) {
- error_with_line (line_for_error (start_line), parse_error);
- break;
- }
- i++;
- } while (*instack[indepth].bufp != ')');
-
- /* If we got one arg but it was just whitespace, call that 0 args. */
- if (i == 1) {
- register U_CHAR *bp = args[0].raw;
- register U_CHAR *lim = bp + args[0].raw_length;
- /* cpp.texi says for foo ( ) we provide one argument.
- However, if foo wants just 0 arguments, treat this as 0. */
- if (nargs == 0)
- while (bp != lim && is_space[*bp]) bp++;
- if (bp == lim)
- i = 0;
- }
-
- /* Don't output an error message if we have already output one for
- a parse error above. */
- rest_zero = 0;
- if (nargs == 0 && i > 0) {
- if (! parse_error)
- error ("arguments given to macro `%s'", hp->name);
- } else if (i < nargs) {
- /* traditional C allows foo() if foo wants one argument. */
- if (nargs == 1 && i == 0 && traditional)
- ;
- /* the rest args token is allowed to absorb 0 tokens */
- else if (i == nargs - 1 && defn->rest_args)
- rest_zero = 1;
- else if (parse_error)
- ;
- else if (i == 0)
- error ("macro `%s' used without args", hp->name);
- else if (i == 1)
- error ("macro `%s' used with just one arg", hp->name);
- else
- error ("macro `%s' used with only %d args", hp->name, i);
- } else if (i > nargs) {
- if (! parse_error)
- error ("macro `%s' used with too many (%d) args", hp->name, i);
- }
-
- /* Swallow the closeparen. */
- ++instack[indepth].bufp;
-
- /* If macro wants zero args, we parsed the arglist for checking only.
- Read directly from the macro definition. */
- if (nargs == 0) {
- xbuf = defn->expansion;
- xbuf_len = defn->length;
- } else {
- register U_CHAR *exp = defn->expansion;
- register int offset; /* offset in expansion,
- copied a piece at a time */
- register int totlen; /* total amount of exp buffer filled so far */
-
- register struct reflist *ap, *last_ap;
-
- /* Macro really takes args. Compute the expansion of this call. */
-
- /* Compute length in characters of the macro's expansion.
- Also count number of times each arg is used. */
- xbuf_len = defn->length;
- for (ap = defn->pattern; ap != NULL; ap = ap->next) {
- if (ap->stringify)
- xbuf_len += args[ap->argno].stringified_length;
- else if (ap->raw_before != 0 || ap->raw_after != 0 || traditional)
- /* Add 4 for two newline-space markers to prevent
- token concatenation. */
- xbuf_len += args[ap->argno].raw_length + 4;
- else {
- /* We have an ordinary (expanded) occurrence of the arg.
- So compute its expansion, if we have not already. */
- if (args[ap->argno].expanded == 0) {
- FILE_BUF obuf;
- obuf = expand_to_temp_buffer (args[ap->argno].raw,
- args[ap->argno].raw + args[ap->argno].raw_length,
- 1, 0);
-
- args[ap->argno].expanded = obuf.buf;
- args[ap->argno].expand_length = obuf.length;
- args[ap->argno].free2 = obuf.buf;
- }
-
- /* Add 4 for two newline-space markers to prevent
- token concatenation. */
- xbuf_len += args[ap->argno].expand_length + 4;
- }
- if (args[ap->argno].use_count < 10)
- args[ap->argno].use_count++;
- }
-
- xbuf = (U_CHAR *) xmalloc (xbuf_len + 1);
-
- /* Generate in XBUF the complete expansion
- with arguments substituted in.
- TOTLEN is the total size generated so far.
- OFFSET is the index in the definition
- of where we are copying from. */
- offset = totlen = 0;
- for (last_ap = NULL, ap = defn->pattern; ap != NULL;
- last_ap = ap, ap = ap->next) {
- register struct argdata *arg = &args[ap->argno];
- int count_before = totlen;
-
- /* Add chars to XBUF. */
- for (i = 0; i < ap->nchars; i++, offset++)
- xbuf[totlen++] = exp[offset];
-
- /* If followed by an empty rest arg with concatenation,
- delete the last run of nonwhite chars. */
- if (rest_zero && totlen > count_before
- && ((ap->rest_args && ap->raw_before != 0)
- || (last_ap != NULL && last_ap->rest_args
- && last_ap->raw_after != 0))) {
- /* Delete final whitespace. */
- while (totlen > count_before && is_space[xbuf[totlen - 1]]) {
- totlen--;
- }
-
- /* Delete the nonwhites before them. */
- while (totlen > count_before && ! is_space[xbuf[totlen - 1]]) {
- totlen--;
- }
- }
-
- if (ap->stringify != 0) {
- int arglen = arg->raw_length;
- int escaped = 0;
- int in_string = 0;
- int c;
- i = 0;
- while (i < arglen
- && (c = arg->raw[i], is_space[c]))
- i++;
- while (i < arglen
- && (c = arg->raw[arglen - 1], is_space[c]))
- arglen--;
- if (!traditional)
- xbuf[totlen++] = '\"'; /* insert beginning quote */
- for (; i < arglen; i++) {
- c = arg->raw[i];
-
- if (! in_string) {
- /* Special markers Newline Space
- generate nothing for a stringified argument. */
- if (c == '\n' && arg->raw[i+1] != '\n') {
- i++;
- continue;
- }
-
- /* Internal sequences of whitespace are replaced by one space
- except within an string or char token. */
- if (c == '\n' ? arg->raw[i+1] == '\n' : is_space[c]) {
- while (1) {
- /* Note that Newline Space does occur within whitespace
- sequences; consider it part of the sequence. */
- if (c == '\n' && is_space[arg->raw[i+1]])
- i += 2;
- else if (c != '\n' && is_space[c])
- i++;
- else break;
- c = arg->raw[i];
- }
- i--;
- c = ' ';
- }
- }
-
- if (escaped)
- escaped = 0;
- else {
- if (c == '\\')
- escaped = 1;
- else if (in_string) {
- if (c == in_string)
- in_string = 0;
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (arg->raw + i, arglen - i);
- if (length > 1)
- {
- bcopy (arg->raw + i, xbuf + totlen, length);
- i += length - 1;
- totlen += length;
- continue;
- }
- }
-#endif
- }
- } else if (c == '\"' || c == '\'')
- in_string = c;
- }
-
- /* Escape these chars */
- if (c == '\"' || (in_string && c == '\\'))
- xbuf[totlen++] = '\\';
- /* We used to output e.g. \008 for control characters here,
- but this doesn't conform to the C Standard.
- Just output the characters as-is. */
- xbuf[totlen++] = c;
- }
- if (!traditional)
- xbuf[totlen++] = '\"'; /* insert ending quote */
- } else if (ap->raw_before != 0 || ap->raw_after != 0 || traditional) {
- U_CHAR *p1 = arg->raw;
- U_CHAR *l1 = p1 + arg->raw_length;
- if (ap->raw_before != 0) {
- while (p1 != l1 && is_space[*p1]) p1++;
- while (p1 != l1 && is_idchar[*p1])
- xbuf[totlen++] = *p1++;
- /* Delete any no-reexpansion marker that follows
- an identifier at the beginning of the argument
- if the argument is concatenated with what precedes it. */
- if (p1[0] == '\n' && p1[1] == '-')
- p1 += 2;
- } else if (!traditional) {
- /* Ordinary expanded use of the argument.
- Put in newline-space markers to prevent token pasting. */
- xbuf[totlen++] = '\n';
- xbuf[totlen++] = ' ';
- }
- if (ap->raw_after != 0) {
- /* Arg is concatenated after: delete trailing whitespace,
- whitespace markers, and no-reexpansion markers. */
- while (p1 != l1) {
- if (is_space[l1[-1]]) l1--;
- else if (l1[-1] == '-') {
- U_CHAR *p2 = l1 - 1;
- /* If a `-' is preceded by an odd number of newlines then it
- and the last newline are a no-reexpansion marker. */
- while (p2 != p1 && p2[-1] == '\n') p2--;
- if ((l1 - 1 - p2) & 1) {
- l1 -= 2;
- }
- else break;
- }
- else break;
- }
- }
-
- bcopy ((char *) p1, (char *) (xbuf + totlen), l1 - p1);
- totlen += l1 - p1;
- if (!traditional && ap->raw_after == 0) {
- /* Ordinary expanded use of the argument.
- Put in newline-space markers to prevent token pasting. */
- xbuf[totlen++] = '\n';
- xbuf[totlen++] = ' ';
- }
- } else {
- /* Ordinary expanded use of the argument.
- Put in newline-space markers to prevent token pasting. */
- if (!traditional) {
- xbuf[totlen++] = '\n';
- xbuf[totlen++] = ' ';
- }
- bcopy ((char *) arg->expanded, (char *) (xbuf + totlen),
- arg->expand_length);
- totlen += arg->expand_length;
- if (!traditional) {
- xbuf[totlen++] = '\n';
- xbuf[totlen++] = ' ';
- }
- /* If a macro argument with newlines is used multiple times,
- then only expand the newlines once. This avoids creating output
- lines which don't correspond to any input line, which confuses
- gdb and gcov. */
- if (arg->use_count > 1 && arg->newlines > 0) {
- /* Don't bother doing change_newlines for subsequent
- uses of arg. */
- arg->use_count = 1;
- arg->expand_length
- = change_newlines (arg->expanded, arg->expand_length);
- }
- }
-
- if (totlen > xbuf_len)
- abort ();
- }
-
- /* If there is anything left of the definition after handling
- the arg list, copy that in too. */
-
- for (i = offset; i < defn->length; i++) {
- /* if we've reached the end of the macro */
- if (exp[i] == ')')
- rest_zero = 0;
- if (! (rest_zero && last_ap != NULL && last_ap->rest_args
- && last_ap->raw_after != 0))
- xbuf[totlen++] = exp[i];
- }
-
- xbuf[totlen] = 0;
- xbuf_len = totlen;
-
- for (i = 0; i < nargs; i++) {
- if (args[i].free1 != 0)
- free (args[i].free1);
- if (args[i].free2 != 0)
- free (args[i].free2);
- }
- }
- } else {
- xbuf = defn->expansion;
- xbuf_len = defn->length;
- }
-
- /* Now put the expansion on the input stack
- so our caller will commence reading from it. */
- {
- register FILE_BUF *ip2;
-
- ip2 = &instack[++indepth];
-
- ip2->fname = 0;
- ip2->nominal_fname = 0;
- ip2->nominal_fname_len = 0;
- ip2->inc = 0;
- /* This may not be exactly correct, but will give much better error
- messages for nested macro calls than using a line number of zero. */
- ip2->lineno = start_line;
- ip2->buf = xbuf;
- ip2->length = xbuf_len;
- ip2->bufp = xbuf;
- ip2->free_ptr = (nargs > 0) ? xbuf : 0;
- ip2->macro = hp;
- ip2->if_stack = if_stack;
- ip2->system_header_p = 0;
-
- /* Recursive macro use sometimes works traditionally.
- #define foo(x,y) bar (x (y,0), y)
- foo (foo, baz) */
-
- if (!traditional)
- hp->type = T_DISABLED;
- }
-}
-
-/* Parse a macro argument and store the info on it into *ARGPTR.
- REST_ARGS is passed to macarg1 to make it absorb the rest of the args.
- Return nonzero to indicate a syntax error. */
-
-static char *
-macarg (argptr, rest_args)
- register struct argdata *argptr;
- int rest_args;
-{
- FILE_BUF *ip = &instack[indepth];
- int paren = 0;
- int newlines = 0;
- int comments = 0;
- char *result = 0;
-
- /* Try to parse as much of the argument as exists at this
- input stack level. */
- U_CHAR *bp = macarg1 (ip->bufp, ip->buf + ip->length, ip->macro,
- &paren, &newlines, &comments, rest_args);
-
- /* If we find the end of the argument at this level,
- set up *ARGPTR to point at it in the input stack. */
- if (!(ip->fname != 0 && (newlines != 0 || comments != 0))
- && bp != ip->buf + ip->length) {
- if (argptr != 0) {
- argptr->raw = ip->bufp;
- argptr->raw_length = bp - ip->bufp;
- argptr->newlines = newlines;
- }
- ip->bufp = bp;
- } else {
- /* This input stack level ends before the macro argument does.
- We must pop levels and keep parsing.
- Therefore, we must allocate a temporary buffer and copy
- the macro argument into it. */
- int bufsize = bp - ip->bufp;
- int extra = newlines;
- U_CHAR *buffer = (U_CHAR *) xmalloc (bufsize + extra + 1);
- int final_start = 0;
-
- bcopy ((char *) ip->bufp, (char *) buffer, bufsize);
- ip->bufp = bp;
- ip->lineno += newlines;
-
- while (bp == ip->buf + ip->length) {
- if (instack[indepth].macro == 0) {
- result = "unterminated macro call";
- break;
- }
- ip->macro->type = T_MACRO;
- if (ip->free_ptr)
- free (ip->free_ptr);
- ip = &instack[--indepth];
- newlines = 0;
- comments = 0;
- bp = macarg1 (ip->bufp, ip->buf + ip->length, ip->macro, &paren,
- &newlines, &comments, rest_args);
- final_start = bufsize;
- bufsize += bp - ip->bufp;
- extra += newlines;
- buffer = (U_CHAR *) xrealloc (buffer, bufsize + extra + 1);
- bcopy ((char *) ip->bufp, (char *) (buffer + bufsize - (bp - ip->bufp)),
- bp - ip->bufp);
- ip->bufp = bp;
- ip->lineno += newlines;
- }
-
- /* Now, if arg is actually wanted, record its raw form,
- discarding comments and duplicating newlines in whatever
- part of it did not come from a macro expansion.
- EXTRA space has been preallocated for duplicating the newlines.
- FINAL_START is the index of the start of that part. */
- if (argptr != 0) {
- argptr->raw = buffer;
- argptr->raw_length = bufsize;
- argptr->free1 = buffer;
- argptr->newlines = newlines;
- if ((newlines || comments) && ip->fname != 0)
- argptr->raw_length
- = final_start +
- discard_comments (argptr->raw + final_start,
- argptr->raw_length - final_start,
- newlines);
- argptr->raw[argptr->raw_length] = 0;
- if (argptr->raw_length > bufsize + extra)
- abort ();
- }
- }
-
- /* If we are not discarding this argument,
- macroexpand it and compute its length as stringified.
- All this info goes into *ARGPTR. */
-
- if (argptr != 0) {
- register U_CHAR *buf, *lim;
- register int totlen;
-
- buf = argptr->raw;
- lim = buf + argptr->raw_length;
-
- while (buf != lim && is_space[*buf])
- buf++;
- while (buf != lim && is_space[lim[-1]])
- lim--;
- totlen = traditional ? 0 : 2; /* Count opening and closing quote. */
- while (buf != lim) {
- register U_CHAR c = *buf++;
- totlen++;
- /* Internal sequences of whitespace are replaced by one space
- in most cases, but not always. So count all the whitespace
- in case we need to keep it all. */
-#if 0
- if (is_space[c])
- SKIP_ALL_WHITE_SPACE (buf);
- else
-#endif
- if (c == '\"' || c == '\\') /* escape these chars */
- totlen++;
- }
- argptr->stringified_length = totlen;
- }
- return result;
-}
-
-/* Scan text from START (inclusive) up to LIMIT (exclusive),
- taken from the expansion of MACRO,
- counting parens in *DEPTHPTR,
- and return if reach LIMIT
- or before a `)' that would make *DEPTHPTR negative
- or before a comma when *DEPTHPTR is zero.
- Single and double quotes are matched and termination
- is inhibited within them. Comments also inhibit it.
- Value returned is pointer to stopping place.
-
- Increment *NEWLINES each time a newline is passed.
- REST_ARGS notifies macarg1 that it should absorb the rest of the args.
- Set *COMMENTS to 1 if a comment is seen. */
-
-static U_CHAR *
-macarg1 (start, limit, macro, depthptr, newlines, comments, rest_args)
- U_CHAR *start;
- register U_CHAR *limit;
- struct hashnode *macro;
- int *depthptr, *newlines, *comments;
- int rest_args;
-{
- register U_CHAR *bp = start;
-
- while (bp < limit) {
- switch (*bp) {
- case '(':
- (*depthptr)++;
- break;
- case ')':
- if (--(*depthptr) < 0)
- return bp;
- break;
- case '\\':
- /* Traditionally, backslash makes following char not special. */
- if (traditional && bp + 1 < limit && bp[1] != '\n')
- bp++;
- break;
- case '\n':
- ++*newlines;
- break;
- case '/':
- if (macro)
- break;
- if (bp[1] == '\\' && bp[2] == '\n')
- newline_fix (bp + 1);
- if (bp[1] == '*') {
- *comments = 1;
- for (bp += 2; bp < limit; bp++) {
- if (*bp == '\n')
- ++*newlines;
- else if (*bp == '*') {
- if (bp[-1] == '/' && warn_comments)
- warning ("`/*' within comment");
- if (bp[1] == '\\' && bp[2] == '\n')
- newline_fix (bp + 1);
- if (bp[1] == '/') {
- bp++;
- break;
- }
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (bp, limit - bp);
- if (length > 1)
- bp += (length - 1);
- }
-#endif
- }
- }
- } else if (bp[1] == '/' && cplusplus_comments) {
- *comments = 1;
- for (bp += 2; bp < limit; bp++) {
- if (*bp == '\n') {
- ++*newlines;
- break;
- }
- if (*bp == '\\' && bp + 1 < limit && bp[1] == '\n')
- {
- ++*newlines;
- if (warn_comments)
- warning ("multiline `//' comment");
- ++bp;
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (bp, limit - bp);
- if (length > 1)
- bp += (length - 1);
- }
-#endif
- }
- }
- }
- break;
- case '\'':
- case '\"':
- {
- int quotec;
- for (quotec = *bp++; bp + 1 < limit && *bp != quotec; bp++) {
- if (*bp == '\\') {
- bp++;
- if (*bp == '\n')
- ++*newlines;
- if (!macro) {
- while (*bp == '\\' && bp[1] == '\n') {
- bp += 2;
- ++*newlines;
- }
- }
- } else if (*bp == '\n') {
- ++*newlines;
- if (quotec == '\'')
- break;
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- length = local_mblen (bp, limit - bp);
- if (length > 1)
- bp += (length - 1);
- }
-#endif
- }
- }
- }
- break;
- case ',':
- /* if we've returned to lowest level and we aren't absorbing all args */
- if ((*depthptr) == 0 && rest_args == 0)
- return bp;
- break;
- }
- bp++;
- }
-
- return bp;
-}
-
-/* Discard comments and duplicate newlines
- in the string of length LENGTH at START,
- except inside of string constants.
- The string is copied into itself with its beginning staying fixed.
-
- NEWLINES is the number of newlines that must be duplicated.
- We assume that that much extra space is available past the end
- of the string. */
-
-static int
-discard_comments (start, length, newlines)
- U_CHAR *start;
- int length;
- int newlines;
-{
- register U_CHAR *ibp;
- register U_CHAR *obp;
- register U_CHAR *limit;
- register int c;
-
- /* If we have newlines to duplicate, copy everything
- that many characters up. Then, in the second part,
- we will have room to insert the newlines
- while copying down.
- NEWLINES may actually be too large, because it counts
- newlines in string constants, and we don't duplicate those.
- But that does no harm. */
- if (newlines > 0) {
- ibp = start + length;
- obp = ibp + newlines;
- limit = start;
- while (limit != ibp)
- *--obp = *--ibp;
- }
-
- ibp = start + newlines;
- limit = start + length + newlines;
- obp = start;
-
- while (ibp < limit) {
- *obp++ = c = *ibp++;
- switch (c) {
- case '\n':
- /* Duplicate the newline. */
- *obp++ = '\n';
- break;
-
- case '\\':
- if (*ibp == '\n') {
- obp--;
- ibp++;
- }
- break;
-
- case '/':
- if (*ibp == '\\' && ibp[1] == '\n')
- newline_fix (ibp);
- /* Delete any comment. */
- if (cplusplus_comments && ibp[0] == '/') {
- /* Comments are equivalent to spaces. */
- obp[-1] = ' ';
- ibp++;
- while (ibp < limit)
- {
- if (*ibp == '\n')
- break;
- if (*ibp == '\\' && ibp + 1 < limit && ibp[1] == '\n')
- ibp++;
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length = local_mblen (ibp, limit - ibp);
- if (length > 1)
- ibp += (length - 1);
- }
-#endif
- }
- ibp++;
- }
- break;
- }
- if (ibp[0] != '*' || ibp + 1 >= limit)
- break;
- /* Comments are equivalent to spaces.
- For -traditional, a comment is equivalent to nothing. */
- if (traditional)
- obp--;
- else
- obp[-1] = ' ';
- while (++ibp < limit) {
- if (ibp[0] == '*') {
- if (ibp[1] == '\\' && ibp[2] == '\n')
- newline_fix (ibp + 1);
- if (ibp[1] == '/') {
- ibp += 2;
- break;
- }
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length = local_mblen (ibp, limit - ibp);
- if (length > 1)
- ibp += (length - 1);
- }
-#endif
- }
- }
- break;
-
- case '\'':
- case '\"':
- /* Notice and skip strings, so that we don't
- think that comments start inside them,
- and so we don't duplicate newlines in them. */
- {
- int quotec = c;
- while (ibp < limit) {
- *obp++ = c = *ibp++;
- if (c == quotec)
- break;
- if (c == '\n')
- {
- if (quotec == '\'')
- break;
- }
- else if (c == '\\') {
- if (ibp < limit && *ibp == '\n') {
- ibp++;
- obp--;
- } else {
- while (*ibp == '\\' && ibp[1] == '\n')
- ibp += 2;
- if (ibp < limit)
- *obp++ = *ibp++;
- }
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- ibp--;
- length = local_mblen (ibp, limit - ibp);
- if (length > 1)
- {
- obp--;
- bcopy (ibp, obp, length);
- ibp += length;
- obp += length;
- }
- else
- ibp++;
- }
-#endif
- }
- }
- }
- break;
- }
- }
-
- return obp - start;
-}
-
-/* Turn newlines to spaces in the string of length LENGTH at START,
- except inside of string constants.
- The string is copied into itself with its beginning staying fixed. */
-
-static int
-change_newlines (start, length)
- U_CHAR *start;
- int length;
-{
- register U_CHAR *ibp;
- register U_CHAR *obp;
- register U_CHAR *limit;
- register int c;
-
- ibp = start;
- limit = start + length;
- obp = start;
-
- while (ibp < limit) {
- *obp++ = c = *ibp++;
- switch (c) {
- case '\n':
- /* If this is a NEWLINE NEWLINE, then this is a real newline in the
- string. Skip past the newline and its duplicate.
- Put a space in the output. */
- if (*ibp == '\n')
- {
- ibp++;
- obp--;
- *obp++ = ' ';
- }
- break;
-
- case '\'':
- case '\"':
- /* Notice and skip strings, so that we don't delete newlines in them. */
- {
- int quotec = c;
- while (ibp < limit) {
- *obp++ = c = *ibp++;
- if (c == quotec)
- break;
- else if (c == '\\' && ibp < limit && *ibp == '\n')
- *obp++ = *ibp++;
- else if (c == '\n')
- {
- if (quotec == '\'')
- break;
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- /* CYGNUS LOCAL chill */
- if (! chill)
- /* END CYGNUS LOCAL chill */
- {
- int length;
- ibp--;
- length = local_mblen (ibp, limit - ibp);
- if (length > 1)
- {
- obp--;
- bcopy (ibp, obp, length);
- ibp += length;
- obp += length;
- }
- else
- ibp++;
- }
-#endif
- }
- }
- }
- break;
- }
- }
-
- return obp - start;
-}
-
-/* my_strerror - return the descriptive text associated with an
- `errno' code. */
-
-static char *
-my_strerror (errnum)
- int errnum;
-{
- char *result;
-
-#ifndef HAVE_STRERROR
- result = (char *) ((errnum < sys_nerr) ? sys_errlist[errnum] : 0);
-#else
- result = strerror (errnum);
-#endif
-
- if (!result)
- result = "undocumented I/O error";
-
- return result;
-}
-
-/* error - print error message and increment count of errors. */
-
-void
-error VPROTO ((char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- char * msg;
-#endif
- va_list args;
-
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- msg = va_arg (args, char *);
-#endif
-
- verror (msg, args);
- va_end (args);
-}
-
-static void
-verror (msg, args)
- char *msg;
- va_list args;
-{
- int i;
- FILE_BUF *ip = NULL;
-
- print_containing_files ();
-
- for (i = indepth; i >= 0; i--)
- if (instack[i].fname != NULL) {
- ip = &instack[i];
- break;
- }
-
- if (ip != NULL) {
- eprint_string (ip->nominal_fname, ip->nominal_fname_len);
- fprintf (stderr, ":%d: ", ip->lineno);
- }
- vfprintf (stderr, msg, args);
- fprintf (stderr, "\n");
- errors++;
-}
-
-/* Error including a message from `errno'. */
-
-static void
-error_from_errno (name)
- char *name;
-{
- int e = errno;
- int i;
- FILE_BUF *ip = NULL;
-
- print_containing_files ();
-
- for (i = indepth; i >= 0; i--)
- if (instack[i].fname != NULL) {
- ip = &instack[i];
- break;
- }
-
- if (ip != NULL) {
- eprint_string (ip->nominal_fname, ip->nominal_fname_len);
- fprintf (stderr, ":%d: ", ip->lineno);
- }
-
- fprintf (stderr, "%s: %s\n", name, my_strerror (e));
-
- errors++;
-}
-
-/* Print error message but don't count it. */
-
-void
-warning VPROTO ((char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- char * msg;
-#endif
- va_list args;
-
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- msg = va_arg (args, char *);
-#endif
-
- vwarning (msg, args);
- va_end (args);
-}
-
-static void
-vwarning (msg, args)
- char *msg;
- va_list args;
-{
- int i;
- FILE_BUF *ip = NULL;
-
- if (inhibit_warnings)
- return;
-
- if (warnings_are_errors)
- errors++;
-
- print_containing_files ();
-
- for (i = indepth; i >= 0; i--)
- if (instack[i].fname != NULL) {
- ip = &instack[i];
- break;
- }
-
- if (ip != NULL) {
- eprint_string (ip->nominal_fname, ip->nominal_fname_len);
- fprintf (stderr, ":%d: ", ip->lineno);
- }
- fprintf (stderr, "warning: ");
- vfprintf (stderr, msg, args);
- fprintf (stderr, "\n");
-}
-
-static void
-error_with_line VPROTO ((int line, char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- int line;
- char * msg;
-#endif
- va_list args;
-
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- line = va_arg (args, int);
- msg = va_arg (args, char *);
-#endif
-
- verror_with_line (line, msg, args);
- va_end (args);
-}
-
-static void
-verror_with_line (line, msg, args)
- int line;
- char *msg;
- va_list args;
-{
- int i;
- FILE_BUF *ip = NULL;
-
- print_containing_files ();
-
- for (i = indepth; i >= 0; i--)
- if (instack[i].fname != NULL) {
- ip = &instack[i];
- break;
- }
-
- if (ip != NULL) {
- eprint_string (ip->nominal_fname, ip->nominal_fname_len);
- fprintf (stderr, ":%d: ", line);
- }
- vfprintf (stderr, msg, args);
- fprintf (stderr, "\n");
- errors++;
-}
-
-static void
-warning_with_line VPROTO ((int line, char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- int line;
- char * msg;
-#endif
- va_list args;
-
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- line = va_arg (args, int);
- msg = va_arg (args, char *);
-#endif
-
- vwarning_with_line (line, msg, args);
- va_end (args);
-}
-
-static void
-vwarning_with_line (line, msg, args)
- int line;
- char *msg;
- va_list args;
-{
- int i;
- FILE_BUF *ip = NULL;
-
- if (inhibit_warnings)
- return;
-
- if (warnings_are_errors)
- errors++;
-
- print_containing_files ();
-
- for (i = indepth; i >= 0; i--)
- if (instack[i].fname != NULL) {
- ip = &instack[i];
- break;
- }
-
- if (ip != NULL) {
- eprint_string (ip->nominal_fname, ip->nominal_fname_len);
- fprintf (stderr, line ? ":%d: " : ": ", line);
- }
- fprintf (stderr, "warning: ");
- vfprintf (stderr, msg, args);
- fprintf (stderr, "\n");
-}
-
-/* Print an error message and maybe count it. */
-
-void
-pedwarn VPROTO ((char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- char * msg;
-#endif
- va_list args;
-
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- msg = va_arg (args, char *);
-#endif
-
- if (pedantic_errors)
- verror (msg, args);
- else
- vwarning (msg, args);
- va_end (args);
-}
-
-void
-pedwarn_with_line VPROTO ((int line, char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- int line;
- char * msg;
-#endif
- va_list args;
-
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- line = va_arg (args, int);
- msg = va_arg (args, char *);
-#endif
-
- if (pedantic_errors)
- verror_with_line (line, msg, args);
- else
- vwarning_with_line (line, msg, args);
- va_end (args);
-}
-
-/* Report a warning (or an error if pedantic_errors)
- giving specified file name and line number, not current. */
-
-static void
-pedwarn_with_file_and_line VPROTO ((char *file, size_t file_len, int line,
- char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- char *file;
- size_t file_len;
- int line;
- char * msg;
-#endif
- va_list args;
-
- if (!pedantic_errors && inhibit_warnings)
- return;
-
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- file = va_arg (args, char *);
- file_len = va_arg (args, size_t);
- line = va_arg (args, int);
- msg = va_arg (args, char *);
-#endif
-
- if (file) {
- eprint_string (file, file_len);
- fprintf (stderr, ":%d: ", line);
- }
- if (pedantic_errors)
- errors++;
- if (!pedantic_errors)
- fprintf (stderr, "warning: ");
-
- vfprintf (stderr, msg, args);
- va_end (args);
- fprintf (stderr, "\n");
-}
-
-/* Print the file names and line numbers of the #include
- directives which led to the current file. */
-
-static void
-print_containing_files ()
-{
- FILE_BUF *ip = NULL;
- int i;
- int first = 1;
-
- /* If stack of files hasn't changed since we last printed
- this info, don't repeat it. */
- if (last_error_tick == input_file_stack_tick)
- return;
-
- for (i = indepth; i >= 0; i--)
- if (instack[i].fname != NULL) {
- ip = &instack[i];
- break;
- }
-
- /* Give up if we don't find a source file. */
- if (ip == NULL)
- return;
-
- /* Find the other, outer source files. */
- for (i--; i >= 0; i--)
- if (instack[i].fname != NULL) {
- ip = &instack[i];
- if (first) {
- first = 0;
- fprintf (stderr, "In file included");
- } else {
- fprintf (stderr, ",\n ");
- }
-
- fprintf (stderr, " from ");
- eprint_string (ip->nominal_fname, ip->nominal_fname_len);
- fprintf (stderr, ":%d", ip->lineno);
- }
- if (! first)
- fprintf (stderr, ":\n");
-
- /* Record we have printed the status as of this time. */
- last_error_tick = input_file_stack_tick;
-}
-
-/* Return the line at which an error occurred.
- The error is not necessarily associated with the current spot
- in the input stack, so LINE says where. LINE will have been
- copied from ip->lineno for the current input level.
- If the current level is for a file, we return LINE.
- But if the current level is not for a file, LINE is meaningless.
- In that case, we return the lineno of the innermost file. */
-
-static int
-line_for_error (line)
- int line;
-{
- int i;
- int line1 = line;
-
- for (i = indepth; i >= 0; ) {
- if (instack[i].fname != 0)
- return line1;
- i--;
- if (i < 0)
- return 0;
- line1 = instack[i].lineno;
- }
- abort ();
- /*NOTREACHED*/
- return 0;
-}
-
-/*
- * If OBUF doesn't have NEEDED bytes after OPTR, make it bigger.
- *
- * As things stand, nothing is ever placed in the output buffer to be
- * removed again except when it's KNOWN to be part of an identifier,
- * so flushing and moving down everything left, instead of expanding,
- * should work ok.
- */
-
-/* You might think void was cleaner for the return type,
- but that would get type mismatch in check_expand in strict ANSI. */
-
-static int
-grow_outbuf (obuf, needed)
- register FILE_BUF *obuf;
- register int needed;
-{
- register U_CHAR *p;
- int minsize;
-
- if (obuf->length - (obuf->bufp - obuf->buf) > needed)
- return 0;
-
- /* Make it at least twice as big as it is now. */
- obuf->length *= 2;
- /* Make it have at least 150% of the free space we will need. */
- minsize = (3 * needed) / 2 + (obuf->bufp - obuf->buf);
- if (minsize > obuf->length)
- obuf->length = minsize;
-
- if ((p = (U_CHAR *) xrealloc (obuf->buf, obuf->length)) == NULL)
- memory_full ();
-
- obuf->bufp = p + (obuf->bufp - obuf->buf);
- obuf->buf = p;
-
- return 0;
-}
-
-/* Symbol table for macro names and special symbols */
-
-/*
- * install a name in the main hash table, even if it is already there.
- * name stops with first non alphanumeric, except leading '#'.
- * caller must check against redefinition if that is desired.
- * delete_macro () removes things installed by install () in fifo order.
- * this is important because of the `defined' special symbol used
- * in #if, and also if pushdef/popdef directives are ever implemented.
- *
- * If LEN is >= 0, it is the length of the name.
- * Otherwise, compute the length by scanning the entire name.
- *
- * If HASH is >= 0, it is the precomputed hash code.
- * Otherwise, compute the hash code.
- */
-
-static HASHNODE *
-install (name, len, type, value, hash)
- U_CHAR *name;
- int len;
- enum node_type type;
- char *value;
- int hash;
-{
- register HASHNODE *hp;
- register int i, bucket;
- register U_CHAR *p, *q;
-
- if (len < 0) {
- p = name;
- while (is_idchar[*p])
- p++;
- len = p - name;
- }
-
- if (hash < 0)
- hash = hashf (name, len, HASHSIZE);
-
- i = sizeof (HASHNODE) + len + 1;
- hp = (HASHNODE *) xmalloc (i);
- bucket = hash;
- hp->bucket_hdr = &hashtab[bucket];
- hp->next = hashtab[bucket];
- hashtab[bucket] = hp;
- hp->prev = NULL;
- if (hp->next != NULL)
- hp->next->prev = hp;
- hp->type = type;
- hp->length = len;
- hp->value.cpval = value;
- hp->name = ((U_CHAR *) hp) + sizeof (HASHNODE);
- p = hp->name;
- q = name;
- for (i = 0; i < len; i++)
- *p++ = *q++;
- hp->name[len] = 0;
- return hp;
-}
-
-/*
- * find the most recent hash node for name "name" (ending with first
- * non-identifier char) installed by install
- *
- * If LEN is >= 0, it is the length of the name.
- * Otherwise, compute the length by scanning the entire name.
- *
- * If HASH is >= 0, it is the precomputed hash code.
- * Otherwise, compute the hash code.
- */
-
-HASHNODE *
-lookup (name, len, hash)
- U_CHAR *name;
- int len;
- int hash;
-{
- register U_CHAR *bp;
- register HASHNODE *bucket;
-
- if (len < 0) {
- for (bp = name; is_idchar[*bp]; bp++) ;
- len = bp - name;
- }
-
- if (hash < 0)
- hash = hashf (name, len, HASHSIZE);
-
- bucket = hashtab[hash];
- while (bucket) {
- if (bucket->length == len && bcmp (bucket->name, name, len) == 0)
- return bucket;
- bucket = bucket->next;
- }
- return NULL;
-}
-
-/*
- * Delete a hash node. Some weirdness to free junk from macros.
- * More such weirdness will have to be added if you define more hash
- * types that need it.
- */
-
-/* Note that the DEFINITION of a macro is removed from the hash table
- but its storage is not freed. This would be a storage leak
- except that it is not reasonable to keep undefining and redefining
- large numbers of macros many times.
- In any case, this is necessary, because a macro can be #undef'd
- in the middle of reading the arguments to a call to it.
- If #undef freed the DEFINITION, that would crash. */
-
-static void
-delete_macro (hp)
- HASHNODE *hp;
-{
-
- if (hp->prev != NULL)
- hp->prev->next = hp->next;
- if (hp->next != NULL)
- hp->next->prev = hp->prev;
-
- /* Make sure that the bucket chain header that the deleted guy was
- on points to the right thing afterwards. */
- if (hp == *hp->bucket_hdr)
- *hp->bucket_hdr = hp->next;
-
-#if 0
- if (hp->type == T_MACRO) {
- DEFINITION *d = hp->value.defn;
- struct reflist *ap, *nextap;
-
- for (ap = d->pattern; ap != NULL; ap = nextap) {
- nextap = ap->next;
- free (ap);
- }
- free (d);
- }
-#endif
- free (hp);
-}
-
-/*
- * return hash function on name. must be compatible with the one
- * computed a step at a time, elsewhere
- */
-
-static int
-hashf (name, len, hashsize)
- register U_CHAR *name;
- register int len;
- int hashsize;
-{
- register int r = 0;
-
- while (len--)
- r = HASHSTEP (r, *name++);
-
- return MAKE_POS (r) % hashsize;
-}
-
-
-/* Dump the definition of a single macro HP to OF. */
-
-static void
-dump_single_macro (hp, of)
- register HASHNODE *hp;
- FILE *of;
-{
- register DEFINITION *defn = hp->value.defn;
- struct reflist *ap;
- int offset;
- int concat;
-
-
- /* Print the definition of the macro HP. */
-
- fprintf (of, "#define %s", hp->name);
-
- if (defn->nargs >= 0) {
- int i;
-
- fprintf (of, "(");
- for (i = 0; i < defn->nargs; i++) {
- dump_arg_n (defn, i, of);
- if (i + 1 < defn->nargs)
- fprintf (of, ", ");
- }
- fprintf (of, ")");
- }
-
- fprintf (of, " ");
-
- offset = 0;
- concat = 0;
- for (ap = defn->pattern; ap != NULL; ap = ap->next) {
- dump_defn_1 (defn->expansion, offset, ap->nchars, of);
- offset += ap->nchars;
- if (!traditional) {
- if (ap->nchars != 0)
- concat = 0;
- if (ap->stringify) {
- switch (ap->stringify) {
- case SHARP_TOKEN: fprintf (of, "#"); break;
- case WHITE_SHARP_TOKEN: fprintf (of, "# "); break;
- case PERCENT_COLON_TOKEN: fprintf (of, "%%:"); break;
- case WHITE_PERCENT_COLON_TOKEN: fprintf (of, "%%: "); break;
- default: abort ();
- }
- }
- if (ap->raw_before != 0) {
- if (concat) {
- switch (ap->raw_before) {
- case WHITE_SHARP_TOKEN:
- case WHITE_PERCENT_COLON_TOKEN:
- fprintf (of, " ");
- break;
- default:
- break;
- }
- } else {
- switch (ap->raw_before) {
- case SHARP_TOKEN: fprintf (of, "##"); break;
- case WHITE_SHARP_TOKEN: fprintf (of, "## "); break;
- case PERCENT_COLON_TOKEN: fprintf (of, "%%:%%:"); break;
- case WHITE_PERCENT_COLON_TOKEN: fprintf (of, "%%:%%: "); break;
- default: abort ();
- }
- }
- }
- concat = 0;
- }
- dump_arg_n (defn, ap->argno, of);
- if (!traditional && ap->raw_after != 0) {
- switch (ap->raw_after) {
- case SHARP_TOKEN: fprintf (of, "##"); break;
- case WHITE_SHARP_TOKEN: fprintf (of, " ##"); break;
- case PERCENT_COLON_TOKEN: fprintf (of, "%%:%%:"); break;
- case WHITE_PERCENT_COLON_TOKEN: fprintf (of, " %%:%%:"); break;
- default: abort ();
- }
- concat = 1;
- }
- }
- dump_defn_1 (defn->expansion, offset, defn->length - offset, of);
- fprintf (of, "\n");
-}
-
-/* Dump all macro definitions as #defines to stdout. */
-
-static void
-dump_all_macros ()
-{
- int bucket;
-
- for (bucket = 0; bucket < HASHSIZE; bucket++) {
- register HASHNODE *hp;
-
- for (hp = hashtab[bucket]; hp; hp= hp->next) {
- if (hp->type == T_MACRO)
- dump_single_macro (hp, stdout);
- }
- }
-}
-
-/* Output to OF a substring of a macro definition.
- BASE is the beginning of the definition.
- Output characters START thru LENGTH.
- Unless traditional, discard newlines outside of strings, thus
- converting funny-space markers to ordinary spaces. */
-
-static void
-dump_defn_1 (base, start, length, of)
- U_CHAR *base;
- int start;
- int length;
- FILE *of;
-{
- U_CHAR *p = base + start;
- U_CHAR *limit = base + start + length;
-
- if (traditional)
- fwrite (p, sizeof (*p), length, of);
- else {
- while (p < limit) {
- if (*p == '\"' || *p =='\'') {
- U_CHAR *p1 = skip_quoted_string (p, limit, 0, NULL_PTR,
- NULL_PTR, NULL_PTR);
- fwrite (p, sizeof (*p), p1 - p, of);
- p = p1;
- } else {
- if (*p != '\n')
- putc (*p, of);
- p++;
- }
- }
- }
-}
-
-/* Print the name of argument number ARGNUM of macro definition DEFN
- to OF.
- Recall that DEFN->args.argnames contains all the arg names
- concatenated in reverse order with comma-space in between. */
-
-static void
-dump_arg_n (defn, argnum, of)
- DEFINITION *defn;
- int argnum;
- FILE *of;
-{
- register U_CHAR *p = defn->args.argnames;
- while (argnum + 1 < defn->nargs) {
- p = (U_CHAR *) index ((char *) p, ' ') + 1;
- argnum++;
- }
-
- while (*p && *p != ',') {
- putc (*p, of);
- p++;
- }
-}
-
-/* Initialize syntactic classifications of characters. */
-
-static void
-initialize_char_syntax ()
-{
- register int i;
-
- /*
- * Set up is_idchar and is_idstart tables. These should be
- * faster than saying (is_alpha (c) || c == '_'), etc.
- * Set up these things before calling any routines tthat
- * refer to them.
- */
- for (i = 'a'; i <= 'z'; i++) {
- is_idchar[i - 'a' + 'A'] = 1;
- is_idchar[i] = 1;
- is_idstart[i - 'a' + 'A'] = 1;
- is_idstart[i] = 1;
- }
- for (i = '0'; i <= '9'; i++)
- is_idchar[i] = 1;
- is_idchar['_'] = 1;
- is_idstart['_'] = 1;
- is_idchar['$'] = 1;
- is_idstart['$'] = 1;
-
- /* horizontal space table */
- is_hor_space[' '] = 1;
- is_hor_space['\t'] = 1;
- is_hor_space['\v'] = 1;
- is_hor_space['\f'] = 1;
- is_hor_space['\r'] = 1;
-
- is_space[' '] = 1;
- is_space['\t'] = 1;
- is_space['\v'] = 1;
- is_space['\f'] = 1;
- is_space['\n'] = 1;
- is_space['\r'] = 1;
-
- char_name['\v'] = "vertical tab";
- char_name['\f'] = "formfeed";
- char_name['\r'] = "carriage return";
-}
-
-/* Initialize the built-in macros. */
-
-static void
-initialize_builtins (inp, outp)
- FILE_BUF *inp;
- FILE_BUF *outp;
-{
- install ((U_CHAR *) "__LINE__", -1, T_SPECLINE, NULL_PTR, -1);
- install ((U_CHAR *) "__DATE__", -1, T_DATE, NULL_PTR, -1);
- install ((U_CHAR *) "__FILE__", -1, T_FILE, NULL_PTR, -1);
- install ((U_CHAR *) "__BASE_FILE__", -1, T_BASE_FILE, NULL_PTR, -1);
- install ((U_CHAR *) "__INCLUDE_LEVEL__", -1, T_INCLUDE_LEVEL, NULL_PTR, -1);
- install ((U_CHAR *) "__VERSION__", -1, T_VERSION, NULL_PTR, -1);
-#ifndef NO_BUILTIN_SIZE_TYPE
- install ((U_CHAR *) "__SIZE_TYPE__", -1, T_SIZE_TYPE, NULL_PTR, -1);
-#endif
-#ifndef NO_BUILTIN_PTRDIFF_TYPE
- install ((U_CHAR *) "__PTRDIFF_TYPE__ ", -1, T_PTRDIFF_TYPE, NULL_PTR, -1);
-#endif
-/* CYGNUS LOCAL vmakarov */
-#ifndef NO_BUILTIN_WCHAR_TYPE
-/* END CYGNUS LOCAL */
- install ((U_CHAR *) "__WCHAR_TYPE__", -1, T_WCHAR_TYPE, NULL_PTR, -1);
-/* CYGNUS LOCAL vmakarov */
-#endif
-/* END CYGNUS LOCAL */
- install ((U_CHAR *) "__USER_LABEL_PREFIX__", -1, T_USER_LABEL_PREFIX_TYPE,
- NULL_PTR, -1);
- install ((U_CHAR *) "__REGISTER_PREFIX__", -1, T_REGISTER_PREFIX_TYPE,
- NULL_PTR, -1);
- install ((U_CHAR *) "__IMMEDIATE_PREFIX__", -1, T_IMMEDIATE_PREFIX_TYPE,
- NULL_PTR, -1);
- install ((U_CHAR *) "__TIME__", -1, T_TIME, NULL_PTR, -1);
- if (!traditional) {
- install ((U_CHAR *) "__STDC__", -1, T_CONST, "1", -1);
- install ((U_CHAR *) "__STDC_VERSION__", -1, T_CONST, "199409L", -1);
- }
- if (objc)
- install ((U_CHAR *) "__OBJC__", -1, T_CONST, "1", -1);
-/* This is supplied using a -D by the compiler driver
- so that it is present only when truly compiling with GNU C. */
-/* install ((U_CHAR *) "__GNUC__", -1, T_CONST, "2", -1); */
- install ((U_CHAR *) "__HAVE_BUILTIN_SETJMP__", -1, T_CONST, "1", -1);
-
- if (debug_output)
- {
- char directive[2048];
- U_CHAR *udirective = (U_CHAR *) directive;
- register struct directive *dp = &directive_table[0];
- struct tm *timebuf = timestamp ();
-
- sprintf (directive, " __BASE_FILE__ \"%s\"\n",
- instack[0].nominal_fname);
- output_line_directive (inp, outp, 0, same_file);
- pass_thru_directive (udirective, &udirective[strlen (directive)],
- outp, dp);
-
- sprintf (directive, " __VERSION__ \"%s\"\n", version_string);
- output_line_directive (inp, outp, 0, same_file);
- pass_thru_directive (udirective, &udirective[strlen (directive)],
- outp, dp);
-
-#ifndef NO_BUILTIN_SIZE_TYPE
- sprintf (directive, " __SIZE_TYPE__ %s\n", SIZE_TYPE);
- output_line_directive (inp, outp, 0, same_file);
- pass_thru_directive (udirective, &udirective[strlen (directive)],
- outp, dp);
-#endif
-
-#ifndef NO_BUILTIN_PTRDIFF_TYPE
- sprintf (directive, " __PTRDIFF_TYPE__ %s\n", PTRDIFF_TYPE);
- output_line_directive (inp, outp, 0, same_file);
- pass_thru_directive (udirective, &udirective[strlen (directive)],
- outp, dp);
-#endif
-
-/* CYGNUS LOCAL vmakarov */
-#ifndef NO_BUILTIN_WCHAR_TYPE
-/* END CYGNUS LOCAL */
- sprintf (directive, " __WCHAR_TYPE__ %s\n", wchar_type);
- output_line_directive (inp, outp, 0, same_file);
- pass_thru_directive (udirective, &udirective[strlen (directive)],
- outp, dp);
-/* CYGNUS LOCAL vmakarov */
-#endif
-/* END CYGNUS LOCAL */
-
- sprintf (directive, " __DATE__ \"%s %2d %4d\"\n",
- monthnames[timebuf->tm_mon],
- timebuf->tm_mday, timebuf->tm_year + 1900);
- output_line_directive (inp, outp, 0, same_file);
- pass_thru_directive (udirective, &udirective[strlen (directive)],
- outp, dp);
-
- sprintf (directive, " __TIME__ \"%02d:%02d:%02d\"\n",
- timebuf->tm_hour, timebuf->tm_min, timebuf->tm_sec);
- output_line_directive (inp, outp, 0, same_file);
- pass_thru_directive (udirective, &udirective[strlen (directive)],
- outp, dp);
-
- if (!traditional)
- {
- sprintf (directive, " __STDC__ 1");
- output_line_directive (inp, outp, 0, same_file);
- pass_thru_directive (udirective, &udirective[strlen (directive)],
- outp, dp);
- }
- if (objc)
- {
- sprintf (directive, " __OBJC__ 1");
- output_line_directive (inp, outp, 0, same_file);
- pass_thru_directive (udirective, &udirective[strlen (directive)],
- outp, dp);
- }
- }
-}
-
-/*
- * process a given definition string, for initialization
- * If STR is just an identifier, define it with value 1.
- * If STR has anything after the identifier, then it should
- * be identifier=definition.
- */
-
-static void
-make_definition (str)
- char *str;
-{
- FILE_BUF *ip;
- struct directive *kt;
- U_CHAR *buf, *p;
-
- p = buf = (U_CHAR *) str;
- if (!is_idstart[*p]) {
- error ("malformed option `-D %s'", str);
- return;
- }
- while (is_idchar[*++p])
- ;
- if (*p == '(') {
- while (is_idchar[*++p] || *p == ',' || is_hor_space[*p])
- ;
- if (*p++ != ')')
- p = (U_CHAR *) str; /* Error */
- }
- if (*p == 0) {
- buf = (U_CHAR *) alloca (p - buf + 4);
- strcpy ((char *)buf, str);
- strcat ((char *)buf, " 1");
- } else if (*p != '=') {
- error ("malformed option `-D %s'", str);
- return;
- } else {
- U_CHAR *q;
- /* Copy the entire option so we can modify it. */
- buf = (U_CHAR *) alloca (2 * strlen (str) + 1);
- strncpy ((char *) buf, str, p - (U_CHAR *) str);
- /* Change the = to a space. */
- buf[p - (U_CHAR *) str] = ' ';
- /* Scan for any backslash-newline and remove it. */
- p++;
- q = &buf[p - (U_CHAR *) str];
- while (*p) {
- if (*p == '\"' || *p == '\'') {
- int unterminated = 0;
- U_CHAR *p1 = skip_quoted_string (p, p + strlen ((char *) p), 0,
- NULL_PTR, NULL_PTR, &unterminated);
- if (unterminated)
- return;
- while (p != p1)
- *q++ = *p++;
- } else if (*p == '\\' && p[1] == '\n')
- p += 2;
- /* Change newline chars into newline-markers. */
- else if (*p == '\n')
- {
- *q++ = '\n';
- *q++ = '\n';
- p++;
- }
- else
- *q++ = *p++;
- }
- *q = 0;
- }
-
- ip = &instack[++indepth];
- ip->nominal_fname = ip->fname = "*Initialization*";
- ip->nominal_fname_len = strlen (ip->nominal_fname);
-
- ip->buf = ip->bufp = buf;
- ip->length = strlen ((char *) buf);
- ip->lineno = 1;
- ip->macro = 0;
- ip->free_ptr = 0;
- ip->if_stack = if_stack;
- ip->system_header_p = 0;
-
- for (kt = directive_table; kt->type != T_DEFINE; kt++)
- ;
-
- /* Pass NULL instead of OP, since this is a "predefined" macro. */
- do_define (buf, buf + strlen ((char *) buf), NULL_PTR, kt);
- --indepth;
-}
-
-/* JF, this does the work for the -U option */
-
-static void
-make_undef (str, op)
- char *str;
- FILE_BUF *op;
-{
- FILE_BUF *ip;
- struct directive *kt;
-
- ip = &instack[++indepth];
- ip->nominal_fname = ip->fname = "*undef*";
- ip->nominal_fname_len = strlen (ip->nominal_fname);
-
- ip->buf = ip->bufp = (U_CHAR *) str;
- ip->length = strlen (str);
- ip->lineno = 1;
- ip->macro = 0;
- ip->free_ptr = 0;
- ip->if_stack = if_stack;
- ip->system_header_p = 0;
-
- for (kt = directive_table; kt->type != T_UNDEF; kt++)
- ;
-
- do_undef ((U_CHAR *) str, (U_CHAR *) str + strlen (str), op, kt);
- --indepth;
-}
-
-/* Process the string STR as if it appeared as the body of a #assert.
- OPTION is the option name for which STR was the argument. */
-
-static void
-make_assertion (option, str)
- char *option;
- char *str;
-{
- FILE_BUF *ip;
- struct directive *kt;
- U_CHAR *buf, *p, *q;
-
- /* Copy the entire option so we can modify it. */
- buf = (U_CHAR *) alloca (strlen (str) + 1);
- strcpy ((char *) buf, str);
- /* Scan for any backslash-newline and remove it. */
- p = q = buf;
- while (*p) {
- if (*p == '\\' && p[1] == '\n')
- p += 2;
- else
- *q++ = *p++;
- }
- *q = 0;
-
- p = buf;
- if (!is_idstart[*p]) {
- error ("malformed option `%s %s'", option, str);
- return;
- }
- while (is_idchar[*++p])
- ;
- SKIP_WHITE_SPACE (p);
- if (! (*p == 0 || *p == '(')) {
- error ("malformed option `%s %s'", option, str);
- return;
- }
-
- ip = &instack[++indepth];
- ip->nominal_fname = ip->fname = "*Initialization*";
- ip->nominal_fname_len = strlen (ip->nominal_fname);
-
- ip->buf = ip->bufp = buf;
- ip->length = strlen ((char *) buf);
- ip->lineno = 1;
- ip->macro = 0;
- ip->free_ptr = 0;
- ip->if_stack = if_stack;
- ip->system_header_p = 0;
-
- for (kt = directive_table; kt->type != T_ASSERT; kt++)
- ;
-
- /* Pass NULL as output ptr to do_define since we KNOW it never does
- any output.... */
- do_assert (buf, buf + strlen ((char *) buf) , NULL_PTR, kt);
- --indepth;
-}
-
-#ifndef DIR_SEPARATOR
-#define DIR_SEPARATOR '/'
-#endif
-
-/* The previous include prefix, if any, is PREV_FILE_NAME.
- Translate any pathnames with COMPONENT.
- Allocate a new include prefix whose name is the
- simplified concatenation of PREFIX and NAME,
- with a trailing / added if needed.
- But return 0 if the include prefix should be ignored,
- e.g. because it is a duplicate of PREV_FILE_NAME. */
-
-static struct file_name_list *
-new_include_prefix (prev_file_name, component, prefix, name)
- struct file_name_list *prev_file_name;
- const char *component;
- const char *prefix;
- const char *name;
-{
- if (name == 0)
- fatal ("Directory name missing after command line option");
-
- if (*name == 0)
- /* Ignore the empty string. */
- return 0;
-
- prefix = update_path (prefix, component);
- name = update_path (name, component);
-
- {
- struct file_name_list *dir
- = ((struct file_name_list *)
- xmalloc (sizeof (struct file_name_list)
- + strlen (prefix) + strlen (name) + 2));
- size_t len;
- strcpy (dir->fname, prefix);
- strcat (dir->fname, name);
- len = simplify_filename (dir->fname);
-
- /* Convert directory name to a prefix. */
- if (len && dir->fname[len - 1] != DIR_SEPARATOR) {
- if (len == 1 && dir->fname[len - 1] == '.')
- len = 0;
- else
- dir->fname[len++] = DIR_SEPARATOR;
- dir->fname[len] = 0;
- }
-
- /* Ignore a directory whose name matches the previous one. */
- if (prev_file_name && !strcmp (prev_file_name->fname, dir->fname)) {
- /* But treat `-Idir -I- -Idir' as `-I- -Idir'. */
- if (!first_bracket_include)
- first_bracket_include = prev_file_name;
- free (dir);
- return 0;
- }
-
- /* Add a trailing "." if there is a filename. This increases the number
- of systems that can stat directories. We remove it below. */
- if (len != 0)
- {
- dir->fname[len] = '.';
- dir->fname[len + 1] = 0;
- }
-
- /* Ignore a nonexistent directory. */
- if (stat (len ? dir->fname : ".", &dir->st) != 0) {
- if (errno != ENOENT && errno != ENOTDIR)
- error_from_errno (dir->fname);
- free (dir);
- return 0;
- }
-
- if (len != 0)
- dir->fname[len] = 0;
-
- /* Ignore a directory whose identity matches the previous one. */
- if (prev_file_name
- && INO_T_EQ (prev_file_name->st.st_ino, dir->st.st_ino)
- && prev_file_name->st.st_dev == dir->st.st_dev) {
- /* But treat `-Idir -I- -Idir' as `-I- -Idir'. */
- if (!first_bracket_include)
- first_bracket_include = prev_file_name;
- free (dir);
- return 0;
- }
-
- dir->next = 0;
- dir->c_system_include_path = 0;
- dir->got_name_map = 0;
-
- return dir;
- }
-}
-
-/* Append a chain of `struct file_name_list's
- to the end of the main include chain.
- FIRST is the beginning of the chain to append, and LAST is the end. */
-
-static void
-append_include_chain (first, last)
- struct file_name_list *first, *last;
-{
- struct file_name_list *dir;
-
- if (!first || !last)
- return;
-
- if (include == 0)
- include = first;
- else
- last_include->next = first;
-
- if (first_bracket_include == 0)
- first_bracket_include = first;
-
- for (dir = first; ; dir = dir->next) {
- int len = strlen (dir->fname) + INCLUDE_LEN_FUDGE;
- if (len > max_include_len)
- max_include_len = len;
- if (dir == last)
- break;
- }
-
- last->next = NULL;
- last_include = last;
-}
-
-/* Place into DST a representation of the file named SRC that is suitable
- for `make'. Do not null-terminate DST. Return its length. */
-static int
-quote_string_for_make (dst, src)
- char *dst;
- char *src;
-{
- char *p = src;
- int i = 0;
- for (;;)
- {
- char c = *p++;
- switch (c)
- {
- case '\0':
- case ' ':
- case '\t':
- {
- /* GNU make uses a weird quoting scheme for white space.
- A space or tab preceded by 2N+1 backslashes represents
- N backslashes followed by space; a space or tab
- preceded by 2N backslashes represents N backslashes at
- the end of a file name; and backslashes in other
- contexts should not be doubled. */
- char *q;
- for (q = p - 1; src < q && q[-1] == '\\'; q--)
- {
- if (dst)
- dst[i] = '\\';
- i++;
- }
- }
- if (!c)
- return i;
- if (dst)
- dst[i] = '\\';
- i++;
- goto ordinary_char;
-
- case '$':
- if (dst)
- dst[i] = c;
- i++;
- /* Fall through. This can mishandle things like "$(" but
- there's no easy fix. */
- default:
- ordinary_char:
- /* This can mishandle characters in the string "\0\n%*?[\\~";
- exactly which chars are mishandled depends on the `make' version.
- We know of no portable solution for this;
- even GNU make 3.76.1 doesn't solve the problem entirely.
- (Also, '\0' is mishandled due to our calling conventions.) */
- if (dst)
- dst[i] = c;
- i++;
- break;
- }
- }
-}
-
-
-/* Add output to `deps_buffer' for the -M switch.
- STRING points to the text to be output.
- SPACER is ':' for targets, ' ' for dependencies. */
-
-static void
-deps_output (string, spacer)
- char *string;
- int spacer;
-{
- int size = quote_string_for_make ((char *) 0, string);
-/* CYGNUS LOCAL vmakarov */
- int spacer_size = spacer == ':' ? 2 : 1;
-/* END CYGNUS LOCAL */
-
- if (size == 0)
- return;
-
-#ifndef MAX_OUTPUT_COLUMNS
-#define MAX_OUTPUT_COLUMNS 72
-#endif
- if (MAX_OUTPUT_COLUMNS - spacer_size /* CYGNUS LOCAL vmakarov: spacer_size */ - 2 /*` \'*/ < deps_column + size
- && 1 < deps_column) {
- bcopy (" \\\n ", &deps_buffer[deps_size], 4);
- deps_size += 4;
- deps_column = 1;
- if (spacer == ' ')
- spacer = 0;
- }
-
- if (deps_size + 2 * size + 8 > deps_allocated_size) {
- deps_allocated_size = (deps_size + 2 * size + 50) * 2;
- deps_buffer = xrealloc (deps_buffer, deps_allocated_size);
- }
- if (spacer == ' ') {
- deps_buffer[deps_size++] = ' ';
- deps_column++;
- }
- quote_string_for_make (&deps_buffer[deps_size], string);
- deps_size += size;
- deps_column += size;
- if (spacer == ':') {
-/* CYGNUS LOCAL vmakarov */
- deps_buffer[deps_size++] = ' ';
-/* END CYGNUS LOCAL */
- deps_buffer[deps_size++] = ':';
- deps_column++;
- }
- deps_buffer[deps_size] = 0;
-}
-
-static void
-fatal VPROTO ((char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- char * msg;
-#endif
- va_list args;
-
- fprintf (stderr, "%s: ", progname);
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- msg = va_arg (args, char *);
-#endif
-
- vfprintf (stderr, msg, args);
- va_end (args);
- fprintf (stderr, "\n");
- exit (FATAL_EXIT_CODE);
-}
-
-/* More 'friendly' abort that prints the line and file.
- config.h can #define abort fancy_abort if you like that sort of thing. */
-
-void
-fancy_abort ()
-{
- fatal ("Internal gcc abort.");
-}
-
-static void
-perror_with_name (name)
- char *name;
-{
- fprintf (stderr, "%s: %s: %s\n", progname, name, my_strerror (errno));
- errors++;
-}
-
-static void
-pfatal_with_name (name)
- char *name;
-{
- perror_with_name (name);
- exit (FATAL_EXIT_CODE);
-}
-
-/* Handler for SIGPIPE. */
-
-static void
-pipe_closed (signo)
- /* If this is missing, some compilers complain. */
- int signo ATTRIBUTE_UNUSED;
-{
- fatal ("output pipe has been closed");
-}
-
-static void
-memory_full ()
-{
- fatal ("Memory exhausted.");
-}
-
-PTR
-xmalloc (size)
- size_t size;
-{
- register PTR ptr = (PTR) malloc (size);
- if (!ptr)
- memory_full ();
- return ptr;
-}
-
-PTR
-xrealloc (old, size)
- PTR old;
- size_t size;
-{
- register PTR ptr;
- if (old)
- ptr = (PTR) realloc (old, size);
- else
- ptr = (PTR) malloc (size);
- if (!ptr)
- memory_full ();
- return ptr;
-}
-
-PTR
-xcalloc (number, size)
- size_t number, size;
-{
- register size_t total = number * size;
- register PTR ptr = (PTR) malloc (total);
- if (!ptr)
- memory_full ();
- bzero (ptr, total);
- return ptr;
-}
-
-static char *
-savestring (input)
- char *input;
-{
- size_t size = strlen (input);
- char *output = xmalloc (size + 1);
- strcpy (output, input);
- return output;
-}
-
-
diff --git a/gcc/cexp.y b/gcc/cexp.y
deleted file mode 100755
index d63c4d1..0000000
--- a/gcc/cexp.y
+++ /dev/null
@@ -1,1248 +0,0 @@
-/* Parse C expressions for CCCP.
- Copyright (C) 1987, 1992, 94 - 97, 1998 Free Software Foundation.
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
-
- In other words, you are welcome to use, share and improve this program.
- You are forbidden to forbid anyone else to use, share and improve
- what you give them. Help stamp out software-hoarding!
-
- Adapted from expread.y of GDB by Paul Rubin, July 1986. */
-
-/* Parse a C expression from text in a string */
-
-%{
-#include "config.h"
-
-#define PRINTF_PROTO(ARGS, m, n) PVPROTO (ARGS) ATTRIBUTE_PRINTF(m, n)
-
-#define PRINTF_PROTO_1(ARGS) PRINTF_PROTO(ARGS, 1, 2)
-
-#include "system.h"
-#include <setjmp.h>
-/* #define YYDEBUG 1 */
-
-#ifdef MULTIBYTE_CHARS
-#include "mbchar.h"
-#include <locale.h>
-#endif /* MULTIBYTE_CHARS */
-
-typedef unsigned char U_CHAR;
-
-/* This is used for communicating lists of keywords with cccp.c. */
-struct arglist {
- struct arglist *next;
- U_CHAR *name;
- int length;
- int argno;
-};
-
-/* Find the largest host integer type and set its size and type.
- Watch out: on some crazy hosts `long' is shorter than `int'. */
-
-#ifndef HOST_WIDE_INT
-# if HAVE_INTTYPES_H
-# include <inttypes.h>
-# define HOST_WIDE_INT intmax_t
-# define unsigned_HOST_WIDE_INT uintmax_t
-# else
-# if (HOST_BITS_PER_LONG <= HOST_BITS_PER_INT && HOST_BITS_PER_LONGLONG <= HOST_BITS_PER_INT)
-# define HOST_WIDE_INT int
-# else
-# if (HOST_BITS_PER_LONGLONG <= HOST_BITS_PER_LONG || ! (defined LONG_LONG_MAX || defined LLONG_MAX))
-# define HOST_WIDE_INT long
-# else
-# define HOST_WIDE_INT long long
-# endif
-# endif
-# endif
-#endif
-
-#ifndef unsigned_HOST_WIDE_INT
-#define unsigned_HOST_WIDE_INT unsigned HOST_WIDE_INT
-#endif
-
-#ifndef CHAR_BIT
-#define CHAR_BIT 8
-#endif
-
-#ifndef HOST_BITS_PER_WIDE_INT
-#define HOST_BITS_PER_WIDE_INT (CHAR_BIT * sizeof (HOST_WIDE_INT))
-#endif
-
-HOST_WIDE_INT parse_c_expression PROTO((char *, int));
-
-static int yylex PROTO((void));
-static void yyerror PROTO((char *)) __attribute__ ((noreturn));
-static HOST_WIDE_INT expression_value;
-#ifdef TEST_EXP_READER
-static int expression_signedp;
-#endif
-
-static jmp_buf parse_return_error;
-
-/* Nonzero means count most punctuation as part of a name. */
-static int keyword_parsing = 0;
-
-/* Nonzero means do not evaluate this expression.
- This is a count, since unevaluated expressions can nest. */
-static int skip_evaluation;
-
-/* Nonzero means warn if undefined identifiers are evaluated. */
-static int warn_undef;
-
-/* some external tables of character types */
-extern unsigned char is_idstart[], is_idchar[], is_space[];
-
-/* Flag for -pedantic. */
-extern int pedantic;
-
-/* Flag for -traditional. */
-extern int traditional;
-
-/* Flag for -lang-c89. */
-extern int c89;
-
-#ifndef CHAR_TYPE_SIZE
-#define CHAR_TYPE_SIZE BITS_PER_UNIT
-#endif
-
-#ifndef INT_TYPE_SIZE
-#define INT_TYPE_SIZE BITS_PER_WORD
-#endif
-
-#ifndef LONG_TYPE_SIZE
-#define LONG_TYPE_SIZE BITS_PER_WORD
-#endif
-
-#ifndef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE INT_TYPE_SIZE
-#endif
-
-#ifndef MAX_CHAR_TYPE_SIZE
-#define MAX_CHAR_TYPE_SIZE CHAR_TYPE_SIZE
-#endif
-
-#ifndef MAX_INT_TYPE_SIZE
-#define MAX_INT_TYPE_SIZE INT_TYPE_SIZE
-#endif
-
-#ifndef MAX_LONG_TYPE_SIZE
-#define MAX_LONG_TYPE_SIZE LONG_TYPE_SIZE
-#endif
-
-#ifndef MAX_WCHAR_TYPE_SIZE
-#define MAX_WCHAR_TYPE_SIZE WCHAR_TYPE_SIZE
-#endif
-
-#define MAX_CHAR_TYPE_MASK (MAX_CHAR_TYPE_SIZE < HOST_BITS_PER_WIDE_INT \
- ? (~ (~ (HOST_WIDE_INT) 0 << MAX_CHAR_TYPE_SIZE)) \
- : ~ (HOST_WIDE_INT) 0)
-
-#define MAX_WCHAR_TYPE_MASK (MAX_WCHAR_TYPE_SIZE < HOST_BITS_PER_WIDE_INT \
- ? ~ (~ (HOST_WIDE_INT) 0 << MAX_WCHAR_TYPE_SIZE) \
- : ~ (HOST_WIDE_INT) 0)
-
-/* Suppose A1 + B1 = SUM1, using 2's complement arithmetic ignoring overflow.
- Suppose A, B and SUM have the same respective signs as A1, B1, and SUM1.
- Suppose SIGNEDP is negative if the result is signed, zero if unsigned.
- Then this yields nonzero if overflow occurred during the addition.
- Overflow occurs if A and B have the same sign, but A and SUM differ in sign,
- and SIGNEDP is negative.
- Use `^' to test whether signs differ, and `< 0' to isolate the sign. */
-#define overflow_sum_sign(a, b, sum, signedp) \
- ((~((a) ^ (b)) & ((a) ^ (sum)) & (signedp)) < 0)
-
-struct constant;
-
-HOST_WIDE_INT parse_escape PROTO((char **, HOST_WIDE_INT));
-int check_assertion PROTO((U_CHAR *, int, int, struct arglist *));
-struct hashnode *lookup PROTO((U_CHAR *, int, int));
-void error PRINTF_PROTO_1((char *, ...));
-void pedwarn PRINTF_PROTO_1((char *, ...));
-void warning PRINTF_PROTO_1((char *, ...));
-
-static int parse_number PROTO((int));
-static HOST_WIDE_INT left_shift PROTO((struct constant *, unsigned_HOST_WIDE_INT));
-static HOST_WIDE_INT right_shift PROTO((struct constant *, unsigned_HOST_WIDE_INT));
-static void integer_overflow PROTO((void));
-
-/* `signedp' values */
-#define SIGNED (~0)
-#define UNSIGNED 0
-%}
-
-%union {
- struct constant {HOST_WIDE_INT value; int signedp;} integer;
- struct name {U_CHAR *address; int length;} name;
- struct arglist *keywords;
-}
-
-%type <integer> exp exp1 start
-%type <keywords> keywords
-%token <integer> INT CHAR
-%token <name> NAME
-%token <integer> ERROR
-
-%right '?' ':'
-%left ','
-%left OR
-%left AND
-%left '|'
-%left '^'
-%left '&'
-%left EQUAL NOTEQUAL
-%left '<' '>' LEQ GEQ
-%left LSH RSH
-%left '+' '-'
-%left '*' '/' '%'
-%right UNARY
-
-/* %expect 40 */
-
-%%
-
-start : exp1
- {
- expression_value = $1.value;
-#ifdef TEST_EXP_READER
- expression_signedp = $1.signedp;
-#endif
- }
- ;
-
-/* Expressions, including the comma operator. */
-exp1 : exp
- | exp1 ',' exp
- { if (pedantic)
- pedwarn ("comma operator in operand of `#if'");
- $$ = $3; }
- ;
-
-/* Expressions, not including the comma operator. */
-exp : '-' exp %prec UNARY
- { $$.value = - $2.value;
- $$.signedp = $2.signedp;
- if (($$.value & $2.value & $$.signedp) < 0)
- integer_overflow (); }
- | '!' exp %prec UNARY
- { $$.value = ! $2.value;
- $$.signedp = SIGNED; }
- | '+' exp %prec UNARY
- { $$ = $2; }
- | '~' exp %prec UNARY
- { $$.value = ~ $2.value;
- $$.signedp = $2.signedp; }
- | '#' NAME
- { $$.value = check_assertion ($2.address, $2.length,
- 0, NULL_PTR);
- $$.signedp = SIGNED; }
- | '#' NAME
- { keyword_parsing = 1; }
- '(' keywords ')'
- { $$.value = check_assertion ($2.address, $2.length,
- 1, $5);
- keyword_parsing = 0;
- $$.signedp = SIGNED; }
- | '(' exp1 ')'
- { $$ = $2; }
- ;
-
-/* Binary operators in order of decreasing precedence. */
-exp : exp '*' exp
- { $$.signedp = $1.signedp & $3.signedp;
- if ($$.signedp)
- {
- $$.value = $1.value * $3.value;
- if ($1.value
- && ($$.value / $1.value != $3.value
- || ($$.value & $1.value & $3.value) < 0))
- integer_overflow ();
- }
- else
- $$.value = ((unsigned_HOST_WIDE_INT) $1.value
- * $3.value); }
- | exp '/' exp
- { if ($3.value == 0)
- {
- if (!skip_evaluation)
- error ("division by zero in #if");
- $3.value = 1;
- }
- $$.signedp = $1.signedp & $3.signedp;
- if ($$.signedp)
- {
- $$.value = $1.value / $3.value;
- if (($$.value & $1.value & $3.value) < 0)
- integer_overflow ();
- }
- else
- $$.value = ((unsigned_HOST_WIDE_INT) $1.value
- / $3.value); }
- | exp '%' exp
- { if ($3.value == 0)
- {
- if (!skip_evaluation)
- error ("division by zero in #if");
- $3.value = 1;
- }
- $$.signedp = $1.signedp & $3.signedp;
- if ($$.signedp)
- $$.value = $1.value % $3.value;
- else
- $$.value = ((unsigned_HOST_WIDE_INT) $1.value
- % $3.value); }
- | exp '+' exp
- { $$.value = $1.value + $3.value;
- $$.signedp = $1.signedp & $3.signedp;
- if (overflow_sum_sign ($1.value, $3.value,
- $$.value, $$.signedp))
- integer_overflow (); }
- | exp '-' exp
- { $$.value = $1.value - $3.value;
- $$.signedp = $1.signedp & $3.signedp;
- if (overflow_sum_sign ($$.value, $3.value,
- $1.value, $$.signedp))
- integer_overflow (); }
- | exp LSH exp
- { $$.signedp = $1.signedp;
- if (($3.value & $3.signedp) < 0)
- $$.value = right_shift (&$1, -$3.value);
- else
- $$.value = left_shift (&$1, $3.value); }
- | exp RSH exp
- { $$.signedp = $1.signedp;
- if (($3.value & $3.signedp) < 0)
- $$.value = left_shift (&$1, -$3.value);
- else
- $$.value = right_shift (&$1, $3.value); }
- | exp EQUAL exp
- { $$.value = ($1.value == $3.value);
- $$.signedp = SIGNED; }
- | exp NOTEQUAL exp
- { $$.value = ($1.value != $3.value);
- $$.signedp = SIGNED; }
- | exp LEQ exp
- { $$.signedp = SIGNED;
- if ($1.signedp & $3.signedp)
- $$.value = $1.value <= $3.value;
- else
- $$.value = ((unsigned_HOST_WIDE_INT) $1.value
- <= $3.value); }
- | exp GEQ exp
- { $$.signedp = SIGNED;
- if ($1.signedp & $3.signedp)
- $$.value = $1.value >= $3.value;
- else
- $$.value = ((unsigned_HOST_WIDE_INT) $1.value
- >= $3.value); }
- | exp '<' exp
- { $$.signedp = SIGNED;
- if ($1.signedp & $3.signedp)
- $$.value = $1.value < $3.value;
- else
- $$.value = ((unsigned_HOST_WIDE_INT) $1.value
- < $3.value); }
- | exp '>' exp
- { $$.signedp = SIGNED;
- if ($1.signedp & $3.signedp)
- $$.value = $1.value > $3.value;
- else
- $$.value = ((unsigned_HOST_WIDE_INT) $1.value
- > $3.value); }
- | exp '&' exp
- { $$.value = $1.value & $3.value;
- $$.signedp = $1.signedp & $3.signedp; }
- | exp '^' exp
- { $$.value = $1.value ^ $3.value;
- $$.signedp = $1.signedp & $3.signedp; }
- | exp '|' exp
- { $$.value = $1.value | $3.value;
- $$.signedp = $1.signedp & $3.signedp; }
- | exp AND
- { skip_evaluation += !$1.value; }
- exp
- { skip_evaluation -= !$1.value;
- $$.value = ($1.value && $4.value);
- $$.signedp = SIGNED; }
- | exp OR
- { skip_evaluation += !!$1.value; }
- exp
- { skip_evaluation -= !!$1.value;
- $$.value = ($1.value || $4.value);
- $$.signedp = SIGNED; }
- | exp '?'
- { skip_evaluation += !$1.value; }
- exp ':'
- { skip_evaluation += !!$1.value - !$1.value; }
- exp
- { skip_evaluation -= !!$1.value;
- $$.value = $1.value ? $4.value : $7.value;
- $$.signedp = $4.signedp & $7.signedp; }
- | INT
- { $$ = yylval.integer; }
- | CHAR
- { $$ = yylval.integer; }
- | NAME
- { if (warn_undef && !skip_evaluation)
- warning ("`%.*s' is not defined",
- $1.length, $1.address);
- $$.value = 0;
- $$.signedp = SIGNED; }
- ;
-
-keywords :
- { $$ = 0; }
- | '(' keywords ')' keywords
- { struct arglist *temp;
- $$ = (struct arglist *) xmalloc (sizeof (struct arglist));
- $$->next = $2;
- $$->name = (U_CHAR *) "(";
- $$->length = 1;
- temp = $$;
- while (temp != 0 && temp->next != 0)
- temp = temp->next;
- temp->next = (struct arglist *) xmalloc (sizeof (struct arglist));
- temp->next->next = $4;
- temp->next->name = (U_CHAR *) ")";
- temp->next->length = 1; }
- | NAME keywords
- { $$ = (struct arglist *) xmalloc (sizeof (struct arglist));
- $$->name = $1.address;
- $$->length = $1.length;
- $$->next = $2; }
- ;
-%%
-
-/* During parsing of a C expression, the pointer to the next character
- is in this variable. */
-
-static char *lexptr;
-
-/* Take care of parsing a number (anything that starts with a digit).
- Set yylval and return the token type; update lexptr.
- LEN is the number of characters in it. */
-
-/* maybe needs to actually deal with floating point numbers */
-
-static int
-parse_number (olen)
- int olen;
-{
- register char *p = lexptr;
- register int c;
- register unsigned_HOST_WIDE_INT n = 0, nd, max_over_base;
- register int base = 10;
- register int len = olen;
- register int overflow = 0;
- register int digit, largest_digit = 0;
- int spec_long = 0;
-
- yylval.integer.signedp = SIGNED;
-
- if (*p == '0') {
- base = 8;
- if (len >= 3 && (p[1] == 'x' || p[1] == 'X')) {
- p += 2;
- base = 16;
- len -= 2;
- }
- }
-
- max_over_base = (unsigned_HOST_WIDE_INT) -1 / base;
-
- for (; len > 0; len--) {
- c = *p++;
-
- if (c >= '0' && c <= '9')
- digit = c - '0';
- else if (base == 16 && c >= 'a' && c <= 'f')
- digit = c - 'a' + 10;
- else if (base == 16 && c >= 'A' && c <= 'F')
- digit = c - 'A' + 10;
- else {
- /* `l' means long, and `u' means unsigned. */
- while (1) {
- if (c == 'l' || c == 'L')
- {
- if (!pedantic < spec_long)
- yyerror ("too many `l's in integer constant");
- spec_long++;
- }
- else if (c == 'u' || c == 'U')
- {
- if (! yylval.integer.signedp)
- yyerror ("two `u's in integer constant");
- yylval.integer.signedp = UNSIGNED;
- }
- else {
- if (c == '.' || c == 'e' || c == 'E' || c == 'p' || c == 'P')
- yyerror ("Floating point numbers not allowed in #if expressions");
- else {
- char *buf = (char *) alloca (p - lexptr + 40);
- sprintf (buf, "missing white space after number `%.*s'",
- (int) (p - lexptr - 1), lexptr);
- yyerror (buf);
- }
- }
-
- if (--len == 0)
- break;
- c = *p++;
- }
- /* Don't look for any more digits after the suffixes. */
- break;
- }
- if (largest_digit < digit)
- largest_digit = digit;
- nd = n * base + digit;
- overflow |= (max_over_base < n) | (nd < n);
- n = nd;
- }
-
- if (base <= largest_digit)
- pedwarn ("integer constant contains digits beyond the radix");
-
- if (overflow)
- pedwarn ("integer constant out of range");
-
- /* If too big to be signed, consider it unsigned. */
- if (((HOST_WIDE_INT) n & yylval.integer.signedp) < 0)
- {
- if (base == 10)
- warning ("integer constant is so large that it is unsigned");
- yylval.integer.signedp = UNSIGNED;
- }
-
- lexptr = p;
- yylval.integer.value = n;
- return INT;
-}
-
-struct token {
- char *operator;
- int token;
-};
-
-static struct token tokentab2[] = {
- {"&&", AND},
- {"||", OR},
- {"<<", LSH},
- {">>", RSH},
- {"==", EQUAL},
- {"!=", NOTEQUAL},
- {"<=", LEQ},
- {">=", GEQ},
- {"++", ERROR},
- {"--", ERROR},
- {NULL, ERROR}
-};
-
-/* Read one token, getting characters through lexptr. */
-
-static int
-yylex ()
-{
- register int c;
- register int namelen;
- register unsigned char *tokstart;
- register struct token *toktab;
- int wide_flag;
- HOST_WIDE_INT mask;
-
- retry:
-
- tokstart = (unsigned char *) lexptr;
- c = *tokstart;
- /* See if it is a special token of length 2. */
- if (! keyword_parsing)
- for (toktab = tokentab2; toktab->operator != NULL; toktab++)
- if (c == *toktab->operator && tokstart[1] == toktab->operator[1]) {
- lexptr += 2;
- if (toktab->token == ERROR)
- {
- char *buf = (char *) alloca (40);
- sprintf (buf, "`%s' not allowed in operand of `#if'", toktab->operator);
- yyerror (buf);
- }
- return toktab->token;
- }
-
- switch (c) {
- case '\n':
- return 0;
-
- case ' ':
- case '\t':
- case '\r':
- lexptr++;
- goto retry;
-
- case 'L':
- /* Capital L may start a wide-string or wide-character constant. */
- if (lexptr[1] == '\'')
- {
- lexptr++;
- wide_flag = 1;
- mask = MAX_WCHAR_TYPE_MASK;
- goto char_constant;
- }
- if (lexptr[1] == '"')
- {
- lexptr++;
- wide_flag = 1;
- mask = MAX_WCHAR_TYPE_MASK;
- goto string_constant;
- }
- break;
-
- case '\'':
- wide_flag = 0;
- mask = MAX_CHAR_TYPE_MASK;
- char_constant:
- lexptr++;
- if (keyword_parsing) {
- char *start_ptr = lexptr - 1;
- while (1) {
- c = *lexptr++;
- if (c == '\\')
- c = parse_escape (&lexptr, mask);
- else if (c == '\'')
- break;
- }
- yylval.name.address = tokstart;
- yylval.name.length = lexptr - start_ptr;
- return NAME;
- }
-
- /* This code for reading a character constant
- handles multicharacter constants and wide characters.
- It is mostly copied from c-lex.c. */
- {
- register HOST_WIDE_INT result = 0;
- register int num_chars = 0;
- int chars_seen = 0;
- unsigned width = MAX_CHAR_TYPE_SIZE;
- int max_chars;
-#ifdef MULTIBYTE_CHARS
- int longest_char = local_mb_cur_max ();
- char *token_buffer = (char *) alloca (longest_char);
- (void) local_mbtowc (NULL_PTR, NULL_PTR, 0);
-#endif
-
- max_chars = MAX_LONG_TYPE_SIZE / width;
- if (wide_flag)
- width = MAX_WCHAR_TYPE_SIZE;
-
- while (1)
- {
- c = *lexptr++;
-
- if (c == '\'' || c == EOF)
- break;
-
- ++chars_seen;
- if (c == '\\')
- {
- c = parse_escape (&lexptr, mask);
- }
- else
- {
-#ifdef MULTIBYTE_CHARS
- wchar_t wc;
- int i;
- int char_len = -1;
- for (i = 1; i <= longest_char; ++i)
- {
- token_buffer[i - 1] = c;
- char_len = local_mbtowc (& wc, token_buffer, i);
- if (char_len != -1)
- break;
- c = *lexptr++;
- }
- if (char_len > 1)
- {
- /* mbtowc sometimes needs an extra char before accepting */
- if (char_len < i)
- lexptr--;
- if (! wide_flag)
- {
- /* Merge character into result; ignore excess chars. */
- for (i = 1; i <= char_len; ++i)
- {
- if (i > max_chars)
- break;
- if (width < HOST_BITS_PER_INT)
- result = (result << width)
- | (token_buffer[i - 1]
- & ((1 << width) - 1));
- else
- result = token_buffer[i - 1];
- }
- num_chars += char_len;
- continue;
- }
- }
- else
- {
- if (char_len == -1)
- warning ("Ignoring invalid multibyte character");
- }
- if (wide_flag)
- c = wc;
-#endif /* ! MULTIBYTE_CHARS */
- }
-
- if (wide_flag)
- {
- if (chars_seen == 1) /* only keep the first one */
- result = c;
- continue;
- }
-
- /* Merge character into result; ignore excess chars. */
- num_chars++;
- if (num_chars <= max_chars)
- {
- if (width < HOST_BITS_PER_INT)
- result = (result << width) | (c & ((1 << width) - 1));
- else
- result = c;
- }
- }
-
- if (c != '\'')
- error ("malformatted character constant");
- else if (chars_seen == 0)
- error ("empty character constant");
- else if (num_chars > max_chars)
- {
- num_chars = max_chars;
- error ("character constant too long");
- }
- else if (chars_seen != 1 && ! traditional)
- warning ("multi-character character constant");
-
- /* If char type is signed, sign-extend the constant. */
- if (! wide_flag)
- {
- int num_bits = num_chars * width;
- if (num_bits == 0)
- /* We already got an error; avoid invalid shift. */
- yylval.integer.value = 0;
- else if (lookup ((U_CHAR *) "__CHAR_UNSIGNED__",
- sizeof ("__CHAR_UNSIGNED__") - 1, -1)
- || ((result >> (num_bits - 1)) & 1) == 0)
- yylval.integer.value
- = result & (~ (unsigned_HOST_WIDE_INT) 0
- >> (HOST_BITS_PER_WIDE_INT - num_bits));
- else
- yylval.integer.value
- = result | ~(~ (unsigned_HOST_WIDE_INT) 0
- >> (HOST_BITS_PER_WIDE_INT - num_bits));
- }
- else
- {
- yylval.integer.value = result;
- }
- }
-
- /* This is always a signed type. */
- yylval.integer.signedp = SIGNED;
-
- return CHAR;
-
- /* some of these chars are invalid in constant expressions;
- maybe do something about them later */
- case '/':
- case '+':
- case '-':
- case '*':
- case '%':
- case '|':
- case '&':
- case '^':
- case '~':
- case '!':
- case '@':
- case '<':
- case '>':
- case '[':
- case ']':
- case '.':
- case '?':
- case ':':
- case '=':
- case '{':
- case '}':
- case ',':
- case '#':
- if (keyword_parsing)
- break;
- case '(':
- case ')':
- lexptr++;
- return c;
-
- case '"':
- mask = MAX_CHAR_TYPE_MASK;
- string_constant:
- if (keyword_parsing) {
- char *start_ptr = lexptr;
- lexptr++;
- while (1) {
- c = *lexptr++;
- if (c == '\\')
- c = parse_escape (&lexptr, mask);
- else if (c == '"')
- break;
- }
- yylval.name.address = tokstart;
- yylval.name.length = lexptr - start_ptr;
- return NAME;
- }
- yyerror ("string constants not allowed in #if expressions");
- return ERROR;
- }
-
- if (c >= '0' && c <= '9' && !keyword_parsing) {
- /* It's a number */
- for (namelen = 1; ; namelen++) {
- int d = tokstart[namelen];
- if (! ((is_idchar[d] || d == '.')
- || ((d == '-' || d == '+')
- && (c == 'e' || c == 'E'
- || ((c == 'p' || c == 'P') && ! c89))
- && ! traditional)))
- break;
- c = d;
- }
- return parse_number (namelen);
- }
-
- /* It is a name. See how long it is. */
-
- if (keyword_parsing) {
- for (namelen = 0;; namelen++) {
- if (is_space[tokstart[namelen]])
- break;
- if (tokstart[namelen] == '(' || tokstart[namelen] == ')')
- break;
- if (tokstart[namelen] == '"' || tokstart[namelen] == '\'')
- break;
- }
- } else {
- if (!is_idstart[c]) {
- yyerror ("Invalid token in expression");
- return ERROR;
- }
-
- for (namelen = 0; is_idchar[tokstart[namelen]]; namelen++)
- ;
- }
-
- lexptr += namelen;
- yylval.name.address = tokstart;
- yylval.name.length = namelen;
- return NAME;
-}
-
-
-/* Parse a C escape sequence. STRING_PTR points to a variable
- containing a pointer to the string to parse. That pointer
- is updated past the characters we use. The value of the
- escape sequence is returned.
-
- RESULT_MASK is used to mask out the result;
- an error is reported if bits are lost thereby.
-
- A negative value means the sequence \ newline was seen,
- which is supposed to be equivalent to nothing at all.
-
- If \ is followed by a null character, we return a negative
- value and leave the string pointer pointing at the null character.
-
- If \ is followed by 000, we return 0 and leave the string pointer
- after the zeros. A value of 0 does not mean end of string. */
-
-HOST_WIDE_INT
-parse_escape (string_ptr, result_mask)
- char **string_ptr;
- HOST_WIDE_INT result_mask;
-{
- register int c = *(*string_ptr)++;
- switch (c)
- {
- case 'a':
- return TARGET_BELL;
- case 'b':
- return TARGET_BS;
- case 'e':
- case 'E':
- if (pedantic)
- pedwarn ("non-ANSI-standard escape sequence, `\\%c'", c);
- return 033;
- case 'f':
- return TARGET_FF;
- case 'n':
- return TARGET_NEWLINE;
- case 'r':
- return TARGET_CR;
- case 't':
- return TARGET_TAB;
- case 'v':
- return TARGET_VT;
- case '\n':
- return -2;
- case 0:
- (*string_ptr)--;
- return 0;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- {
- register HOST_WIDE_INT i = c - '0';
- register int count = 0;
- while (++count < 3)
- {
- c = *(*string_ptr)++;
- if (c >= '0' && c <= '7')
- i = (i << 3) + c - '0';
- else
- {
- (*string_ptr)--;
- break;
- }
- }
- if (i != (i & result_mask))
- {
- i &= result_mask;
- pedwarn ("octal escape sequence out of range");
- }
- return i;
- }
- case 'x':
- {
- register unsigned_HOST_WIDE_INT i = 0, overflow = 0;
- register int digits_found = 0, digit;
- for (;;)
- {
- c = *(*string_ptr)++;
- if (c >= '0' && c <= '9')
- digit = c - '0';
- else if (c >= 'a' && c <= 'f')
- digit = c - 'a' + 10;
- else if (c >= 'A' && c <= 'F')
- digit = c - 'A' + 10;
- else
- {
- (*string_ptr)--;
- break;
- }
- overflow |= i ^ (i << 4 >> 4);
- i = (i << 4) + digit;
- digits_found = 1;
- }
- if (!digits_found)
- yyerror ("\\x used with no following hex digits");
- if (overflow | (i != (i & result_mask)))
- {
- i &= result_mask;
- pedwarn ("hex escape sequence out of range");
- }
- return i;
- }
- default:
- return c;
- }
-}
-
-static void
-yyerror (s)
- char *s;
-{
- error ("%s", s);
- skip_evaluation = 0;
- longjmp (parse_return_error, 1);
-}
-
-static void
-integer_overflow ()
-{
- if (!skip_evaluation && pedantic)
- pedwarn ("integer overflow in preprocessor expression");
-}
-
-static HOST_WIDE_INT
-left_shift (a, b)
- struct constant *a;
- unsigned_HOST_WIDE_INT b;
-{
- /* It's unclear from the C standard whether shifts can overflow.
- The following code ignores overflow; perhaps a C standard
- interpretation ruling is needed. */
- if (b >= HOST_BITS_PER_WIDE_INT)
- return 0;
- else
- return (unsigned_HOST_WIDE_INT) a->value << b;
-}
-
-static HOST_WIDE_INT
-right_shift (a, b)
- struct constant *a;
- unsigned_HOST_WIDE_INT b;
-{
- if (b >= HOST_BITS_PER_WIDE_INT)
- return a->signedp ? a->value >> (HOST_BITS_PER_WIDE_INT - 1) : 0;
- else if (a->signedp)
- return a->value >> b;
- else
- return (unsigned_HOST_WIDE_INT) a->value >> b;
-}
-
-/* This page contains the entry point to this file. */
-
-/* Parse STRING as an expression, and complain if this fails
- to use up all of the contents of STRING.
- STRING may contain '\0' bytes; it is terminated by the first '\n'
- outside a string constant, so that we can diagnose '\0' properly.
- If WARN_UNDEFINED is nonzero, warn if undefined identifiers are evaluated.
- We do not support C comments. They should be removed before
- this function is called. */
-
-HOST_WIDE_INT
-parse_c_expression (string, warn_undefined)
- char *string;
- int warn_undefined;
-{
- lexptr = string;
- warn_undef = warn_undefined;
-
- /* if there is some sort of scanning error, just return 0 and assume
- the parsing routine has printed an error message somewhere.
- there is surely a better thing to do than this. */
- if (setjmp (parse_return_error))
- return 0;
-
- if (yyparse () != 0)
- abort ();
-
- if (*lexptr != '\n')
- error ("Junk after end of expression.");
-
- return expression_value; /* set by yyparse () */
-}
-
-#ifdef TEST_EXP_READER
-
-#if YYDEBUG
-extern int yydebug;
-#endif
-
-int pedantic;
-int traditional;
-
-int main PROTO((int, char **));
-static void initialize_random_junk PROTO((void));
-static void print_unsigned_host_wide_int PROTO((unsigned_HOST_WIDE_INT));
-
-/* Main program for testing purposes. */
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- int n, c;
- char buf[1024];
- unsigned_HOST_WIDE_INT u;
-
- pedantic = 1 < argc;
- traditional = 2 < argc;
-#if YYDEBUG
- yydebug = 3 < argc;
-#endif
- initialize_random_junk ();
-
- for (;;) {
- printf ("enter expression: ");
- n = 0;
- while ((buf[n] = c = getchar ()) != '\n' && c != EOF)
- n++;
- if (c == EOF)
- break;
- parse_c_expression (buf, 1);
- printf ("parser returned ");
- u = (unsigned_HOST_WIDE_INT) expression_value;
- if (expression_value < 0 && expression_signedp) {
- u = -u;
- printf ("-");
- }
- if (u == 0)
- printf ("0");
- else
- print_unsigned_host_wide_int (u);
- if (! expression_signedp)
- printf("u");
- printf ("\n");
- }
-
- return 0;
-}
-
-static void
-print_unsigned_host_wide_int (u)
- unsigned_HOST_WIDE_INT u;
-{
- if (u) {
- print_unsigned_host_wide_int (u / 10);
- putchar ('0' + (int) (u % 10));
- }
-}
-
-/* table to tell if char can be part of a C identifier. */
-unsigned char is_idchar[256];
-/* table to tell if char can be first char of a c identifier. */
-unsigned char is_idstart[256];
-/* table to tell if c is horizontal or vertical space. */
-unsigned char is_space[256];
-
-/*
- * initialize random junk in the hash table and maybe other places
- */
-static void
-initialize_random_junk ()
-{
- register int i;
-
- /*
- * Set up is_idchar and is_idstart tables. These should be
- * faster than saying (is_alpha (c) || c == '_'), etc.
- * Must do set up these things before calling any routines tthat
- * refer to them.
- */
- for (i = 'a'; i <= 'z'; i++) {
- ++is_idchar[i - 'a' + 'A'];
- ++is_idchar[i];
- ++is_idstart[i - 'a' + 'A'];
- ++is_idstart[i];
- }
- for (i = '0'; i <= '9'; i++)
- ++is_idchar[i];
- ++is_idchar['_'];
- ++is_idstart['_'];
- ++is_idchar['$'];
- ++is_idstart['$'];
-
- ++is_space[' '];
- ++is_space['\t'];
- ++is_space['\v'];
- ++is_space['\f'];
- ++is_space['\n'];
- ++is_space['\r'];
-}
-
-void
-error VPROTO ((char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- char * msg;
-#endif
- va_list args;
-
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- msg = va_arg (args, char *);
-#endif
-
- fprintf (stderr, "error: ");
- vfprintf (stderr, msg, args);
- fprintf (stderr, "\n");
- va_end (args);
-}
-
-void
-pedwarn VPROTO ((char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- char * msg;
-#endif
- va_list args;
-
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- msg = va_arg (args, char *);
-#endif
-
- fprintf (stderr, "pedwarn: ");
- vfprintf (stderr, msg, args);
- fprintf (stderr, "\n");
- va_end (args);
-}
-
-void
-warning VPROTO ((char * msg, ...))
-{
-#ifndef ANSI_PROTOTYPES
- char * msg;
-#endif
- va_list args;
-
- VA_START (args, msg);
-
-#ifndef ANSI_PROTOTYPES
- msg = va_arg (args, char *);
-#endif
-
- fprintf (stderr, "warning: ");
- vfprintf (stderr, msg, args);
- fprintf (stderr, "\n");
- va_end (args);
-}
-
-int
-check_assertion (name, sym_length, tokens_specified, tokens)
- U_CHAR *name;
- int sym_length;
- int tokens_specified;
- struct arglist *tokens;
-{
- return 0;
-}
-
-struct hashnode *
-lookup (name, len, hash)
- U_CHAR *name;
- int len;
- int hash;
-{
- return (DEFAULT_SIGNED_CHAR) ? 0 : ((struct hashnode *) -1);
-}
-
-PTR
-xmalloc (size)
- size_t size;
-{
- return (PTR) malloc (size);
-}
-#endif
diff --git a/gcc/gcc.c b/gcc/gcc.c
index f229c40..4d62dab 100755
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -587,7 +587,6 @@ static struct compiler default_compilers[] =
{".c", {"@c"}},
{"@c",
{
-#if USE_CPPLIB
"%{E|M|MM:cpp -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
%{C} %{v} %{A*} %{I*} %{P} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
@@ -651,53 +650,6 @@ static struct compiler default_compilers[] =
#endif
/* END CYGNUS LOCAL */
}},
-#else /* ! USE_CPPLIB */
- "cpp -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
- %{C} %{v} %{A*} %{I*} %{P} %I\
- %{C:%{!E:%eGNU C does not support -C without using -E}}\
- %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
- -undef -D__GNUC__=%v1 -D__GNUC_MINOR__=%v2\
- %{ansi|std=*:%{!std=gnu*:-trigraphs -D__STRICT_ANSI__}}\
- %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs}\
- %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\
- %{traditional} %{ftraditional:-traditional}\
- %{traditional-cpp:-traditional}\
- %{fleading-underscore} %{fno-leading-underscore}\
- %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\
- %i %{!M:%{!MM:%{!E:%{!pipe:%g.i}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n",
- /* CYGNUS LOCAL v850/law & --help/nickc */
-#if 1
- "%{!M:%{!MM:%{!E:cc1 %{!pipe:%g.i} %1 \
- %{!Q:-quiet} -dumpbase %b.c %{d*} %{m*} %{a*}\
- %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi} \
- %{traditional} %{v:-version} %{pg:-p} %{p} %{f*}\
- %{aux-info*}\
- %{attr-info*}\
- %{--help:--help} \
- %{offset-info*}\
- %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
- %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
- %{!S:as %a %Y\
- %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
- %{!pipe:%g.s} %A\n }}}}"
-#else
- /* END CYGNUS LOCAL */
- "%{!M:%{!MM:%{!E:cc1 %{!pipe:%g.i} %1 \
- %{!Q:-quiet} -dumpbase %b.c %{d*} %{m*} %{a*}\
- %{g*} %{O*} %{W*} %{w} %{pedantic*} %{std*}\
- %{traditional} %{v:-version} %{pg:-p} %{p} %{f*}\
- %{aux-info*}\
- %{--help:--help} \
- %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
- %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
- %{!S:as %a %Y\
- %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
- %{!pipe:%g.s} %A\n }}}}"
- /* CYGNUS LOCAL v850/law */
-#endif
- /* END CYGNUS LOCAL */
- }},
-#endif /* ! USE_CPPLIB */
{"-",
{"%{E:cpp -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
%{C} %{v} %{A*} %{I*} %{P} %I\
@@ -5574,16 +5526,7 @@ lookup_compiler (name, length, language)
(!strcmp (cp->suffix, "-") && !strcmp (name, "-"))
|| (strlen (cp->suffix) < length
/* See if the suffix matches the end of NAME. */
-#ifdef OS2
- && ((!strcmp (cp->suffix,
- name + length - strlen (cp->suffix))
- || !strpbrk (cp->suffix, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
- && !strcasecmp (cp->suffix,
- name + length - strlen (cp->suffix)))
-#else
- && !strcmp (cp->suffix,
- name + length - strlen (cp->suffix))
-#endif
+ && !strcmp (cp->suffix, name + length - strlen (cp->suffix))
))
{
if (cp->spec[0][0] == '@')
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 83437d6..899c337 100755
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -2654,12 +2654,8 @@ compile_file (name)
input_file_stack->name = input_filename;
/* This may set main_input_filename. */
-#if !USE_CPPLIB
- ungetc (check_newline (), finput);
-#else
check_newline ();
yy_cur--;
-#endif
/* If the input doesn't start with a #line, use the input name
as the official input file name. */
@@ -4011,10 +4007,6 @@ display_help ()
unsigned long i;
char * lang;
-#ifndef USE_CPPLIB
- printf ("Usage: %s input [switches]\n", progname);
- printf ("Switches:\n");
-#endif
printf (" -ffixed-<register> Mark <register> as being unavailable to the compiler\n");
printf (" -fcall-used-<register> Mark <register> as being corrupted by function calls\n");
printf (" -fcall-saved-<register> Mark <register> as being preserved across functions\n");
@@ -4303,9 +4295,7 @@ main (argc, argv)
flag_short_enums = DEFAULT_SHORT_ENUMS;
#endif
-#if USE_CPPLIB
cpplib_init();
-#endif
/* Scan to see what optimization level has been specified. That will
determine the default value of many flags. */