OSDN Git Service

Fix compile time warning message
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 81db24f..232e831 100644 (file)
+2000-07-10  Nick Clifton  <nickc@cygnus.com>
+
+       * libgcc2.c (next_stack_level): Cast result of computation to
+       (void **) so that the assignment doe snot generate a warning.
+
+2000-07-10  Chandrakala Chavva  <cchavva@redhat.com>
+
+       * flags.h : Add new variable flag_single_precision_constant.
+       * toplev.c (display_help) : Add -fsingle-precision-constant option.
+       (flag_single_precision_constant): New.
+       * c-lex.c (yylex): Convert floating point constant to single
+       precision constant.
+       * invoke.texi : Add documentation for this new option.
+
+2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.c (output_octal): Second parameter is unsigned.
+       (output_long_octal): Likewise.
+       (output_hexadecimal): Likewise.
+       (output_long_hexadecimal): Likewise.
+       (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.
+       (build_continue_stmt): Likewise.
+       (build_break_stmt): Likewise.
+       (build_return_stmt): Likewise.
+
+       * c-decl.c (do_case): Rewrite to do what previously done in
+       c-parse.in.
+
+       * c-semantics.c (build_stmt): Define.
+       (build_return_stmt): Likewise.
+       (build_break_stmt): Likewise.
+       (build_continue_stmt): Likewise.
+       (build_case_label): Likewise.
+
+       * c-parse.in (BREAK): Change to build tree, then generate RTL.
+       (CONTINUE): Likewise.
+       (RETURN): Likewise.
+       (CASE): Likewise.
+       (DEFAULT): Likewise.
+
+       * 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.
+
+       * tree.h (STRIP_NOPS): Check for error_mark_node.
+       (STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
+       (dwarf2out_*): Remove duplicate declarations.
+
+       * c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
+       DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
+
+2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.c (wrap_text): New function.
+       (maybe_wrap_text): Likewise.
+       (output_add_string): Use it.
+       (output_format): Likewise.
+       (count_error): Use verbatim instead of notice.
+       (report_error_function): Likewise. Don't use plain fprintf.
+       (finish_diagnostic): New function.
+       (output_do_verbatim): Tweak.  Commonalize functionalities in
+       output_verbatim and verbatim.
+       (output_verbatim): Adjust.
+       (verbatim): Likewise.
+       (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.
+
+2000-07-09  Neil Booth  <NeilB@earthling.net>
+
+       * cpphash.h: ISvspace, is_vspace, is_nvspace: New.
+       IShspace, ISspace: Update.
+
+       * cppinit.c: ISTABLE: Update.
+       V: New.
+
+       * cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
+       (IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
+       (skip_block_comment, skip_line_comment, parse_string,
+       lex_line): Use is_vspace rather than IS_NEWLINE.
+       (skip_whitespace, lex_line): Clean up to use is_nvspace.
+       (lex_line): Use KNOWN_DIRECTIVE.  Any kind of directive
+       gets a BOL flag.
+       (lex_next): Unconditionally stop if within a directive.
+       Treat directives within macro invocations as directives
+       (after parse_args emits error), not as the argument.
+
+2000-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.c (diagnostic_args): New macro.
+       (diagnostic_msg): Likewise.
+       (output_formatted_integer): Likewise.
+       (output_state): New data type.
+       (digit_buffer): Make global.
+       (output_add_integer): Rename to output_decimal. Squeeze
+       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_append_r): New function.
+       (output_append): Tweak.
+       (output_flush_on): Rename to output_to_stream.
+       (output_format): Change prototype.  Improve documentation. Handle
+       more format specifiers.
+       (build_location_prefix): Rename to context_as_prefix.
+       (output_notice): Rename to output_do_printf.
+       (output_printf): Tweak.
+       (line_wrapper_printf): Likewise.
+       (vline_wrapper_message_with_location): Adjust call to renamed
+       functions. 
+       (v_message_with_decl): Likewise.
+       (default_print_error_function): Likewise.
+       (save_output_state): New function.
+       (restore_output_state): Likewise.
+       (output_do_verbatim): Likewise.
+       (output_verbatim): Define.
+       (verbatim): Likewise.
+
+       * diagnostic.h (printer_fn): Change return type from void to int.
+       Improve documentation.
+       (output_add_integer): Rename to output_decimal.
+       (output_flush_on, output_format): Don't export.
+       (output_verbatim, verbatim): Declare.
+
+2000-07-08  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
+       Check whether c divides op1 exactly if operation is not
+       multiplication.
+
+2000-07-08  Richard Henderson  <rth@cygnus.com>
+
+        * final.c (final): Do not abort when reg-stack introduces
+       a new insn.
+
+2000-07-08  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplib.h (struct cpp_name): Now struct cpp_string.
+       (CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
+       CPP_HEADER_NAME): Change to type S.
+       (struct cpp_token): Rename 'name' field to 'str'.  Add 'node'
+       field, a cpp_hashnode *.  All references to val.name updated
+       to use val.str or val.node as appropriate.
+       (struct cpp_reader): Add spec_nodes field.
+       (cpp_idcmp): Now cpp_ideq; takes a token * and a char *.
+
+       * cpphash.h (struct spec_nodes): New.
+       (enum spell_type): Reorder.  Only SPELL_STRING tokens use
+       val.str.  All references to 'spelling > SPELL_NONE' updated to
+       match.
+
+       (CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
+       pfile->buffer->inc are not NULL before dereferencing them.
+
+       * cpplex.c (parse_name): Take a pointer to the current token,
+       plus current position and limit as args; return the new
+       position; don't copy the text of a name into the string
+       buffer, instead call cpp_lookup and store the node pointer.
+       If extending a token, copy out the text of the old into a
+       scratch buffer, append the new, look that up and store the new
+       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.  
+       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, 
+       (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 *;
+       return 1=equal 0=not, not a tristate.
+
+       * cpphash.c (var_args_str): Delete.
+       (find_param): Compare node fields directly.
+       (is__va_args__): Use CPP_PEDANTIC.  Just compare
+       token->val.node with spec_nodes->n__VA_ARGS__.
+       (dump_funlike_macro): Don't use var_args_str.
+
+       * cpplib.c (_cpp_check_directive): Just walk through
+       spec_nodes->dirs comparing pointers.
+       (get_define_node, do_pragma_poison, detect_if_not_defined,
+       parse_ifdef): The identifier has already been looked up.
+       (do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
+       node.
+       (do_if): Only call detect_if_not_defined at beginning of file.
+       (_cpp_parse_assertion): Only copy string pointers for
+       SPELL_STRING tokens.
+       (pragma_dispatch): Take a node pointer and examine its name
+       field.
+       (_cpp_init_stacks): Also initialize the spec_nodes structure.
+
+       * cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
+       _cpp_init_macros. 
+       (cpp_cleanup): Free pfile->spec_nodes.  Call _cpp_cleanup_* in
+       reverse order from the corresponding _cpp_init_* routines.
+
+       * cppexp.c (parse_number, parse_charconst, parse_defined,
+       lex): Check val.node->type instead of calling cpp_defined.
+       Use spec_nodes entries where appropriate.
+
+       * fix-header.c, scan-decls.c: Update for interface changes.
+
+2000-07-08  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
+       emitting aux_truncdfsf2.
+
+2000-07-03  Donn Terry  (donnte@microsoft.com)
+
+       * cppinit.c (print_help): split overlong line into ISO C89
+       maximum chunks.
+
+2000-07-07  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppexp.c: Update all code for new lexer interface.
+       (op_t, operator codes, struct token, tokentab2, op_to_str): Remove.
+       (struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New.
+       * cpplex.c (token_names): Trim leading CPP_ from names; make
+       the strings unsigned.
+       (_cpp_spell_operator): New.
+       (is_macro_disabled): Disable all macros if rescanning
+       preprocessed text.
+       (_cpp_get_directive_token): Remove.
+
+       * cppinit.c: Don't set no_macro_expand.
+       * cpplib.c (read_line_number, do_line): Check only for EOF,
+       not VSPACE.
+       * cpphash.h: Update prototypes.
+       * cpplib.h (CPP_VSPACE): Remove.
+       (struct cpp_reader): Remove no_macro_expand.
+
+2000-07-08  Neil Booth  <NeilB@earthling.net>
+
+       * cpphash.c (is__va_args__): New function.
+       (count_params): Fix line reported in error messages.  Use
+       is__va_args__.  Don't return ')' on error.  Flag GNU style
+       rest args macro definitions.
+       (parse_define): Check macro name is not __VA_ARGS__.
+       (save_expansion): Check identifier in non-varargs-macro is
+       not __VA_ARGS__.  Don't flag GNU_VARARGS.
+       * cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS.
+       (maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather
+        than per-token GNU_VARARGS.
+       * cpplib.h (GNU_VARARGS): Remove.
+       (GNU_REST_ARGS): New.
+
+Sat Jul  8 01:38:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (call_pop, call, call_value_pop): Do not set
+       current_function_uses_pic_offset_table for calls to static
+       functions or indirect calls.
+
+2000-07-07  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/ia64.c (rws_access_reg): New local write_count.  If
+       is_predicate_reg, then take max write_count of register pair.
+
+2000-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * tradcpp.c (main): Rename label `include' to `add_include' to
+       avoid conflicts with variable `include' in traditional C.
+
+2000-07-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * integrate.c (copy_insn_list): Remove REG_LABEL notes.
+
+2000-07-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * sibcall.c (uses_addressof): Add INMEM argument, check for
+       current_function_internal_arg_pointer outside of MEM rtxs in addition
+       to ADDRESSOFs.
+       (sequence_uses_addressof): Update caller.
+
+2000-07-07  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE
+       and friends.
+
+2000-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * system.h (UNION_INIT_ZERO): New macro for initializing union
+       members in structs.
+
+       * cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO.
+
+2000-07-07  Neil Booth  <NeilB@earthling.net>
+
+       * cpp.texi: Update.
+
+Fri Jul  7 07:47:35 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * final.c (final): Detect out of bounds array access to
+       the insn_lengths array.
+
+2000-07-07  Kazu Hirata  <kazu@hxi.com>
+
+       * fold-const.c (fold): Fix a comment typo.
+
+2000-07-07  Neil Booth  <NeilB@earthling.net>
+
+       * cpp.texi: Update to new lexer.
+
+2000-07-06  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * tradcpp.c: New file.
+       * tradcif.y: New file.
+       * tradcif.c: New generated file.
+
+       * Makefile.in: Add rules to build tradcpp.o, tradcif.o,
+       $(srcdir)/tradcif.c.  Add tradcpp to STAGESTUFF and
+       dependencies of C.  Install tradcpp from install-common, in
+       $(libsubdir).
+
+2000-07-06  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppinit.c: Include cppdefault.h.  Refer to
+       cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly
+       to GCC_INCLUDE_DIR and its length.
+       (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+       USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include,
+       STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT):  Move to
+       cppdefault.h.
+       (include_defaults_array): Move to cppdefault.c.
+
+       * cppdefault.h: New file.
+       * cppdefault.c: New file.
+
+       * Makefile.in (LIBCPP_OBJS): Add cppdefault.o.
+       (cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file.
+       (cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to
+       this file.
+
+Thu Jul  6 18:30:36 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * reload.c (push_reload): When seeing if can reuse a register,
+       check extra registers against widest of INMODE and OUTMODE.
+
+2000-07-06  Neil Booth  <NeilB@earthling.net>
+
+       * cpplib.c: (_cpp_parse_assertion):  Perform hash lookups
+       based on full length of predicate.
+
+2000-07-06  Hans-Peter Nilsson  <hp@axis.com>
+
+       * timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>.
+       [NEED_DECLARATION_GETRUSAGE]: Declare getrusage.
+
+2000-07-05  Kazu Hirata  <kazu@hxi.com>
+
+       * h8300-proto.h: Fix formatting.
+       * h8300.c: Likewise.
+       * h8300.h: Likewise.
+
+2000-07-05  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
+       CCmode.
+
+2000-07-05  Rodney Brown  <RodneyBrown@pmsc.com>
+
+       * invoke.texi: Fix minor typos
+       * md.texi: Fix minor typos
+
+2000-07-05  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplib.c (_cpp_parse_assertion): Fix buffer overrun.
+
+2000-07-04  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplex.c: Don't include sys/mman.h.
+       (cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
+
+       * cpplib.c: Include sys/mman.h and obstack.h.
+       (cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
+       obstack.
+       (cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
+       (_cpp_unwind_if_stack): Now static, unwind_if_stack.  Don't
+       bother freeing if stack entries (they will be freed with their buffer).
+       (do_endif): Free if stack entries from the buffer obstack.
+       (push_conditional): Allocate if stack entries from the buffer obstack.
+
+       (find_answer): Rename to _cpp_find_answer.
+       (do_assert, do_unassert): Update.
+
+       * cpphash.h: Update prototypes.
+       (xobnew): New convenience macro.
+       * cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields.
+       Update comments.
+       (struct cpp_hashnode): Remove disabled field.
+
+       * cppinit.c: Don't include hashtab.h or splay-tree.h.
+       (report_missing_guard): Moved to cppfiles.c.
+       (cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
+       cpp_init_includes.
+       (cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
+       cpp_cleanup_includes.  Don't destroy hashtab or
+       all_include_files here.
+       (cpp_finish): Use _cpp_report_missing_guards.
+
+       * cppfiles.c (report_missing_guard): Moved from cppinit.c.
+       (_cpp_init_include_table): Rename _cpp_init_includes.
+       (_cpp_cleanup_includes, _cpp_report_missing_guards): New.
+
+       * cppexp.c (parse_assertion): Update for new name of
+       find_answer.
+
+       * Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps.
+
+2000-07-04  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplib.c (do_ident): s/VSPACE/EOF/
+
+2000-07-05  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c: Fix trigraph replacement within strings.
+
+2000-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier.
+
+       * xcoffout.c (assign_type_number): Constify.
+       (xcoffout_source_file): Add static prototype.  Don't needlessly
+       cast away const-ness.
+
+2000-07-04  Jason Merrill  <jason@redhat.com>
+
+       * frame.h (frame_state): Move base_offset to end.
+
+Mon Jul  3 21:31:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * calls.c (emit_library_call_value_1): Revert previous change.
+
+2000-07-03  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * fix-header.c (struct partial_proto): Remove unnecessary fields.
+       (recognized_extern, recognized_function, read_scan_file):
+       Update for new scheme.
+       (check_protection): It's still a multiple include guard even
+       if it doesn't always trigger.
+       * scan-decls.c (skip_to_closing_brace, scan_decls): Update for
+       new scheme.
+       * scan.h: Declare struct cpp_token.  Update prototypes.
+
+2000-07-03  Neil Booth  <neilb@earthling.net>
+           Zack Weinberg  <zack@wolery.cumb.org>
+
+       Complete overhaul of the lexer and macro expander.
+
+       * cpphash.c (object_defn, funct_defn, push_macro_expansion,
+       arg, arglist, argdata, reflist, collect_objlike_expansion,
+       collect_funlike_expansion, collect_params,
+       warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat,
+       unsafe_chars, macarg, compare_defs, special_symbol,
+       scan_arguments, stringify, funlike_macroexpand,
+       _cpp_quote_string, monthnames): Delete.
+       (cpp_lookup, _cpp_free_definition, dump_funlike_macro,
+       _cpp_create_definition, _cpp_dump_definition,
+       dump_hash_helper): Adjust.
+       (find_param, count_params, parse_define, var_args_str,
+       check_macro_redefinition, save_expansion): New.
+
+       * cpplex.c (skip_block_comment, skip_line_comment, parse_name,
+        parse_string, output_line_command, trigraph_replace,
+        lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens,
+        cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist,
+        cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer,
+       _cpp_skip_rest_of_line): Modify.
+
+        (maybe_macroexpand, skip_comment, copy_comment, skip_string,
+       find_position, null_warning, bump_column, expand_name_space,
+       pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist,
+       _cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace,
+       _cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token,
+       _cpp_prescan): Delete.
+
+       (dump_param_spelling, process_directive, lex_next,
+        is_macro_disabled, stringify_arg, expand_context_stack,
+        output_token, make_string_token, alloc_number_token,
+        special_symbol, duplicate_token, maybe_paste_with_next,
+        can_paste, prevent_macro_expansion, restore_macro_expansion,
+        get_temp_token, release_temp_tokens, quote_string,
+        token_names, token_spellings, _cpp_expand_name_space,
+        _cpp_glue_header_name, _cpp_reserve_name_space,
+        digraph_spellings, trigraph_ok, skip_whitespace, save_comment,
+        placemarker_token, eof_token, cpp_context, macro_args,
+        get_raw_token, parse_arg, parse_args, save_token,
+        push_arg_context, push_macro_context, pop_context,
+        do_pop_context, free_macro_args, _cpp_get_line,
+        _cpp_run_directive): New.
+
+       * cpplib.c (validate_else, parse_include, push_conditional,
+       pass_thru_directive, read_line_number, parse_ifdef,
+       detect_if_not_defined, _cpp_check_directive, do_define,
+       do_undef, do_include, do_import, do_include_next, do_error,
+       do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas,
+       top_pragmas, do_pragma_gcc, do_pragma_implementation,
+       do_pragma_poison, do_pragma_system_header,
+       do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else,
+       dl_elif, do_endif, _cpp_unwind_if_stack, do_assert,
+       do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert,
+       cpp_defined): Update for new scheme.
+       (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.
+       Update prototypes.  Remove unused macros.
+       * cpplib.h: Update prototypes.  Remove unused macros,
+       structure definitions, and fields.
+
+       * cpperror.c (print_containing_files, v_message): Adjust.
+       * 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):
+       Adjust.
+       * cppinit.c (dump_special_to_buffer): Delete.
+       (append_include_chain, merge_include_chains, cpp_reader_init,
+       cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read,
+       cpp_finish, handle_option, print_help): Adjust.
+       * cppmain.c (main): Adjust.
+
+2000-07-03  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppspec.c (lang_specific_driver): Use double quotes in error
+       message.
+
+Mon Jul  3 16:53:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * calls.c (emit_library_call_value_1): Use valreg instead
+       of hard_libcall_value.
+
+2000-07-03  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_move): New function.
+       * config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move.
+       * config/rs6000/rs6000.md (movsi): Use rs6000_emit_move.
+       (movhi): Likewise.
+       (movqi): Likewise.
+       (movdf): Likewise.
+       (movsf): Likewise.
+       (movdi): Likewise.
+       (movti): Likewise.
+
+       * expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
+       mode instead of wider_mode is being used.
+
+2000-07-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
+       of 'r'. Use q_regs_operand.
+       (andsi_1+2): Use q_regs_operand.
+
+2000-07-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.c (get_memory_rtx): Always put into alias set 0.
+
+2000-07-03  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.md: Fix post increment and pre increment
+       peepholes so that they do not generate UNPREDICATBLE opcodes.
+       (ie ones where the increment clobbers the source/destination).
+
+2000-07-01  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
+       change too big for -mtiny-stack" a warning, if larger than 63.
+       (out_set_stack_ptr): Change the logic so -mno-interrupts is
+       always safe to use on possible future devices.
+       (function_prologue): Write SPH before SPL, for consistency.
+       If interrupt_func_p true, we know we have enabled interrupts.
+       (avr_num_arg_regs): New function.  Round up to even number of
+       bytes if no -mpack-args or if calling a libgcc function.
+       (function_arg, function_arg_advance): Use it.
+       (output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
+       Output "movw" if available.
+       (out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
+       of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
+       (asm_output_section_name): Add blanks for consistent output.
+       (encode_section_info): Set TREE_READONLY for progmem data to
+       avoid gas warnings about changed section attributes.
+       (avr_hard_regno_mode_ok): Force non-QImode data to start in
+       even numbered registers on devices with "movw".
+       * config/avr/avr.h (MASK_*): Define bits for target_flags.
+       (TARGET_SWITCHES): Mark help strings for translation.
+       Add new -mpack-args and -menhanced switches.
+       (TARGET_OPTIONS): Mark help strings for translation.
+       (progmem_section): Add section attributes.
+       * config/avr/avr.md (*movhi, call_insn, call_value_insn):
+       Output "movw" if available.
+       (mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
+       New patterns.
+       * config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
+       call convention (arguments aligned on even registers).
+       (_cleanup, _exit): Make weak symbols libc can override.
+
+2000-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fp-bit.h: New file.
+
+       * fp-bit.c: Move common code, prototypes, etc into fp-bit.h.
+       Comment #endif statements.
+       (__thenan_sf, __thenan_df): Add missing braces around initializer.
+
+Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * gcse.c (compute_pre_data): Compute ae_kill using other local
+       properties instead of calling compute_ae_kill.
+
+       * alias.c (init_alias_analysis): Do not call
+       prologue_epilogue_contains until after reload has completed.
+
+2000-07-02  Benjamin Chelf  <chelf@codesourcery.com>
+
+       * c-common.h (genrtl_begin_compound_stmt): Remove declaration.
+       (genrtl_finish_compound_stmt): Likewise.
+       (genrtl_compound_stmt): Change to return void.
+
+       * c-semantics.c (genrtl_begin_compound_stmt): Remove function and 
+       move code from here to ...
+       (genrtl_compound_stmt): ... here.
+       (genrtl_finish_compound_stmt): Remove.
+       (expand_stmt): Add comment.
+
+2000-07-02  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P
+       and VOID_TYPE_P.
+
+2000-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * cpplib.h (struct cpp_reader): New field include_depth.
+       (struct cpp_printer): Rename last_bsd to last_id.
+       * cppfiles.c (read_include_file): Bump include_depth.
+       * cpplex.c (cpp_pop_buffer): Decrement include_depth.
+       (output_line_command): Output correct #line if a header
+       is including itself and is not protected against multiple inclusion.
+       Use include_depth instead of buffer_stack_depth, last_id instead of
+       last_bsd.
+       * cppinit.c (cpp_start_read): Initialize last_id instead of
+       last_bsd.
+
+2000-07-01  Benjamin Chelf  <chelf@codesourcery.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.
+       (genrtl_goto_stmt): Likewise.
+       (genrtl_expr_stmt): Likewise.
+       (genrtl_decl_stmt): Likewise.
+       (genrtl_if_stmt): Likewise.
+       (genrtl_while_stmt): Likewise.
+       (genrtl_do_stmt): Likewise.
+       (genrtl_return_stmt): Likewise.
+       (genrtl_for_stmt): Likewise.
+       (genrtl_break_stmt): Likewise.
+       (genrtl_continue_stmt): Likewise.
+       (genrtl_scope_stmt): Likewise.
+       (genrtl_switch_stmt): Likewise.
+       (genrtl_case_label): Likewise.
+       (genrtl_begin_compound_stmt): Likewise.
+       (gerntl_finish_compound_stmt): Likewise.
+       (genrtl_compound_stmt): Likewise.
+       (genrtl_asm_stmt): Likewise.
+       (genrtl_decl_cleanup): Likewise.
+       (DECL_ANON_UNION_ELEMS): Likewise.
+       (emit_local_var): Likewise.
+       (make_rtl_for_local_static): Likewise.
+       (expand_cond): Likewise.
+       (expand_stmt): Likewise.
+       (c_expand_return): Likewise.
+       (c_expand_start_case): Likewise.
+       (do_case): Likewise.
+       (COMPOUND_STMT_NO_SCOPE): Likewise.
+       (c_expand_asm_operands): Likewise.
+       (NEW_FOR_SCOPE_P): New macro.
+       (expand_expr_stmt_fn): New type.
+
+       (set_current_function_name_declared): Likewise.
+       (current_function_name_declared): Likewise.
+       (lang_expand_stmt): Likewise.
+       (stmts_are_full_exprs_p): 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.
+       (do_case): 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.
+       (genrtl_clear_out_block): Likewise.
+       (genrtl_goto_stmt): Likewise.
+       (genrtl_expr_stmt): Likewise.
+       (genrtl_decl_stmt): Likewise.
+       (genrtl_if_stmt): Likewise.
+       (genrtl_while_stmt): Likewise.
+       (genrtl_do_stmt): Likewise.
+       (genrtl_return_stmt): Likewise.
+       (genrtl_for_stmt): Likewise.
+       (genrtl_break_stmt): Likewise.
+       (genrtl_continue_stmt): Likewise.
+       (genrtl_scope_stmt): Likewise.
+       (genrtl_switch_stmt): Likewise.
+       (genrtl_case_label): Likewise.
+       (genrtl_begin_compound_stmt): Likewise.
+       (genrtl_finish_compound_stmt): Likewise.
+       (genrtl_compound_stmt): Likewise.
+       (genrtl_asm_stmt): Likewise.
+       (genrtl_decl_cleanup): Likewise.
+       (make_rtl_for_local_static): Moved from cp/decl.c.
+       (emit_local_var): Likewise.
+       (expand_stmt): Define.
+
+       * 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
+       with the low 13 bits set.
+       (move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
+       * config/ia64/ia64.md (movdi): Likewise.  Expand a CONST with one
+       of the low 13 bits into a CONST plus an adddi3.
+       (load_symptr): Set RTX_UNCHANGING_P.
+
+2000-06-30  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h.
+       * c-common.c (ridpointers): Declare.
+       * c-common.h (enum rid): Declare.
+       (NORID): Likewise.
+       (ridpointers): Likewise.
+       * c-lex.c (ridpointers): Don't declare.
+       (init_lex): Initialize ridpointers.
+       * c-lex.h (enum rid): Don't declare.
+       (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
+       have global scope.
+
+2000-06-30  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+
+       * invoke.texi (-Wreturn-type): In C++, a missing return type is
+       always an error.
+
+2000-06-30  Catherine Moore  <clm@cygnus.com>
+        * c-common.c (decl_attributes):  Differentiate between
+        types and type decls for alignment.
+
+2000-06-30  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cpp.texi: Document #pragma GCC dependency
+       * cppfiles.c (open_include_file): Set date to unknown.
+       (_cpp_compare_file_date): New function.
+       (read_include_file): Set file date.
+       * cpphash.h (struct include_file): Add date member.
+       (_cpp_compare_file_date): Prototype.
+       * cpplib.c (parse_include): Add trail parameter. Adjust.
+       (do_include): Adjust parse_include call.
+       (do_import): Likewise.
+       (do_include_next): Likewise.
+       (gcc_pragmas): Add dependency pragma.
+       (do_pragma_dependancy): New pragma.
+
+2000-06-29  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (output_loc_operands): Don't abort on codes that have
+       no operands.
+
+2000-06-29  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Return NO_REGS for
+       a volatile mem and FR_REGS.
+
+2000-06-29  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-common.c: Include c-common.h, not c-lex.h or c-tree.h.
+       * c-common.h (flag_const_strings): Declare.
+       (warn_format): Likewise.
+       (flag_traditional): Likewise.
+       (flag_isoc99): Likewise.
+       (warn_parentheses): Likewise.
+       (warn_conversion): Likewise.
+       (C_TYPE_OBJECT_P): Likewise.
+       (C_TYPE_INCOMPLETE_P): Likewise.
+       (C_TYPE_FUNCTION_P): Likewise.
+       (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
+       (C_EXP_ORIGINAL_CODE): Likewise.
+       (build_unary_op): Likewise.
+       (build_binary_op): Likewise.
+       (lvalue_p): Likewise.
+       (default_conversion): Likewise.
+       (common_type): Likewise.
+       * c-tree.h (C_TYPE_OBJECT_P): Remove.
+       (C_TYPE_INCOMPLETE_P): Likewise.
+       (C_TYPE_FUNCTION_P): Likewise.
+       (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
+       (C_EXP_ORIGINAL_CODE): Likewise.
+       (common_type): Likewise.
+       (default_conversion): Likewise.
+       (build_binary_op): Likewise.
+       (build_unary_op): Likewise.
+       (lvalue_p): Likewise.
+       (flag_const_strings): Likewise.
+       (warn_format): Likewise.
+       (warn_conversion): Likewise.
+       (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-29  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * c-decl.c, timevar.c, tlink.c: Include intl.h.
+       * Makefile.in: Update deps.
+
+2000-06-29  Andrew Haley  <aph@cygnus.com>
+
+       * toplev.c (main): On an IA-64, make flag_unwind_tables defauit
+       to true.
+
+2000-06-29  Andrew Haley  <aph@cygnus.com>
+
+        * config/ia64/linux.h (JMP_BUF_SIZE): Size is in Pmode units, not
+        bytes: remove the multiply by 8.
+
+2000-06-29  Philipp Thomas  <pthomas@suse.de>
+
+       * rtl.c : Revert NLS changes.
+       * gcc.c : Fix bug in display_help introced by my last changes.
+
+Wed Jun 28 21:09:33 2000   Raja R Harinath <harinath@cs.umn.edu>
+
+       * dbxout.c (dbxout_symbol, case RESULT_DECL, VAR_DECL): Use
+       DECL_CONTEXT, not DECL_FIELD_CONTEXT.
+
+2000-06-29  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * flow.c (flow_depth_first_order_compute): Fix algorithm.
+
+2000-06-28  Philipp Thomas  <pthomas@suse.de>
+
+       * c-decl.c : Mark strings for translation.
+       (parmlist_tags_warning): Use distinct messages instead
+       of conditional expressions.
+       * diagnostic.c (v_message_with_decl): Mark string for translation.
+       * gcc.c: Mark messages for translation.
+       (display_help): Combine messages into one string where necessary.
+       * mips-tfile: Add intl.h. Mark messages for translation.
+       * rtl.c (fatal_with_file_and_line): Modify function for NLS. Mark
+       messages for translation.
+       * timevar.c: Mark messages for translation.
+       * tlink.c: Likewise.
+       * toplev.c: Likewise.
+
+Wed Jun 28 15:39:26 2000  Donn Terry (donnte@microsoft.com)
+
+       * i386-interix.h (STRIP_NAME_ENCODING): Declare _new_name properly.
+
+       * alpha/alpha-interix.h: Delete redundant -Asystem(interix),
+       use -isystem instead of -idirafter.
+       * i386/i386-interix.h: Likewise.
+
+2000-06-28  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (output_loc_operands): Don't support >1 byte output
+       unless DWARF2_DEBUGGING_INFO is defined.
+       (ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs.
+
+2000-06-28  Richard Henderson  <rth@cygnus.com>
+
+       * config/alpha/alpha.c (summarize_insn): Ignore SCRATCH.
+
+2000-06-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * cpplex.c (output_line_command): Output correct #line if a header
+       is including itself and is not protected against multiple inclusion.
+
+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.      
+       (_cpp_execute_include): Keep a count of the number of times
+       each header is included.
+       (close_cached_fd): New function.
+       * cpphash.h (struct include_file): Rename before to
+       include_count; all users updated.  Make include_count and sysp
+       unsigned short.
+       * cppinit.c (cpp_finish): If -H, report headers that could use
+       reinclude guards.
+       (report_missing_guard): New function.
+
+Wed Jun 28 14:46:58 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (prologue_set_got): Set length_immediate field.
+       (testqi_ccno_1):  Add missing '@' character.
+
+2000-06-27  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Use
+       DWARF_FRAME_REGNUM.
+
+2000-06-27  Andrew Macleod <amacleod@cygnus.com>
+
+       * dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no 
+       unsigned macros available.
+
+2000-06-27  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.c (emit_insn_group_barriers): Special case
+       epilogue_deallocate_stack.
+
+       * config/ia64/ia64.c (ia64_print_operand) [case D]: Emit
+       completers for UNORDERED and ORDERED as well.
+       * config/ia64/ia64.md (bunordered, bordered): New.
+       (sunordered, sordered): New.
+
+Tue Jun 27 12:14:12 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * genattrtab.c (write_attr_value): Do not abort for CONST_INT operands.
+       * i386.c (ix86_attr_length_default): Kill.
+       (ix86_attr_length_immediate_default, ix86_attr_length_address_default):
+       New.
+       * i386-protos.h (ix86_attr_length_default): Kill
+       (ix86_attr_length_immediate_default, ix86_attr_length_address_default):
+       Add prototype
+       * i386.md (attribute type): Add "test".
+       (attribute length_prefix): Kill.
+       (attribute length_opcode): Kill.
+       (attribute i387, mode, length_immediate, length_address, prefix_data16,
+       prefix_rep, prefix_0f, modrm): New.
+       (attribute length): Compute using the new attributes.
+       (attribute pent_prefix): New.
+       (attribute pent_pair): Compute using pent_prefix.
+       (all insn patterns): Set mode,modrm and immediate_length attributes where
+       needed.
+       (cmpsi patterns): Compute sizes propertly for test instruction.
+       (movsi, movhi patterns): Compute sizes propertly for eax shortcuts.
+       (movstricthi_xor, movstrictqi_xor): New patterns.
+       (andsi/andhi): Use splitters to generate xor instructions.
+       (xorqi_ext_1): New pattern.
+       (movstricthi->movstricthi_xor peep2): New.
+
+Tue Jun 27 12:03:03 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (addqi_low_1): Remove.
+
+2000-06-27  Philipp Thomas  <pthomas@suse.de>
+
+       * 1750a.h: Mark help strings for options/switches for translation.
+       * a29k.h: Likewise.
+       * alpha.h: Likewise.
+       * arm.h: Likewise.
+       * pe.h: Likewise.
+       * riscix.h: Likewise.
+       * c4x.h: Likewise.
+       * clipper.h: Likewise.
+       * convex.h: Likewise. 
+       * elxsi.h: Likewise.
+       * fr30.h: Likewise.
+       * fx80.h: Likewise.
+       * h8300.h: Likewise.
+       * i370.h: Likewise.
+       * cygwin.h: Likewise.
+       * dgux.h: Likewise.
+       * djgpp.h: Likewise.
+       * i386.h: Likewise.
+       * osf1elf.h: Likewise.
+       * osfrose.h: Likewise.
+       * sco5.h: Likewise.
+       * win32.h: Likewise.
+       * i860.h: Likewise.
+       * paragon.h: Likewise.
+       * i960.h: Likewise.
+       * ia64.h: Likewise.
+       * m32r.h: Likewise.
+       * mcore.h: Likewise.
+       * mips.h: Likewise.
+       * mn10300.h: Likewise.
+       * ns32k.h: Likewise.
+       * pdp11.h: Likewise.
+       * pj.h: Likewise.
+       * aix.h: Likewise.
+       * aix41.h: Likewise.
+       * aix43.h: Likewise.
+       * beos.h: Likewise.
+       * rs6000.h: Likewise.
+       * sysv4.h: Likewise.
+       * linux.h: Likewise.
+       * linux64.h: Likewise.
+       * sp64-elf.h: Likewise.
+       * sparc.h: Likewise.
+       * splet.h: Likewise.
+       * v850.h: Likewise.
+       * convex.h (TARGET_SWITCHES): Provide descriptions and mark them
+       for translation.
+       * sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES.
+       Properly document option and mark for translation.
+       * sp86x-elf.h: Likewise.
+
+2000-06-27  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       Add MMX and SSE registers to i386 machine description.
+       * i386-protos.h (ix86_constant_alignment, ix86_data_alignment,
+       ix86_local_alignment): Declare.
+
+       * i386.h (TARGET_MMX, TARGET_SSE): New.
+       (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
+       REG_ALLOC_ORDER, HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
+       REG_CLASS_NAMES, REG_CLASS_CONTENTS,REG_CLASS_FROM_LETTER,
+       enum reg_class, HI_REGISTER_NAMES): Added MMX/SSE registers.
+       (FIRST_SSE_REG, LAST_SSE_REG, SSE_REGNO_P): New.
+       (FIRST_MMX_REG, LAST_MMX_REG, MMX_REGNO_P, MMX_REG_P): New macros.
+       (RETURN_IN_MEMORY): Handle MMX/SSE.
+       (REG_PARM_STACK_SPACE): Added so the first three TImode parameters
+       also get stack space.
+       (MUST_PASS_IN_STACK): Added TImode to the default definition.
+       (CUMULATIVE_ARGS): Added sse_nregs, sse_regno and sse_words.
+       (MMX_REGISTER_NAMES): New.
+       (ALIGN_MODE_128): New macro.
+       (CONSTANT_ALIGNMENT): Code moved out-of-line; just call the function.
+       (DATA_ALIGNMENT): Likewise.
+       (LOCAL_ALIGNMENT): Likewise.
+       (CONDITIONAL_REGISTER_USAGE): Make MMX/SSE regs fixed if not
+       TARGET_MMX/TARGET_SSE.
+       (VALID_SSE_REG_MODE, VALID_MMX_REG_MODE): New macros.
+       (REG_CLASS_FROM_LETTER): 'y' for MMX regs.
+       (SECONDARY_MEMORY_NEEDED): Be conservative about copying between
+       SSE/MMX regs and something else.
+       (CLASS_MAX_NREGS): 1 for SSE and MMX regs.
+       (REGISTER_MOVE_COST): 10 if trying to move between MMX and SSE regs,
+       3 if moving between MMX regs and something else.
+
+       * i386.c (reg_class): Add SSE_REGS, MMX_REGS.
+       (regclass_map): Add MMX/SSE registers.
+       (print_operand): Add code to print XMMWORD as appropriate.
+       (ix86_split_movdi): Abort for MMX regs.
+       (init_cumulative_args): Also allow SSE_REGS
+       (function_arg_advance, function_arg): Likewise
+       (print_reg): Support 'm'.  Add case for TImode.
+       (override_options): TARGET_SSE implies TARGET_MMX.
+       (ix86_constant_alignment, ix86_data_alignment, ix86_local_alignment):
+       New functions.
+
+       * config/i386/unix.h (VALUE_REGNO): VECTOR_MODE values go to
+       FIRST_SSE_REG.
+       * config/i386/ptx4-i.h (RETURN_IN_MEMORY): Return MMX values in
+       memory.
+       * config/i386/sysv4.h (RETURN_IN_MEMORY): Likewise.
+       * config/i386/i386elf.h (RETURN_IN_MEMORY): Likewise.
+
+2000-06-26  Geoff Keating  <geoffk@cygnus.com>
+
+       * ssa.c (struct rename_set_data): Change the name of field
+       'set_dest' to 'old_reg'.  Add comments.
+       (struct rename_context): Change the name of 'set_data' to
+       'new_renames'.  Add new field 'done_renames'.
+       (create_delayed_rename): New function.
+       (apply_delayed_renames): New function.
+       (rename_insn_1): Use the new functions.  Handle CLOBBERS.  Handle
+       SUBREGs and similar by emitting a move.
+       (new_registers_for_updates): Delete, functionality moved to
+       apply_delayed_renames.
+       (rename_block): Handle moves emitted by rename_insn_1 by putting
+       them into a SEQUENCE with the original insn.  Add sanity checks
+       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 
+       DW_CFA_def_cfa_expression.
+       * dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a
+       dw_loc_descr_struct entry.
+       (struct cfa_loc): New structure to track a CFA location.
+       (lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset.
+       (lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an
+       offset, plus handle DW_CFA_def_cfa_expression.
+       (def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a
+       cfa_loc record.
+       (dwarf2out_def_cfa): Entry point maintained for compatability.
+       (dwarf_cfi_name): Add DW_CFA_def_cfa_expression.
+       (cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'.
+       (cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'.
+       (initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not
+       cfa_reg.
+       (dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl
+       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 
+       DW_CFA_def_cfa_expression.
+       (get_cfa_from_loc_descr): New function to get a cfa_loc record from
+       a dw_loc_descr sequeunce.
+       (build_loc_descr): Build a dw_loc_descr from a cfa_loc record.
+       (dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr,
+       size_of_locs, output_loc_operands, output_loc_sequence): Move into
+       unwind info section.
+       * frame.h (frame_state): Add base_offset and indirect fields.
+       * frame-dwarf2.c (decode_stack_op): New function to interpret a
+       dw_loc_descr operation.
+       (execute_cfa_insn): Add support for DW_CFA_def_cfa_expression.
+       (struct frame_state): Add base offset and indirect fields.
+       * libgcc2.c (next_stack_level): Support indirect loading for CFA.
+
+2000-06-26  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-decl.c (grokdeclarator): Don't warn about `long long' in C99.
+       Make warnings about implicit int be pedwarns in C99.  Don't warn
+       about duplicate type qualifiers in C99.
+       (start_function): Make warning about implict int return type be a
+       pedwarn in C99.
+       * c-lex.c (yylex): Don't warn about `long long' in C99.
+       * c-typeck.c (c_expand_return): In C99, always pedwarn about
+       `return' with no value in function returning non-void.
+
+2000-06-26  Richard Henderson  <rth@cygnus.com>
+
+       * c-typeck.c (pedwarn_c99): New.
+       * diagnostic.c (verror, vwarning, vpedwarn): Export.
+       * toplev.h: Prototype them.
+
 2000-06-26  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
        * c-typeck.c (digest_init): Return error_mark_node node when
 
 2000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
 
-        * gengenrtl.c (special_rtx): Fix typo in comment.
+       * gengenrtl.c (special_rtx): Fix typo in comment.
 
 2000-06-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
        
 2000-06-25  John David Anglin  <dave.anglin@nrc.ca>
 
-        * config/vax/vax.h (TARGET_SWITCHES): Provide descriptions.
+       * config/vax/vax.h (TARGET_SWITCHES): Provide descriptions.
 
 2000-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
 
 2000-06-24  Marc Espie <espie@cvs.openbsd.org>
 
-       * collect2.c (resolve_lib_name): Move '/' check to more rational place.
+       * collect2.c (resolve_lib_name): Move '/' check out of loop.
 
 2000-06-24  Dirk Duellmann  <Dirk.Duellmann@cern.ch>