+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.
* 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.
* 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
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,
(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).
(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.
* 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.
(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.
(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.
(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.
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 *;
(_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.
(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.
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):
(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.
* 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.
(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.
(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.
* 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
(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
always an error.
2000-06-30 Catherine Moore <clm@cygnus.com>
-
+
* c-common.c (decl_attributes): Differentiate between
types and type decls for alignment.
(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.
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.
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>
* riscix.h: Likewise.
* c4x.h: Likewise.
* clipper.h: Likewise.
- * convex.h: Likewise.
+ * convex.h: Likewise.
* elxsi.h: Likewise.
* fr30.h: Likewise.
* fx80.h: Likewise.
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.
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.
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.
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>
* 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 *.
* 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