OSDN Git Service

Fix compile time warning message
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3f32a1d..232e831 100644 (file)
@@ -1,3 +1,320 @@
+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.