+2003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * tree.c (save_expr): Don't fold a COMPONENT_REF.
+
+2003-04-29 Olivier Hainque <hainque@act-europe.fr>
+
+ * calls.c (expand_call): When modes of target and valreg match, force
+ sibcall failure when target is a MEM.
+
+2003-04-29 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
+
+ * dwarf2out.c (output_call_frame_info): No need to output EH
+ unwind information if all_throwers_are_sibcalls.
+
+ * c-semantics.c (expand_unreachable_stmt): Return a tree.
+ (expand_stmt): Update for change to expand_unreachable_stmt.
+ (expand_unreachable_if_stmt): Likewise.
+
+ * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
+
+2003-04-29 Jason Merrill <jason@redhat.com>
+
+ PR middle-end/10336
+ * jump.c (never_reached_warning): Really stop looking if we reach
+ the beginning of the function.
+
+2003-04-29 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
+ Remove redundant macros.
+ (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
+ (LOCAL_LABEL_PREFIX): Define unconditionally.
+ (NO_DOT_IN_LABEL): Clarify comment.
+ * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
+ definition to "long int".
+
+2003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
+
+ bootstrap/10452
+ * gengtype-yacc.y: Improve portability.
+
+2003-04-29 Zack Weinberg <zack@codesourcery.com>
+
+ * config.gcc: Install obsolete target list for GCC 3.3.
+ * doc/install.texi: Mention in specific-target instructions
+ that certain configurations are deprecated.
+
+2003-04-29 Zack Weinberg <zack@codesourcery.com>
+
+ * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
+
+2003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
+ * gcc.c (display_help): Likewise.
+ * toplev.c (f_options): Likewise.
+ * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
+ * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
+ * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
+ * config/s390/s390.h (TARGET_SWITCHES): Likewise.
+ * config/v850/v850.h (TARGET_SWITCHES): Likewise.
+
+2003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * varasm.c (default_assemble_visibility): Use assemble_name.
+
+2003-04-29 David O'Brien <obrien@FreeBSD.org>
+
+ * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
+ * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
+ (SIZE_TYPE): New macro.
+ * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
+ (SET_ASM_OP): New macro.
+ (HANDLE_SYSV_PRAGMA): New macro.
+ (ASM_WEAKEN_LABEL): New macro.
+
+2003-04-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10180
+ * tree-inline.c (expand_call_inline): Call push_srcloc when
+ encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
+
+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.
+ (subrange_type_die): Likewise.
+ (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
+ (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
+
+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.
+
+2003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
+
+2003-04-21 Neil Booth <neil@daikokuya.co.uk>
+
+ * c-ppoutput.c (cb_include): Don't take a cpp_token.
+ * cppfiles.c: Don't undef strcmp.
+ (find_include_file): Don't take a cpp_token. Check for empty
+ file names.
+ (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
+ (cpp_push_include): Simplify.
+ * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
+ * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
+ (parse_include): Similary. Don't check for zero-length filenames.
+ (do_include_common, do_pragma_dependency): Update accordingly.
+ * cpplib.h (struct cpp_callbacks): Change prototype of include.
+
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
before clearing.
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>
Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
* gcov-dump.c (tag_summary): Remove max_sum
- * gcov-io.h (gcov_summary, gcov_write_summary, gcov_read_summary): Kill
- max_sum.
- * libgcov.c (gcov_exit): Do one pass over the data. Make error message
- more verbose.
+ * gcov-io.h (gcov_summary, gcov_write_summary,
+ gcov_read_summary): Kill max_sum.
+ * libgcov.c (gcov_exit): Do one pass over the data. Make error
+ message more verbose.
+
+ * emit-rtl.c (subreg_hard_regno): Check that register is
+ representable.
- * 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.
* profile.c (compute_branch_probabilities): Cleanup sanity checking;
allow negative probabilities for edges from the call to exit.
- (branch_prob): Do not add fake edges for functions that may return twice
+ (branch_prob): Do not add fake edges for functions that may return
+ twice.
2003-04-17 DJ Delorie <dj@redhat.com>