X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=9e4577701356880ace26b85af8f40eceaf3dd4c1;hb=b37aff25e4769531da28908e404de60423705b45;hp=77a6af1b6452b1fd54e14d134bdac817e5166a59;hpb=3cb1a3c6210c7250464ba4bbbd02fb4d7497886e;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 77a6af1b645..9e457770135 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,452 @@ +2000-07-21 David Edelsohn + + * rs6000.h (SIZE_TYPE): Define. + +2000-07-21 Mark Mitchell + + * ssa.c (rename_insn_1): Don't rename registers that are + CLOBBERed. + +2000-07-21 Zack Weinberg + + * diagnostic.c (trim_filename, fancy_abort): Moved here from + rtl.c. + (fatal_function, set_fatal_function): Removed. + (fatal): Don't prepare for or call the fatal_function. + (diagnostic_lock, error_recursion): New. + (diagnostic_for_decl, report_diagnostic): Guard against + re-entering the error reporting routines. + (fancy_abort): Assume function is not NULL. + + * errors.c (fancy_abort): New. Assume function is not NULL. + * tradcpp.c (fancy_abort): Assume function is not NULL. + + * system.h: Provide default definition of __FUNCTION__. + * rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout. + Always use __FUNCTION__ in definition of abort. + * tree.h: Likewise. + * varray.h: Likewise. + * toplev.h: Likewise. Don't prototype set_fatal_function. + +2000-07-20 Geoff Keating + + * config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly + in 64-bit mode. + * glimits.h: Don't do #if defined for ARCH_PPC. + + * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All + constants of size no larger than a pointer should go in the TOC. + Add 'MODE' parameter. + (LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to + ASM_OUTPUT_SPECIAL_POOL_ENTRY_P. + (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise. + * config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise. + * config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise. + * config/rs6000/rs6000.c (constant_pool_expr_1): Likewise. + (rs6000_legitimize_address): Likewise. + (rs6000_emit_move): Likewise. + (rs6000_select_rtx_section): Likewise. + (output_toc): Deal properly with outputting small constants like + HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode. + * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add + MODE parameter. Put small constants in the TOC. + + * config/rs6000/rs6000.c (easy_fp_constant_p): All constants are + easy in SImode. + (rs6000_emit_move): When reload calls us with an illegitimate + address, exit early. Move the change_address calls to one place + at the end of the routine. Merge the SImode and DImode expanders. + When called by reload to put an integer into a FP register, force + it to memory. + + * config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode' + field. + (rs6000_hash_constant): Hash mode too. + (toc_hash_function): Allow for key_mode. + (toc_hash_eq): Structures are different if key_mode differs. + (output_toc): Add 'mode' parameter. Save key_mode. + * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): + Pass 'mode' parameter. + * config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param. + + * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME + for vtable references. + + * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a + choice, don't put integer values in FP regs. + +Thu Jul 20 18:13:52 2000 Jeffrey A Law (law@cygnus.com) + + * flow.c (verify_flow_info): Revamp code to verify that the + head and end of each basic block are in the insn chain. + +Thu Jul 20 18:02:35 2000 Michael Matz + + * gcse.c (record_one_set): Prepend instead of append onto + reg_set_table, making it O(n) instead O(n^2). + * lcm.c (compute_antinout_edge,compute_laterin,compute_available): + Use a queue instead of a stack as worklist. + +2000-07-20 Kazu Hirata + + * h8300.c (two_insn_adds_subs_operand): Fix a typo. + * h8300.h (OK_FOR_T): New. + (EXTRA_CONSTRAINT): Support OK_FOR_T. + * h8300.md: Use inc/dec.[wl] for increment/decrement + by 1 and 2 in HI and SI modes. + +2000-07-20 Jim Wilson + + * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values + larger than 14 bits. + +2000-07-20 Zack Weinberg + + * cppmacro.c (CAN_PASTE_AFTER): New macro. + (count_params): Don't set GNU_REST_ARGS on anything. + (save_expansion): Set PASTE_LEFT only on tokens for which + CAN_PASTE_AFTER is true, or which are named operators. + + * cpplex.c (parse_args): Distinguish between a rest argument + given one empty argument, and a rest argument given zero arguments. + (maybe_paste_with_next): Look for VOID_REST tag, and trigger + deletion of previous token based on that. + (get_raw_token): Flatten some control structure. + + * cpplib.h (CPP_LAST_EQ): Correct. + (VOID_REST): New token flag. + (GNU_REST_ARGS): Delete. + + * tradcpp.c (main): Don't munge -D options. + (make_definition): Bring -D handling in line with cpplib. + (do_define): Strip all leading whitespace from macro definitions. + +2000-07-20 David Billinghurst + + * Makefile.in (tradcpp): Depend on intl.o and version.o. + +2000-07-20 Bruce Korb + + * fixincl/check.tpl: strip the platform specific types before testing + * fixincl/fixfixes.c(gnu_type_fix): use platform specific types + * fixincl/fixincl.tpl: use platform specific types + * fixincl/fixlib.h: include the platform specific types + * fixincl/inclhack.def(gnu_types): don't supply the types + * fixincl/fixincl.x: regen + +2000-07-19 Jim Wilson + + * config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in + GR_REGS. + +2000-07-19 Zack Weinberg + + * tradcpp.c (rescan): Do not recognize directives when the # + is indented. + +2000-07-19 Zack Weinberg + + Implement C++ named operators. + + * cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block + of operators allowed in #if and having an _EQ variant. Add + CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED. + (cpp_token flags): Add NAMED_OP. + (enum node_type): Add T_OPERATOR. + (struct cpp_hashnode): Add code slot to value union. + * cpphash.h (spec_nodes): Remove n_defined. + + * cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types. + (spell_token, can_paste, maybe_paste_with_next): Handle named operators. + (is_macro_disabled): Tweak error messages. + + * cpplib.c (get_define_node): Disallow all named operators as + macro names. Tweak error messages. + (_cpp_init_stacks): Don't set up spec_nodes->n_defined. + + * cppinit.c (builtin_array): Add entries for the named operators. + * cppexp.c (lex): Check for CPP_DEFINED token. + (priority table): Add entries for CPP_MIN and CPP_MAX. + (_cpp_parse_expr): Handle CPP_MIN and CPP_MAX. + +2000-07-19 Bernd Schmidt + + * gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is + larger than the array of cuids. + (alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing + cuids. + +2000-07-19 Bruce Korb + + * fixinc/fixincl.c: Convert to using a table of environment variables + and activate the auto-edit marker on the fixed output files. + * fixinc/fixlib.h: Define the environment table + * fixinc/fixincl.sh: export the ${INPUT} dir + * fixinc/check.tpl: likewise + +2000-07-18 Zack Weinberg + + * gcc.c (.h spec): Fix typo. + +Wed Jul 19 01:22:15 CEST 2000 Marc Espie + + * Makefile.in: Fix tradcif.c path. + +2000-07-18 Zack Weinberg + + * cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry + macros, not five. + + * cpphash.h (TOKEN_NAME): New macro. + (_cpp_spell_operator): Deleted. + (token_spellings): Now _cpp_token_spellings. + + * cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator. + * cpplex.c: Use OP and TK macros when expanding the + TTYPE_TABLE. Eliminate token_names. For non-OPERATOR tokens, + store the stringification of the enumeration name (CPP_CHAR, + etc.) in the name slot of token_spellings. + Use TOKEN_NAME and/or TOKEN_SPELL, do not reference + token_spellings directly. + * cpplib.c: Use TOKEN_SPELL. + + * cpplex.c (_cpp_push_token): If the token being pushed back + is the previous token in this context, just subtract one from + context->posn. + * cppmacro.c (save_expansion): Clear aux field when storing a + placemarker. + +2000-07-18 Jakub Jelinek + + * cpplex.c (cpp_scan_buffer): Output line command even at the stop + buffer, provided it is not NULL. + +2000-07-18 Alexandre Oliva + + * c-decl.c (duplicate_decls): Do not call make_var_volatile() in + case of invalid volatile re-declaration. + +2000-07-18 Jakub Jelinek + + * calls.c (store_arg): Return non-zero if sibcall_failure is desired. + (expand_call): Adjust caller. + +2000-07-17 Gabriel Dos Reis + + * diagnostic.h (report_diagnostic): Change prototype. + + * diagnostic.c (output_do_verbatim, diagnostic_for_asm, + diagnostic_for_decl): Change prototype. + (error_with_decl, warning_with_decl, pedwarn_with_decl, warning, + error, warning, error_with_file_and_line, + warning_with_file_and_line, pedwarn_with_file_and_line, fatal): + Adjust call to report_diagnostic, diagnostic_for_decl. + (error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm. + (output_verbatim, verbatim): Adjust call to output_do_verbatim. + + * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End + varaible argument list. + +2000-07-17 Zack Weinberg + + * cpphash.c: Don't include hashtab.h. Most macro-handling code + moved to cppmacro.c. + (hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash, + dump_hash_helper): Delete. + (expand_hash, higher_prime_number, _cpp_lookup_with_hash, + cpp_forall_identifiers): New. Implement specialized version of + Vlad's expandable hash table. + (cpp_lookup): Use new functions. + (_cpp_init_macros, _cpp_cleanup_macros): Adjust for new + implementation. + * cppmacro.c: New file. + * cppinit.c (dump_macros_helper): New. + (cpp_finish): Iterate over the identifier table directly. + * cpplex.c (parse_name): Calculate the hash of the identifier + while we scan it. Use _cpp_lookup_with_hash when we can. + + * cpphash.h: Update prototypes. + (xcnewvec, HASHSTEP): New helper macros. + * cpplib.h: Update prototypes. + * Makefile.in (LIBCPP_OBJS): Add cppmacro.o. + (cppmacro.o): New rule. + (cpphash.o): Update deps. + + * cppmain.c: Do not set pfile->printer if no_output is on. + +2000-07-15 Neil Booth + + * cpplib.c: Change all directive-handler functions to return + void, not int. + * cpphash.h: Update typedefs. + +2000-07-17 Geoffrey Keating + + * configure: Regenerate. + + * extend.texi (Extended Asm): Mention that a memory clobber + does not count as a side-effect. + + * unroll.c (copy_loop_body): Fix one instance of using host + arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit + cross-compile. + + * tlink.c (scan_linker_output): Tweak for output of AIX ld. + +2000-07-17 Richard Henderson + + * config/ia64/ia64.md (movdi): Split out load address code. + New post-reload splitter for symbolic operands. + (movdi_internal): Abort if we didn't split symbolic operands + when we should have. + * config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits. + (ia64_reorg): Split insns when not optimizing. + * config/ia64/ia64-protos.h (ia64_expand_load_address): Declare. + +Mon Jul 17 23:43:26 MET DST 2000 Jan Hubicka + + * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE + instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format. + +2000-07-17 Chandrakala Chavva + + * loop.c (check_dbra_loop) : Changed loop_continue to loop->cont. + +2000-07-17 Jason Merrill + + * Makefile.in (clean): Remove libgcc directory. + + * configure.in (-Wno-long-long check): Use higher-level macros. + +2000-07-17 Zack Weinberg + + * simplify-rtx.c (simplify_binary_operation): Recognize + (compare (gt[u] (cc) 0) (lt[u] (cc) 0)). + (simplify_ternary_operation): Do not examine MODE_BITSIZE of + a CONST_INT, it will always be zero. + +2000-07-17 Chandrakala Chavva + + * loop.c (check_dbra_loop) : Return if more than one condition is + present to control the loop. + +Mon Jul 17 08:26:35 2000 Clinton Popetz + + * mips.c (mips_expand_prologue): Don't calculate the last argument + register unless we need it. When we are calculating this, make + sure FUNCTION_ARG is giving us a REG. + +2000-07-17 Stephane Carrez + + * flow.c (libcall_dead_p): Use single_set to verify the insn + has only one set and get for analysis. + (propagate_one_insn): Don't pass the PATTERN of the insn. + +2000-07-17 Mark Klein + + * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3. + +2000-07-17 J. David Anglin + + * Makefile.in (TARGET_GETGROUPS_T): New configuration variable. + * configure.in (TARGET_GETGROUPS_T): Evaluate. + * sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type + of second argument of getgroups. + * configure, config.in: Rebuilt. + +2000-07-17 Geoffrey Keating + + * simplify-rtx.c (simplify_relational_operation): Two signed + values with equal high words are less/greater than each other if + their low words are less/greater when considered as unsigned. + +Mon Jul 17 02:37:06 2000 Marc Espie + + * configure.in (vax-*-openbsd): Change to new style configuration, + add collect2/float_format information. + * configure: Rebuilt. + * config/vax/openbsd1.h: New. + * config/vax/openbsd.h: New. + * config/vax/t-openbsd: New. + +2000-07-17 Chip Salzenberg + + * c-common.c (shorten_compare): Quiet warnings about unsigned + comparisons with zero when they occur in a system header. + +2000-07-17 Joseph S. Myers + + * invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and + update to describe current practice. + + * glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99. + + * contrib.texi, cpp.texi, extend.texi, invoke.texi: Update + references to C9X. Change references to -fstd and -flang-isoc9x + to refer to -std. + + * c-common.c (scan_char_table): Allow "z" length modifiers on + diouxXn formats. + (check_format_info): Use TYPE_DOMAIN on the type matched against + for "z" formats, to retrieve the language size_t rather than the + internal one. + + * c-common.c (check_format_info): Do not make a pedantic objection + to the 'L' length modifier if used with a floating point type + character. + + * c-lex.c (yylex): Don't pedwarn for hexadecimal floating point + constants in C99 mode. + +2000-07-17 Kazu Hirata + + * h8300.md: Fix the format of mac. + (movsi_h8300hs): Output a tab after stmac instead of a space. + + * h8300.c (two_insn_adds_subs_operand): Improve code for detecting + profitable adds/subs sequences. + + * fold-const.c: Fix comment typos. + +2000-07-16 Laurynas Biveinis + + * cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL. + +2000-07-16 Kaveh R. Ghazi + + * fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation. + +2000-07-16 Neil Booth + + * cpplex.c: Update comments. + * README.Portability: Small update. + +2000-07-16 Neil Booth + + * README.Portability: Small update. + +2000-07-15 Richard Henderson + + * config/ia64/ia64-protos.h (ia64_move_ok): Prototype. + * config/ia64/ia64.c (ia64_move_ok): New function. + * config/ia64/ia64.md (movqi, movqi_internal): Use it. + (movhi, movsi, movdi, movsf, movdf, movxf): Likewise. + +2000-07-15 Zack Weinberg + + * cpphash.c (save_expansion): Clear PREV_WHITE on tokens + immediately following a paste operator. + * cppinit.c (sort_options): New function (only for HOST_EBCDIC). + (cpp_reader_init): Call it, if HOST_EBCDIC. + (cpp_handle_options): Do not sort option list here. + (handle_option): Rename to cpp_handle_option and export. + * cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use + _cpp_get_token directly. + (cpp_scan_line): Return 0 at EOF, 1 otherwise. + * cpplib.c (cpp_push_buffer): Don't set new->lineno to 1. + * cpplib.h: Prototype cpp_handle_option. Update prototype of + cpp_scan_line. + 2000-07-15 Richard Henderson * fold-const.c (extract_muldiv): Don't optimize past an unsigned @@ -6,7 +455,7 @@ 2000-07-15 Gabriel Dos Reis * diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice, - v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove. + v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove. (v_message_with_decl): Rename to ... (format_with_decl): ... this. Tweak (diagnostic_for_decl): New function. @@ -14,14 +463,14 @@ (announce_function): Use verbatim. (default_print_error_function): Likewise. (error_with_decl, warning_with_decl, pedwarn_with_decl): Use new - infratructure. + infratructure. 2000-07-15 Kaveh R. Ghazi * mips.c (function_arg_pass_by_reference): Don't do automatic aggregate initialization. (machine_dependent_reorg): Initialize variable `mode'. - + * mips.md (absdi2): Change variable `regno1' to unsigned int. (reload_indi): Rename loword/hiword to lo_word/hi_word to avoid conflicts with sys/param.h macro of the same name. @@ -59,7 +508,7 @@ Fri Jul 14 18:13:53 2000 Mark P Mitchell 2000-07-14 Jason Merrill - * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA + * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA register in the stack and later in another register, use the new register. @@ -80,7 +529,7 @@ Fri Jul 14 10:25:53 2000 Clinton Popetz * .cvsignore: Add generated YACC files. * objc/.cvsignore: New file. - + 2000-07-14 Neil Booth * cpplex.c (adjust_column): New funcion. @@ -143,14 +592,14 @@ Fri Jul 14 10:25:53 2000 Clinton Popetz error_with_file_and_line, warning_with_file_and_line, sorry, error_for_asm, warning_for_asm, fatal): Reimplement. (finish_diagnostic): Clear diagnostic info as well. - + 2000-07-13 Neil Booth * c-common.h (flag_digraphs): New. * c-decl.c (c_decode_option): Set flag_digraphs as appropriate. * c-lex.c (yylex): Use flag_digraphs to decide whether to honour digraphs. - + 2000-07-13 Zack Weinberg * gcc.c (do_spec_1): Add new %B operator. @@ -168,7 +617,7 @@ Fri Jul 14 10:25:53 2000 Clinton Popetz named specs. (C and assembly specs): Use the new named specs, as appropriate. - * objc/lang-specs.h: Use the new named specs. + * objc/lang-specs.h: Use the new named specs. Remove unnecessary braces. 2000-07-12 Zack Weinberg @@ -4809,6 +5258,15 @@ Sat May 13 11:05:47 2000 Philippe De Muyter * ifcvt.c (if_convert): Do not free NULL. +2000-05-12 H.J. Lu (hjl@gnu.org) + + * gthr-dce.h: Add support for libobjc. + * gthr-posix.h: Likewise. + * gthr-solaris.h: Likewise. + * gthr-vxworks.h: Likewise. + * gthr-single.h: Likewise. + * gthr-win32.h: Likewise. + 2000-05-12 Nick Clifton * config/fr30/fr30.c (fr30_move_double): New function: Emit code