+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
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.
+ 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.
+ * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
2003-04-22 Olivier Hainque <hainque@act-europe.fr>
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
+ * 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>
* 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.
2003-04-22 Aldy Hernandez <aldyh@redhat.com>
- * config/rs6000/t-spe: Merge in t-fprules into file.
+ * config/rs6000/t-spe: Merge in t-fprules into file.
- * config.gcc: Add t-spe to powerpc-eabispe.
+ * config.gcc: Add t-spe to powerpc-eabispe.
2003-04-22 Kean Johnston <jkj@sco.com>
2003-04-21 Aldy Hernandez <aldyh@redhat.com>
- * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
- 64-bit long doubles.
+ * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
+ 64-bit long doubles.
2003-04-21 Olivier Hainque <hainque@act-europe.fr>
nested subprograms.
* expmed.c (extract_bit_field): Reverse operands of && condition to
- prevent a potential division by zero in the previously first branch.
+ 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>
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>
* 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.
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>
* 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.