OSDN Git Service

Use c_fix = format instead of sed
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 42c8f16..e743447 100644 (file)
@@ -1,3 +1,751 @@
+2002-05-21  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
+       * fixinc/inclhack.def(thread_keyword): use c_fix = format.
+       * fixinc/fixincl.x: regen.
+
+2002-05-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfgbuild.c: Fix formatting.
+       * cfg.c: Likewise.
+       * cfgcleanup.c: Likewise.
+       * cfglayout.c: Likewise.
+       * cfgloop.c: Likewise.
+       * cfgrtl.c: Likewise.
+
+2002-05-21  Richard Henderson  <rth@redhat.com>
+
+       * c-common.h (enum rid): Add RID_THREAD.
+       * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
+       (grokdeclarator): Grok __thread.
+       * c-parse.in (reswords): Add __thread.
+       (rid_to_yy): Add RID_THREAD.
+
+       * tree.h (DECL_THREAD_LOCAL): New.
+       (struct tree_decl): Add thread_local_flag.
+       * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
+       * tree.c (staticp): TLS variables are not static.
+
+       * target-def.h (TARGET_HAVE_TLS): New.
+       * target.h (have_tls): New.
+       * output.h (SECTION_TLS): New.
+       * varasm.c (assemble_variable): TLS variables can't be common for now.
+       (default_section_type_flags): Handle .tdata and .tbss.
+       (default_elf_asm_named_section): Handle SECTION_TLS.
+       (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
+
+       * flags.h (flag_tls_default): Declare.
+       * toplev.c (flag_tls_default): Define.
+       (display_help): Display help for it.
+       (decode_f_option): Set it.
+
+       * doc/extend.texi (Thread-Local): New node describing language-level
+       thread-local storage.
+       * doc/invoke.texi (-ftls-model): Document.
+
+       * fixinc/inclhack.def (thread_keyword): New.
+       * fixinc/fixincl.x: Rebuild.
+
+2002-05-21  Jeffrey A Law  <law@redhat.com>
+
+       * optabs.c (expand_binop): For double-word integer multiplies,
+       do not compute intermediate results into something that is
+       not a register (such as a SUBREG or MEM).
+
+       * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
+       (ix86_sched_reorder): Make sure to initialize scheduling
+       data even when there's only one insn in the ready queue.
+
+2002-05-21  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * genautomata.c (reserv_sets_hash_value): Fix a typo.
+
+2002-05-21  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * genautomata.c (reserv_sets_hash_value): Define hash_value as
+       set_el_t.  Transform the hash value into unsigned.
+       (output_cycle_reservs): Fix bug with output of repeated `nothing'.
+       (transform_3): Add code to process `(A,B)+(D,E)'.
+
+2002-05-21  NIIBE Yutaka  <gniibe@m17n.org>
+
+       * reload1.c (do_output_reload): Run delete_output_reload
+       only if optimizing.
+
+2002-05-21  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/6600
+       * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
+       larger than INTEGER_CST.  (store_by_pieces_1): Use it here...
+       (can_store_by_pieces): ... and here to limit the largest mode used.
+       Add a comment to document this function.
+
+2002-05-21  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (life_analysis): Fix test for deleted label.
+
+2002-05-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * doc/tm.texi: Fix typo.
+
+2002-05-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * c-common.c (c_common_init): Set options->unsigned_char from
+       flag_signed_char.
+       (cb_register_builtins): Define __STRICT_ANSI__ and
+       __CHAR_UNSIGNED__ here...
+       * cppinit.c (init_builtins): Not here.
+       (cpp_create_reader): unsigned_char option defaults to 0, not
+       !DEFAULT_SIGNED_CHAR.
+       (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
+       and -funsigned-char.
+
+       * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
+       * cpphash.c (_cpp_init_hashtable): Don't set it.
+       * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
+       directly.  Clarify comment.
+
+2002-05-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
+       neighbouring basic blocks.  Use ENTRY_BLOCK_PTR->next_bb instead of
+       BASIC_BLOCK (0).  Use EXIT_BLOCK_PTR->prev_bb instead of
+       BASIC_BLOCK (n_basic_blocks - 1).
+       * cfganal.c (can_fallthru, flow_call_edges_add,
+       flow_preorder_transversal_compute): Too.
+       * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
+       find_sub_basic_blocks): Too.
+       * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
+       * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
+       fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
+       * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
+       * combine.c (this_basic_block): Type changed to basic_block.
+       (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
+       nonzero_bits, num_sign_bit_copies, get_last_value_validate,
+       get_last_value, distribute_notes, distribute_links): Too.
+       * final.c (compute_alignments): Too.
+       * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
+       * function.c (thread_prologue_and_epilogue_insns): Too.
+       * gcse.c (compute_code_hoist_vbeinout): Too.
+       * global.c (build_insn_chain): Too.
+       * ifcvt.c (find_if_block, find_cond_trap): Too.
+       * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
+       * regmove.c (regmove_optimize): Too.
+       * resource.c (find_basic_block): Too.
+       * sched-ebb.c (schedule_ebbs): Too.
+       * ssa-dce.c (find_control_dependence, find_pdom): Too.
+
+2002-05-21  Andreas Jaeger  <aj@suse.de>
+
+       * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
+
+2002-05-21  Richard Henderson  <rth@redhat.com>
+
+       * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
+       unspec names, not numbers.
+
+2002-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/sourcebuild.texi: Mention snapshot-README and
+       snapshot-index.html as needing updating for new front ends.
+
+2002-05-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
+       disabling checking, and avoid multiple evaluation of RTX.
+
+2002-05-21  Richard Earnshaw  <rearnsha@arm.com>
+
+       * bitmap.c (bitmap_find_bit): Return early if we have the correct
+       element cached.
+
+Tue May 21 10:51:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * profile.c (gen_edge_profiler):  Set alias set before the memory is
+       used.
+
+2002-05-20  David S. Miller  <davem@redhat.com>
+
+       * cselib.c (max_value_regs): New.
+       (cselib_lookup, cselib_invalidate_regno): Initialize it when
+       adding new entries to the REG_VALUES table and we are dealing with
+       a hard register.
+       (clear_table): Initialize it.
+       (cselib_invalidate_regno): Use it to determine which hard
+       registers to scan when mode is not VOIDmode.
+
+2002-05-20  Duraid Madina   <duraid@fl.net.au>
+
+       * tradcpp.c (fixup_newlines): Use old-style function header.
+
+2002-05-20  Krister Walfridsson  <cato@df.lth.se>
+
+       * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
+
+2002-05-20  H.J. Lu  (hjl@gnu.org)
+
+       Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
+
+       * config/mips/mips.h (DFMODE_NAN): Defined.
+       (SFMODE_NAN): Likewise.
+
+2002-05-20  Dale Johannesen  <dalej@apple.com>
+
+       * combine.c (cant_combine_insn_p):  Back out my
+       previous patch.
+
+2002-05-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * params.c: Fix formatting.
+       * params.h: Likewise.
+       * predict.c: Likewise.
+       * prefix.c: Likewise.
+       * print-rtl.c: Likewise.
+       * print-tree.c: Likewise.
+       * profile.c: Likewise.
+
+2002-05-20  H.J. Lu  (hjl@gnu.org)
+
+       * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
+
+2002-05-20  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
+       switches straight on to the assembler, do not abbreviate them.
+       * config/arm/elf.h (ASM_SPEC): As above.
+       * config/arm/semi.h (ASM_SPEC): As above.
+       * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
+       * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
+       -mcpu=xscale on to the assembler by default.
+       * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
+
+2002-05-20  Richard Henderson  <rth@redhat.com>
+
+       * cse.c (canon_hash): Reorder do_not_record test.  Always
+       allow pic_offset_table_rtx.
+
+2002-05-19  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
+       (expand_binop): Ditto (3 times).
+
+2002-05-19  Mark Mitchell  <mitchell@doubledemon.codesourcery.com>
+
+       * Makefile.in (distclean): Remove QMTest stuff.
+       (QMTEST_PATH): New variable.
+       (QMTESTFLAGS): Likewise.
+       (QMTESTRUNFLAGS): Likewise.
+       (QMTEST): Likewise.
+       (QMTEST_GPP_TESTS): Likewise.
+       (QMTEST_DIR): Likewise.
+       (QMTEST_DIR/context): New target.
+       (qmtest-g++): Likeise.
+       (qmtest-gui): Likewise.
+       (QMTEST_DIR/gpp-expected.qmr): Likewise.
+
+2002-05-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
+       an altivec register if TARGET_ALTIVEC.
+
+       * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
+       to ALTIVEC_VECTOR_MODE.
+       (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
+       (rs6000_va_arg): Vectors may go in registers if they are not
+       altivec vectors.
+
+2002-05-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * protoize.c: Fix formatting.
+
+2002-05-19  Richard Henderson  <rth@redhat.com>
+
+       * gensupport.c (init_include_reader): Merge into ...
+       (process_include): ... here.  Simplify composite path creation.
+       Plug memory leaks.  Fix file/line number tracking.  Do not
+       process_define_cond_exec.  Return void.
+       (process_rtx): Don't check process_include return value.
+
+2002-05-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
+       fields.
+       (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
+       traversing basic block chain.
+       (create_basic_block_structure, create_basic_block): Declaration changed.
+       (link_block, unlink_block): Declare.
+       * cfg.c (entry_exit_blocks): Initialize new fields.
+       (link_block, unlink_block): New.
+       (expunge_block_nocompact): Unlink basic block.
+       (dump_flow_info): Print prev_bb/next_bb fields.
+       * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
+       * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
+       * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
+       * cfgrtl.c (create_basic_block_structure, create_basic_block,
+       split_block, force_nonfallthru_and_redirect, split_edge): Modified.
+       (verify_flow_info): Check that list agrees with numbering.
+
+2002-05-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-common.c (preprocessing_asm): New macro.
+       * c-lex.h (builtin_define, builtin_assert): Use pfile.
+doc:
+       * tm.texi: Update.
+config/alpha:
+       * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
+       (CPP_SPEC): Simplify.
+       (TARGET_CPU_CPP_BUILTINS): Update.
+       * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
+       (CPP_SPEC): Simplify.
+       * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
+       (TARGET_OS_CPP_BUILTINS): Update.
+       * osf.h (CPP_XFLOAT_SPEC): Kill.
+       (TARGET_OS_CPP_BUILTINS): Update.
+       (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
+       * osf5.h (CPP_XFLOAT_SPEC): Kill.
+       * vms.h (CPP_SUBTARGET_SPEC): Kill.
+       (TARGET_OS_CPP_BUILTINS): Update.
+
+2002-05-19  Richard Henderson  <rth@redhat.com>
+
+       * varasm.c (default_binds_local_p): Fix typo.
+
+2002-05-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       * config/avr/avr.c (machine_dependent_reorg): Sign extend the
+       CONST_INT operand to the correct mode after adding 1 to it.
+
+2002-05-19  Mark Mitchell  <mark@codesourcery.com>
+
+       * config.gcc (powerpc-wrs-windiss*): New target.
+
+2002-05-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * config/rs6000/rs6000.md (ashrdi3_no_power): New.
+       (ashrdi3): Use it.
+
+2002-05-18  Mark Mitchell  <mark@codesourcery.com>
+
+       * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
+       alphasort.
+       * config.in: Regenerated.
+       * configure: Regenerated.
+
+2002-05-19  Richard Henderson  <rth@redhat.com>
+
+       * target-def.h (TARGET_BINDS_LOCAL_P): New.
+       * target.h (struct gcc_target): Move boolean fields to the end.
+       Add binds_local_p.
+       * varasm.c (default_binds_local_p): New.
+       * output.h: Declare it.
+
+       * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
+       * config/cris/cris.c (cris_encode_section_info): Likewise.
+       * config/i386/i386.c (i386_encode_section_info): Likewise.
+       * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
+       * config/sh/sh.c (sh_encode_section_info): Likewise.
+
+       * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
+       (TARGET_BINDS_LOCAL_P): New.
+
+2002-05-19  Richard Henderson  <rth@redhat.com>
+
+       * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
+       FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
+       MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
+
+       * toplev.c (display_help): Kill -a -ax help.
+
+       * config/1750a/1750a.h, config/alpha/alpha.h,
+       config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
+       config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
+       config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
+       (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
+
+       * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
+       * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
+
+       * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
+       (ix86_output_function_block_profiler): Kill.
+       * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
+       (m68hc11_function_block_profiler): Kill.
+       * config/m68hc11/m68hc11-protos.h: Update.
+       * config/m88k/m88k.c (output_block_profiler): Kill.
+       (output_function_block_profiler): Kill.
+       * config/m88k/m88k-protos.h: Update.
+
+2002-05-19  Richard Henderson  <rth@redhat.com>
+
+       * system.h (STRIP_NAME_ENCODING): Poison it.
+       * output.h (STRIP_NAME_ENCODING): Remove.
+       (default_strip_name_encoding): Declare.
+       * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
+       * target.h (strip_name_encoding): New.
+       * varasm.c (default_strip_name_encoding): New.
+
+       * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
+       config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
+       config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
+       config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
+       config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
+       config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
+       config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
+       config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
+       config/v850/v850.h: Use the hook, not the macro.
+
+       * config/darwin-protos.h, config/darwin.c, config/darwin.h,
+       config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
+       config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
+       config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
+       config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
+       config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
+       config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
+       config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
+       config/v850/v850.c, config/v850/v850.h:
+       Move STRIP_NAME_ENCODING to out-of-line function and add
+       TARGET_STRIP_NAME_ENCODING.
+
+       * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
+       config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
+       with TARGET_STRIP_NAME_ENCODING referencing existing function;
+       make function static.
+
+       * xcoffout.c: Include target.h
+       * Makefile.in (xcoffout.o): Update.
+
+       * config/avr/avr.c (avr_encode_section_info): Correct prototype.
+       * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
+       * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
+       reloc argument unused.
+       * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
+
+       * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
+       STRIP_NAME_ENCODING docs.
+
+2002-05-19  Andreas Jaeger  <aj@suse.de>
+
+       * gengenrtl.c: Add prototype for excluded_rtx.
+
+       * real.h: Add prototype for exact_real_truncate.
+
+2002-05-18  Richard Henderson  <rth@redhat.com>
+
+       * system.h (ENCODE_SECTION_INFO): Poison it.
+       * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
+       * target.h (encode_section_info): New.
+       * varasm.c (make_decl_rtl, output_constant_def): Use it.
+       * hooks.c (hook_tree_int_void): New.
+       * hooks.h: Declare it.
+
+       * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
+       config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
+       config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
+       config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
+       config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
+       config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
+       config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
+       config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
+       config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
+       config/mcore/mcore-protos.h, config/mcore/mcore.c,
+       config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
+       config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
+       config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
+       config/stormy16/stormy16.c, config/stormy16/stormy16.h:
+       Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
+       referencing existing function.  Make function static.
+
+       * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
+       config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
+       config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
+       config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
+       config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
+       config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
+       config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
+       config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
+       config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
+       config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
+       config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
+       config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
+       config/xtensa/xtensa.c, config/xtensa/xtensa.h:
+       Move ENCODE_SECTION_INFO to out-of-line function and add
+       TARGET_ENCODE_SECTION_INFO.
+
+       * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
+       (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
+
+       * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
+       from SUBTARGET_*
+       (switch_to_section): Replace in_rdata case with in_readonly_data.
+
+       * config/h8300/h8300.c (h8300_encode_label): Make static.
+       * config/h8300/h8300-protos.h: Update.
+
+       * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
+       from rs6000_encode_section_info; make static.
+       (rs6000_xcoff_encode_section_info): New.
+
+       * config/v850/v850.c (v850_encode_data_area): Make static.
+       * config/v850/v850-protos.h: Update.
+
+       * config/vax/vax.c: Include flags.h.
+       (vms_select_section): Fix typo.
+
+       * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
+       ENCODE_SECTION_INFO docs.
+
+2002-05-18  Richard Henderson  <rth@redhat.com>
+
+       * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
+       REGISTER_TARGET_PRAGMAS.
+       * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
+
+       * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
+
+2002-05-18  Richard Henderson  <rth@redhat.com>
+
+       * system.h (SELECT_RTX_SECTION): Poison.
+       * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
+       * target.h (select_rtx_section): New.
+       * varasm.c (output_constant_pool): Use it.
+       (default_select_rtx_section, default_elf_select_rtx_section): New.
+       * output.h: Declare them.
+
+       * config/darwin.h (SELECT_RTX_SECTION): Move ...
+       * config/darwin.c (machopic_select_rtx_section): ... here.
+       * config/darwin-protos.h: Update.
+
+       * config/nextstep.h (SELECT_RTX_SECTION): Move ...
+       * config/nextstep.c (machopic_select_rtx_section): ... here.
+       (nextstep_select_section): Rename variable to avoid macro clash.
+       * config/nextstep-protos.h: Update.
+
+       * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
+       config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
+       config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
+       config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
+       config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
+       config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
+       config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
+       config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
+       config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
+       (SELECT_RTX_SECTION): Remove.
+
+       * config/darwin.h, config/elfos.h, config/nextstep.h,
+       config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
+       config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
+       config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
+       config/sparc/lynx.h, config/xtensa/xtensa.c
+       (TARGET_ASM_SELECT_RTX_SECTION): New.
+
+       * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
+       * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
+       * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
+       * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
+       (ia64_aix_select_rtx_section): New.
+       * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
+       redefining.
+       * config/mips/mips.c (mips_select_rtx_section): Make static.
+       Support ELF SHF_MERGE features.
+       * config/mips/mips-protos.h: Update.
+       * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
+       * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
+       (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
+       make static, fall back to default_elf_select_rtx_section.
+       * config/rs6000/rs6000-protos.h: Update.
+       * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
+       * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
+       * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
+       * config/romp/romp.c (romp_select_rtx_section): New.
+       * config/s390/s390.c (s390_select_rtx_section): New.
+       * config/xtensa/xtensa.c: Include output.h.  Shuffle local function
+       declarations before target macro definition.
+       (xtensa_emit_call): Use static buffer.
+       (xtensa_select_rtx_section): New.
+       * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
+       (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
+       (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
+
+       * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
+       SELECT_RTX_SECTION docs.
+
+Sun May 19 00:24:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (movsi/movdi): Fix template.
+       (sse2 patterns): Set attributes consistently.
+
+       * i386.md (pushqi2, ashrqi_*): Fix constraint.
+
+2002-05-18  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * optabs.c (complex_part_zero_p): New.
+       * (expand_cmplxdiv_straight): Use it.
+       * (expand_cmplxdiv_wide): Ditto.
+       * (expand_binop): Ditto.
+
+2002-05-18  Richard Henderson  <rth@redhat.com>
+
+       * final.c (HAVE_READONLY_DATA_SECTION): New.
+       (shorten_branches): Use it instead of ifdefs.
+       * varasm.c (enum in_section): Add in_readonly_data.
+       (text_section, data_section): Tidy.
+       (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
+
+       * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
+       config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
+       (READONLY_DATA_SECTION): Don't undef.
+
+       * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
+       config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
+       config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
+
+       * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
+       config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
+       config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
+       config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
+
+       * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
+       config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
+       config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
+       config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
+       config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
+       config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
+       config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
+       config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
+       CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
+
+       * config/elfos.h, config/netware.h, config/1750a/1750a.h,
+       config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
+       config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
+       config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
+       config/pa/pa64-hpux.h, config/sparc/litecoff.h
+       (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
+
+       * config/elfos.h, config/netware.h, config/svr3.h,
+       config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
+       config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
+       config/h8300/h8300.h, config/i386/i386-interix.h,
+       config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
+       config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
+
+       * config/elfos.h, config/netware.h, config/svr3.h,
+       config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
+       config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
+       config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
+       config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
+
+       * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
+       config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
+       config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
+       config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
+       config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
+       config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
+       config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
+       config/rs6000/sysv4.h, config/v850/v850.h
+       (EXTRA_SECTIONS): Remove in_const/in_rdata.
+       (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
+
+       * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
+       config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
+       config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
+       config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
+       * config/alpha/alpha.c (alpha_start_function): Likewise.
+       (alpha_write_linkage): Likewise.
+       * config/m32r/m32r.c (m32r_select_section): Likewise.
+       * config/m88k/m88k.c (m88k_select_section): Likewise.
+       * config/mips/mips.c (mips_select_rtx_section): Likewise.
+       * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
+       (rs6000_elf_select_section): Likewise.
+       * config/v850/v850.c (v850_select_section): Likewise.
+
+       * config/1750a/1750a.h, config/i860/sysv3.h
+       (READONLY_DATA_SECTION_ASM_OP): New.
+       READONLY_DATA_SECTION_ASM_OP.
+       * config/i386/interix.c, config/i386/winnt.c
+       (i386_pe_unique_section): Always use .rdata prefix.
+       * config/pa/som.h (readonly_data): Always switch to read-only section.
+       (READONLY_DATA_SECTION): Predicate on flag_pic.
+       * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
+       * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
+       (READONLY_DATA_SECTION): Update.
+
+2002-05-18  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
+       is used without -Wformat.
+       * c-common.h (warn_format_zero_length): Declare extern.
+       * c-decl.c (warn_options): Add "format-zero-length".
+       * c-format.c (warn_format_zero_length): Declare.
+       (set_Wformat): Set warn_format_zero_length for -Wformat.
+       (check_format_info): Only warn about zero-length formats if
+       warn_format_zero_length is true.  Include the format type
+       name in the warning message.
+       * doc/invoke.texi: Document -Wformat-zero-length.
+       * testsuite/gcc.dg/format/zero-length-1.c: New test.
+
+2002-05-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * timevar.c: Fix formatting.
+       * tlink.c: Likewise.
+       * toplev.c: Likewise.
+       * tree-dump.c: Likewise.
+       * tree-inline.c: Likewise.
+
+2002-05-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppinit.c (cpp_post_options): If preprocessed, turn off
+       traditional.  If traditional, turn off column numbers.
+       * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
+       * cpptrad.c (handle_newline): Update line_base.
+       (skip_comment): Handle -Wcomment.
+
+2002-05-17  Zack Weinberg  <zack@codesourcery.com>
+
+       * cppinit.c (struct builtin): Remove unused fields.
+       (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
+       (operator_array): New - was second half of builtin_array.
+       (init_builtins): Simplify loop over builtin_array/operator_array.
+
+2002-05-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * defaults.h (UNIQUE_SECTION): Remove.
+       * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
+
+2002-05-17  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (init_expr_once): Don't use start/end_sequence.
+       Use rtx_alloc instead of emit_insn.
+       * toplev.c (lang_dependent_init): Run init_expr_once here ...
+       (lang_independent_init): ... not here.
+
+2002-05-17  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
+
+2002-05-17  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       * config/avr/avr.c (avr_regs_to_save): New function.  Also check
+       for fixed registers, possibly used for global register variables.
+       (initial_elimination_offset, avr_output_function_prologue,
+       avr_output_function_epilogue):  Move common code to avr_regs_to_save.
+
+2002-05-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * Makefile.in: Update for cpptrad.c.
+       * cpphash.h (struct cpp_buffer): New members for buffer
+       overlays.
+       (struct cpp_reader): New members for traditional output.
+       (_cpp_read_logical_line, _cpp_overlay_buffer): New.
+       * cppinit.c (cpp_create_reader): Set trad_line.
+       (cpp_destroy): Free trad_out_base if used.
+       (cpp_read_main_file): Overlay an empty buffer if traditional.
+       (cpp_finish_options): Don't do builtins.
+       (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
+       (cpp_handle_option): Handle it.
+       * cpplex.c (continue_after_nul): New.
+       (_cpp_lex_direct): Use handle_nul.
+       * cpplib.h (struct cpp_options): New traditional option.
+       * cpptrad.c: New file.
+
 2002-05-17  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        * c-common.c (c_common_init_options): Use C89 for Objective-C,