+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.
2000-07-17 Chandrakala Chavva <cchavva@cygnus.com>
- * loop.c (check_dbra_loop) : Return if more than one condition is
+ * 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>
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_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.
(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 <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.
2000-07-14 Jason Merrill <jason@redhat.com>
- * 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.
* .cvsignore: Add generated YACC files.
* objc/.cvsignore: New file.
-
+
2000-07-14 Neil Booth <NeilB@earthling.net>
* cpplex.c (adjust_column): New funcion.
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.
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 <zack@wolery.cumb.org>
* 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