X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=1cd17d9fa7e1ac87ef08ae996e5dde309084ce01;hp=6f9247fcdc667eed2425ee402c3b6a701a08858f;hb=f6fb23c5486815622b20c3ad1873fb87d936bdd9;hpb=3d719176f291b7cb5062128775dfb60532c2c9a9 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6f9247fcdc6..1cd17d9fa7e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,9 +1,328 @@ +2003-11-05 Joseph S. Myers + + * c-typeck.c (pedantic_lvalue_warning): Deprecate use of + conditional expressions as lvalues. + +2003-11-05 Kazu Hirata + + * tsystem.h: Add the prototype of strlen. + * unwind-pe.h (read_encoded_value_with_base): Add an + appropriate cast to handle a case where the pointer size is + smaller than sizeof (int). + +2003-11-04 Richard Sandiford + + * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete. + (mips_delegitimize_address): Delete. + (mips_gotoff_global, mips_load_got_page): Declare. + (mips_load_got_global, mips_rewrite_small_data): Declare. + + * config/mips/mips.h (FIND_BASE_TERM): Remove definition. + (DANGEROUS_FOR_LA25_P): Use global_got_operand. + (PREDICATE_CODES): Add global_got_operand, local_got_operand and + small_data_pattern. Remove CONST from const_arith_operand's entry. + + * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros. + (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise. + (mips_constant_type): Delete. + (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL, + SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP. + (NUM_SYMBOL_TYPES): New macro. + (mips_address_type): Remove ADDRESS_INVALID. + (machine_function): Add has_gp_insn_p. + (mips_constant_info): Delete. + (mips_address_info): Add the address type as an extra field. Replace + the c field with symbol_type. + (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays. + (TARGET_DELEGITIMIZE_ADDRESS): Remove definition. + (mips_reloc_offset_ok_p, mips_classify_constant): Delete. + (mips_split_const, mips_symbolic_constant_p): New functions. + (mips_symbolic_address_p): Take the symbol type and mode as arguments. + (mips_classify_address): Return true if the address is valid, storing + its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[] + to test whether a LO_SUM address is allowed. + (mips_symbol_insns): Return 0 for general mips16 symbols. + Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition. + Handle the new SYMBOL_GOTOFF_*s. + (mips_address_insns): Update call to mips_classify_address. + (mips_const_insns): Be more fussy about HIGH constants. Remove use + of mips_classify_constant. Be more accurate about CONSTs. + (mips_global_pic_constant_p): Delete. + (const_arith_operand): Only accept CONST_INTs. + (call_insn_operand): Remove call to mips_classify_constant. + Let mips_symbolic_constant_p check for invalid offsets. + (move_operand): Check for general_operands first. Only accept symbolic + constants if they satisfy mips_symbolic_constant_p and cannot be split. + (symbolic_constant): Use mips_symbolic_constant_p. + (global_got_operand, local_got_operand): New predicates. + (stack_operand): Update call to mips_classify_address. + (mips_legitimate_address_p): Likewise. + (mips_reloc, mips_lui_reloc): Delete. + (mips_force_temporary): Only use the given temporary if no_new_pseudos. + Use emit_move_insn. + (mips_split_symbol, mips_unspec_address): New functions. + (mips_unspec_offset_high): New function. + (mips_load_got): Replace reloc argument with a symbol_type. + Use mips_unspec_address to create the address and put it in a + LO_SUM with the base register. + (mips_load_got16, mips_load_got32): Delete. + (mips_emit_high, mips_legitimize_symbol): Delete. + (mips_gotoff_global): New function. + (mips_load_got_page, mips_load_got_global): New functions. + (mips_legitimize_symbol): Inline handling of LO_SUM splits. + (mips_legitimize_const_move): Likewise. Remove HIGH handling. + Inline code to handle constants plus invalid offsets. Use + mips_split_symbol to legitimize constant pool addresses. + (mips_delegitimize_address): Delete. + (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs + a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS. + (mips_subword): Pass memrefs through mips_rewrite_small_data. + (mips_output_move): Remove use of mips_classify_constant. + (mips_expand_call): Use mips_unspec_offset_high to calculate the + high part of the GOT address for calls to global functions. + (override_options): Initialize mips_split_p[], mips_lo_relocs[] + and mips_hi_relocs[]. + (print_operand): Use print_operand_reloc to handle '%h' and '%R'. + Remove use of mips_classify_constant. + (mips_reloc_string): Delete. + (print_operand_reloc): New function. + (print_operand_address): Update call to mips_classify_address. + (mips_rewrite_small_data_p, small_data_pattern_1): New functions. + (small_data_pattern): New predicate. + (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions. + (mips_function_has_gp_insn): New function. + (mips_global_pointer): Use it. + (mips_gp_insn): Delete. + (mips_expand_prologue): When compiling for n32/n64 abicalls, use a + single loadgp pattern to initialize $gp. Pass it the offset of _gp + from the start of the current function. + (mips16_gp_pseudo_reg): Revert last patch. + + * config/mips/mips.md (RELOC_*): Delete. + (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants. + (got): New insn attribute. + (type): Set to "load" if got == load. + (length): Set to 4 if got == load, 8 if got == xgot_high. + (lui[sd]i): Delete. + (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns. + (*got_disp[sd]i, *got_page[sd]i): Likewise. + (*low[sd]i): Change constraints to "d". Add a new define_split to + rewrite small data constants into LO_SUMs. + (loadgp): New insns. + +2003-11-04 Rainer Orth + + * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests. + +2003-11-04 DJ Delorie + + * config/v850/v850.md (mulhisi3): Expand the const_int case + separately to avoid trying to sign extend the const. + +2003-11-04 Richard Sandiford + + * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant + addresses to be shared. + (force_const_mem): Return a copy of the pool entry. + +2003-11-03 Andreas Jaeger + + * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again. + +2003-11-03 Kelley Cook + + * Makefile.in (cpp.dvi): New target split from cpp.info. + (gcc.dvi): New target split from gcc.info. + (gccint.dvi): New target split from gccint.info. + (cppinternals.dvi): New target split from cppinternals.info + (gccinstall.info): New specific rule. + (gccinstall.dvi): Likewise. + (dvi): Move targets to $(docobjdir). + ($(docobjdir)/%.dvi): New implicit rule. + +2003-11-03 Richard Kenner + + * doc/gty.texi (tag, desc): Say more about role of desc values in + selecting between tags. + +2003-11-03 Alexander Kabaev + + * real.c (encode_ieee_single): Ensure proper promotion. + +2003-11-03 Volker Reichelt + + * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner, + and Andrew Pinski. + +2003-11-03 Syd Polk + + * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5 + marketing names to the list of supported processors. + * config/rs6000/rs6000.h: Ditto. + * doc/invoke.texi: Ditto. + * config.gcc: Ditto. + +2003-11-03 Rainer Orth + + * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list. + Merge two substitutions. + * fixinc/fixincl.x: Regenerate. + Fixes PR bootstrap/12666. + +2003-11-03 Joseph S. Myers + + * doc/install-old.texi: Remove VMS documentation. + +2003-11-03 Jan Hubicka + + * i386.c (override_options): Remove hack enabling 128bit long double + commited by accident. + +2003-11-02 Per Bothner + + * c-opts.c (needValue): Do cpp_find_main_file before processing + any imacros flags, so pfile->main_file is set for the latter. + +2003-11-03 Andreas Jaeger + Zack Weinberg + + * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings. + (SYSCALLS.c.X-warn): Suppress warnings. + +2003-11-02 John David Anglin + + PR optimization/12845 + * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0. + +2003-11-02 Zack Weinberg + + * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1. + * config/i386/i386.c (print_reg): Abort on a virtual register + if code != -1; not if file == asm_out_file. + * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1. + (DEBUG_PRINT_REG): Delete, unused. + +2003-11-02 Andreas Schwab + + * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of + empty to avoid conflict with the definition from configure. + +2003-11-02 Roger Sayle + + PR optimization/10817 + * ifcvt.c (noce_emit_move_insn): Improve documentation comment. + (noce_try_move): New function to optimize an if-the-else into an + unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a". + (noce_process_if_block): Attempt simplification with noce_try_move. + + * simplify-rtx.c (simplify_ternary_operation): Some minor fixes + and improvements to the optimizations of IF_THEN_ELSE expressions. + (simplify_subreg): Silence signed/unsigned comparison warning. + +2003-11-02 Richard Sandiford + + * Makefile.in (targhooks.o, reload.o): Update dependencies. + (GTFILES): Add targhooks.c. + (gt-targhooks.h): New rule; depend on s-gtype. + * target.h (direct_pool_load_p): New hook. + * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro. + (TARGET_INITIALIZER): Include it. + * targhooks.h (default_direct_pool_load_p): Declare. + (hook_bool_machine_mode_true): Declare. + * targhooks.c: Include insn-config.h, recog.h, ggc.h and + gt-targhooks.h. + (pool_symbol): New variable. + (default_direct_pool_load_p): New function. + (hook_bool_machine_mode_true): New function. + * reload.c: Include target.h. + (find_reloads): If an alternative will force a constant into memory, + count an extra reload if constant pool symbols are not valid + addresses. If an alternative uses memory to move values between + registers, count the move as two reloads rather than one. + * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define. + * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document. + +2003-11-02 Eric Botcazou + + PR optimization/12799 + * postreload.c (reload_cse_move2add): Generate the add2 + patterns manually. + +2003-11-02 Eric Botcazou + + * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]: + Return 0 for all complex modes whose size is lesser or equal to + a word. Add a ??? comment for the condition used with 16-byte + aligned modes. + +2003-11-01 Kelley Cook + + * .cvsignore: Remove c-parse* and tradcif.c. + * objc/.cvsignore: Delete. + +2003-11-01 Roger Sayle + + * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead + of NULL. + +2003-11-01 John David Anglin + + * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration. + + * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration. + + * collect2.c (scan_libraries): Fix typos. + + PR preprocessor/12847 + * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c, + cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c, + c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, + DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with + "CPP_". + +2003-11-01 Fariborz Jahanian + + * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct + no_units calculation. + +2003-11-01 Andreas Jaeger + + * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of + enumeration list. + +2003-11-01 Andreas Schwab + + * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90 + prototypes. + (SBSS_SECTION_FUNCTION): Likewise. + +2003-11-01 Andreas Jaeger + + * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files. + +2003-11-01 Andreas Tobler + + * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90 + prototypes. + +2003-11-01 Andreas Jaeger + + * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable. + (uw_frame_state_for): Constify variables. + (extract_cie_info): Constify first argument. + + * unwind-dw2-fde-darwin.c: Adjust prototype of + _Unwind_Find_registered_FDE for recent changes. + (examine_objects): Constify return value and local variable result. + (_Unwind_Find_FDE): Constify return value and local variable ret. + 2003-10-31 Per Bothner * c-opts.c (finish_options): Change to returns boolean - false iff the call to cpp_find_main_file fails. (c_common_init): Skip preprocess_file if finish_options failed. (c_common_parse_file): Break if finish_options failed. + Fixes PR preprocessor/12545. 2003-10-31 John David Anglin @@ -48,37 +367,37 @@ * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb code. -2003-10-31 Andreas Jaeger , - Zack Weinberg - - - * crtstuff.c (__register_frame_info, __register_frame_info_bases) - (__deregister_frame_info, __deregister_frame_info_bases): - Constify void * argument. - * unwind-dw2-fde.h (struct fde_vector): - Constify 'orig_data' and 'array' fields. - (__register_frame_info, __register_frame_info_bases) - (__deregister_frame_info, __deregister_frame_info_bases): - Constify void * argument. - (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments, - return values, and casts of type fde *, struct dwarf_fde *, - and struct dwarf_cie *. - * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases) - (__deregister_frame_info, __deregister_frame_info_bases): - Constify void * argument. - (get_cie_encoding, ): Constify struct dwarf_cie * argument. - (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare) - (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert) - fde_split, SWAP, frame_downheap, frame_heapsort) - (classify_object_over_fdes, add_fdes, linear_search_fdes, - binary_search_unencoded_fdes, binary_search_single_encoding_fdes, - binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE): - Constify arguments, local variables, return values, and casts - of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *. - Use const pointer types in sizeof expressions, for clarity. - * unwind-dw2-fde-glibc.c - (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value. - (struct unw_eh_callback_data): Constify 'ret' field. +2003-10-31 Andreas Jaeger , + Zack Weinberg + + + * crtstuff.c (__register_frame_info, __register_frame_info_bases) + (__deregister_frame_info, __deregister_frame_info_bases): + Constify void * argument. + * unwind-dw2-fde.h (struct fde_vector): + Constify 'orig_data' and 'array' fields. + (__register_frame_info, __register_frame_info_bases) + (__deregister_frame_info, __deregister_frame_info_bases): + Constify void * argument. + (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments, + return values, and casts of type fde *, struct dwarf_fde *, + and struct dwarf_cie *. + * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases) + (__deregister_frame_info, __deregister_frame_info_bases): + Constify void * argument. + (get_cie_encoding, ): Constify struct dwarf_cie * argument. + (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare) + (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert) + fde_split, SWAP, frame_downheap, frame_heapsort) + (classify_object_over_fdes, add_fdes, linear_search_fdes, + binary_search_unencoded_fdes, binary_search_single_encoding_fdes, + binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE): + Constify arguments, local variables, return values, and casts + of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *. + Use const pointer types in sizeof expressions, for clarity. + * unwind-dw2-fde-glibc.c + (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value. + (struct unw_eh_callback_data): Constify 'ret' field. 2003-10-31 Fariborz Jahanian David Edelsohn @@ -125,7 +444,7 @@ 2003-10-31 Richard Earnshaw - * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in + * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in ENABLE_GC_CHECKING not in GGC_POISON. 2003-10-31 Nathanael Nerode @@ -150,7 +469,7 @@ 2003-10-30 Eric Christopher * function.c (purge_addressof_1): Add case for REG_RETVAL - notes when modes are unequal. + notes when modes are unequal. 2003-10-31 Jan Hubicka