OSDN Git Service

gcc/ChangeLog:
[pf3gnuchains/gcc-fork.git] / libcpp / ChangeLog
index b4fae0d..a6378bc 100644 (file)
@@ -1,4 +1,749 @@
-2006-02-05  Paolo Bonzini  <bonzini@gnu.org>
+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.
+       * lex.c (lex_identifier): Use CPP_HASHNODE.
+       * include/line-map.h (LINEMAP_POSITION_FOR_COLUMN): Wrap in
+       do-while.
+       * identifiers.c (alloc_node): Change return type.
+       (_cpp_init_hashtable): Don't cast 'alloc_node'.
+       (proxy_assertion_broken): New declaration.
+       (cpp_forall_identifiers): Move comment.
+       * line-map.c (linemap_add): Comment fix.
+       (linemap_line_start): Indentation fix.
+
+2008-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/34692
+       * macro.c (collect_args): Add pragma_buff argument.  Push
+       CPP_PRAGMA ... CPP_PRAGMA_EOL tokens to *pragma_buff, rather
+       than into arguments.  Reset prevent_expansion and parsing_args
+       state at CPP_PRAGMA_EOL/CPP_EOF.
+       (funlike_invocation_p): Add pragma_buff argument, pass it through
+       to collect_args.
+       (enter_macro_context): Add result argument.  Adjust
+       funlike_invocation_p caller.  Emit all deferred pragma tokens
+       gathered during collect_args before the expansion, add a padding
+       token.  Return 2 instead of 1 if any pragma tokens were prepended.
+       (cpp_get_token): If enter_macro_context returns 2, don't return
+       a padding token, instead cycle to grab CPP_PRAGMA token.
+       * directives.c (_cpp_handle_directive): If was_parsing_args
+       in deferred pragma, leave parsing_args and prevent_expansion as is.
+
+2008-01-22  Tom Tromey  <tromey@redhat.com>
+
+       PR c++/34859
+       * macro.c (_cpp_create_definition): Handle __STDC_LIMIT_MACROS and
+       __STDC_CONSTANT_MACROS.
+
+2008-01-07  Fred Fish  <fnf@specifix.com>
+
+       PR preprocessor/30363
+       * traditional.c (replace_args_and_push): Add local variable
+       cxtquote, calculate the replacement text size assuming a 
+       worst case of every input character quoted with backslash,
+       and properly handle output quoting of quote characters in
+       actual arguments used in function-like macros.
+
+2008-01-03  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/34602
+       * directives.c (do_line): Don't try to spell EOF token.
+       (do_linemarker): Add comment.
+
+2007-12-11  DJ Delorie  <dj@redhat.com>
+
+       * charset.c (convert_using_iconv): Close out any shift states,
+       returning to the initial state.
+
+2007-12-06  Tom Tromey  <tromey@redhat.com>
+
+       PR c/29172
+       * internal.h (struct cpp_reader) <file_hash_entries>: Changed
+       type.
+       <file_hash_entries_allocated, file_hash_entries_used>: Removed.
+       * files.c (FILE_HASH_POOL_SIZE): New macro.
+       (struct file_hash_entry_pool): New.
+       (destroy_all_cpp_files): New function.
+       (allocate_file_hash_entries): Allocate a file_hash_entry_pool.
+       (new_file_hash_entry): Update.
+       (free_file_hash_entries): New function.
+       (_cpp_cleanup_files): Call free_file_hash_entries and
+       destroy_all_cpp_files.
+       (cpp_clear_file_cache): New function.
+       * include/cpplib.h (cpp_clear_file_cache): Declare.
+
+2007-12-03  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/34288
+       * configure.ac, config.in: Rebuilt.
+       * configure.ac: Check for ssize_t.
+
+2007-11-30  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/32868
+       * macro.c (_cpp_create_definition): Special case
+       __STDC_FORMAT_MACROS.
+
+2007-11-16  Michael Matz  <matz@suse.de>
+
+       * files.c (search_path_head): Fix check for absolute paths.
+
+2007-11-11  Tom Tromey  <tromey@redhat.com>
+
+       PR c++/17557
+       * include/cpplib.h (cpp_included_before): Declare.
+       * files.c (struct file_hash_entry) <location>: New field.
+       (_cpp_find_file): Initialize new field.
+       (make_cpp_dir): Likewise.
+       (cpp_included_before): New function.
+
+2007-11-01  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/30805
+       * macro.c (paste_tokens): Handle padding token.
+       (paste_tokens): Don't abort unless padding has PASTE_LEFT flag.
+
+2007-10-31  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/30786
+       * macro.c (builtin_macro): Return result of _cpp_do__Pragma.
+       * directives.c (_cpp_do__Pragma): Return error status.
+       * internal.h (_cpp_do__Pragma): Update.
+       * directives.c (get__Pragma_string): Back up if EOF seen.
+
+2007-09-06  Tom Tromey  <tromey@redhat.com>
+
+       * internal.h (struct cpp_reader) <invocation_location>: New
+       field.
+       (struct cpp_reader) <set_invocation_location>: Likewise.
+       * init.c (cpp_set_line_map): New function.
+       * line-map.c (linemap_add): Use linemap's allocator.
+       * include/line-map.h (GTY): Define.
+       (line_map_realloc): New typedef.
+       (struct line_map): Mark with GTY.
+       (struct line_maps): Likewise.
+       (struct line_maps) <maps>: Likewise.
+       (struct line_maps) <reallocator>: New field.
+       * include/symtab.h (GTY): Conditionally define.
+       * include/cpplib.h (cpp_set_line_map): Declare.
+       (cpp_get_token_with_location): Declare.
+       * macro.c (cpp_get_token): Set invocation_location on the reader.
+       (cpp_get_token_with_location): New function.
+
+2007-08-30  Chao-ying Fu  <fu@mips.com>
+
+       * expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur,
+       ulr, ullr, hk, k, lk, llk, uhk, uk, ulk, ullk.
+       (cpp_classify_number): Support decimal fixed-point constants without
+       exponents.
+       Warn about fixed-point constants when -pedantic.
+       * include/cpplib.h (CPP_N_SMALL, CPP_N_MEDIUM, CPP_N_LARGE): Change
+       comments to support fixed-point values.
+       (CPP_N_FRACT, CPP_N_ACCUM): Define.
+
+2007-08-18  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/32974
+       * directives.c (parse_include): Don't check for EOL when
+       processing #pragma dependency.
+
+2007-07-30  Ollie Wild  <aaw@google.com>
+
+       * directives-only.c: New file.
+       * internal.h (struct _cpp_dir_only_callbacks): New.
+       (_cpp_preprocess_dir_only): New function.
+       * directives.c (_cpp_handle_directive): Check directives_only before
+       disabling execution of indented directives.
+       * files.c (_cpp_stack_file): Add directives_only check.
+       * include/cpplib.h (struct cpp_options): Add directives_only.
+       (cpp_init_special_builtins): New function.
+       * init.c (cpp_init_special_builtins): New function.
+       (cpp_init_builtins): Move builtin_array initialization to
+       cpp_init_special_builtins.
+       (post_options): Check directives_only before setting
+       pfile->state.prevent_expansion = 1.
+       * macro.c (_cpp_builtin_macro_text): Print an error if __COUNTER__
+       is expanded inside a directive while -fdirectives-only is enabled.
+       * Makefile.in (libcpp_a_OBJS): Add directives-only.o.
+       (libcpp_a_SOURCES): Add directives-only.c.
+
+2007-07-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       * traditional.c (_cpp_scan_out_logical_line): Initialize
+       fmacro.args, fmacro.node, fmacro.offset, fmacro.line and
+       fmacro.args to prevent 'may be used uninitialized' warning.
+
+2007-07-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       * include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q):
+       Add new constants.
+       * expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q'
+       suffixes.  Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q
+       for 'q' or 'Q' suffixes.
+
+2007-06-17  Danny Smith  <dannysmith@users.sourceforge.net
+
+       * files.c (open_file): Correct typo.
+
+2007-06-16  Vladimir Prus  <vladimir@codesourcery.com>
+
+       * files.c (open_file): Prevent the call
+       for stat from overwriting errno.
+
+2007-06-09  Vladimir Prus  <vladimir@codesourcery.com>
+
+       * files.c (open_file): Account for the
+        fact that on windows, opening a directory gives
+        EACCES.
+
+2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de>
+
+       PR preprocessor/23479
+       * expr.c (cpp_classify_number): Implement 0b-prefixed binary
+       integer constants.
+       (append_digit): Likewise.
+       * include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed
+       binary integer constants.
+
+2007-05-31  Dave Korn  <dave.korn@artimi.com>
+
+       PR preprocessor/14331
+       * lex.c (_cpp_get_fresh_line):  Don't warn if no newline at EOF.
+
+2007-05-24  Ollie Wild  <aaw@google.com>
+
+       * macro.c (_cpp_builtin_macro_text): Handle BT_COUNTER.
+       * pch.c (cpp_write_pch_deps): Save __COUNTER__ state.
+       (cpp_write_pch_state): Save __COUNTER__ state.
+       (cpp_valid_state): Check valid __COUNTER__ state.
+       (cpp_read_state): Read new __COUNTER__ state.
+       * include/cpplib.h (enum builtin_type): Add BT_COUNTER enumerator.
+       * init.c (builtin_array): Add __COUNTER__/BT_COUNTER.
+       * internal.h (struct cpp_reader): Add counter member.
+
+2007-05-23  Simon Martin  <simartin@users.sourceforge.net>
+
+       PR preprocessor/20077
+       * macro.c (create_iso_definition): Fixed the method to determine
+       whether the token-pasting operator appears at the beginning or the end
+       of a macro.
+
+2007-05-21  Ian Lance Taylor  <iant@google.com>
+
+       * internal.h (struct cpp_reader): Add new fields:
+       nonexistent_file_hash and nonexistent_file_ob.
+       * files.c: Include "obstack.h".
+       (find_file_in_dir): Before trying to open the file, look up the
+       path name in the hash table of nonexistent files.  After failing
+       to open the file, add the path name to the hash table.
+       (_cpp_find_file): Cache the results of looking up the file name
+       starting with the quote and bracket chain heads, if we can.
+       (nonexistent_file_hash_eq): New static function.
+       (_cpp_init_files): Initialize pfile->nonexistent_file_hash and
+       pfile->nonexistent_file_ob.
+       (_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
+       pfile->nonexistent_file_ob.
+
+2007-05-14  Janis Johnson  <janis187@us.ibm.com>
+
+        * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.
+
+       PR c/31924
+       * expr.c (interpret_float_suffix): Check for invalid suffix.
+
+2007-05-02  Eric Christopher  <echristo@apple.com>
+
+       * expr.c (num_div_op): Don't overflow if the result is
+       zero.
+
+2007-05-02  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/28709
+       * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs.
+
+2007-03-30  Michael Meissner  <michael.meissner@amd.com>
+
+       * directives.c (lex_macro_node_from_str): Fix alloca call to be
+       type correct.
+
+2007-03-30  Richard Henderson  <rth@redhat.com>
+
+       * directives.c (lex_macro_node_from_str): New.
+       (cpp_push_definition, cpp_pop_definition): New.
+       * include/cpplib.h (cpp_push_definition, cpp_pop_definition): Declare.
+
+2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * Makefile.in: Add dummy install-pdf target.
+
+2007-01-30  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/30468
+       * mkdeps.c (apply_vpath): Strip successive '/'s if we stripped
+       './'.
+
+2007-01-30  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/29966
+       * macro.c (lex_expansion_token): Save and restore cpp_reader's
+       cur_token.
+       (_cpp_create_definition): Don't restore cur_token here.
+       * lex.c (_cpp_lex_token): Added assertion.
+
+2007-01-27  Tom Tromey  <tromey@redhat.com>
+
+       * configure: Rebuilt.
+
+2007-01-12  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/28227
+       * directives.c (lex_macro_node): Added 'is_def_or_undef'
+       argument.
+       (do_define): Update.
+       (do_undef): Update.
+       (do_ifdef): Update.
+       (do_ifndef): Update.
+
+2007-01-11  Paolo Bonzini  <bonzini@gnu.org>
+
+       * configure: Regenerate.
+
+2007-01-11  Paolo Bonzini  <bonzini@gnu.org>
+
+       * configure: Regenerate.
+
+2007-01-04  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/28165
+       * internal.h (cpp_in_primary_file): New function.
+       * directives.c (do_include_next): Use cpp_in_primary_file.
+       (do_pragma_once): Likewise.
+       (do_pragma_system_header): Likewise.
+
+2006-12-29  Ian Lance Taylor  <iant@google.com>
+
+       * lex.c (_cpp_clean_line): Add uses of __builtin_expect.  Don't
+       look backward at the end of the line unless we saw a backslash.
+
+2006-12-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/29612
+       * directives.c (do_linemarker): Set pfile->buffer->sysp always, not
+       only when new_sysp is non-zero.
+
+2006-12-28  Tom Tromey  <tromey@redhat.com>
+
+       PR preprocessor/30001
+       * charset.c (_cpp_convert_input): Check that to.len is greater
+       than zero.
+
+2006-11-20  Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
+
+       * configure.ac (need_64bit_hwint): Need 64bit hwint for SPU.
+       * configure: Rebuilt.
+
+2006-11-01     Douglas Gregor <doug.gregor@gmail.com>
+
+       * include/cpplib.h (enum c_lang): Add CLK_GNUCXX0X and CLK_CXX0X
+       for experimental C++0x mode.
+       * init.c (lang_defaults): Add defaults for C++0x modes. C++0x has
+       adopted the preprocessor changes introduced in C99.
+
+2006-10-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux*
+       depending on --enable-targets=all.
+       * configure: Regenerate.
+
+2006-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/28709
+       * macro.c (paste_tokens): Do error reporting here, use BUF with the
+       spelled LHS token as opposed to spelling it again.
+       (paste_all_tokens): Don't report errors here, just break on failure.
+
+2006-10-10  Brooks Moses  <bmoses@stanford.edu>
+
+       * Makefile.in: Added empty "pdf" target.
+
+2006-09-22  Geoffrey Keating  <geoffk@apple.com>
+
+       * configure.ac: Make need_64_bit_hwint case for x86-darwin
+       match exactly the glob in gcc/config.gcc.
+       * configure: Regenerate.
+
+2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/28768
+       PR preprocessor/14634
+       * lex.c (lex_string): Pedwarn for unterminated literals.
+
+2006-09-08  Eric Christopher  <echristo@apple.com>
+
+       * configure.ac: Add 64-bit HWI support for i?86-darwin.
+
+2006-08-14  Steve Ellcey  <sje@cup.hp.com>
+
+       PR c++/28288
+       PR c++/14556
+       * include/cpplib.h: Remove <?, >?, <?=, and >?= tokens.
+       (CPP_LAST_EQ): Change.
+       (CPP_LAST_PUNCTUATOR): Change.
+       * expr.c (cpp_operator): Remove MIN and MAX.
+       (reduce): Remove CPP_MIN and CPP_MAX.
+       (num_binary_op): Ditto.
+       * lex.c (_cpp_lex_direct): Ditto.
+       (cpp_avoid_paste): Remove ? as legal symbol after > or <.
+
+2006-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/27746
+       * directives.c (do_pragma): Handle pragma with valid namespace
+       and invalid name coming from macro expansion.
+       * directives.c (destringize_and_run): Initialize next field in
+       context.
+
+       PR c/27747
+       PR c++/27748
+       * directives.c (destringize_and_run): Set NO_EXPAND on the
+       tokens.
+
+       * macro.c (_cpp_backup_tokens): Fix comment typo.
+
+2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.in (CATALOGS): Add po/ prefix.
+       * configure: Regenerated.
+
+2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * Makefile.in: Add install-html target. Add install-html to .PHONY
+
+2006-02-17  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
+
+       * macro.c (_cpp_builtin_macro_text): Handle BT_TIMESTAMP.
+       * files.c (_cpp_get_file_stat): New function.
+       * include/cpplib.h (builtin_type): Add BT_TIMESTAMP.
+       * init.c (builtin_array): Add support for __TIMESTAMP__/BT_TIMESTAMP.
+       * internal.h (_cpp_get_file_stat): Prototype.
+       (struct cpp_buffer): Add timestamp.
+
+2006-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/25717
+       * init.c (cpp_init_builtins): If __STDC__ will not change value
+       between system headers and other sources, define it as a normal
+       macro rather than a builtin.
+       * macro.c (_cpp_builtin_macro_text) <case BT_STDC>: Only check
+       cpp_in_system_header condition.
+
+2006-01-05  Paolo Bonzini  <bonzini@gnu.org>
 
        * Makefile.in: Use -MMD instead of -MD.
 
 
 2005-11-09  Per Bothner  <per@bothner.com>
            Uros Bizjak  <uros@kss-loka.si>
-       
+
        PR c/24101
        * init.c (read_original_filename): Temporarily set
        state.in_directive before calling _cpp_lex_direct for
        Use in print_dep assignment.
        * init.c (cpp_read_main_file): Pass additional arg to _cpp_find_file.
        * internal.h (_cpp_find_file): Add new parm to declaration.
-       
+
 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
 
        * configure.ac: Require 64-bit int for arm*-*-*eabi*.