OSDN Git Service

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