reload.c (find_reloads_subreg_address): Use correct offset for paradoxical MEM subreg...
[gcc.git] / gcc / ChangeLog
index 367a2694dc28148b9e95e81fe661d83f07a90108..b39d79c1b04b0a9a2d73de77f7814c88ce68c4c3 100644 (file)
@@ -1,3 +1,426 @@
+2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * reload.c (find_reloads_subreg_address): Use correct offset for
+       paradoxical MEM subregs on big-endian targets.
+
+2003-10-06  Andrew Haley  <aph@redhat.com>
+
+       * tree.c (get_callee_fndecl): Call
+       lang_hooks.lang_get_callee_fndecl.
+       * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
+       (lhd_get_callee_fndecl): New.
+
+2003-10-06  Andrew Pinski  <apinski@apple.com>
+
+       * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
+       error in calculating the length of the string.
+       (machopic_stub_name): Likewise.
+
+2003-10-06  Roger Sayle  <roger@eyesopen.com>
+
+       * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
+       describing the return value of the comparison libcall to the
+       REG_RETVAL instruction of the emitted sequence.
+
+2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/12215
+       * cse.c (cse_set_around_loop): Emit the move at the beginning
+       of the next basic block for trapping sets.
+
+2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/11637
+       * combine.c (adjust_for_new_dest): New function to adjust the
+       notes and LOG_LINKS when the dest of an insn has changed.
+       (try_combine): Use it when deleting the first insn of a two-insn
+       parallel or splitting a two-load parallel.
+
+2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
+       if TARGET_EXPLICIT_RELOCS.
+
+2003-10-06  Mark Mitchell  <mark@codesourcery.com>
+
+       PR bootstrap/12512
+       * Makefile.in (info): Use double-colon rules.
+       (dvi): Likewise.
+       (generated-manpages): Likewise.
+       * configure.in: Do not create lang.info, lang.dvi, or
+       lang.generated-manpages hooks.
+       * configure: Regenerated.
+       * objc/Make-lang.in (objc.info): Remove.
+       (objc.dvi): Remove.
+       (objc.generated-manpages): Remove.
+       * doc/sourcebuild.texi: Update description of info, dvi, and
+       generated-manpages hooks.
+
+2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
+
+2003-10-05  Andrew Pinski  <apinski@apple.com>
+
+       * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
+       errors in memcpy destinations.
+       (machopic_stub_name): Likewise.
+
+2003-10-05  Andrew Pinski <apinski@apple.com>
+
+       * config/darwin.c (machopic_non_lazy_ptr_name): 
+       Change strcat to memcpy and add length together.
+       (machopic_stub_name): Likewise.
+
+2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
+       signal trampoline codes.
+
+2003-10-05  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/mips/mips.md (*divsf3): Move description of
+       SB-1 F2 erratum from here to...
+       (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
+       flag_unsafe_math_optimizations is not.
+
+2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
+       TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
+
+2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-pretty-print.c: Fix comment typos.
+       * c-pretty-print.h: Likewise.
+       * calls.c: Likewise.
+       * cfgloopmanip.c: Likewise.
+       * cgraphunit.c: Likewise.
+       * cppfiles.c: Likewise.
+       * final.c: Likewise.
+       * function.c: Likewise.
+       * gcov-io.h: Likewise.
+       * gcse.c: Likewise.
+       * genoutput.c: Likewise.
+       * loop.c: Likewise.
+       * postreload.c: Likewise.
+       * reg-stack.c: Likewise.
+       * regmove.c: Likewise.
+       * sched-int.h: Likewise.
+       * sched-rgn.c: Likewise.
+       * simplify-rtx.c: Likewise.
+       * tree-inline.c: Likewise.
+       * config/m68hc11/m68hc11.h: Likewise.
+       * config/mmix/mmix.c: Likewise.
+       * config/mn10300/mn10300.md: Likewise.
+       * config/sh/sh.h: Likewise.
+
+2003-10-05  Richard Henderson  <rth@redhat.com>
+
+       * tree-inline.c (remap_type): New.
+       (remap_decl): Use it.  Remap DECL_SIZE*.
+       (copy_body_r): Use it.
+       (walk_tree): Walk TREE_TYPE too.
+       (copy_tree_r): Don't walk subtrees of types.
+       * tree.c (variably_modified_type_p): Restructure.  Consider integer
+       types with non-const bounds variably modified.
+
+2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/invoke.texi: Fix typos.
+
+2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * fold-const.c: Follow spelling conventions.
+       * function.c: Likewise.
+       * config/c4x/c4x.h: Likewise.
+       * config/c4x/c4x.md: Likewise.
+       * config/frv/frv.md: Likewise.
+       * config/rs6000/aix.h: Likewise.
+       * config/rs6000/linux64.h: Likewise.
+       * config/xtensa/xtensa.c: Likewise.
+
+2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-pretty-print.c: Fix comment formatting.
+       * cfglayout.c: Likewise.
+       * cfgloopanal.c: Likewise.
+       * cppcharset.c: Likewise.
+       * dbxout.c: Likewise.
+       * ggc-page.c: Likewise.
+       * ggc.h: Likewise.
+       * target.h: Likewise.
+
+2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
+
+       * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
+
+2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
+        
+       * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
+       Convert to ISO C90 function declarations and definitions.
+
+2003-10-04  Zack Weinberg  <zack@codesourcery.com>
+
+       * libfuncs.h
+       (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
+       (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
+       (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
+       (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
+       (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
+       (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
+       (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
+       (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
+       (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
+       (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
+       (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
+       (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
+       (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
+       (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
+       (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
+       (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
+       Delete.
+       * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
+       (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
+       (le_optab, unord_optab): New.
+
+       * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
+       from the code_to_optab table, not a giant switch; use
+       swap_condition; do widening only if a comparison function that
+       we can call exists in a wider mode, not if a cmp_optab insn or
+       libfunc exists in a wider mode; call protect_from_queue
+       exactly once on each operand.
+       (init_optabs): Initialize the new optabs, not the deleted libfuncs.
+
+       * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
+       * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
+       Set floating point comparison libfuncs using set_optab_libfunc
+       on the appropriate optab.
+
+       * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
+       * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
+       selector conditionals.
+
+2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
+       identical to m68hc12 as far as libraries are concerned.
+
+2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR c/12446
+       * c-typeck.c (convert_for_assignment): Issue an error for
+       array to pointer assignment after default conversion.
+       (digest_init): Likewise.
+
+2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
+
+       * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
+
+2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/extend.texi (Function Attributes): Fix title of GNU C
+       Preprocessor manual.
+       (C++ Extensions): Fix reference to "Predefined Macros" in the
+       GNU C Preprocessor manual.
+
+2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
+
+       * doc/extend.texi: Document how GCC estimates and relies on the size
+       of an asm.
+
+2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
+       arguments downward for big-endian o64.
+
+2003-10-03  Robert Bowdidge <bowdidge@apple.com>
+
+       * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
+       PCH generation, avoiding too-frequent flushes when writing to NFS
+       file system.
+
+2003-10-03  Ziemowit Laski  <zlaski@apple.com>
+
+       * objc/objc-act.c (lookup_category): Mark as 'inline'.
+
+2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
+           Ziemowit Laski  <zlaski@apple.com>
+
+       * objc/objc-act.c (add_method_to_hash_list, lookup_category):
+       New functions.
+       (lookup_method_in_hash_lists): New parameter indicating whether
+       we are messaging 'Class' or 'id'.
+       (check_duplicates): Likewise; do not assume all methods will
+       be either class or instance methods.
+       (generate_category, finish_class): Use lookup_category().
+       (add_method): Use add_method_to_hash_list(); insert instance
+       methods of root classes into the global class method hash table.
+       (add_category): Use lookup_category(); avoid constructing
+       duplicate categories.
+       (really_start_method): Add method to corresponding @interface,
+       if not already there (and if the @interface exists).
+       (finish_message_expr, finish_objc): Adjust calls to
+       check_duplicates().
+
+2003-10-03  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/9325, PR java/6391
+       * fold-const.c (fold_convert): For floating point to integer
+       conversions, return the maximum/minimum representable integer
+       value if the real constant overflows the destination type.
+       * tree.c (real_value_from_int_cst): Allow the type to be NULL,
+       meaning don't truncate the result to a floating point mode.
+       Simplify the logic by calling real_from_integer directly.
+       * simplify-rtx.c (simplify_unary_operation):  Implement the
+       same semantics for folding floating point to integer conversions
+       in RTL.
+
+2003-10-03  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/mips/mips.c (mips_emit_prefetch): Restructure
+       to avoid use of arrays, handle indexed prefetch.
+       * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
+       (ISA_HAS_PREFETCHX): New deffine.
+       * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
+       update comments.
+       (prefetch_indexed_di, prefetch_indexed_si): New insns.
+
+2003-10-03  Jeff Sturm  <jsturm@one-point.com>
+           Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/12289
+       * calls.c (emit_call_1): Pretend to have popped the arguments
+       to noreturn and longjmp functions instead of ignoring them.
+       (expand_call): Don't adjust stack_pointer_dela while
+       inhibit_defer_pop is set.
+
+2003-10-03  Andreas Schwab  <schwab@suse.de>
+
+       PR bootstrap/12276
+       * configure.in: Check for libunwind on the host only if building
+       a native compiler.
+       * configure: Regenerated.
+
+2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
+
+       * unwind-pe.h (read_encoded_value_with_base): Constify u and
+       its inizialization cast.
+
+2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR target/12485
+       * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
+
+2003-10-02  Mark Mitchell  <mark@codesourcery.com>
+
+       PR optimization/12180
+       * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
+       functions containing calls to __builtin_next_arg.
+
+2003-10-02  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/mips/mips.c (mips_emit_prefetch): Use operand 3
+       in instructions being output.
+       * config/mips/mips.md (prefetch_si_address): Change third
+       operand's constraint letter to 'I'.
+       (prefetch_di_address): Likewise.
+       (prefetch_si, prefetch_di): Set third operand to const0_rtx.
+
+2003-10-02  Zack Weinberg  <zack@codesourcery.com>
+
+       * system.h: Poison macros obsoleted by earlier patch.
+       * config/cris/cris.c: C90-ify a function definition.
+
+2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
+
+       PR/12292
+       * combine.c (make_field_assignment): Check whether rtx's code
+       is CONST_INT before using INTVAL.
+
+2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
+
+       * cgraph.c (cgraph_node): Use INSERT instead of 1 in
+       htab_find_slot_with_hash.
+       (cgraph_node_for_identifier): Use NO_INSERT.
+       (cgraph_remove_node): Use NO_INSERT.
+       (cgraph_varpool_node): Use INSERT.
+       (cgraph_varpool_node_for_identifier): Use NO_INSERT.
+
+2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
+
+       Waldek Hebisch <hebisch@math.uni.wroc.pl>
+       PR/12072
+       * varasm.c (compare_constant): Fix thinko.
+
+2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/frv/frv.c (frv_issue_rate): New function.
+       (frv_pack_insns): Use it.
+       (TARGET_SCHED_ISSUE_RATE): Define.
+
+2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
+
+       * config/mcore/mcore.c: Convert to ISO C90 function declarations
+       and definitions.
+       * config/mcore/mcore.h: Likewise.
+       * config/mcore/mcore-protos.h: Likewise.
+
+2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
+       (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
+
+2003-10-01  Per Bothner  <pbothner@apple.com>
+
+       * c-lex.c (src_line):   Remove unneeded static variable.
+       (cb_line_change):  Set input_line directly, instead of src_line.
+       (get_non_padding_token):  We no longer need to compensate for the
+       "horrible things" the C++ front-end does with the current line number,
+
+       * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
+       callback even when popping the main file.
+       * c-lex.c (fe_file_change):  Handle a NULL new_map.
+       * fix-header.c (cb_file_change):  Likewise.
+       * c-ppoutput.c (pp_file_change):  Likewise.
+
+       * cppinit.c (cpp_read_main_file):  Split into two functions:
+       Distribute _cpp_stack_file call over the two functions.
+       (cpp_find_main_file):  New function.
+       Don't call _cpp_do_file_change even if working_directory flag set.
+       (cpp_push_main_file):  New function.
+       * cppfiles.c (_cpp_find_failed):  New helper function.
+       (find_file):  Made non-static and renamed to _cpp_find_file.
+       (_cpp_stack_file):  No longer needed.  But note the following.
+       (stack_file):  Made non-static and renamed to _cpp_stack_file.
+       * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
+       call with calls to cpp_find_main_file and cpp_push_main_file.
+       (search_path_head):  If there is no current buffer, use main_file.
+       * cpphash.h:  Update function declarations.
+       * cpplib.h:  Update function declarations.
+
+       * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
+       (c_common_parse_file):  No longer need to call cpp_read_main_file
+       when file_index > 0 (as in multi-file or server compiation).
+       (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
+       as this now happens before cpp_push_main_file.
+       (push_command_line_include):  When done with options, pass LC_LEAVE
+       instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
+       (fe_file_change):  Handle NULL new_map, and simplify.
+       * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
+       08-28 change, since we're never called with a NULL buffer.
+       (_cpp_lex_direct):  Likewise.
+       * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
+       Return false if buffer is NULL at end.
+
+       * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
+       whether pfile->buffer is NULL after pop, ignoring return_at_eof.
+       * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
+       * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
+       remove the unused return_at_eof parameter.
+       * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
+       Update callers of cpp_push_buffer.
+
 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
 
        * target.h (init_libfuncs): New hook.