OSDN Git Service

2009-07-20 Jerry Quinn <jlquinn@optonline.net>
[pf3gnuchains/gcc-fork.git] / libcpp / ChangeLog
index acffe8e..7fcfa56 100644 (file)
@@ -1,3 +1,302 @@
+2009-07-20  Jerry Quinn  <jlquinn@optonline.net>
+
+       PR regression/40800
+       * configure.ac: Use = instead of == for testing
+       ENABLE_BUILD_WITH_CXX.
+       * configure: Rebuild.
+
+2009-07-17  Jerry Quinn  <jlquinn@optonline.net>
+
+       * directives.c (do_linemarker, do_line): Use CPP_STRING for
+       ignored enum value.
+       * files.c (find_file_in_dir): Add cast from void* to char*.
+       * symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
+       * Makefile.in: (WARN_CFLAGS): Use general and C-specific
+       warnings.
+       (CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
+       ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
+       COMPILER_FLAGS): New.
+       (DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
+       (COMPILE.base): Use COMPILER instead of CC.  Use COMPILER_FLAGS
+       instead of ALL_CFLAGS.
+       * configure.ac: Invoke AC_PROG_CXX.  Separate C-specific warnings
+       from other warnings.  Add -Wc++-compat to C-specific warnings.
+       Check for --enable-build-with-cxx.  Set and substitute
+       ENABLE_BUILD_WITH_CXX.  Invoke ZW_PROG_COMPILER_DEPENDENCIES
+       according to ENABLE_BUILD_WITH_CXX.  Invoke AC_LANG before
+       AC_CHECK_HEADERS.
+       * configure: Rebuild.
+       * include/cpp-id-data.h: Remove extern "C".
+       * include/line-map.h: Likewise.
+       * include/mkdeps.h: Likewise.
+       * include/symtab.h: Likewise.
+       * internal.h: Likewise.
+
+2009-06-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       * directives.c (parse_include): Add location argument. Update all
+       calls.
+       (parse_answer): Likewise.
+       (do_include_common): Error with exact location.
+       (parse_assertion): Likewise.
+
+2009-06-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * expr.c (num_div_op): Take explicit location.
+
+2009-06-17  Ian Lance Taylor  <iant@google.com>
+
+       * include/cpplib.h (progname): Don't declare.
+
+2009-06-12  Ian Lance Taylor  <iant@google.com>
+
+       * include/cpplib.h (struct cpp_options): Add
+       warn_cxx_operator_names field.
+       (NODE_WARN_OPERATOR): Define.
+       (struct cpp_hashnode): Increase flags field to 10 bits, decrease
+       type to 6 bits.
+       * init.c (mark_named_operators): Add flags parameter.
+       (cpp_post_options): Pick flags value to pass to
+       mark_named_operators.
+       * lex.c (lex_identifier): If NODE_WARN_OPERATOR is set, warn that
+       identifier is an operator name in C++.
+
+2009-06-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * include/line-map.h (LAST_SOURCE_COLUMN): New.
+
+2009-06-01  Ian Lance Taylor  <iant@google.com>
+
+       * include/cpp-id-data.h: Add extern "C".
+       * include/line-map.h: Likewise.
+       * include/mkdeps.h: Likewise.
+       * include/symtab.h: Likewise.
+       * internal.h: Likewise.
+
+2009-05-15  Ian Lance Taylor  <iant@google.com>
+
+       * include/cpplib.h (enum cpp_builtin_type): Rename from enum
+       builtin_type.  Change all uses.
+
+2009-05-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR cpp/36674
+       * directives (do_linemarker): Compensate for the increment in
+       location that occurs when we reach the end of line.
+       * files (_cpp_stack_include): Mention _cpp_find_file in the
+       comment.
+
+2009-05-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * include/cpplib.h (enum cpp_token_fld_kind): Add
+       CPP_TOKEN_FLD_TOKEN_NO.
+       (struct cpp_macro_arg, struct cpp_identifier): Define.
+       (union cpp_token_u): Use struct cpp_identifier for identifiers.
+       Use struct cpp_macro_arg for macro arguments.  Add token_no for
+       CPP_PASTE token numbers.
+       * directives.c (_cpp_handle_directive, lex_macro_node, do_pragma,
+       do_pragma_poison, parse_assertion): Use val.node.node in place of
+       val.node.
+       * expr.c (parse_defined, eval_token): Use val.node.node in place
+       of val.node.
+       * lex.c (cpp_ideq, _cpp_lex_direct, cpp_token_len,
+       cpp_spell_token, cpp_output_token, _cpp_equiv_tokens,
+       cpp_token_val_index): Use val.macro_arg.arg_no or val.token_no in
+       place of val.arg_no.  Use val.node.node in place of val.node.
+       * macro.c (replace_args, cpp_get_token, parse_params,
+       lex_expansion_token, create_iso_definition, cpp_macro_definition):
+       Use val.macro_arg.arg_no or val.token_no in place of val.arg_no.
+       Use val.node.node in place of val.node.
+
+2009-05-03  Joseph Myers  <joseph@codesourcery.com>
+
+       * charset.c (one_utf8_to_cppchar): Correct mask used for 5-byte
+       UTF-8 sequences.
+
+2009-04-25  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/39559
+       * expr.c (cpp_interpret_integer): Use a pedwarn for decimal
+       constants larger than intmax_t in C99 mode.
+
+2009-04-21  Taras Glek <tglek@mozilla.com>
+
+       * include/cpp-id-data.h: Update GTY annotations to new syntax.
+       * include/cpplib.h: Likewise.
+       * include/line-map.h: Likewise.
+       * include/symtab.h: Likewise.
+
+2009-04-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR c++/14875
+       * lex.c (cpp_type2name): Take a flags parameter. Call
+       cpp_named_operator2name for named operators and cpp_digraph2name
+       for digraphs.
+       (cpp_digraph2name): New.
+       (cpp_spell_token): Use it.
+       (cpp_output_token): Likewise.
+       * include/cpplib.h (cpp_type2name): Update declaration.
+       * init.c (cpp_named_operator2name): New.
+       * internal.h (cpp_named_operator2name): Declare.
+
+2009-04-21  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR c++/13358
+       * init.c (cpp_create_reader): Wlong_long is disabled by default.
+       * expr.c (cpp_classify_number): Give different messages for C and
+       C++ front-ends.
+
+2009-04-19  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/20078
+       * include/cpp-id-data.h (struct cpp_macro): Add extra_tokens
+       field.
+       * include/cpplib.h (SP_DIGRAPH, SP_PREV_WHITE): Define.
+       (struct cpp_token): Change flags to unsigned short.
+       * lex.c (_cpp_lex_direct): Initialize arg_no for CPP_PASTE tokens.
+       (_cpp_equiv_tokens): Check arg_no for CPP_PASTE tokens.
+       (cpp_token_val_index): Return CPP_TOKEN_FLD_ARG_NO for CPP_PASTE
+       tokens.
+       * macro.c (macro_real_token_count): New.
+       (enter_macro_context, replace_args): Use macro_real_token_count.
+       (create_iso_definition): Record whitespace surrounding and digraph
+       spelling of # and ## tokens using SP_PREV_WHITE and SP_DIGRAPH.
+       Set extra_tokens and save CPP_PASTE tokens with arg_no set for
+       multiple consecutive ## tokens.
+       (_cpp_create_definition): Initialize extra_tokens.
+       (cpp_macro_definition): Use macro_real_token_count.
+
+2009-04-18  Joseph Myers  <joseph@codesourcery.com>
+
+       * directives.c (parse_include): Pass true to check_eol.
+
+2009-04-18  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/39646
+       * include/line-map.h (enum lc_reason): Add LC_RENAME_VERBATIM.
+       * line-map.c (linemap_add): Handle LC_RENAME_VERBATIM.
+       * directives.c (do_line, do_linemarker): Use LC_RENAME_VERBATIM in
+       place of LC_RENAME.
+
+2009-04-18  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/39647
+       * directives.c (check_eol): Add parameter expand.
+       (do_undef, parse_include, do_line, do_linemarker, do_ident,
+       do_pragma_once, do_pragma_system_header, do_ifdef, do_ifndef,
+       do_else, do_endif, do_assert, do_unassert): All callers changed.
+       Pass true from do_line, false elsewhere.
+
+2009-04-12  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/31869
+       * macro.c (stringify_arg): Handle NULL source token in padding
+       token where previous padding token did not have source token with
+       preceding whitespace.
+
+2009-04-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in: Change copyright header to refer to version
+       3 of the GNU General Public License and to point readers at the
+       COPYING3 file and the FSF's license web page.
+       * charset.c: Likewise.
+       * directives-only.c: Likewise.
+       * directives.c: Likewise.
+       * errors.c: Likewise.
+       * expr.c: Likewise.
+       * files.c: Likewise.
+       * identifiers.c: Likewise.
+       * include/cpp-id-data.h: Likewise.
+       * include/cpplib.h: Likewise.
+       * include/line-map.h: Likewise.
+       * include/mkdeps.h: Likewise.
+       * include/symtab.h: Likewise.
+       * init.c: Likewise.
+       * internal.h: Likewise.
+       * lex.c: Likewise.
+       * line-map.c: Likewise.
+       * macro.c: Likewise.
+       * makeucnid.c: Likewise.
+       * mkdeps.c: Likewise.
+       * pch.c: Likewise.
+       * symtab.c: Likewise.
+       * system.h: Likewise.
+       * traditional.c: Likewise.
+       * ucnid.tab: Likewise.
+       * ucnid.h: Regenerate.
+
+2009-04-01  Janis Johnson  <janis187@us.ibm.com>
+
+       PR c/39027
+       * include/cpplib.h (CPP_N_DEFAULT): Define.
+       * expr.c (interpret_float_suffix): Recognize d or D for double,
+       return new value for default.
+       (cpp_classify_number): Issue pedwarn for use of d or D in suffix.
+
+       PR c/33466
+       * expr.c (interpret_float_suffix): Reject invalid suffix that uses
+       letters from decimal float and fixed-point suffixes.
+
+2009-03-31  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/15638
+       * files.c (_cpp_find_file): Call open_file_failed after diagnosing
+       invalid PCH.
+       (open_file_failed): Make error for missing file fatal.
+       * include/cpplib.h (CPP_DL_FATAL): Define.
+
+2009-03-30  Sergiy Vyshnevetskiy  <serg@vostok.net>
+
+       PR preprocessor/31932:
+       * internal.h: Don't mention HAVE_ICONV_H.
+       * configure, config.in: Rebuild.
+       * configure.ac: Don't check for iconv.h.
+
+2009-03-30  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/39512:
+       * line-map.c (linemap_init): Initialize 'reallocator' field.
+
+2009-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/39558
+       * macro.c (cpp_get_token): If macro_to_expand returns NULL
+       and used some tokens, add CPP_PADDING before next token.
+
+2009-03-29  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/34695
+       * makedepend.c: Remove.
+       * Makefile.in (makedepend_OBJS, makedepend$(EXEEXT)): Remove.
+       (all, clean, TAGS_SOURCES, include): Remove makedepend handling.
+       * directives.c (cpp_errors): Remove.
+       * errors.c (print_location, _cpp_begin_message, v_message):
+       Remove.
+       (cpp_error, cpp_error_with_line): Always use error callback.
+       (cpp_error, cpp_error_with_line, cpp_errno): Return bool.
+       * include/cpplib.h (cpp_options): Remove pedantic_errors,
+       inhibit_warnings, warn_system_headers, inhibit_errors,
+       warnings_are_errors, client_diagnostic.
+       (cpp_callbacks): Add extra arguments to error callback; make it
+       return bool.
+       (cpp_finish): Return void.
+       (cpp_destroy): Remove inaccurate comment about return value.
+       (cpp_errors, CPP_DL_EXTRACT, CPP_DL_WARNING_P): Remove.
+       (CPP_DL_NOTE): Define.
+       * include/line-map.h (linemap_print_containing_files): Remove.
+       * init.c (cpp_finish): Do not check for or return number of
+       errors.
+       * internal.h (cpp_reader): Remove errors field.
+       * line-map.c (linemap_print_containing_files): Remove.
+       * macro.c (_cpp_create_definition): Use CPP_DL_NOTE for message
+       about previous definition.  Only emit it if previous diagnostic
+       was emitted.
+
+2009-03-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile.in (po/$(PACKAGE).pot): Use $(mkinstalldirs) not
+       mkinstalldirs.
+
 2009-03-18  Jakub Jelinek  <jakub@redhat.com>
 
        * include/cpplib.h (struct cpp_dir): Reorder fields for 64-bit hosts.