OSDN Git Service

* toplev.c (decode_f_option): Adjust setting.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f0d23dd..44d7294 100644 (file)
@@ -1,3 +1,325 @@
+2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * toplev.c (decode_f_option): Adjust setting.
+       (toplev_main): Call diagnostic_initialize.  Remove call to
+       reshape_diagnostic_buffer._
+
+       * diagnostic.h (struct output_buffer): Add new field format_decoder.
+       (diagnostic_format_decoder): New macro.
+       (diagnostic_prefixing_rule): Likewise.
+       (diagnostic_line_cutoff): Likewise.
+       (set_message_prefixing_rule): Remove.
+
+       * diagnostic.c (lang_printer): Remove.
+       (diagnostic_message_length_per_line): Likewise.
+       (current_prefixing_rule): Likewise.
+       (initialize_diagnostics): Rename to...
+       (diagnostic_initialize): ...this. Tweak.
+       (default_initialize_buffer): Remove.
+       (reshape_diagnostic_buffer): Likewise.
+       (init_output_buffer): Adjust prefixing rule setting.
+       (output_format): Use format_decoder from the output_buffer.
+
+       * c-lang.c (c_init): Adjust tree formatter setting.
+
+2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/i386/sol2.h (CPP_SPEC): Pass -P for .S files.
+
+2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * Makefile.in (TARGET_H, TARGET_DEF_H): New.
+       (c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update.
+       * c-decl.c (duplicate_decls): Use function pointer.
+       * c-typeck.c (common_type): Similarly.
+       * tree.c (valid_machine_attribute): Similarly.
+       (merge_machine_type_attributes): Rename merge_type_attributes.
+       (merge_machine_decl_attributes): Rename merge_decl_attributes.
+       (merge_dllimport_decl_attributes): New function.
+       * tree.h (merge_machine_type_attributes): Rename merge_type_attributes.
+       (merge_machine_decl_attributes): Rename merge_decl_attributes.
+       (merge_dllimport_decl_attributes): New prototype.
+       * target.h: New.
+       * target-def.h: New.
+
+doc:   (Joseph Myers)
+       * doc/gcc.texi, doc/tm.texi: Update documentation.
+
+cp:    Make-lang.in: Update dependencies.
+       * spew.c: Include target.h.
+       (duplicate_decls): Call target function.
+       * decl2.c: include target.h
+       (import_export_class): Use existence of target function pointer.
+       * typeck.c: Include target.h.
+       (qualify_type_recursive): Rename variable.  Call target function.
+       (type_after_usual_arithmetic_conversions): Similarly.
+       (common_type): Similarly.
+
+config:        * 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
+       avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c,
+       d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c,
+       i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c,
+       m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c,
+       mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c,
+       pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c,
+       sh/sh.c, sparc/sparc.c, v850/v850.c, vax/vax.c, we32k/we32k.c)
+       : Include target.h and target-def.h.  Define target.
+
+       * arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove.
+       * arc/arc.c (arc_valid_machine_decl_attribute): Rename
+       arc_valid_decl_attribute, make static.
+       * arc/arc.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * arm/arm-protos.h (arm_valid_machine_decl_attribute,
+       arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute,
+       arm_pe_merge_machine_decl_attributes): Remove.
+       * arm/arm.c (arm_valid_machine_decl_attribute_p): Rename
+       arm_valid_decl_attribute_p, make static.
+       (arm_pe_valid_decl_attribute_p): Move from pe.c.
+       * arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c.
+       (arm_pe_merge_machine_decl_attributes): Move to tree.c.
+       * arm/arm.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): New.
+       (VALID_MACHINE_TYPE_ATTRIBUTE, VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * avr/avr-protos.h (valid_machine_type_attribute,
+       valid_machine_decl_attribute): Remove.
+       * avr/avr.c (valid_machine_type_attribute,
+       valid_machine_decl_attribute): Rename and make static.
+       * avr/avr.h (VALID_MACHINE_TYPE_ATTRIBUTE,
+       VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove.
+       * c4x/c4x.c (c4x_valid_type_attribute_p): Make static.
+       * c4x/c4x.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * d30v/d30v.h: Remove obsolete comments.
+       * h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove.
+       * h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make
+       static.
+       * h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * i386/cygwin.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
+       (i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES,
+       i386_pe_valid_type_attributes_p): Remove.
+       * i386/i386-protos.h (ix86_valid_decl_attribute_p,
+       ix86_valid_type_attribute_p): Remove.
+       * i386/i386.c (ix86_valid_decl_attribute_p): Remove.
+       (ix86_valid_type_attribute_p): Make static.
+       * i386/i386.h (VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c.
+       * ia64/ia64-protos.h (ia64_valid_type_attribute): Remove.
+       * ia64/ia64.c (ia64_valid_type_attribute): Make static.
+       * ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove.
+       * m32r/m32r.c (m32r_valid_decl_attribute): Make static.
+       * m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p,
+       m68hc11_valid_type_attribute_p): Remove.
+       * m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove.
+       (m68hc11_valid_type_attribute_p): Make static.
+       * m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * mcore/mcore-protos.h (mcore_valid_machine_decl_attribute,
+       mcore_merge_machine_decl_attribute): Remove.
+       * mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename,
+       make static.
+       (mcore_merge_machine_decl_attributes): Move to tree.c.
+       * mcore/mcore.h (VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
+       * ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p,
+       ns32k_valid_type_attribute_p): Remove.
+       * ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove.
+       (ns32k_valid_type_attribute_p): Make static.
+       * ns32k/ns32k.h (VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p,
+       rs6000_valid_type_attribute_p): Remove.
+       * rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove.
+       (rs6000_valid_type_attribute_p): Make static.
+       * rs6000/rs6000.h (VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove.
+       * sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static.
+       * sh/sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove.
+       * v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static.
+       * v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+
+2001-06-26  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
+
+       * glimits.h (USHRT_MAX): Use unsigned suffix if int can not hold
+       it.
+
+2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.h (struct diagnostic_context): Add new field.
+       (lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
+       declaratons.
+       (global_dc): Declare.
+       * diagnostic.c (global_diagnostic_context): New variable.
+       (global_output_buffer): Remove.
+       (global_dc): Define.
+       (lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
+       definitions.
+       (initialize_diagnostics): Adjust initialization.
+       (set_diagnostic_context): Adjust setting.
+
+2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/mips/iris5.h (UNALIGNED_INT_ASM_OP,
+       UNALIGNED_SHORT_ASM_OP): Define.
+       * config/mips/iris6.h (UNALIGNED_INT_ASM_OP,
+       UNALIGNED_SHORT_ASM_OP): Undef.
+
+Tue Jun 26 12:40:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (float_truncate splitter, and to mov splitters): Add
+       reload_completed; fix operand predicate.
+
+       * haifa-sched.c (sched_init): Do not split insns.
+       * toplev.c (rest_of_compilation): Call split_all_insns before
+       sched1 pass; simplify condition of post-reload splitter;
+       call split_all_insn before sched2 pass.
+
+2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.h (diagnostic_prefixing_rule_t): New enum type.
+       (set_message_prefixing_rule): Adjust prototype.
+       * diagnostic.c (current_prefixing_rule): Adjust type.
+
+2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * defaults.h: Default escape sequences to ASCII.
+       * config/i370/i370.h: Adjust for ASCII default.
+       * config/1750a/1750a.h: Remove escape sequence definitions.
+       * config/a29k/a29k.h: Similarly.
+       * config/alpha/alpha.h: Similarly.
+       * config/arc/arc.h: Similarly.
+       * config/arm/arm.h: Similarly.
+       * config/avr/avr.h: Similarly.
+       * config/c4x/c4x.h: Similarly.
+       * config/clipper/clipper.h: Similarly.
+       * config/convex/convex.h: Similarly.
+       * config/d30v/d30v.h: Similarly.
+       * config/dsp16xx/dsp16xx.h: Similarly.
+       * config/elxsi/elxsi.h: Similarly.
+       * config/fr30/fr30.h: Similarly.
+       * config/h8300/h8300.h: Similarly.
+       * config/i386/i386.h: Similarly.
+       * config/i860/i860.h: Similarly.
+       * config/i960/i960.h: Similarly.
+       * config/ia64/ia64.h: Similarly.
+       * config/m32r/m32r.h: Similarly.
+       * config/m68hc11/m68hc11.h: Similarly.
+       * config/m68k/m68k.h: Similarly.
+       * config/m88k/m88k.h: Similarly.
+       * config/mcore/mcore.h: Similarly.
+       * config/mips/mips.h: Similarly.
+       * config/mn10200/mn10200.h: Similarly.
+       * config/mn10300/mn10300.h: Similarly.
+       * config/ns32k/ns32k.h: Similarly.
+       * config/pa/pa.h: Similarly.
+       * config/pdp11/pdp11.h: Similarly.
+       * config/pj/pj.h: Similarly.
+       * config/romp/romp.h: Similarly.
+       * config/rs6000/rs6000.h: Similarly.
+       * config/sh/sh.h: Similarly.
+       * config/sparc/sparc.h: Similarly.
+       * config/v850/v850.h: Similarly.
+       * config/vax/vax.h: Similarly.
+       * config/we32k/we32k.h: Similarly.
+       * doc/tm.texi: Update documentation.
+
+2001-06-26  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+
+       * diagnostic.c (digit_buffer): Remove as global.  Move to...
+       * diagnostic.h (struct output_buffer): ... here.
+       * diagnostic.c (output_formatted_integer): Adjust use of digit_buffer.
+
+2001-06-25  Steve Ellcey  <sje@cup.hp.com>
+
+       * config.gcc (ia64*-*-hpux*): Add ia64/hpux_longdouble.h to tm_file.
+       Define tmake_file to include ia64/t-hpux.
+       * real.c (INTEL_EXTENDED_IEEE_FORMAT): Test for value instead of
+       testing to see if it is defined.
+       * real.h (INTEL_EXTENDED_IEEE_FORMAT): Likewise.  Default to 0 if
+       undefined.
+       * config/ia64/hpux_longdouble.h: New.
+       * config/ia64/ia64.c (hfa_element_mode): Add comment about incorrect
+       handling of long doubles.
+       (ia64_function_arg, ia64_function_value): Add checks for TFmode
+       and INTEL_EXTENDED_IEEE_FORMAT.
+       * config/ia64/ia64.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
+       (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, LIBCALL_VALUE): Add checks for
+       TFmode and INTEL_EXTENDED_IEEE_FORMAT.
+       * config/ia64/ia64.md (all TFmode patterns): Test
+       INTEL_EXTENDED_IEEE_FORMAT in condition.
+       (floatdidf2, floatdisf2): New, for !INTEL_EXTENDED_IEEE_FORMAT.
+       * config/ia64/quadlib.c: New.
+       * config/ia64/t-hpux: New.
+       * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
+       
+2001-06-25  Jim Wilson  <wilson@redhat.com>
+
+       * config/i960/t-960bare (i960-c.o): Add missing header dependencies.
+       * config/i960/t-vxworks960: Likewise.
+
+2001-06-25   Dale Johannesen    <dalej@apple.com>
+
+       * bitmap.c (bitmap_last_bit_set): Fix a non-c89 usage (null actual
+       argument to macro).
+
+Mon Jun 25 11:10:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (movsi_insv_1, movsi_insv_1_rex64): Fix constraints.
+
+2001-06-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
+       doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
+       doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
+       the use of "GCC" and related terms.
+       * doc/gcc.1, doc/gcov.1: Regenerate.
+
+2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
+       doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove
+       uses of @refill.
+
+Sun Jun 24 21:21:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
+
+2001-06-24  Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (expand_builtin_expect_jump): Disable if the
+       expression can't be re-evaluated.
+
+2001-06-24  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt
+       handlers examine register r0-r7, for other interrupt handlers
+       examine r0-r12.  If the interrupt handler is not a leaf function
+       save all call clobbered registers.
+       (arm_output_epilogue): If the prologue has pushed the IP register,
+       restore it here.
+       (Arm_expand_prologue): For interrupt functions that need the frame
+       pointer, push the IP register before it is corrupted.
+
+       * config/arm/arm.h (ARM_SIGN_EXTEND): Fix compile time warnings
+       about the use of signed and unsigned quantities in a conditional.
+
+2001-06-23  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/crtfastmath.c: New file.
+       * config/alpha/t-crtfm: New file.
+       * config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o.
+       * config/alpha/osf.h (ENDFILE_SPEC): Likewise.
+       * config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here.
+       * config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm;
+       do not set extra_parts here.
+
 2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * doc/install-old.texi: Remove more documentation of configure