OSDN Git Service

* doc/install.texi: Fix the spelling of "explicitly".
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8b0bf21..f036949 100644 (file)
@@ -1,3 +1,376 @@
+2004-02-11  Matt Kraai  <kraai@alumni.cmu.edu>
+
+       * doc/install.texi: Fix the spelling of "explicitly".
+
+2004-02-11  Eric Christopher  <echristo@redhat.com>
+
+       * cppcharset.c (_cpp_interpret_string_notranslate): Rename and
+       duplicate argument structure of cpp_interpret_string.
+       * cpphash.h: Move prototype...
+       * cpplib.h: Here.
+       * cpplib.c: Fix calls to match new function signature.
+
+2004-02-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/456
+       * cppexp.c (num_binary_op): Don't allow comma operators in #if
+       constant expressions at all outside C99 mode if pedantic.
+
+2004-02-11  Uros Bizjak  <uros@kss-loka.si>
+
+       * optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
+       (log10_optab, log2_optab): Define corresponding macros.
+       * optabs.c (init_optabs): Initialize log10_optab and log2_optab.
+       * genopinit.c (optabs): Implement log10_optab and log2_optab
+       using log10?f2 and log2?f2 patterns.
+       * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
+       using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
+       (expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
+       using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
+
+       * config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
+       log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
+       log2, log2f and log2l built-ins as inline x87 intrinsics.
+
+2004-02-11  Richard Henderson  <rth@redhat.com>
+
+       PR target/1532
+       * flow.c (insn_dead_p): A clobber of a dead hard register is a
+       dead insn after reload.
+
+2004-02-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * tree.h (frame_base_decl): Add GTY marker.
+       * var-tracking.c (frame_base_decl): Likewise.
+
+2004-02-11  Daniel Berlin  <dberlin@dberlin.org>
+
+       * dwarf2out.c (output_loc_list): Remove no longer necessary, and now
+       incorrect, hunk.
+       (add_location_or_const_value_attribute): Use text_section_label,
+       not TEXT_SECTION_NAME.
+
+2004-02-11  Per Bothner  <per@bothner.com>
+
+       Represent column numbers using line-map's source_location.
+       The "next available source_location" is now managed internally by
+       line-maps.c rather than by clients.
+       * line-map.h (struct line_map):  New field column_bits.
+       <from_line>:  Rename field to start_location.
+       (struct line_maps):  New fields highest_location and max_column_hint.
+       (linemap_check_files_exited):  New declaration.
+       (linemap_line_start):  New declaration.
+       (linemap_add):  Remove from_line parameter; use highest_location field.
+       (SOURCE_LINE, LAST_SOURCE_LINE):  Modify to use column_bits.
+       (SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION):  New macros.
+       (CURRENT_LINE_MAP):  Remove macro.
+       (linemap_position_for_column):  New inline function.
+       * line-map.c (linemap_init):  Clear new fields.
+       (linemap_check_files_exited):  New function, extracted from ...
+       (linemap_free):  Use linemap_check_files_exited.
+       (linemap_add):  Remove from_line parameter.  Various updates.
+       (linemap_line_start):  New function.
+       (linemap_lookeup):  Update for new field names.
+       * cpphash.h (struct cpp_reader) <map>:  Field removed.  Because
+       linemap_position_for_column may unpredictably change the current map,
+       it is cleaner and simpler for us to not cache it in cpp_reader.
+       (struct cpp_buffer):  New sysp field.
+       Changed warned_cplusplus_comments and from_stage3 to bitfields.
+       * cppinit.c (cpp_read_min_file):  pfile->map no longer exists.
+       * cpplib.c (do_line, do_linemarker, _cpp_do_file_change):  Get
+       current map using linemap_lookup.
+       (do_linemarker):  Also set buffer's sysp field.
+       (destringize_and_run):  No longer need to decrement current line.
+       * cppfiles.c (_cpp_stack_file):  Set sysp from and in buffer.
+       (search_path_head, open_file_failed):  Use buffer's sysp.
+       (cpp_make_system_header):  Get current map using linemap_lookup.
+       Also set buffer's sysp flag.
+       * cppmacro.c (_cpp_builtin_macro_text):  Likewise use linemap_lookup.
+       * cpphash.h (CPP_INCREMENT_LINE):  New macro.
+       (struct cpp_buffer):  Moved fields saved_cur, saved_rlimit to ...
+       (struct cpp_reader):  ... and adding saved_line_base field.
+       * cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
+       Update accordingly.  Don't adjust line.
+       (_cpp_scan_out_logical_line):  Use CPP_INCREMENT_LINE.
+       * cpphash.c (CPP_IN_SYSTEM_HEADER):  Replaced macro by ...
+       (cpp_in_system_header):  ... new inline function, using buffer's sysp.
+       * cpperror.c (_cpp_begin_message):  Update to use cpp_in_system_header.
+       * cpplex.c (_cpp_lex_direct):  Likewise.
+       * cppmacro.c (_cpp_builtin_macro_text):  Likewise.
+       * cppmacro.c (_cpp_create_definition):  Use buffer's sysp field.
+       * cpplib.h (struct cpp_token):  Rename line field to src_loc.
+       Remove col field as it is now subsumed by src_loc.
+       * cpperror.c:  Update various field, parameter, and macro names.
+       (print_location):  If col==0, try SOURCE_COLUMN of line.
+       (cpp_error):  Use cur_token's src_loc field, rather than line+col.
+       * cpplib.c (do_diagnostic):  Token's src_loc fields replaces line+col.
+       * cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
+       _cpp_skip_block_comment):  Use CPP_INCREMENT_LINE.
+       (_cpp_temp_token):  Replace cpp_token's line+col fields by src_loc.
+       (_cpp_get_fresh_line):  Don't need to adjust line for missing newline.
+       (_cpp_lex_direct):  Use linemap_position_for_column.
+       * c-ppoutput.c (maybe_print_line, print_line):  Don't take map
+       parameter.  Instead get it from the line_table global.  Adjust callers.
+       (print):  Remove map field.  Replace line field to src_line.
+       (init_pp_output, account_for_newlines, maybe_print_line):  Adjust.
+       (cb_line_change):  Use SOURCE_COLUMN.  Minor optimizations.
+       (pp_file_change):  Use MAIN_FILE_P since we cannot checked print.map.
+       Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
+       * cpptrad.c (copy_comment):  Rename variable.
+       * c-lex.c (map):  Remove static variable, for same reason we removed
+       cpp_reader's map field.
+       (cb_line_change, cb_def_pragma, cb_define, cb_undef):  Hence we need
+       to call linemap_lookup.
+       (cb_line_change):  Token's line field replaced by src_loc.
+       (fe_file_change):  Use MAINFILE_P and LAST_SOURCE_LINE macros.
+       Don't save new_map.
+
+       * cpphash.h, cpperror.c, cpplib.h:  Some renames of fileline to
+       source_location.
+
+2004-02-11  Hartmut Penner  <hpenner@de.ibm.com>
+
+       * config/rs6000/altivec.md (*movv4si_internal): At least one
+       operand must be register_operand.
+       (*movv8hi_internal1): Likewise.
+       (*movv16qi_internal1): Likewise.
+       (*movv4sf_internal1): Likewise.
+
+2004-02-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/spe.md ("*movv2si_internal"): Check for register
+       operand.
+       (movv4hi_internal): Same.
+       (movv2sf_internal): Same.
+       (movv1di_internal): Same.
+
+2004-02-11  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
+
+       * config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
+       TARGET_OLDABI consistently.
+       * config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
+       mips_va_arg,override_options,compute_frame_size,
+       mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
+       ,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
+       and TARGET_OLDABI consistently.
+       * config/mips/mips.md (exception_receiver): Likewise.
+       * config/mips/linux64.h: Likewise.
+
+2004-02-11  Hartmut Penner  <hpenner@de.ibm.com>
+
+       * gcc/config/rs6000/rs6000.c (rs6000_override_options)
+       Set AltiVec ABI and vrsave as default for ppc64 linux.
+       (init_cumulative_args): Post error, if try to return
+       value in AltiVec register without enable AltiVec.
+       (function_arg_advance): Ditto for passing arguments.
+
+2004-02-11  Richard Sandiford  <rsandifo@redhat.com>
+
+       * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
+       a label before updating its usage count.
+
+2004-02-10  Matt Kraai  <kraai@alumni.cmu.edu>
+
+        * doc/install.texi: Remove extra cd.
+
+2004-02-10  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-common.c (vector_size_helper): Remove; call
+       reconstruct_complex_type() instead.
+       * tree.c (reconstruct_complex_type): New function
+       (formerly vector_size_helper() in c-common.c).
+       (make_vector): Make externally visible.
+       * tree.h (reconstruct_complex_type, make_vector): Add prototypes.
+
+2004-02-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300-protos.h: Add a prototype for
+       h8300_regs_ok_for_stm.
+       * config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
+       * config/h8300/h8300.md (stm_h8300s_2_advanced,
+       stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
+       stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
+       stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
+       ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
+       ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
+       ldm_h8300s_4_normal, ldm_h8300s_4): Use
+       h8300_regs_ok_for_stm().
+
+2004-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR c/14088
+       real.c (real_from_string): Look for 'X' as well as 'x' in
+       hexfloat strings.
+
+2004-02-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md: Remove an incorrect comment about
+       peephole2.  Add comments.
+
+2004-02-10  Josef Zlomek  <zlomekj@suse.cz>
+
+       PR/14058
+       * emit-rtl.c (set_decl_incoming_rtl): New.
+       * tree.h (set_decl_incoming_rtl): New.
+       * function.c (assign_parms): Use set_decl_incoming_rtl for setting
+       DECL_INCOMING_RTL.
+       * ada/misc.c (adjust_decl_rtl): Likewise.
+
+2004-02-10  Per Bothner  <per@bothner.com>
+
+       * c-opts.c (c_common_post_options):   Don't emit working directory
+       in cpp output if -P was specified.
+
+2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR c/14092
+       * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
+       negate_expr back to the original type.
+
+2004-02-10  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
+       bump retaddr here.
+
+2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
+
+       * rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
+       gen_lowpart_SUBREG): Move under the file in which they
+       are actually declared.
+
+2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * doc/sourcebuild.texi: Add libada documentation.
+
+       * doc/install.texi: Update documentation on Ada build, now
+       that the GNAT lib and tools are built automatically.
+
+2004-02-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
+       && TARGET_IRIX.
+
+2004-02-09  Ziemowit Laski  <zlaski@apple.com>
+
+       * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
+       boundaries outside build_component_ref() call (a macro in ObjC++).
+
+2004-02-09  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
+       (init_cumulative_args): Likewise.
+       (a7_overlap_mentioned_p): Delete prototype.
+       * config/xtensa/xtensa.c (struct machine_function): Replace
+       incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
+       Add set_frame_ptr_insn field.
+       (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
+       (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
+       if the operand is an argument in a7.  If so, copy a7 to a new pseudo
+       at the function entry and replace the operand with the pseudo.
+       (init_cumulative_args): Remove unused arguments.  Add new "incoming"
+       argument and record this flag in CUMULATIVE_ARGS.
+       (function_arg): Remove result_mode and special-case code to handle
+       arguments in a7.  Instead, set need_a7_copy flag when there is an
+       incoming argument in a7.
+       (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
+       and use the value recorded in cfun->machine->set_frame_ptr_insn.
+       (xtensa_builtin_saveregs): Check for negative gp_left value.  Set
+       need_a7_copy and vararg_a7 flags.  Use move_block_from_reg instead of
+       special-case code.
+       (a7_overlap_mentioned_p): Delete.
+       * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
+       (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
+       arguments to init_cumulative_args and pass "incoming" flag instead.
+       (BLOCK_REG_PADDING): Delete.
+       * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
+       checks for reload_in_progress and reload_completed.  Update calls to
+       xtensa_copy_incoming_a7.
+       (ashlsi3): Rename existing insn to ashlsi3_internal.  Add expander
+       to call xtensa_copy_incoming_a7.
+
+2004-02-09  DJ Delorie  <dj@redhat.com>
+
+       * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
+       longer modify standard_exec_prefix, standard_bindir_prefix, or
+       standard_startfile_prefix.
+
+2004-02-09  James E Wilson  <wilson@specifixinc.com>
+
+       PR c++/11295
+       * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
+       to expand_expr_real call, and pass in alt_rtl as last argument.
+
+       PR libstdc++/5625
+       * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
+       * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
+       * builtins.def (BUILT_IN_EXTEND_POINTER): New.
+       * except.c (expand_builtin_extend_pointer): New.
+       * except.h (expand_builtin_extend_pointer): Declare.
+
+2004-02-09  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
+       unaligned loads and stores.
+
+2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
+       * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
+
+       * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
+       * config/mips/iris5.h: ... here.
+       * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
+
+       * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
+       * config/mips/iris5.h: ... here.
+
+2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.ac: Remove default executable files before AC_PROG_CC.
+       * configure: Regenerate.
+
+2004-02-09  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR target/13721
+       * config/h8300/h8300.c (byte_reg): Call abort() if asked to
+       print a operand other than a register.
+
+2004-02-09  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
+       tree code rather than call fold_convert, which doesn't specify a
+       default floating point to integer conversion.
+
+2004-02-08  Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
+       code to support SGS assembler.  Reformat adjacent code where possible.
+       * config/m68k/m68k.c (switch_table_difference_label_flag): Remove
+       definition.
+       * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
+       for '%#'.
+       * config/m68k/linux.h, config/m68k/m68k.c,
+       * config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
+       macros and asm_printf() format strings.
+       * config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
+       * config/m68k/linux.h: Update copyright.
+       * config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
+
+2004-02-08  Andreas Schwab  <schwab@suse.de>
+            Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
+       REGISTER_PREFIX.
+       * (M68K_FP_REG_NAME): New macro to specify an alternate name for the
+       frame pointer register, overridable by OS targets.
+       * (M68K_REGNAME): Macro to obtain register name for asm output,
+       eventually replacing %a6 with M68K_FP_REG_NAME.
+       * config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
+       * config/m68k/linux.h (REGISTER_NAMES): Likewise.
+       * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
+       * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
+       * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
+
 2004-02-08  Kazu Hirata  <kazu@cs.umass.edu>
 
        * target-def.h (TARGET_STRUCT_VALUE_RTX): Define as