+2009-11-20 Arnaud Charlet <charlet@adacore.com>
+
+ * macro.c (enter_macro_context): Call cb.used callback if defined.
+ * directives.c (do_idef, do_ifndef): Ditto.
+ * include/cpplib.h (struct cpp_callbacks): Add used callback.
+
+2009-11-11 Kai Tietz <kai.tietz@onevision.com>
+
+ * directives.c (do_pragma_push_macro): New pragma handler.
+ (do_pragma_pop_macro): Likewise.
+ (_cpp_init_internal_pragmas): Add push_macro and
+ pop_macro handler to internal pragmas.
+ (lex_macro_node_from_str): Removed.
+ (cpp_push_definition): Replace lex_macro_node_from_str
+ by _cpp_lex_identifier.
+ (cpp_pop_definition): Likewise.
+ * internal.h (_cpp_lex_identifier): New prototype.
+ (def_pragma_macro): New structure.
+ (cpp_reader): New member pushed_macros.
+ * lex.c (_cpp_lex_identifier): New function.
+ (lex_identifier_intern): New function.
+ * init.c (cpp_create_reader): Initialize pushed_macros
+ member.
+ (cpp_destroy): Free elements in pushed_macros member.
+ * pch.c (_cpp_save_pushed_macros): New function.
+ (_cpp_restore_pushed_macros): Likewise.
+ (_cpp_restore_pushed_macros): Use _cpp_save_pushed_macros.
+ (cpp_read_state): Use _cpp_restore_pushed_macros.
+
+2009-10-19 Jakub Jelinek <jakub@redhat.com>
+
+ * charset.c (cpp_init_iconv): Initialize utf8_cset_desc.
+ (_cpp_destroy_iconv): Destroy utf8_cset_desc, char16_cset_desc
+ and char32_cset_desc.
+ (converter_for_type): Handle CPP_UTF8STRING.
+ (cpp_interpret_string): Handle CPP_UTF8STRING and raw-strings.
+ * directives.c (get__Pragma_string): Handle CPP_UTF8STRING.
+ (parse_include): Reject raw strings.
+ * include/cpplib.h (CPP_UTF8STRING): New token type.
+ * internal.h (struct cpp_reader): Add utf8_cset_desc field.
+ * lex.c (lex_raw_string): New function.
+ (lex_string): Handle u8 string literals, call lex_raw_string
+ for raw string literals.
+ (_cpp_lex_direct): Call lex_string even for u8" and {,u,U,L,u8}R"
+ sequences.
+ * macro.c (stringify_arg): Handle CPP_UTF8STRING.
+
+2009-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/41543
+ * include/line-map.h (RESERVED_LOCATION_COUNT): Define.
+ * line-map.c (linemap_init): Initialize highest_location and
+ highest_line to RESERVED_LOCATION_COUNT-1 instead of 0.
+
+2009-10-09 Jason Merrill <jason@redhat.com>
+
+ * charset.c (_cpp_valid_ucn): Update C++0x restrictions.
+
+2009-10-09 Neil Vachharajani <nvachhar@google.com>
+
+ * directives.c (DIRECTIVE_TABLE): Remove DEPRECATED from ident and
+ sccs.
+
+2009-09-23 Loren J. Rittle <ljrittle@acm.org>
+
+ * configure.ac (AC_CHECK_HEADERS after AC_LANG(C++)): Add sys/stat.h.
+ * configure: Rebuilt.
+
+2009-09-22 Richard Guenther <rguenther@suse.de>
+
+ PR pch/38987
+ * files.c (pch_open_file): Disallow non-toplevel PCH inclusion.
+
+2009-09-18 Chris Demetriou <cgd@google.com>
+
+ PR preprocessor/28435:
+ * include/cpplib.h (struct cpp_options): Add new member
+ deps.need_preprocessor_output.
+ * files.c (open_file_failed): If preprocessor output is needed
+ always report an error.
+
+2009-09-13 Kai Tietz <kai.tietz@onevision.com>
+
+ * configure.ac: Set for i?86-w64-mingw*
+ need_64bit_hwint to yes.
+ * configure: Regenerated.
+
+2009-09-10 Jason Merrill <jason@redhat.com>
+
+ * directives.c (cpp_define): constify.
+
+2009-09-02 Ian Lance Taylor <iant@google.com>
+
+ * macro.c (stringify_arg): Escape CPP_WCHAR tokens.
+
+2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure.ac (AC_PREREQ): Bump to 2.64.
+
+2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2009-08-17 Tom Tromey <tromey@redhat.com>
+
+ PR preprocessor/41067:
+ * charset.c (convert_escape): Add missing ":" to error text.
+
+2009-07-27 Douglas B Rupp <rupp@gnat.com>
+
+ * include/cpplib.h (INO_T_CPP): New macro.
+ (struct cpp_dir): Use it.
+
+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.
+
+2009-02-21 Joseph Myers <joseph@codesourcery.com>
+
+ * lex.c (lex_string): Return a CPP_LESS token for missing '>' in a
+ header name.
+ (_cpp_lex_direct): Handle this.
+
+2009-02-15 Richard Guenther <rguenther@suse.de>
+
+ Revert last change.
+
+2009-02-13 Richard Guenther <rguenther@suse.de>
+
+ * configure.ac: Enable LFS.
+ * configure: Re-generate.
+ * config.in: Likewise.
+
+2009-01-05 Ben Elliston <bje@au.ibm.com>
+
+ * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
+ (.po.pox): Likewise.
+ (po/$(PACKAGE).pot): Likewise.
+
+2008-12-10 Alexandre Oliva <aoliva@redhat.com>
+
+ PR target/37033
+ * pch.c (cpp_valid_state): Improve message for poisoned symbols.
+ Allow for differences in __GCC_HAVE_DWARF2_CFI_ASM.
+
+2008-11-29 Joseph Myers <joseph@codesourcery.com>
+
+ * lex.c (cpp_token_len): Use 6 as default length.
+
+2008-10-31 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * expr.c (struct op): Add location.
+ (_cpp_parse_expr): Propagate locations throught the stack
+ of expressions.
+ (reduce): Likewise.
+ (check_promotion): Use explicit location in errors.
+
+2008-10-05 Matthew Gingell <gingell@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * include/cpplib.h (cpp_comments, cpp_comment_table): New structs.
+ (cpp_get_comments): New function.
+ * internal.h (struct cpp_reader): Add comments field.
+ * init.c (cpp_destroy): Free comments.
+ * lex.c (store_comment, cpp_get_comments): New functions.
+ (comments): New struct.
+ (save_comment): Store comments in comments struct.
+
+2008-09-18 Simon Baldwin <simonb@google.com>
+
+ * include/cpplib.h (struct cpp_options): Add new boolean flag
+ warn_builtin_macro_redefined.
+ * init.c (cpp_create_reader): Initialize warn_builtin_macro_redefined.
+ * (struct builtin_operator): Split out from previous struct builtin,
+ enhance extra const correctness.
+ * (struct builtin_macro): Split out from previous struct builtin, add
+ new always_warn_if_redefined flag, enhance const correctness.
+ * (mark_named_operators): Use struct builtin_operator.
+ * (cpp_init_special_builtins): Use struct builtin_macro, add NODE_WARN
+ to builtins selectively.
+ * macro.c (warn_of_redefinition): Return false if a builtin macro
+ is not flagged with NODE_WARN.
+
+2008-07-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/36649
+ * files.c (struct report_missing_guard_data): New type.
+ (report_missing_guard): Put paths into an array instead of printing
+ them right away. Return 1 rather than 0.
+ (report_missing_guard_cmp): New function.
+ (_cpp_report_missing_guards): Sort and print paths gathered by
+ report_missing_guard callback.
+
+2008-07-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR 28079
+ * directives.c (strtolinenum): Handle overflow.
+ (do_line): Give a warning if line number overflowed.
+ (do_linemarker): Update call to strtolinenum.
+
+2008-07-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * include/line-map.h (linenum_type): New typedef.
+ (struct line_map): Use it.
+ (SOURCE_LINE): Second arguments is a LOCATION not a LINE.
+ (SOURCE_COLUMN): Likewise.
+ * macro.c (_cpp_builtin_macro_text): Use linenum_type. Don't store
+ source_location values in a variable of type linenum_type.
+ * directives.c (struct if_stack): Use linenum_type.
+ (strtoul_for_line): Rename as strtolinenum.
+ (do_line): Use linenum_type.
+ (do_linemarker): Use linenum_type and strtolinenum.
+ (_cpp_do_file_change): Use linenum_t.
+ * line-map.c (linemap_add): Likewise.
+ (linemap_line_start): Likewise.
+ * traditional.c (struct fun_macro): 'line' is a source_location.
+ * errors.c (print_location): Use linenum_type.
+ * directives-only.c (_cpp_preprocess_dir_only): Likewise.
+ * internal.h (CPP_INCREMENT_LINE): Likewise.
+ * lex.c (_cpp_skip_block_comment): Use source_location.
+
+2008-07-14 Ben Elliston <bje@au.ibm.com>
+
+ * include/cpplib.h (NODE_CONDITIONAL): New.
+ (struct cpp_callbacks): New macro_to_expand field.
+ (struct cpp_hashnode): Adjust size of flags and type fields.
+ (cpp_peek_token): Prototype.
+ * lex.c (cpp_peek_token): New function.
+ (_cpp_temp_token): Protect pre-existing lookaheads.
+ * macro.c (cpp_get_token): Expand any conditional macros.
+ (_cpp_backup_tokens_direct): New.
+ (_cpp_backup_tokens): Call _cpp_backup_tokens_direct.
+ (warn_of_redefinition): Silently allow redefined conditional
+ macros.
+ (_cpp_create_definition): Remove the conditional flag when a user
+ defines one of the conditional macros.
+ * internal.h (_cpp_backup_tokens_direct): New prototype.
+
+2008-06-13 Andrew Haley <aph@redhat.com>
+
+ PR preprocessor/33305
+ * macro.c (replace_args): Print a warning for empty macro
+ arguments in C89 and C++.
+
+2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in ($(srcdir)/aclocal.m4): Update dependencies.
+ * configure: Regenerate.
+
+2008-06-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in (datarootdir): New variable.
+
+2008-06-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR preprocessor/36479
+ * charset.c (cpp_interpret_string_notranslate): Also set
+ narrow_cset_desc.width.
+
+2008-06-07 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (parisc*64*-*-*): Remove.
+ * configure: Regenerate.
+
+2008-05-30 Tom Tromey <tromey@redhat.com>
+
+ PR preprocessor/36320:
+ * internal.h (_cpp_parse_expr): Update.
+ * expr.c (_cpp_parse_expr): Add 'is_if' argument. Update error
+ messages.
+ * directives.c (do_if): Update.
+ (do_elif): Require expression if processing group.
+
+2008-05-30 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * include/cpplib.h (struct cpp_dir): Add new field, canonical_name.
+
+2008-05-21 Tom Tromey <tromey@redhat.com>
+
+ PR preprocessor/27777:
+ * lex.c (cpp_output_line_to_string): New function.
+ * internal.h (_cpp_begin_message): Don't declare.
+ * errors.c (_cpp_begin_message): Now static.
+ * include/cpplib.h (cpp_output_line_to_string): Declare.
+ * directives.c (do_diagnostic): Rewrote. Use
+ cpp_output_line_to_string. Don't use _cpp_begin_message.
+
+2008-05-21 Tom Tromey <tromey@redhat.com>
+
+ * include/symtab.h (HT_ALLOCED): Remove.
+ (ht_purge): Declare.
+ * symtab.c (DELETED): New define.
+ (ht_lookup): Update comment.
+ (ht_lookup_with_hash): Handle deleted entries. Remove HT_ALLOCED
+ code. Use subobject allocator for strings, if it exists.
+ (ht_expand): Handle deleted entries.
+ (ht_forall): Likewise.
+ (ht_purge): New function.
+ (ht_dump_statistics): Print deletion statistics.
+
+2008-05-13 Tom Tromey <tromey@redhat.com>
+
+ PR preprocessor/22168:
+ * include/cpplib.h (struct cpp_options) <objc>: Update
+ documentation.
+ * expr.c (eval_token): Warn for use of assertions.
+ * directives.c (directive_diagnostics): Warn about extensions.
+ (DEPRECATED): New define.
+ (DIRECTIVE_TABLE): Use it.
+
+2008-05-06 Tom Tromey <tromey@redhat.com>
+
+ PR preprocessor/35313, PR preprocessor/36088:
+ * expr.c (optab) <QUERY, COMMA>: Set precedence to 4.
+ (reduce) <case CPP_QUERY>: Special case CPP_COMMA and CPP_COLON.
+
+2008-05-04 David S. Miller <davem@davemloft.net>
+
+ * configure.ac (sparc*-*-*): Always set need_64bit_hwint to yes.
+ * configure: Regenerate.
+
+2008-04-22 Daniel Franke <franke.daniel@gmail.com>
+
+ * include/cpplib.h (cpp_define_formatted): New.
+ * directives.c (cpp_define_formatted): New.
+
+2008-04-21 Tom Tromey <tromey@redhat.com>
+
+ PR libcpp/33415:
+ * charset.c (_cpp_convert_input): Add buffer_start argument.
+ Ignore UTF-8 BOM if seen.
+ * internal.h (_cpp_convert_input): Add argument.
+ * files.c (struct _cpp_file) <buffer_start>: New field.
+ (destroy_cpp_file): Free buffer_start, not buffer.
+ (_cpp_pop_file_buffer): Likewise.
+ (read_file_guts): Update.
+
+2008-04-18 Kris Van Hees <kris.van.hees@oracle.com>
+
+ * include/cpp-id-data.h (UC): Was U, conflicts with U"..." literal.
+ * include/cpplib.h (CHAR16, CHAR32, STRING16, STRING32): New tokens.
+ (struct cpp_options): Added uliterals.
+ (cpp_interpret_string): Update prototype.
+ (cpp_interpret_string_notranslate): Idem.
+ * charset.c (init_iconv_desc): New width member in cset_converter.
+ (cpp_init_iconv): Add support for char{16,32}_cset_desc.
+ (convert_ucn): Idem.
+ (emit_numeric_escape): Idem.
+ (convert_hex): Idem.
+ (convert_oct): Idem.
+ (convert_escape): Idem.
+ (converter_for_type): New function.
+ (cpp_interpret_string): Use converter_for_type, support u and U prefix.
+ (cpp_interpret_string_notranslate): Match changed prototype.
+ (wide_str_to_charconst): Use converter_for_type.
+ (cpp_interpret_charconst): Add support for CPP_CHAR{16,32}.
+ * directives.c (linemarker_dir): Macro U changed to UC.
+ (parse_include): Idem.
+ (register_pragma_1): Idem.
+ (restore_registered_pragmas): Idem.
+ (get__Pragma_string): Support CPP_STRING{16,32}.
+ * expr.c (eval_token): Support CPP_CHAR{16,32}.
+ * init.c (struct lang_flags): Added uliterals.
+ (lang_defaults): Idem.
+ * internal.h (struct cset_converter) <width>: New field.
+ (struct cpp_reader) <char16_cset_desc>: Idem.
+ (struct cpp_reader) <char32_cset_desc>: Idem.
+ * lex.c (digraph_spellings): Macro U changed to UC.
+ (OP, TK): Idem.
+ (lex_string): Add support for u'...', U'...', u"..." and U"...".
+ (_cpp_lex_direct): Idem.
+ * macro.c (_cpp_builtin_macro_text): Macro U changed to UC.
+ (stringify_arg): Support CPP_CHAR{16,32} and CPP_STRING{16,32}.
+
+2008-04-18 Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/35457
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+
+2008-04-17 Tom Tromey <tromey@redhat.com>
+
+ PR libcpp/34866:
+ * errors.c (cpp_error): Don't reference a token before the start
+ of the current run.
+
+2008-04-16 Tom Tromey <tromey@redhat.com>
+
+ * Makefile.in (TAGS_SOURCES): New variable.
+ (TAGS): New target.
+
+2008-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * configure.ac: (need_64bit_hwint): Need 64bit hwint for sh-*-*
+ and shbe-*-*.
+ * configure: Rebuilt.
+
+2008-04-02 Joseph Myers <joseph@codesourcery.com>
+
+ * include/cpplib.h (struct cpp_callbacks): Add used_define,
+ used_undef and before_define.
+ (NODE_USED): Define.
+ * directives.c (do_define, do_undef, undefine_macros, do_ifdef,
+ do_ifndef, cpp_pop_definition): Handle new flag and use new
+ callbacks.
+ * expr.c (parse_defined): Handle new flag and use new callbacks.
+ * macro.c (enter_macro_context, _cpp_free_definition): Handle new
+ flag and use new callbacks.
+
+2008-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR pch/13675
+ * files.c (struct _cpp_file): Remove pch field.
+ (pch_open_file): Don't set file->pch, just file->pchname.
+ (should_stack_file): After pfile->cb.read_pch call
+ free pchname and clear pchname, don't close file->fd.
+ Test file->pchname instead of file->pch. Don't close fd after cb.
+ (_cpp_stack_include): Test file->pchname instead of file->pch.
+
+2008-03-28 Tom Tromey <tromey@redhat.com>
+
+ * Makefile.in (POSTCOMPILE): New variable.
+ (.c.o): Use it.
+
+2008-03-13 Tom Tromey <tromey@redhat.com>
+
+ PR libcpp/35322:
+ * directives.c (destringize_and_run): Set pfile->directive.
+
+2008-03-06 Markus Milleder <markus.milleder@generali.at>
+
+ PR preprocessor/35458
+ * mkdeps.c (munge): Quote '#' with a '\'.
+
+2008-02-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR preprocessor/35379
+ * mkdeps.c (deps_write): Ensure the first target always appears
+ in the first column, without leading backslash newline. Avoid
+ some more extra whitespace.
+
+2008-02-25 Thiemo Seufer <ths@mips.com>
+
+ * Makefile.in ($(srcdir)/config.in): Depend on configure.ac.
+
2008-02-19 Tom Tromey <tromey@redhat.com>
* traditional.c (lex_identifier): Use CPP_HASHNODE.