OSDN Git Service

* rs6000.h (SIZE_TYPE): Define.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3d8a17e..9e45777 100644 (file)
+2000-07-21  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.h (SIZE_TYPE): Define.
+
+2000-07-21  Mark Mitchell  <mark@codesourcery.com>
+
+       * ssa.c (rename_insn_1): Don't rename registers that are
+       CLOBBERed.
+
+2000-07-21  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * 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  <geoffk@cygnus.com>
+
+       * 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 <matzmich@cs.tu-berlin.de>
+
+       * 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  <kazu@hxi.com>
+
+       * 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  <wilson@cygnus.com>
+
+       * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values
+       larger than 14 bits.
+
+2000-07-20  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * 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 <David.Billinghurst@riotinto.com.au>
+
+       * Makefile.in (tradcpp): Depend on intl.o and version.o.
+
+2000-07-20  Bruce Korb  <bkorb@gnu.org>
+
+       * 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  <wilson@cygnus.com>
+
+       * config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
+       GR_REGS.
+
+2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * tradcpp.c (rescan): Do not recognize directives when the #
+       is indented.
+
+2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
+
+       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  <bernds@cygnus.co.uk>
+
+       * 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  <bkorb@gnu.org>
+
+       * 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  <zack@wolery.cumb.org>
+
+       * gcc.c (.h spec): Fix typo.
+
+Wed Jul 19 01:22:15 CEST 2000  Marc Espie  <espie@cvs.openbsd.org>
+
+       * Makefile.in: Fix tradcif.c path.
+
+2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * 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  <jakub@redhat.com>
+
+       * cpplex.c (cpp_scan_buffer): Output line command even at the stop
+       buffer, provided it is not NULL.
+
+2000-07-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       * c-decl.c (duplicate_decls): Do not call make_var_volatile() in
+       case of invalid volatile re-declaration.
+
+2000-07-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * calls.c (store_arg): Return non-zero if sibcall_failure is desired.
+       (expand_call): Adjust caller.
+
+2000-07-17  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * 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  <zack@wolery.cumb.org>
+
+       * 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  <neilb@earthling.net>
+
+       * cpplib.c: Change all directive-handler functions to return
+       void, not int.
+       * cpphash.h: Update typedefs.
+
+2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * 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  <rth@cygnus.com>
+
+       * 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  <jh@suse.cz>
+
+       * 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   <cchavva@cygnus.com>
+
+       * loop.c (check_dbra_loop) : Changed loop_continue to loop->cont.
+
+2000-07-17  Jason Merrill  <jason@redhat.com>
+
+       * Makefile.in (clean): Remove libgcc directory.
+
+       * configure.in (-Wno-long-long check): Use higher-level macros.
+
+2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * 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   <cchavva@cygnus.com>
+
+       * 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  <cpopetz@cygnus.com>
+
+       * 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  <Stephane.Carrez@worldnet.fr>
+
+       * 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 <mklein@dis.com>
+
+        * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3.
+
+2000-07-17  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * 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  <geoffk@cygnus.com>
+
+       * 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 <espie@openbsd.org>
+
+       * 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  <chip@valinux.com>
+
+       * 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  <jsm28@cam.ac.uk>
+
+       * 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  <kazu@hxi.com>
+
+       * 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  <lauras@softhome.net>
+
+       * cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL.
+
+2000-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation.
+
+2000-07-16  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c: Update comments.
+       * README.Portability: Small update.
+
+2000-07-16  Neil Booth  <NeilB@earthling.net>
+
+       * README.Portability:  Small update.
+
+2000-07-15  Richard Henderson  <rth@cygnus.com>
+
+       * 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  <zack@wolery.cumb.org>
+
+       * 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  <rth@cygnus.com>
+
+       * fold-const.c (extract_muldiv): Don't optimize past an unsigned
+       cast around an expression.  Tidy other unsigned tests.
+
+2000-07-15  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice,
+       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.
+       (fatal_io_error): Use verbatim in lieu of notice.
+       (announce_function): Use verbatim.
+       (default_print_error_function): Likewise.
+       (error_with_decl, warning_with_decl, pedwarn_with_decl): Use new
+       infratructure.
+
+2000-07-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * 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.
+       (reload_outdi): Likewise.
+
+2000-07-15  Michael Meissner  <meissner@redhat.com>
+
+       * fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
+       == CONST + INCREMENT, don't overwrite the tree node for FOO++,
+       create a new node instead.
+
+2000-07-15  Neil Booth  <NeilB@earthling.net>
+
+       * README.Portability: Correct example about calling a function
+       through a pointer to function.  Format wide paragraphs.
+
+2000-07-15  Michael Meissner  <meissner@redhat.com>
+
+       * README.Portability: Update integer suffixes and function
+       prototype sections.
+
+2000-07-15  Neil Booth  <NeilB@earthling.net>
+
+       * README.Portability: Small update.
+
+2000-07-15  Neil Booth  <NeilB@earthling.net>
+
+       * README.Portability: New file.
+
+Fri Jul 14 18:13:53 2000  Mark P Mitchell  <mark@codesourcery.com>
+
+       * INSTALL: Give special instructions for building GCC on Irix 6.
+       * config/mips/x-iris6 (CC): Don't set it.
+       (OLDCC): Likewise.
+
+2000-07-14  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA
+       register in the stack and later in another register, use the new
+       register.
+
+Fri Jul 14 10:25:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * config/mips/mips.md: (absdi2): Handle sign_extend for
+       second operand.
+
+2000-07-14  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cpplib.c (do_pragma_dependency): Tidy warning messages.
+
+2000-07-14  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * .cvsignore: Correct typo.
+
+2000-07-13  Mark Mitchell  <mark@codesourcery.com>
+
+       * .cvsignore: Add generated YACC files.
+       * objc/.cvsignore: New file.
+
+2000-07-14  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c (adjust_column): New funcion.
+       (skip_whitespace): Use it.
+       (skip_block_comment): Use it, and warn about /*/* with
+       -Wcomments.
+
+2000-07-14  Neil Booth  <NeilB@earthling.net>
+
+       * cpphash.c (struct macro_info): Add new members.
+       (_cpp_free_definition): Delete the macro directly.
+       (count_params): Return void, with first token of
+       expansion in struct macro_info on success.
+       (parse_define): Return int.  Hoist syntax checking from
+       save_macro_expansion.  Leave call to save_expansion to
+       _cpp_create_definition.
+       (alloc_macro): Needs just 2 arguments.
+       (free_macro): Delete.
+       (save_expansion): Don't perform syntax check.
+       (_cpp_create_definition): Call save_expansion.
+
+2000-07-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * genrecog.c (write_header): Split long string.
+
+       * cpphash.c (macro_info): Don't use the `signed' keyword.
+
+       * system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__.
+
+2000-07-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * calls.c (stored_args_map): New variable.
+       (check_sibcall_argument_overlap_1): New.
+       (check_sibcall_argument_overlap): New.
+       (expand_call): Initialize stored_args_map.
+       Call check_sibcall_argument_overlap.
+
+2000-07-13  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count
+       (emit_gnu_type): utility procedure for gnu_type_fix
+       (gnu_type_fix): implement various pre-processor guards around
+       standard types so these types can be defined over and over
+       * fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard
+       types alluded to above will have GNU-compliant base types
+       * fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct
+       * fixinc/inclhack.def: add test_text entries and utilize the new
+       "gnu_types" fix for the ptrdiff_t, size_t and wchar_t types.
+       * fixinc/fixincl.x: regenerate
+
+2000-07-12  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+
+       * diagnostic.c (vline_wrapper_message_with_location,
+       v_message_with_file_and_line, v_error_with_file_and_file,
+       v_error_for_asm, v_warning_for_asm, vfatal,
+       v_warning_with_file_and_line, v_pedwarn_with_file_and_line,
+       vsorry, verror, vwarning, vpedwarn): Remove.
+       (diagnostic_for_asm): New function.
+       (pedwarn, error, warning, pedwarn_with_file_and_line,
+       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  <NeilB@earthling.net>
+
+       * 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  <zack@wolery.cumb.org>
+
+       * gcc.c (do_spec_1): Add new %B operator.
+       (set_input): Prepare for %B.
+
+       (link_command_spec): Move up with the other tm.h-
+       overrideable specs.  Factor out the portion conditional on
+       LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
+       (struct compiler): Just have a single spec string.  All users
+       updated.
+       (default_compilers): Remove unnecessary braces.
+       (static_specs): Update.
+
+       (trad_capable_cpp, cpp_options, cc1_options, asm_options): New
+       named specs.
+       (C and assembly specs): Use the new named specs, as appropriate.
+
+       * objc/lang-specs.h: Use the new named specs.
+       Remove unnecessary braces.
+
+2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * gcc.c (execute): If a subprocess gets a fatal signal, report
+       strsignal() of the signal number, and ask for a bug report.
+       Do not do this for SIGPIPE if there's already been an error.
+
+       * tradcpp.c: Don't include signal.h.  Don't catch SIGPIPE.
+       Delete pipe_closed.
+
+       * tradcif.c: Remove.
+
+2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * final.c (profile_function): Do not emit profile counters in
+       the data section, if NO_PROFILE_COUNTERS is defined.
+       * tm.texi: Document NO_PROFILE_COUNTERS.  Update doc for
+       FUNCTION_PROFILER.
+
+       * config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
+       (FUNCTION_PROFILER): Just emit a call to mcount.
+
+2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * tradcpp.c (main): Rename 'perror' label to 'sys_error'.
+
+       * cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c,
+       cpplib.c, cpplib.h: Eradicate all traces of code dependent on
+       traditional, lang_chill, or lang_fortran.
+
+       * cppfiles.c: #undef strcmp to suppress warning about macros
+       used without arguments.
+       (_cpp_execute_include): Use f, not fname, in "No include path"
+       error.
+       (_cpp_pop_file_buffer): New function.
+       * cpplib.c: Don't include <sys/mman.h>.
+       (cpp_push_buffer): Set line_base and lineno in new buffer.
+       (cpp_pop_buffer): Use _cpp_pop_file_buffer.
+
+       * cpplex.c: Move all prototypes and structure declarations to the
+       top of the file.  Properly parenthesise some macro arguments.
+       (cpp_scan_line): New function.
+       (special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth,
+       don't need to walk up the stack counting.
+
+2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-common.c (combine_strings): Emit a pedantic warning when a
+       string length is greater than the minimum ANSI C is required
+       to support.
+
+Wed Jul 12 13:24:30 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * pa/xm-pa64.h (NO_SYS_SIGLIST): Kill.
+       * d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill.
+
+2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-decl.c (define_label): Warn about identifier conflicts with
+       labels in traditional C.
+
+       * c-parse.in (unop +): Warn about the unary plus operator for
+       traditional C.
+
+       * c-typeck.c (store_init_value): Warn about automatic aggregate
+       initialization for traditional C.
+
+       * invoke.texi (-Wtraditional): Document new warnings.
+
+2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * Makefile.in (c-errors.o): Fix thinko in dependency.
+
 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
 
        * gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of
        -traditional, -ftraditional, or -traditional-cpp was given.
-       Do not pass -traditional to the preprocessor.              
+       Do not pass -traditional to the preprocessor.
        (.S spec): Likewise.  Don't bother defining __ASSEMBLER__, the
        preprocessor does it automatically.
        * objc/lang-specs.h: Likewise.  Don't bother defining __OBJC__.
 
        * ch/lang-specs.h: Always use tradcpp.  Do not pass
-       -traditional, -trigraphs, or -pedantic to the preprocessor.  
+       -traditional, -trigraphs, or -pedantic to the preprocessor.
        * f/lang-specs.h (.F spec): Likewise.  Don't bother defining
        _LANGUAGE_FORTRAN.
 
@@ -48,7 +742,7 @@ Wed Jul 12 13:15:16 2000  Marc Espie <espie@openbsd.org>
 
        * c-decl.c (set_current_function_name_declared, anon_aggr_type_p,
        lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED.
-       
+
        * c-parse.in (stmt): Delete unused variables.
 
        * convert.c (convert_to_vector): Likewise.
@@ -98,7 +792,7 @@ Wed Jul 12 13:15:16 2000  Marc Espie <espie@openbsd.org>
        * c-parse.y: Likewise.
        * objc/objc-parse.c: Likewise.
        * objc/objc-pasre.y: Likewise.
-       
+
 2000-07-11  Rodney Brown  <RodneyBrown@pmsc.com>
 
        * gcc.texi: Fix minor typos
@@ -127,7 +821,7 @@ Wed Jul 12 13:15:16 2000  Marc Espie <espie@openbsd.org>
        line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for,
        prefixing_policy, output_buffer_ptr_to_format_args): New macros
        (set_real_maximum_length, output_set_maximum_length,
-       output_set_prefix, output_get_prefix, output_set_maximum_length, 
+       output_set_prefix, output_get_prefix, output_set_maximum_length,
        output_destroy_prefix, init_output_buffer,
        reshape_diagnostic_buffer, output_space_left, output_emit_prefix,
        output_add_newline, output_add_character, output_add_space,
@@ -139,8 +833,8 @@ Wed Jul 12 13:15:16 2000  Marc Espie <espie@openbsd.org>
        (struct output_state): Move to...
 
        * diagnostic.h: ...Here
-       (struct output_buffer): Adjust. 
-       
+       (struct output_buffer): Adjust.
+
 2000-07-11  Zack Weinberg  <zack@wolery.cumb.org>
 
        * cpplex.c (parse_name): No longer inline (premature optimization).
@@ -263,7 +957,7 @@ Tue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
        (output_format): Adjust arguments extraction. Tweak.
        (output_verbatim, verbatim): End variable argument list.
        (report_diagnostic): Improve documentation.
-       
+
 2000-07-10  Benjamin Chelf  <chelf@codesourcery.com>
 
        * c-common.h (build_stmt): Declare.
@@ -288,7 +982,7 @@ Tue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
 
        * c-parse.y: Regenerate.
        * c-pasre.c: Likewise.
-       
+
 2000-07-09  Jason Merrill  <jason@redhat.com>
 
        * expr.c (expand_expr): Bail earlier if we get an error_mark_node.
@@ -316,7 +1010,7 @@ Tue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
        (report_diagnostic): Define.
 
        * diagnostic.h (report_diagnostic): Prototype.
-       
+
 2000-07-09  Zack Weinberg  <zack@wolery.cumb.org>
 
        * cppexp.c (_cpp_parse_expr): Don't use unary plus.
@@ -348,7 +1042,7 @@ Tue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
        (output_state): New data type.
        (digit_buffer): Make global.
        (output_add_integer): Rename to output_decimal. Squeeze
-       digit_buffer. 
+       digit_buffer.
        (output_long_decimal, output_unsigned_decimal,
        output_long_unsigned_decimal, output_octal, output_long_octal,
        output_hexadecimal, output_long_hexadecimal): New functions.
@@ -362,7 +1056,7 @@ Tue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
        (output_printf): Tweak.
        (line_wrapper_printf): Likewise.
        (vline_wrapper_message_with_location): Adjust call to renamed
-       functions. 
+       functions.
        (v_message_with_decl): Likewise.
        (default_print_error_function): Likewise.
        (save_output_state): New function.
@@ -416,12 +1110,12 @@ Tue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
        node pointer.  Inline.
        (maybe_paste_with_next): If the result of paste is a NAME,
        then look up the pasted text and store its node pointer.
-       (lex_line): Adjust for new parse_name interface.  
+       (lex_line): Adjust for new parse_name interface.
        Check for L"str", L'str' using spec_nodes->n_L.
        (spell_token): SPELL_IDENT tokens have their spelling in
        val.node->name.  Handle SPELL_STRING tokens that don't have
        string delimiters.
-       (_cpp_expand_name_space, 
+       (_cpp_expand_name_space,
        (can_paste): Check for L ## "str" using spec_nodes->n_L.
        (cpp_get_token, special_symbol): No need to call cpp_lookup.
        (cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
@@ -447,7 +1141,7 @@ Tue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
        (_cpp_init_stacks): Also initialize the spec_nodes structure.
 
        * cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
-       _cpp_init_macros. 
+       _cpp_init_macros.
        (cpp_cleanup): Free pfile->spec_nodes.  Call _cpp_cleanup_* in
        reverse order from the corresponding _cpp_init_* routines.
 
@@ -759,7 +1453,7 @@ Mon Jul  3 21:31:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
        (strtoul_for_line, get_define_node, dump_macro_name,
        _cpp_check_linemarker, _cpp_parse_assertion): New.
        (_cpp_handle_directive, do_pragma_default): Delete.
-       
+
        * cpphash.h (struct predicate): Now struct answer.
        (enum spell_type, struct token_spelling, struct directive,
        directive_handler): New.
@@ -768,7 +1462,7 @@ Mon Jul  3 21:31:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
        structure definitions, and fields.
 
        * cpperror.c (print_containing_files, v_message): Adjust.
-       * cppexp.c (parse_assertion, lex, parse_escape, 
+       * cppexp.c (parse_assertion, lex, parse_escape,
        _cpp_parse_expr): Adjust.
        * cppfiles.c (open_include_file, _cpp_execute_include,
        _cpp_compare_file_date, cpp_read_file, read_include_file):
@@ -875,7 +1569,7 @@ Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
        (genrtl_finish_compound_stmt): Likewise.
        (genrtl_compound_stmt): Change to return void.
 
-       * c-semantics.c (genrtl_begin_compound_stmt): Remove function and 
+       * c-semantics.c (genrtl_begin_compound_stmt): Remove function and
        move code from here to ...
        (genrtl_compound_stmt): ... here.
        (genrtl_finish_compound_stmt): Remove.
@@ -903,7 +1597,7 @@ Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
 
        * Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
        (c-semantics.o): New target.
-       
+
        * c-common.h (TREE_LANG_FLAG_?): Added documentation.
        (genrtl_do_pushlevel): Moved from cp/cp-tree.h.
        (genrtl_clear_out_block): Likewise.
@@ -945,7 +1639,7 @@ Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
        (anon_aggr_type_p): Likewise.
        (lang_expand_expr_stmt): Likewise.
        (build_case_label): Likewise.
-       
+
        * c-decl.c (lang_expand_expr_stmt): Initialize.
        (stmts_are_full_exprs_p): Define.
        (current_function_name_declared): Likewise.
@@ -953,7 +1647,7 @@ Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
        (lang_expand_stmt): Likewise.
        (set_current_function_name_declared): Likewise.
        (anon_aggr_type_p): Likewise.
-       
+
        * c-semantics.c: New file.
        (expand_cond): Moved from cp/semantics.c.
        (genrtl_do_pushlevel): Likewise.
@@ -983,7 +1677,7 @@ Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
        * c-tree.h: (c_expand_asm_operands): Moved to c-common.h.
        (c_expand_return): Likewise.
        (c_expand_start_case): Likewise.
-               
+
 2000-07-01  Richard Henderson  <rth@cygnus.com>
 
        * config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
@@ -1006,7 +1700,7 @@ Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
        (NORID): Likewise.
        (RID_FIRST_MODIFIER): Likewise.
        (ridpointers): Likewise.
-       
+
 2000-06-30  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
        * pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they
@@ -1018,7 +1712,7 @@ Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
        always an error.
 
 2000-06-30  Catherine Moore  <clm@cygnus.com>
+
        * c-common.c (decl_attributes):  Differentiate between
        types and type decls for alignment.
 
@@ -1082,11 +1776,11 @@ Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
        (flag_traditional): Likewise.
        (flag_isoc99): Likewise.
        (warn_parentheses): Likewise.
-       
+
 2000-06-29  James E. Wilson  <wilson@cygnus.com>
 
        * config/ia64/linux.h (LINK_SPEC): Change so.1 to so.2.
-       
+
        * config/ia64/ia64.h (MODES_TIEABLE_P): Only tie if mode class is the
        same.  Only tie XFmode with XFmode.
 
@@ -1160,7 +1854,7 @@ Wed Jun 28 15:39:26 2000  Donn Terry (donnte@microsoft.com)
 2000-06-28  Zack Weinberg  <zack@wolery.cumb.org>
 
        * cppfiles.c (open_include_file): If open(2) returns EMFILE or
-       ENFILE, close all cached file descriptors and try again.      
+       ENFILE, close all cached file descriptors and try again.
        (_cpp_execute_include): Keep a count of the number of times
        each header is included.
        (close_cached_fd): New function.
@@ -1183,7 +1877,7 @@ Wed Jun 28 14:46:58 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
 2000-06-27  Andrew Macleod <amacleod@cygnus.com>
 
-       * dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no 
+       * dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no
        unsigned macros available.
 
 2000-06-27  Richard Henderson  <rth@cygnus.com>
@@ -1236,7 +1930,7 @@ Tue Jun 27 12:03:03 MET DST 2000  Jan Hubicka  <jh@suse.cz>
        * riscix.h: Likewise.
        * c4x.h: Likewise.
        * clipper.h: Likewise.
-       * convex.h: Likewise. 
+       * convex.h: Likewise.
        * elxsi.h: Likewise.
        * fr30.h: Likewise.
        * fx80.h: Likewise.
@@ -1347,11 +2041,11 @@ Tue Jun 27 12:03:03 MET DST 2000  Jan Hubicka  <jh@suse.cz>
        and comments.
        (rename_equivalent_regs_in_insn): Don't handle SUBREGs specially.
        (rename_equivalent_regs): Expand SEQUENCEs out to individual insns.
-       
+
 2000-06-26  Andrew Macleod <amacleod@cygnus.com>
            Jason Merrill <jason@redhat.com>
 
-       * dwarf2.h (enum dwarf_call_frame_info): Add 
+       * dwarf2.h (enum dwarf_call_frame_info): Add
        DW_CFA_def_cfa_expression.
        * dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a
        dw_loc_descr_struct entry.
@@ -1371,7 +2065,7 @@ Tue Jun 27 12:03:03 MET DST 2000  Jan Hubicka  <jh@suse.cz>
        sequences for the new DW_CFA_def_cfa_expression record.
        (dwarf2out_frame_debug): Use new variables/fields.A
        (output_cfi): Handle DW_CFA_def_cfa_expression.
-       (output_cfa_loc): New function to generate a CFI record for 
+       (output_cfa_loc): New function to generate a CFI record for
        DW_CFA_def_cfa_expression.
        (get_cfa_from_loc_descr): New function to get a cfa_loc record from
        a dw_loc_descr sequeunce.
@@ -1452,7 +2146,7 @@ Tue Jun 27 12:03:03 MET DST 2000  Jan Hubicka  <jh@suse.cz>
        compiler found.
        AM_GNU_GETTEXT: Don't set CATALOGS if create_catalogs=no.
        * configure: Rebuilt.
-       
+
 2000-06-25  John David Anglin  <dave.anglin@nrc.ca>
 
        * config/vax/vax.h (TARGET_SWITCHES): Provide descriptions.
@@ -1524,7 +2218,7 @@ Tue Jun 27 12:03:03 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
 2000-06-24  Nathan Sidwell  <nathan@codesourcery.com>
 
-       * cpp.texi: Clarify #pragma GCC namespace.      
+       * cpp.texi: Clarify #pragma GCC namespace.
 
 2000-06-24  Philipp Thomas  <pthomas@suse.de>
 
@@ -1616,7 +2310,7 @@ Tue Jun 27 12:03:03 MET DST 2000  Jan Hubicka  <jh@suse.cz>
        * cppinit.c: Include splay-tree.h.
        (cpp_reader_init, cpp_cleanup): Update.
 
-       * cpplib.h (struct cpp_buffer): Change ihash field to 
+       * cpplib.h (struct cpp_buffer): Change ihash field to
        'struct include_file *inc'.  Remove system_header_p.
        (struct cpp_reader): Change all_include_files to a
        struct splay_tree_s *.
@@ -4564,6 +5258,15 @@ Sat May 13 11:05:47 2000  Philippe De Muyter  <phdm@macqel.be>
 
        * 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  <nickc@cygnus.com>
 
        * config/fr30/fr30.c (fr30_move_double): New function:  Emit code