OSDN Git Service

* gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 617f635..43c4703 100644 (file)
@@ -1,3 +1,421 @@
+2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
+       register names for regular asm () construct.
+
+2002-02-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
+       registers.
+
+2002-02-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * combine.c (recog_for_combine): Create a dummy insn with PATTERN
+       pat for recog.
+
+2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
+
+        * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
+        constant pool to be identical by string address and index.
+
+2002-02-04  Anthony Green  <green@redhat.com>
+
+       * output.h (SECTION_OVERRIDE): Define.
+       * varasm.c (named_section): Obey SECTION_OVERRIDE.
+
+2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
+       by existing arm*-*-netbsd* (a.out) target.
+       (ns32k-*-netbsdelf*): Likewise.
+       (sparc-*-netbsdelf*): Likewise.
+       (vax-*-netbsdelf*): Likewise.
+
+2002-02-03  Danny Smith <dannysmith@users.sourceforge.net>
+
+       * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
+       headers and libobjc headers.
+
+2002-02-03  Mumit Khan  <khan@nanotech.wisc.edu>
+
+       * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
+       (_mingw.h): Remove duplicate include.
+
+2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.gcc: Set cpu_type to m68k for 68010, as well.
+       (m68010-*-netbsdelf*): New...
+       (m68k*-*-netbsdelf*): ...targets.
+       * config/m68k/netbsd-elf.h: New file.
+
+2002-02-02  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.c (hand_list): Move inside function_arg.
+
+2002-02-02  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.c (h8_push_ops): Move inside
+       h8300_init_once.
+       (h8_pop_ops): Likewise.
+       (h8_move_ops): Likewise.
+
+2002-02-02  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.c (os_task): Make it static.
+       (monitor): Likewise.
+       (pragma_saveall): Likewise.
+
+2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
+       constant is a valid sign-extension for Pmode.
+
+2002-02-02  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.c: Fix formatting.
+
+2002-02-02  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.md: Fix formatting.
+
+2002-02-02  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.md (one_cmpl patterns): Tighten the
+       predicates of operands[1].  Split the patterns for each
+       processor variant.
+
+2002-02-02  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.md (xor patterns): Tighten the predicates
+       of operands[1] to register_operand.
+
+2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
+       * cpphash.c (_cpp_init_hashtable): Similarly.
+       * cppinit.c (cpp_create_reader): Default the signed_char flag.
+       (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
+       (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
+       (cpp_handle_option): Handle the new options.
+       * cpplex.c (cpp_interpret_charconst): Use new flag.
+       * cpplib.h (struct cpp_options): New member signed_char.
+       * gcc.c (cpp_unique_options): Remove %c spec and documentation.
+       (cpp_options): Handle -fsigned-char and -funsigned-char.
+       (static_specs): Remove signed_char_spec.
+       (do_spec1): Don't handle %c.
+       * system.h: Poison SIGNED_CHAR_SPEC.
+       * tradcif.y (yylex): Use flag_signed_char.
+       * tradcpp.h (flag_signed_char): New.
+       * tradcpp.c (flag_signed_char): New.
+       (main): Handle new command-line options.
+       (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
+config:
+       * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
+       * avr/avr.h: Remove old comments.
+       * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
+       (CC1_SPEC): Pass -fsigned-char if -mic*.
+       (SIGNED_CHAR_SPEC): Remove.
+doc:
+       * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
+
+2002-02-01  Eric Christopher  <echristo@redhat.com>
+
+       From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
+       * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
+       * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
+       (ASM_OUTPUT_REG_POP): Ditto.
+
+2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
+       patch.
+
+2002-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
+
+2002-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/5304:
+       * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
+       unconditionally.
+
+2002-02-01  Janis Johnson  <janis187@us.ibm.com>
+
+       * cfganal.c: Include tm_p.h.
+       (keep_with_call_p): Fix the test that determines if a register holds
+       the return value of a call.
+
+2002-02-01  DJ Delorie  <dj@redhat.com>
+
+       * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
+       we are given conflicting registers, switch to the other one we
+       had allocated for us.
+       * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
+       as TImode so we know when the "other" register is available.
+
+2002-02-01  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
+       sparc/sparc_bi.h.
+
+2002-02-01  Janis Johnson  <janis187@us.ibm.com>
+
+       * cfganal.c (keep_with_call_p): New function.
+       (flow_call_edges_add): Prevent splitting a block between a call and
+       a single-set instruction that should be kept in the same block.
+
+2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+
+       * doc/install.texi (avr): Update outdated URL.
+
+2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
+
+        * config/stormy16/stormy16.md (pushqi): New.
+        (popqi): New.
+        (pushhi): New.
+        (pophi): New.
+        (movhi): Remove stack operands.
+        (movqi): Likewise.
+        * config/stormy16/stormy16.h (PREDICATE_CODES): Add
+        nonimmediate_nonstack_operand.
+        * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
+        New.
+        * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
+        New.
+
+2002-01-31  Jason Merrill  <jason@redhat.com>
+
+       * Makefile.in (c-parse.c): Handle .output file.
+       * objc/Make-lang.in (objc-parse.c): Likewise.
+
+2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
+       the -me[lb] option is given.  Don't output the default flag
+       twice.
+
+2002-01-31  Zack Weinberg  <zack@codesourcery.com>
+
+       * c-lex.c (yyparse): Call debug_hooks->start_source_file for
+       the primary source file; this has not been done yet.
+       * c-decl.c (c_expand_body): Reset input_filename from
+       DECL_SOURCE_FILE (fndecl) before calling init_function_start.
+
+2002-01-31  Kazu Hirata  <kazu@hxi.com>
+
+       * rtlanal.c (subreg_regno_offset): Do not use
+       SUBREG_REGNO_OFFSET.
+       * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
+       * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
+
+2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
+       version rather than GNATS version in --version output.
+
+2002-01-31  Richard Sandiford  <rsandifo@redhat.com>
+
+       * ifcvt.c (noce_process_if_block): Make a copy of the destination
+       when copying back from a temporary.
+
+2002-01-30  Richard Henderson  <rth@redhat.com>
+
+       * ifcvt.c (dead_or_predicable): Handling merging when other_bb
+       and new_dest are the same.
+
+2002-01-30  Richard Henderson  <rth@redhat.com>
+
+       PR opt/5076
+       * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
+       * rtl.c (note_insn_name): Update.
+       * emit-rtl.c (remove_unnecessary_notes): Kill it.
+       * stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
+       to perform loop rotation.
+       (expand_exit_loop_top_cond): New.
+       * tree.h (expand_exit_loop_top_cond): Declare it.
+       * c-semantics.c (genrtl_while_stmt): Use it.
+       (genrtl_for_stmt): Likewise.
+
+2002-01-30  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
+       arguments to 64-bit boundaries on 64-bit ABIs.
+
+2002-01-30  Steve Ellcey  <sje@cup.hp.com>
+
+       * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
+
+2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-decl.c (grokdeclarator): Handle type being a typedef for an
+       invalid type.
+
+2002-01-30  David O'Brien  <obrien@FreeBSD.org>
+
+       * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
+       * config/sparc/sparc_bi.h: Remove file.
+       * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
+
+2002-01-30  Richard Henderson  <rth@redhat.com>
+
+       * sched-deps.c (sched_analyze): Make a call read the frame pointer.
+
+2002-01-30  Zack Weinberg  <zack@codesourcery.com>
+
+       * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
+
+2002-01-30  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
+       (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
+       (reg_save): Use DW_CFA_offset_extended_sf instead.
+
+       * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
+
+2002-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
+       in cselib_lookup.
+
+2002-01-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * rs6000.md ("*call_value_local32"): Remove constraints.
+       ("*call_value_local64"): Same.
+       ("*call_value_indirect_nonlocal_aix32"): Same.
+       ("*call_value_nonlocal_aix32"): Same.
+       ("*call_value_indirect_nonlocal_aix64"): Same.
+       ("*call_value_nonlocal_aix64"): Same.
+       ("*call_value_nonlocal_sysv"): Same.
+
+2002-01-29  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
+
+2002-01-29  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (force_operand): Ignore flag_pic for detecting pic
+       address loads.
+       * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
+       for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
+       * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
+       instead of open-coded loop.
+       * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
+       be fixed when in use.
+
+2002-01-29  Richard Henderson  <rth@redhat.com>
+
+       * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
+       * sched-rgn.c (propagate_deps): Update them.
+       * sched-deps.c (sched_analyze_insn): Update them.  Flush the
+       clobbers list when either gets too long.
+
+2002-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
+       and INDEX_REGS the same as GENERAL_REGS.
+       (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+
+2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * tree.c (build_nonstandard_integer_type): Correct prototype.
+
+2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.md (movstrsico, movstrdix_64,
+       movstrsix_31): Remove, replace by ...
+       (movstrdi_short, movstrsi_short, movstrdi_long,
+       movstrsi_long): ... these.  New.
+       (movstrdi, movstrsi): Adapt.
+
+       (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
+       ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
+       Remove unnecessary CC clobber.
+       (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
+       *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
+
+       (divmoddi4): Don't partially initialize TImode register.
+
+2002-01-29  Geoffrey Keating  <geoffk@redhat.com>
+
+       * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
+
+2002-01-29  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (print_rtl_and_abort): Remove.
+       (print_rtl_and_abort_fcn): Remove.
+       (verify_local_live_at_start): Use dump_bb instead.
+       (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
+       (verify_wide_reg_1): Return 2 on mode test failure.
+
+2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       PR c/3325, c/3326, c/2511, c/3347
+       * c-decl.c (enum_decl_context): Remove BITFIELD.
+       (grokdeclarator): Take bitfield width as an input.
+       Ensure bitfields are given the correct type.  Perform
+       bitfield width validation with build_bitfield_integer_type
+       rather than waiting for finish_struct.
+       (grok_typename, grok_typename_in_parm_context, start_decl,
+       push_parmdecl, grokfield, start_function): Update calls to
+       grokdeclarator.
+       (build_bitfield_integer_type): New function.
+       (finish_struct): Move bitfield validation to grokdeclarator
+       and build_bitfield_integer_type.
+       * tree.c (build_nonstandard_integer_type): New function.
+       * tree.h (build_nonstandard_integer_type): New prototype.
+objc:
+       * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
+
+2002-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/1502:
+       * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
+       don't ignore unrecognized -W* options.
+       (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
+       * cpplib.h (cpp_handle_option): Adjust prototype.
+       * c-decl.c (c_decode_options): Pass 0 as last argument to
+       cpp_handle_option.
+
+       PR c/2896:
+       * gcc.c (cpp_unique_options): Split from cpp_options.
+       (cpp_options): Source cpp_unique_options.
+       (default_compilers): Use cpp_unique_options instead of cpp_options
+       when used together with cc1_options.
+       (static_specs): Add cpp_unique_options.
+       * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
+       when used together with cc1_options.
+
+2002-01-29  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300-protos.h: Update the prototype of
+       output_a_shift.
+       * config/h8300/h8300.c (output_a_shift): Remove an unused
+       argument 'insn'.  Remove redundant code.
+       * config/h8300/h8300.md: Adust to the new prototype of
+       output_a_shift.
+
+2002-01-29  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300-protos.h: Update the prototypes of
+       emit_a_rotate and expand_a_rotate.
+       * config/h8300/h8300.c (emit_a_rotate): Change the type of the
+       first argument to 'enum rtx_code'.
+       (expand_a_rotate): Likewise.
+
+2002-01-28  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300-protos.h: Update the prototype of
+       output_simode_bld.
+       * config/h8300/h8300.c (output_simode_bld): Remove an argumen
+       'log2'.
+       * config/h8300/h8300.md: Adjust to the new prototype.
+
+2002-01-28  Kazu Hirata  <kazu@hxi.com>
+
+       * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
+       redundant code.
+
 2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
 
        * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
@@ -7,8 +425,7 @@
 
 2002-01-28  Jason Merrill  <jason@redhat.com>
 
-       * dwarf2.h (enum dwarf_call_frame_info): Add other DWARF 3 codes.
-       Sync with src version.
+       * dwarf2.h: Sync with src version.
 
 2002-01-28  Paul Koning  <pkoning@equallogic.com>
 
@@ -262,7 +679,7 @@ Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
        * flow.c (propagate_one_insn): Use it.
        (mark_used_regs): Handle NIL.
 
-2001-01-25  Geoffrey Keating  <geoffk@redhat.com>
+2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
 
        * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
        to help folding.
@@ -329,7 +746,7 @@ Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
 
 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
 
-       * emit_rtl.c (gen_lowpart_common): Conversion from const_int 
+       * emit_rtl.c (gen_lowpart_common): Conversion from const_int
        to const_double needs to be done right for big-endian systems.
 
 2002-01-24  Jason Merrill  <jason@redhat.com>
@@ -1554,7 +1971,7 @@ Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>
 
        * config/h8300/h8300.h: Fix formatting.
 
-2001-01-10  Ira Ruben  <ira@apple.com>
+2002-01-10  Ira Ruben  <ira@apple.com>
 
        Add __attribute__ ((deprecated)).
        * extend.texi: Document __attribute__ ((deprecated)).
@@ -1590,7 +2007,7 @@ Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>
        * cp/lex.c (do_identifier): Test for deprecated primaries.
        * cp/typeck.c (build_component_ref): Test for deprecated fields.
 
-2001-01-10  Ira Ruben  <ira@apple.com>
+2002-01-10  Ira Ruben  <ira@apple.com>
 
        Fix to assign attributes to inline member functions.
        * cp/decl.c (start_method): Handle attrlist.
@@ -2301,7 +2718,7 @@ Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)
        * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
        * config/pa/som.h (ASM_FILE_START): Likewise.
 
-2001-01-04  Daniel Berlin  <dan@cgsoftware.com>
+2002-01-04  Daniel Berlin  <dan@cgsoftware.com>
 
        * lcm.c: Include df.h.
        Add available_transfer_function prototype.