OSDN Git Service

* gdbinit.in: Update to reflect new identifier structure.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 9c52c0f..679c0be 100644 (file)
@@ -1,3 +1,564 @@
+2003-04-28  Mike Stump  <mrs@apple.com>
+
+       * gdbinit.in: Update to reflect new identifier structure.
+
+2003-04-28  Zack Weinberg  <zack@codesourcery.com>
+
+       * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
+       (struct tree_int_cst, struct tree_real_cst, struct tree_string,
+       struct tree_complex, struct tree_vector): Remove RTL field.
+       (CONSTRUCTOR_ELTS): Use elt 0.
+       * tree.def (CONSTRUCTOR): Delete first of its two operands.
+       * varasm.c (output_constant_def): Remove early exit if
+       TREE_CST_RTL is set.  Don't set TREE_CST_RTL.
+       (decode_addr_const): Don't mention TREE_CST_RTL in comment.
+       * target.h (select_section): Don't mention TREE_CST_RTL in comment.
+       * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
+
+2003-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-decl.c (finish_decl): When prototype with asmspec is found
+       for built-in, adjust built_in_decls as well as expr.c decls.
+       * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
+       (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
+       * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
+
+2003-04-28  Richard Henderson  <rth@redhat.com>
+
+       * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
+       * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
+       integral constant mult operand.
+       (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
+       (const_smulsi3_highpart_v8plus): Likewise.
+       (const_smulsi3_highpart): Likewise.
+       (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
+       (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
+       (const_umulsi3_highpart_v8plus): Likewise.
+       (const_umulsi3_highpart): Likewise.
+
+2003-04-28  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
+       Define as 1.
+
+2003-04-28  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
+
+2003-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
+       * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
+       * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
+       functions.
+       (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
+
+2003-04-28  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
+
+2003-04-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
+       output_constant_def, use its result instead of TREE_CST_RTL (exp).
+       Can assume it has the form (mem (symbol_ref ".LCxxx")).
+       (expand_expr <COMPONENT_REF>): Can always just extract the
+       relevant field of a CONSTRUCTOR.
+       (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
+       ARRAY_RANGE_REF>): Make control flow explicit.
+       * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
+       an INTEGER_CST.
+
+2003-04-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * reload1.c (reg_set_luid): Fix a comment typo.
+
+2003-04-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
+       struct deferred_string, const_str_htab): Kill.
+       (n_deferred_strings): New static variable.
+       (build_constant_desc): Set SYMBOL_REF_DECL of the new
+       symbol_ref to point to the constant.
+       (output_constant_def): When a deferred string is forced out,
+       just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
+       (mark_constant): Likewise.
+       (maybe_output_constant_def_contents): When deferring a string
+       constant, just set STRING_POOL_ADDRESS_P and increment
+       n_deferred_strings.
+       (mark_constant_pool): Check n_deferred_strings, not the size
+       of const_str_htab.
+       (init_varasm_once): No need to create const_str_htab.
+
+       * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
+       SYMBOL_REF_DECL points to a constant.
+
+2003-04-26  Zack Weinberg  <zack@codesourcery.com>
+
+       * varasm.c (output_constant_def): Split out two new static
+       functions, build_constant_desc and maybe_output_constant_def_contents.
+       Restructure for comprehensibility.  Don't call
+       output_addressed_constants.  Treat defstr being non-NULL for
+       STRING_POOL_ADDRESS_P constants as an invariant.
+       (struct deferred_string): Remove labelno field.
+       (output_constant_def_contents): Kill labelno argument. Call
+       output_addressed_constants here.  Use ASM_OUTPUT_LABEL, not
+       asm_out.internal_label.
+       (mark_constant): Update call to output_constant_def_contents.
+       Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
+       constants as an invariant.
+
+2003-04-26  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
+       (ix86_expand_call, ix86_rtx_consts): Likewise.
+
+2003-04-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * doc/md.texi (cmpstr): Document additional restrictions.
+
+2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
+
+       * flags.h (time_report): Remove.
+       * timevar.c (timevar_enable): New.
+       (TIMEVAR_ENABLE): Remove, use timevar_enable.
+       (timevar_init): Rename from init_timevar.
+       * timevar.h (timevar_init): Rename from init_timevar.
+       * toplev.c (time_report): Make static.
+       (do_compile): Conditionally call init_timevar first.
+       (preprocess_options): Move some code to do_compile.
+
+2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
+
+2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
+
+       * _cpp_lex_direct: Remove pointless code.
+
+2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
+
+       * doc/extend.texi (Function Attributes): Document "near" and "far"
+       for 68HC11 and 68HC12.
+
+2003-04-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (store_field): When making temporary for store, don't
+       make it TYPE_QUAL_CONST.
+
+2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
+
+       * toplev.c (read_integral_parameter):  Use "argument" in error
+       message to distinguish it from actual invalid options.
+
+2003-04-25  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
+       addition of __PIC__ and __pic__ macros.
+       * config/xtensa/xtensa.h: Clean up indentation.
+
+2003-04-25  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
+       _GNU_SOURCE.  Add definitions of __PIC__ and __pic__.
+       (SUBTARGET_CPP_SPEC): Define.
+       (LIB_SPEC): Delete.
+       * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
+       * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
+       * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
+       Define.
+       (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
+       (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
+
+2003-04-25  H.J. Lu <hjl@gnu.org>
+
+       * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
+       for return mode.
+       (ia64_expand_builtin): Set rmode to SImode for
+       IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
+       IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
+       IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
+       for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
+
+2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
+
+       * configure.in (make_compare_target):  Test for GNU cmp and set this
+       variable appropriately.
+       * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
+       compare4-lean): Rename actual targets to slowcompare*.  New compare*
+       targets depend on names based on make_compare_target.
+       * configure:  Regenerated.
+
+2003-04-25  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
+       to clobber ar.pfs and ar.unat.
+       (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
+       fix test for spilling ar.pfs to the stack.
+
+2003-04-25  Richard Henderson  <rth@redhat.com>
+
+       PR opt/10315
+       * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
+       checks during reload; use validize_mem instead of adjust_address.
+
+2003-04-26  Ben Elliston  <bje@wasabisystems.com>
+
+       * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
+       return values from recog_memoized().
+
+2003-04-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR opt/8705
+       * gcse.c (try_replace_reg): On a successful substitution of a constant
+       into a single set, try to simplify the source of the set.
+       * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
+       constant source.
+
+2003-04-24  Neil Booth  <neil@daikokuya.co.uk>
+
+       * cpplex.c (cpp_token_len): Tighten up.
+       (cpp_token_as_text): Need extra byte now.
+       * cpplib.c (glue_header_name): Need extra 2 bytes.
+       * cppmacro.c (cpp_macro_definition): Need extra byte.
+
+2003-04-24  Alexander Kabaev <kan@FreeBSD.ORG>
+
+       * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
+       const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
+       where they might be not present. Use their _sp64 equivalent
+       instead.
+
+Thu Apr 24 20:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (cvtsi2sdq): Fix typo in previous patch.
+
+2003-04-24  Krister Walfridsson  <cato@df.lth.se>
+
+       * configure.in: Check whether mbstowcs works.
+       * configure, config.in: Regenerate.
+       * intl.c: Use HAVE_WORKING_MBSTOWCS.
+
+2003-04-24  H.J. Lu <hjl@gnu.org>
+
+       * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
+       for __sync_bool_compare_and_swap_di for int return type.
+
+       * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
+       Change return type to int.
+       (__sync_bool_compare_and_swap): Likewise.
+
+Thu Apr 24 16:55:26 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * cfgbuild.c (make_edges):  Do not use next_nonnote_insn when
+       looking for fallthru edge.
+
+       * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
+       Fix.
+       (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
+       athlon-fvector): New.
+       (athlon_*): Revisit to match new optimization guide.
+       * i386.c (ix86_adjust_cost):  Fix memory operand costs on Athlon/k8
+       * i386.md (cvt??2?? patterns): Fix modes.
+       (fistp patterns): Set modes.
+
+       Accidentaly commited with my earlier reload patch:
+       PR c/10308
+       * reload.c (find_reloads_address_1): Reload plus at the place of
+       index register.
+
+2003-04-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       New GCOV_TAG_FUNCTION layout
+       * coverage.c (struct function_list): Replace name with ident.
+       (struct counts_entry): Likewise.
+       (fn_ident): New.
+       (htab_counts_entry_hash, htab_counts_entry_eq,
+       htab_counts_entry_del): Adjust.
+       (reads_count_file, get_coverage_counts,
+       coverage_begin_output, coverage_end_function): Adjust.
+       (build_fn_info_type, build_fn_info_value): Likewise.
+       * gcov-dump.c (tag_function): Adjust.
+       * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
+       * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
+       * gcov.c (struct function_info): Add ident.
+       (read_graph_file, read_count_file): Adjust.
+       * libgcov.c (gcov_exit): Adjust.
+
+2003-04-23  Richard Henderson  <rth@redhat.com>
+
+       PR opt/8300
+       * toplev.c (rest_of_compilation): Delay no_new_pseudos until
+       after initialize_uninitialized_subregs; update reg info assuming
+       new pseudos were created.
+
+2003-04-23  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
+       * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
+       (lex_string): Take cpp_string with full spelling.
+       (cb_ident): Update.
+       (c_lex): Update diagnostics.
+       * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
+       (create_literal): New.
+       (lex_string): Unterminated literals have type CPP_OTHER.
+       (_cpp_lex_direct): Update calls to lex_string.  Use create_literal
+       for CPP_OTHER.
+       (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
+       (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
+       * cpplib.c (parse_include, do_line, do_linemarker,
+       destringize_and_run): Update for token storing full spelling.
+       * cpplib.h: Update token spelling types.
+       * cppmacro.c (stringify_arg, check_trad_stringification):
+       Update for token storing full spelling.
+
+2003-04-23  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
+
+2003-04-23  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.h (TARGET_OPTIONS): Add value field.
+
+2003-04-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/extend.texi: Remove duplicate 2003 copyright date.
+
+2003-04-23  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * Makefile.in (LIBGCC_DEPS): Add gcov headers.
+       (libgcov.a): Depends on LIBGCC_DEPS.
+       * basic-block.h (profile_info): Moved here from coverage.h. Made
+       a pointer.
+       * coverage.c (struct function_list): Fixed array of counter types.
+       (struct counts_entry): Keyed by counter type, contains summary.
+       (profile_info): Moved to profile.c.
+       (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
+       vars.
+       (profiler_label): Remove.
+       (ctr_labels): New.
+       (set_purpose, label_for_tag, build_counter_section_fields,
+       build_counter_section_value, build_counter_section_data_fields,
+       build_counter_section_data_values, build_function_info_fields,
+       build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
+       (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
+       build_ctr_info_value, build_gcov_info): New.
+       (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
+       (reads_counts_file): Adjust.
+       (get_coverage_counts): Takes counter number. Add summary
+       parameter. Adjust.
+       (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
+       create counter array labels.
+       (coverage_end_function): Adjust.
+       (create_coverage): Adjust.
+       (find_counters_section): Remove.
+       * coverage.h (MAX_COUNTER_SECTIONS): Remove.
+       (struct section_info, struct profile_info): Remove.
+       (profile_info): Moved to basic-block.h.
+       (coverage_counter_ref): Takes a counter number.
+       (get_coverage_counts): Takes a counter number. Added summary
+       parameter.
+       (find_counters_section): Remove.
+       * gcov-dump.c (tag_arc_counts): Rename to ...
+       (tag_counters): ... here. Adjust.
+       (tag_table): Move tag_counters to 3rd entry. Remove
+       PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
+       (dump_file): Check for counter tag values here.
+       (tag_summary): Adjust.
+       * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
+       * gcov-io.h (GCOV_LOCKED): New.
+       (GCOV_TAG_ARC_COUNTS): Rename to ...
+       (GCOV_TAG_COUNTS_BASE): ... here.
+       (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
+       Remove.
+       (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
+       (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
+       GCOV_TAG_IS_COUNTER): New.
+       (struct gcov_ctr_summary): New.
+       (struct gcov_summary): Adjust.
+       (struct gcov_counter_section): Remove.
+       struct gcov_counter_section_data): Remove.
+       (struct gcov_function_info): Rename to ...
+       (struct gcov_fn_info): ... here. Adjust.
+       (struct gcov_ctr_info): New.
+       (struct gcov_info): Adjust.
+       * gcov.c (read_count_file): Adjust.
+       (output_lines): Adjust.
+       * libgcov.c (gcov_exit): Adjust.
+       (__gcov_flush): Adjust.
+       * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
+       * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
+       probably_never_executed_bb_p, compute_frequency_function): Adjust
+       profile_info use.
+       * profile.c (struct counts_entry): Remove.
+       (profile_info): Define here.
+       (get_exec_counts): Adjust get_coverage_counts call.
+       (compute_branch_probablilities): Remove find_counters_section
+       call.
+       (gen_edge_profiler): Adjust coverage_counter_ref call.
+       * tracer.c (tail_duplicate): Adjust profile_info use.
+
+2003-04-23  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/10339
+       * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
+       directly instead of unsafely transforming call into a memcmp.
+       (expand_builtin_strncmp): Likewise.
+
+2003-04-22  Roger Sayle  <roger@eyesopen.com>
+
+       * alias.c (mark_constant_function):  Check for constancy and
+       purity even of void functions.  Update both the function decl
+       and the cgraph RTL info with the results.
+
+2003-04-22  Roger Sayle  <roger@eyesopen.com>
+
+       * real.c (do_add): Change to return a bool indicating that the
+       result of the operation may be inexact due to loss of precision.
+       (do_multiply): Likewise.
+       (do_divide): Likewise.
+
+2003-04-22  Geoffrey Keating  <geoffk@apple.com>
+           Loren James Rittle  <ljrittle@acm.org>
+
+       * dwarf2out.c (fde_table_allocated): Mark with GTY.
+       (decl_die_table_allocated): Likewise.
+       (abbrev_die_table_allocated): Likewise.
+       (line_info_table_allocated): Likewise.
+       (separate_line_info_table_allocated): Likewise.
+       (pubname_table_allocated): Likewise.
+       (arange_table_allocated): Likewise.
+       (ranges_table_allocated): Likewise.
+       (decl_die_table_in_use): Unconditionalize; mark with GTY.
+       (abbrev_die_table_in_use): Likewise.
+       (line_info_table_in_use): Likewise.
+       (separate_line_info_table_in_use): Likewise.
+       (pubname_table_in_use): Likewise.
+       (arange_table_in_use): Likewise.
+       (ranges_table_in_use): Likewise.
+       (have_location_lists): Likewise.
+       (emitcount): New GTY-marked static, moved...
+       (maybe_emit_file): ...from here.
+       (label_num): New GTY-marked static, moved...
+       (gen_internal_sym): ...from here.
+
+2003-04-22  Richard Henderson  <rth@redhat.com>
+
+       PR 8866
+       * rtl.h (MEM_NOTRAP_P): New.
+       (MEM_COPY_ATTRIBUTES): Copy it.
+       * rtlanal.c (may_trap_p): Check it.
+       * expr.c (do_tablejump): Set it.
+       * doc/rtl.texi (Flags): Document it.
+
+       * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
+
+2003-04-22  Olivier Hainque  <hainque@act-europe.fr>
+
+       * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
+       set FRP on stack adjustment for outgoing args if frame_pointer_needed.
+
+2003-04-22  Vincent Celier <celier@gnat.com>
+
+       * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
+       --enable-threads=gnat.
+       * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
+       * configure.in: Add gnat to the list of thread packages
+       * configure: Rebuild.
+       * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
+
+2003-04-22  Neil Booth  <neil@daikokuya.co.uk>
+
+       * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
+
+2003-04-22  Devang Patel  <dpatel@apple.com>
+
+       * cpptrad.c (_cpp_replacement_text_len): Add check for macro
+       parameter count.
+       (_cpp_copy_replacement_text): Same.
+
+2003-04-22  Neil Booth  <neil@daikokuya.co.uk>
+
+       * c-lex.c (c_lex): Handle CPP_OTHER differently.
+       * cppexp.c (_cpp_parse_expr): Similarly.
+       * cpplex.c (SPELL_CHAR): Remove.
+       (_cpp_lex_direct): Stray chars are saved as byte strings.
+       (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
+       handle SPELL_CHAR.
+       (cpp_avoid_paste): Update handling of CPP_OTHER.
+       * cpplib.h: Spell CPP_OTHER like a number.
+       (struct cpp_token): Remove member c.
+       * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
+
+2003-04-22  David Turner <novalis@gnu.org>
+
+       * gbl-ctors.h: Add special license exception.
+       * libgcc2.h: Likewise.
+       * tsystem.h: Likewise.
+       * gcov-io.h: Likewise.
+
+2003-04-22  David Edelsohn  <edelsohn@gnu.org>
+
+       * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
+       macro defaulting to original BRANCH_COST heuristic.
+       * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
+
+       * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
+
+2003-04-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/t-spe: Merge in t-fprules into file.
+
+       * config.gcc: Add t-spe to powerpc-eabispe.
+
+2003-04-22  Kean Johnston  <jkj@sco.com>
+
+       * tlink.c (recompile_files): Add missing '=' to putenv calls
+
+2003-04-22  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * ginclude/stddef.h: Provide C++ safe offsetof.
+
+2003-04-22  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * function.c (purge_addressof_1): In (mem (addressof (reg))) case
+       for reg notes, if there are no substitutions, just use a SUBREG.
+
+2003-04-21  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (calls.o): Depend on except.h.
+       * calls.c: Include except.h.
+       (emit_call_1): Call note_eh_region_may_contain_throw if
+       appropriate.
+       * except.c (eh_region): Add may_contain_throw.
+       (expand_eh_region_end_cleanup): Do not include handler code when
+       it cannot be reached.
+       (note_eh_region_may_contain_throw): New function.
+       * except.h (note_eh_region_may_contain_throw): New function.
+
+2003-04-21  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
+       changes.
+
+2003-04-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
+       64-bit long doubles.
+
+2003-04-21  Olivier Hainque  <hainque@act-europe.fr>
+
+       * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
+       a number of conversions required for type consistency and previously
+       stripped off by STRIP_NOPS.
+
+       * calls.c (expand_call): Prevent sibcall optimization for calls to
+       nested subprograms.
+
+       * expmed.c (extract_bit_field): Reverse operands of && condition to
+       prevent a potential division by zero in the previously first branch.
+       * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
+
 2003-04-21  Joel Brobecker  <brobecker@gnat.com>
 
        * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
 
 2003-04-21  Nathan Sidwell  <nathan@codesourcery.com>
 
-        Break out coverage routines to new file.
-        * Makefile.in (COVERAGE_H): New variable
-        (C_OBJS): Add coverage.o
-        (coverage.o): New target.
-        (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
-        dependencies.
-        (GTFILES): Adjust.
-        (gt-coverage.h): New target.
-        (gt-profile.h): Remove.
-        * profile.h: Remove. Move to ...
-        * coverage.h: ... here. New. #include gcov-io.h.
-        * gcov-io.h: Move function definitions to ...
-        * gcov-io.c: ... here. New.
-        * profile.c: Move coverage routines to coverage.c.
-        (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
-        end_branch_prob): Adjust.
-        * coverage.c: New. Coverage routines from profile.c
-        (coverage_counter_ref, coverage_init, coverage_finish,
-        coverage_end_function, coverage_begin_output,
-        coverage_counter_ref, get_coverage_counts): Define.
-        * gcov-dump.c, gcov.c: #include gcov-io.c.
-        * libgcov.c: Likewise. Adjust.
-        * loop-init.c: Don't #include profile.h
-        * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
-        * rtl.h: Add coverage prototypes.
-        * toplev.c (compile_file): Init coverage, not branch_prob.
-        Always call coverage_finish.
-        (rest_of_compilation): Call coverage_end_function.
+       Break out coverage routines to new file.
+       * Makefile.in (COVERAGE_H): New variable
+       (C_OBJS): Add coverage.o
+       (coverage.o): New target.
+       (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
+       dependencies.
+       (GTFILES): Adjust.
+       (gt-coverage.h): New target.
+       (gt-profile.h): Remove.
+       * profile.h: Remove. Move to ...
+       * coverage.h: ... here. New. #include gcov-io.h.
+       * gcov-io.h: Move function definitions to ...
+       * gcov-io.c: ... here. New.
+       * profile.c: Move coverage routines to coverage.c.
+       (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
+       end_branch_prob): Adjust.
+       * coverage.c: New. Coverage routines from profile.c
+       (coverage_counter_ref, coverage_init, coverage_finish,
+       coverage_end_function, coverage_begin_output,
+       coverage_counter_ref, get_coverage_counts): Define.
+       * gcov-dump.c, gcov.c: #include gcov-io.c.
+       * libgcov.c: Likewise. Adjust.
+       * loop-init.c: Don't #include profile.h
+       * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
+       * rtl.h: Add coverage prototypes.
+       * toplev.c (compile_file): Init coverage, not branch_prob.
+       Always call coverage_finish.
+       (rest_of_compilation): Call coverage_end_function.
 
 2003-04-21  Matt Kraai  <kraai@alumni.cmu.edu>
 
 
 2003-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
+       * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
+       details of conflict handling.
+
+       * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
+       when conversion overflows.
+
        * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
 
        * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
 
 2003-04-21  Andreas Jaeger  <aj@suse.de>
 
-        * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
+       * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
 
 2003-04-20  Chris Lattner  <sabre@nondot.org>
            Zack Weinberg  <zack@codesourcery.com>
@@ -464,7 +1031,7 @@ Fri Apr 18 01:28:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
 
        * emit-rtl.c (subreg_hard_regno):  Check that register is
        representable.
-       
+
        * reload.c (reload_inner_reg_of_subreg):  When register is not
        representable, reload the whole thing.
        (find_reloads): Likewsie.