OSDN Git Service

PR bootstrap/50237
[pf3gnuchains/gcc-fork.git] / libcpp / ChangeLog
index eeab569..890075d 100644 (file)
@@ -1,3 +1,712 @@
+2011-12-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/50237
+       * internal.h (_cpp_init_lexer): New prototype.
+       * init.c (init_library): Call it.
+       * lex.c (init_vectorized_lexer): Remove constructor attribute,
+       add inline keyword.
+       (HAVE_init_vectorized_lexer): Define.
+       (_cpp_init_lexer): New function.
+
+2011-12-03  Dodji Seketeli  <dodji@redhat.com>
+
+       * macro.c (tokens_buff_remove_last_token)
+       (tokens_buff_put_token_to): Add an 'inline' function specifier to
+       the prototype.
+
+2011-11-22   Diego Novillo  <dnovillo@google.com>
+
+       * include/line-map.h (linemap_dump): Declare.
+       (line_table_dump): Declare.
+       * line-map.c (linemap_dump): New.
+       (line_table_dump): New.
+
+2011-11-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       PR c++/50958
+       * expr.c (cpp_userdef_char_remove_type): Fix typo.
+
+2011-11-03  Michael Matz  <matz@suse.de>
+
+       PR bootstrap/50857
+       * configure.ac: Check for -fno-exceptions -fno-rtti.
+       * configure: Regenerate.
+       * Makefile.in (NOEXCEPTION_FLAGS): New flag.
+       (ALL_CXXFLAGS): Use it.
+
+2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * internal.h (uxstrdup, ustrchr): Return const unsigned char *.
+
+2011-11-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/50810
+       * configure.ac: Add -Wno-narrowing to warning options.
+
+2011-10-31  Jason Merrill  <jason@redhat.com>
+
+       PR libstdc++/1773
+       * init.c (cpp_init_builtins): Set __cplusplus for C++11.
+
+       PR c++/50920
+       * include/cpplib.h (enum c_lang): Rename CLK_CXX0X to CLK_CXX11,
+       CLK_GNUCXX0X to CLK_GNUCXX11.
+
+2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       Implement C++11 user-defined literals.
+       * expr.c: (cpp_interpret_float_suffix, cpp_interpret_int_suffix,
+       cpp_userdef_string_remove_type, cpp_userdef_string_add_type,
+       cpp_userdef_char_remove_type, cpp_userdef_char_add_type,
+       cpp_userdef_string_p, cpp_userdef_char_p, cpp_get_userdef_suffix): New.
+       (cpp_classify_number): Classify unrecognized tokens as user-defined
+       literals.
+       * include/cpplib.h: Add new tokens for user-defined literals.
+       * init.c: Add new preprocessor flag (cxx11).
+       * lex.c: (lex_string, lex_raw_string): Handle user-defined literals
+       including concatenation and promotion with suffixes.
+
+2011-10-24  Dodji Seketeli  <dodji@redhat.com>
+
+       * line-map.c (linemap_macro_map_lookup): Fix logic.
+
+2011-10-24  Dodji Seketeli  <dodji@redhat.com>
+
+       * include/line-map.h (linemap_expand_location): Take a line table
+       parameter.  Update comment.
+       (linemap_resolve_location): Update comment.
+       (linemap_expand_location_full): Remove.
+       * line-map.c (linemap_resolve_location):  Handle reserved
+       locations; return a NULL map in those cases.
+       (linemap_expand_location): If location is reserved, return a
+       zeroed expanded location.  Update comment.  Take a line table to
+       assert that the function takes non-virtual locations only.
+       (linemap_expand_location_full): remove.
+       (linemap_dump_location): Handle the fact that
+       linemap_resolve_location can return NULL line maps when the
+       location resolves to a reserved location.
+
+       * line-map.c (linemap_macro_map_lookup): Fix logic.
+
+2011-10-22  Dodji Seketeli  <dodji@redhat.com>
+
+       PR bootstrap/50778
+       * include/internal.h (_cpp_remaining_tokens_num_in_context): Take the
+       context to act upon.
+       * lex.c (_cpp_remaining_tokens_num_in_context): Likewise.  Update
+       comment.
+       (cpp_token_from_context_at): Likewise.
+       (cpp_peek_token): Use the context to peek tokens from.
+
+2011-10-20  Dodji Seketeli  <dodji@redhat.com>
+
+       PR bootstrap/50801
+       * lex.c (_cpp_remaining_tokens_num_in_context): Fix computation of
+       number of tokens.
+
+2011-10-18  Dodji Seketeli  <dodji@redhat.com>
+
+       PR bootstrap/50760
+       * include/line-map.h (struct linemap_stats): Change the type of
+       the members from size_t to long.
+       * macro.c (macro_arg_token_iter_init): Unconditionally initialize
+       iter->location_ptr.
+
+2011-10-17  Dodji Seketeli  <dodji@redhat.com>
+
+       * line-map.c (linemap_macro_map_loc_to_exp_point): Avoid setting a
+       variable without using it if ENABLE_CHECKING is not defined.  Mark
+       the LOCATION parameter as being unused.
+
+2011-10-15  Tom Tromey  <tromey@redhat.com>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * include/line-map.h (struct line_maps::alloced_size_for_request):
+       New member.
+       * line-map.c (new_linemap): Use set->alloced_size_for_request to
+       get the actual allocated size of line maps.
+
+2011-10-15  Tom Tromey  <tromey@redhat.com>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * line-map.h (struct linemap_stats): Declare new struct.
+       (linemap_get_statistics): Declare ...
+       * line-map.c (linemap_get_statistics):  ... new function.
+       * macro.c (num_expanded_macros_counter, num_macro_tokens_counter):
+       Declare new counters.
+       (enter_macro_context, replace_args): Update
+       num_macro_tokens_counter.
+       (cpp_get_token_1): Update num_expanded_macros_counter.
+
+2011-10-15  Tom Tromey  <tromey@redhat.com>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * include/cpplib.h (struct cpp_options)<debug>: New struct member.
+       * include/line-map.h (linemap_dump_location): Declare ...
+       * line-map.c (linemap_dump_location): ... new function.
+
+2011-10-15  Tom Tromey  <tromey@redhat.com>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * include/cpplib.h (struct cpp_options)<track_macro_expansion>:
+       New option.
+       * internal.h (struct macro_context): New struct.
+       (enum context_tokens_kind): New enum.
+       (struct cpp_context)<tokens_kind>: New member of type enum
+       context_tokens_kind.
+       (struct cpp_context)<macro>: Remove this.  Replace it with an enum
+       of macro and  macro_context.
+       (struct cpp_context)<direct_p>: Remove.
+       (_cpp_remaining_tokens_num_in_context): Declare new function.
+       * directives.c (destringize_and_run): Adjust.
+       * lex.c (_cpp_remaining_tokens_num_in_context)
+       (_cpp_token_from_context_at): Define new functions
+       (cpp_peek_token): Use them.
+       * init.c (cpp_create_reader): Initialize the base context to zero.
+       (_cpp_token_from_context_at): Define new static function.
+       (cpp_peek_token): Use new _cpp_remaining_tokens_num_in_context and
+       _cpp_token_from_context_at.
+       * macro.c (struct macro_arg)<virt_locs, expanded_virt_locs>: New
+       members.
+       (enum macro_arg_token_kind): New enum.
+       (struct macro_arg_token_iter): New struct.
+       (maybe_adjust_loc_for_trad_cpp, push_extended_tokens_context)
+       (alloc_expanded_arg_mem, ensure_expanded_arg_room)
+       (delete_macro_args, set_arg_token, get_arg_token_location)
+       (arg_token_ptr_at, macro_arg_token_iter_init)
+       (macro_arg_token_iter_get_token)
+       (macro_arg_token_iter_get_location, macro_arg_token_iter_forward)
+       (expanded_token_index, tokens_buff_new, tokens_buff_count)
+       (tokens_buff_last_token_ptr, tokens_buff_put_token_to)
+       (tokens_buff_add_token, tokens_buff_remove_last_token)
+       (reached_end_of_context, consume_next_token_from_context): New
+       static functions.
+       (cpp_get_token_1): New static function. Split and extended from
+       cpp_get_token.  Use reached_end_of_context and
+       consume_next_token_from_context.  Unify its return point.  Move
+       the location tweaking from cpp_get_token_with_location in here.
+       (cpp_get_token): Use cpp_get_token_1
+       (stringify_arg): Use the new arg_token_at.
+       (paste_all_tokens): Support tokens coming from extended tokens
+       contexts.
+       (collect_args): Return the number of collected arguments, by
+       parameter.  Store virtual locations of tokens that constitute the
+       collected args.
+       (funlike_invocation_p): Return the number of collected arguments,
+       by parameter.
+       (enter_macro_context): Add a parameter for macro expansion point.
+       Pass it to replace_args and to the "used" cpp callback.  Get the
+       number of function-like macro arguments from funlike_invocation_p,
+       pass it to the new delete_macro_args to free the memory used by
+       macro args.  When -ftrack-macro-expansion is in effect, for macros
+       that have no arguments, create a macro map for the macro expansion
+       and use it to allocate proper virtual locations for tokens
+       resulting from the expansion.  Push an extended tokens context
+       containing the tokens resulting from macro expansion and their
+       virtual locations.
+       (replace_args): Rename the different variables named 'count' into
+       variables with more meaningful names.  Create a macro map;
+       allocate virtual locations of tokens resulting from this
+       expansion.  Use macro_arg_token_iter to iterate over tokens of a
+       given macro.  Handle the case of the argument of
+       -ftrack-macro-expansion being < 2.  Don't free macro arguments
+       memory resulting from expand_arg here, as these are freed by the
+       caller of replace_arg using delete_macro_args now.  Push extended
+       token context.
+       (next_context, push_ptoken_context, _cpp_push_token_context)
+       (_cpp_push_text_context): Properly initialize the context.
+       (expand_arg): Use the new alloc_expanded_arg_mem,
+       push_extended_tokens_context, cpp_get_token_1, and set_arg_token.
+       (_cpp_pop_context): Really free the memory held by the context.
+       Handle freeing memory used by extended tokens contexts.
+       (cpp_get_token_with_location): Use cpp_get_token_1.
+       (cpp_sys_macro_p): Adjust.
+       (_cpp_backup_tokens): Support the new kinds of token contexts.
+       * traditional.c (recursive_macro): Adjust.
+
+2011-10-15  Tom Tromey  <tromey@redhat>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * include/line-map.h (enum lc_reason)<LC_ENTER_MACRO>: New enum
+       member.
+       (MAX_SOURCE_LOCATION): New constant.
+       (struct line_map_ordinary, struct line_map_macro): New structs.
+       (struct line_map): Turn this into a union of the two above.  Add
+       comments.
+       (struct maps_info): New struct.
+       (struct line_maps)<info_ordinary, info_macro>: Two new fields.
+       These now carry the map information that was previously scattered
+       in struct line_maps.
+       (struct map_info::allocated): Fix comment.
+       (MAP_START_LOCATION, ORDINARY_MAP_FILE_NAME)
+       (ORDINARY_MAP_STARTING_LINE_NUMBER)
+       (ORDINARY_MAP_INCLUDER_FILE_INDEX)
+       (ORDINARY_MAP_IN_SYSTEM_HEADER_P)
+       (ORDINARY_MAP_NUMBER_OF_COLUMN_BITS, MACRO_MAP_MACRO)
+       (MACRO_MAP_NUM_MACRO_TOKENS MACRO_MAP_LOCATIONS)
+       (MACRO_MAP_EXPANSION_POINT_LOCATION)
+       (LOCATION_POSSIBLY_IN_MACRO_MAP_P, LINEMAPS_MAP_INFO)
+       (LINEMAPS_MAPS, LINEMAPS_ALLOCATE, LINEMAPS_USED, LINEMAPS_CACHE)
+       (LINEMAPS_LAST_MAP, LINEMAPS_LAST_ALLOCATED_MAP)
+       (LINEMAPS_ORDINARY_MAPS, LINEMAPS_ORDINARY_ALLOCATED)
+       (LINEMAPS_ORDINARY_USED, LINEMAPS_ORDINARY_CACHE)
+       (LINEMAPS_LAST_ORDINARY_MAP, LINEMAPS_LAST_ALLOCATED_ORDINARY_MAP)
+       (LINEMAPS_MACRO_MAPS, LINEMAPS_MACRO_ALLOCATED)
+       (LINEMAPS_MACRO_USED, LINEMAPS_MACRO_CACHE)
+       (LINEMAPS_LAST_MACRO_MAP, LINEMAPS_LAST_ALLOCATED_MACRO_MAP)
+       (LINEMAPS_MAP_AT, LINEMAPS_ORDINARY_MAP_AT)
+       (LINEMAPS_MACRO_MAP_AT): New accessors for ordinary and macro map
+       information.
+       (linemap_check_ordinary, linemap_assert)
+       (linemap_location_before_p): New macros.
+       (linemap_position_for_line_and_column)
+       (linemap_tracks_macro_expansion_locs_p, linemap_add_macro_token)
+       (linemap_macro_expansion_map_p)
+       (linemap_macro_map_loc_to_def_point)
+       (linemap_macro_map_loc_unwind_once)
+       (linemap_macro_map_loc_to_exp_point, linemap_step_out_once)
+       (linemap_get_source_line linemap_get_source_column)
+       (linemap_map_get_macro_name, linemap_get_file_path)
+       (linemap_location_in_system_header_p)
+       (linemap_location_from_macro_expansion_p): Declare new functions.
+       (SOURCE_LINE, SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION)
+       (LINEMAP_FILE, LINEMAP_LINE, LINEMAP_SYSP): Assert that this
+       accessors act on ordinary maps only.
+       (INCLUDED_FROM): Return NULL for main files; use the new
+       accessors.
+       (LINEMAP_POSITION_FOR_COLUMN): Use the new accessors.
+       (struct expanded_location): Move here from gcc/input.h
+       (linemap_resolve_location, linemap_expand_location)
+       (linemap_expand_location_full): Declare new functions.
+       * line-map.c: Include cpplib.h, internal.h
+       (linemap_enter_macro, linemap_add_macro_token)
+       (linemap_get_expansion_line, linemap_get_expansion_filename): New
+       functions that are private to libcpp.
+       (linemap_assert): New macro.
+       (linemap_macro_loc_to_exp_point, linemap_macro_loc_to_exp_point)
+       (linemap_macro_loc_unwind, linemap_macro_map_loc_to_def_point)
+       (linemap_macro_map_loc_unwind_toward_spelling)
+       (linemap_macro_map_loc_to_exp_point)
+       (first_map_in_common_1, first_map_in_common): New static
+       functions.
+       (new_linemap): Define new static functions.  Extracted and
+       enhanced from ...
+       (linemap_add): ... here.  Use linemap_assert in lieu of abort
+       previously.
+       (linemap_tracks_macro_expansion_locs_p)
+       (linemap_add_macro_token, linemap_macro_expansion_map_p)
+       (linemap_check_ordinary, linemap_macro_map_loc_to_exp_point)
+       (linemap_macro_map_loc_to_def_point)
+       (linemap_macro_map_loc_unwind_once)
+       (linemap_step_out_once, linemap_map_get_index)
+       (linemap_get_source_line,linemap_get_source_column)
+       (linemap_get_file_path, linemap_map_get_macro_name)
+       (linemap_location_in_system_header_p)
+       (linemap_location_originated_from_system_header_p)
+       (linemap_location_from_macro_expansion_p)
+       (linemap_tracks_macro_expansion_locs_p)
+       (linemap_resolve_location, linemap_expand_location)
+       (linemap_expand_location_full)
+       (linemap_tracks_macro_expansion_locs_p)
+       (linemap_position_for_line_and_column, linemap_compare_locations):
+       Define new public functions.
+       (linemap_init): Initialize ordinary and macro maps information in
+       the map set.
+       (linemap_check_files_exited): Use the new accessors.
+       (linemap_free): Remove this dead code.
+       (linemap_line_start): Assert this uses an ordinary map.  Adjust to
+       use the new ordinary map accessors and data structures.  Don't
+       overflow past the lowest possible macro token's location.
+       (linemap_position_for_column): Assert the ordinary maps of the map
+       set are really ordinary.  Use ordinary map accessors.
+       (linemap_lookup): Keep the same logic but generalize to allow
+       lookup of both ordinary and macro maps.  Do not crash when called
+       with an empty line table.
+       * directives-only.c (_cpp_preprocess_dir_only): Adjust to use the
+       new API of line-map.h.
+       * directives.c (start_directive, do_line, do_linemarker)
+       (do_linemarker): Likewise.
+       * files.c (_cpp_find_file, _cpp_stack_include, open_file_failed)
+       (make_cpp_dir, cpp_make_system_header): Likewise.
+       * init.c (cpp_read_main_file): Likewise.
+       * internal.h (CPP_INCREMENT_LINE): Likewise.
+       (linemap_enter_macro, linemap_add_macro_token)
+       (linemap_get_expansion_line, linemap_get_expansion_filename): New
+       functions private to libcpp.
+       * lex.c (_cpp_process_line_notes, _cpp_skip_block_comment)
+       (skip_line_comment, skip_whitespace, lex_raw_string)
+       (_cpp_lex_direct): Likewise.
+       * macro.c (_cpp_builtin_macro_text): Likewise.
+       (_cpp_aligned_alloc): Initialize the new name member of the macro.
+       * traditional.c (copy_comment, _cpp_scan_out_logical_line):
+       Likewise.
+       * errors.c (cpp_diagnostic): Adjust to new linemap API.
+
+2011-08-28  Dodji Seketeli  <dodji@redhat.com>
+
+       * line-map.c (linemap_add): Assert that reason must not be
+       LC_RENAME when called for the first time on a "main input file".
+
+2011-08-22  Gabriel Charette  <gchare@google.com>
+
+       * init.c (cpp_create_reader): Inititalize forced_token_location_p.
+       * internal.h (struct cpp_reader): Add field forced_token_location_p.
+       * lex.c (_cpp_lex_direct): Use forced_token_location_p.
+       (cpp_force_token_locations): New.
+       (cpp_stop_forcing_token_locations): New.
+
+2011-08-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR libstdc++/1773
+       * init.c (cpp_init_builtins): Define __cplusplus 19971L.
+
+2011-08-18  Joseph Myers  <joseph@codesourcery.com>
+
+       * include/cpplib.h (struct cpp_options): Fix typo.
+
+2011-08-18  Joseph Myers  <joseph@codesourcery.com>
+
+       * include/cpplib.h (struct cpp_options): Add rliterals.
+       * init.c  (struct lang_flags, lang_defaults): Add rliterals.
+       (cpp_set_lang): Set rliterals option.
+       (cpp_init_builtins): Define __STDC_UTF_16__ and __STDC_UTF_32__.
+       * lex.c (_cpp_lex_direct): Only accept raw strings if rliterals.
+
+2011-08-15  Gabriel Charette  <gchare@google.com>
+
+       * include/line-map.h (LINEMAP_POSITION_FOR_COLUMN): Remove.
+       Update all users to use linemap_position_for_column instead.
+
+2011-07-28  Gabriel Charette  <gchare@google.com>
+
+       * include/line-map.h (struct line_maps):
+       Remove unused field last_listed. Update all users.
+
+2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure.ac: Set need_64bit_hwint to yes for x86 targets.
+       * configure: Regenerated.
+
+2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * system.h [__cplusplus]: Wrap C function declarations in extern "C".
+
+2011-07-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+           Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR bootstrap/49794
+       * configure.ac: Test AM_ICONV with CXX.
+       * configure: Regenerate.
+       * system.h (HAVE_DESIGNATED_INITIALIZERS): Never define for C++.
+
+2011-07-15  Dodji Seketeli  <dodji@redhat.com>
+
+       * directives.c (struct if_stack): Use source_location as type
+       here.
+       * include/cpplib.h (struct cpp_callbacks)<include, define, undef,
+       indent, def_pragma, used_define, used_undef>: Properly use
+       source_location as parameter type, rather than unsigned int.
+
+2011-07-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/39150
+       * configure.ac (host_wide_int): Handle x86_64-*-solaris2.1[0-9]
+       like i[34567]86-*-solaris2.1[0-9]*.
+       * configure: Regenerate.
+
+2011-06-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/45399
+       * lex.c (lex_raw_string): Don't check for embedded NUL.
+
+2011-06-06  Dodji Seketeli  <dodji@redhat.com>
+
+       PR preprocessor/48532
+       * directives.c (do_pragma): Don't forget the invocation location
+       when parsing the pragma name of a namespaced pragma directive.
+
+2011-05-29  John Tytgat  <John.Tytgat@aaug.net>
+
+       * files.c (read_file_guts): Add test on non-zero value of S_ISREG.
+
+2011-05-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/49104
+       * lex.c (init_vectorized_lexer): Do not set "minimum" when __3dNOW_A__
+       is defined.  Check bit_MMXEXT and bit_CMOV to use search_line_mmx.
+
+2011-04-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * system.h (ENUM_BITFIELD): Remove.
+
+2011-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/48740
+       * lex.c (lex_raw_string): When raw string ends with
+       ??) followed by raw prefix and ", ensure it is preprocessed
+       with ??) rather than ??].
+
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * files.c (destroy_cpp_file): Remove useless if-before-free.
+       * init.c (cpp_destroy): Likewise.
+       * macro.c (replace_args): Likewise.
+       * pch.c (cpp_valid_state): Likewise.
+
+2011-03-25  Kai Tietz  <ktietz@redhat.com>
+
+       * files.c (file_hash_eq): Use filename_cmp
+       instead of strcmp.
+       (nonexistent_file_hash_eq): Likewise.
+       (remap_filename): Likewise.
+       Handle absolute DOS-path,
+       (append_file_to_dir): Check for IS_DIR_SEPARATOR
+       instead of slash.
+       (read_name_map): Likewise.
+       * linemap.c (linemap_add): Use filename_cmp
+       instead of strcmp.
+       * mkdeps.c (apply_vpath): Use filename_ncmp
+       instead of strncmp.
+       (deps_restore): Use filename_cmp instead of
+       strcmp.
+       * init.c (read_original_directory): Use
+       IS_DIR_SEPARATOR instead of checking for slash.
+
+2011-03-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR preprocessor/48192
+       * directives.c (do_ifdef): Do not consider conditional macros as
+       being defined.
+       (do_ifndef): Ditto.
+       * expr.c (parse_defined): Ditto.
+
+2011-03-18  Richard Henderson  <rth@redhat.com>
+
+       PR bootstrap/45381
+       * lex.c [ALTIVEC] (search_line_fast): Require gcc version 4.5.
+
+2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
+            Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/39213
+       * directives.c (end_directive): Call _cpp_remove_overlay for deferred
+       pragmas as well in traditional mode.
+
+2010-11-17  Ian Lance Taylor  <iant@google.com>
+
+       PR bootstrap/45538
+       * configure.ac: Use AC_USE_SYSTEM_EXTENSIONS.  Remove switch of
+       AC_LANG based on ENABLE_BUILD_WITH_CXX.
+
+2010-11-16  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR preprocessor/17349
+       * lex.c (save_comment): Handle in argument passing c++
+       comments special.
+
+2010-11-02  Ian Lance Taylor  <iant@google.com>
+
+       * configure.ac: Use AC_SYS_LARGEFILE.
+       * configure: Rebuild.
+       * config.in: Rebuild.
+
+2010-10-19  Basile Starynkevitch  <basile@starynkevitch.net>
+
+       * line-map.h (source_location): Remove obsolete comment
+       mentioning location_s.
+
+2010-09-29  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR preprocessor/45362
+       * directives.c (cpp_pop_definition): Make static.
+       (do_pragma_push_macro): Reworked to store text
+       definition.
+       (do_pragma_pop_macro): Add free text definition.
+       (cpp_push_definition): Removed.
+       * include/cpplib.h (cpp_push_definition): Removed.
+       (cpp_pop_definition): Likewise.
+       * internal.h (def_pragma_macro): Remove member 'value'
+       and add new members 'definition', 'line',
+       'syshdr', 'sued' and 'is_undef'.
+       * pch.c (_cpp_restore_pushed_macros): Rework to work
+       on text definition and store additional macro flags.
+       (_cpp_save_pushed_macros): Likewise.
+
+2010-09-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * include/cpplib.h (cpp_options): Rename warn_deprecated,
+       warn_traditional, warn_long_long and pedantic.
+       * directives.c (directive_diagnostics, _cpp_handle_directive):
+       Update names of cpp_options members.
+       * expr.c (cpp_classify_number, eval_token): Update names of
+       cpp_options members.
+       * init.c (cpp_create_reader, post_options): Update names of
+       cpp_options members.
+       * internal.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Update names of
+       cpp_options members.
+       * macro.c (parse_params): Update names of cpp_options members.
+
+2010-09-15  Ian Lance Taylor  <iant@google.com>
+
+       * init.c: Fix type name in comment.
+
+2010-08-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/45457
+       * expr.c (parse_defined): Call pfile->cb.user_builtin_macro hook if
+       needed.
+       * directives.c (do_ifdef, do_ifndef): Likewise.
+
+2010-08-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * system.h [HAVE_INTTYPES_H]: Include inttypes.h.
+
+2010-08-24  Richard Henderson  <rth@redhat.com>
+
+       PR bootstrap/45376
+       * configure.ac (HAVE_SSE4): New check.
+       * configure, config.in: Rebuild.
+       * lex.c (search_line_sse42): Omit if !HAVE_SSE4.
+
+2010-08-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer
+       etc. on Solaris 2/x86.
+
+2010-08-21  Richard Henderson  <rth@redhat.com>
+           Andi Kleen <ak@linux.intel.com>
+           David S. Miller  <davem@davemloft.net>
+
+       * configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests.
+       (ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE.
+       (ptrdiff_t): Check via AC_CHECK_TYPE.
+       * config.in, configure: Rebuild.
+       * system.h: Include stdint.h, if available.
+       * lex.c (WORDS_BIGENDIAN): Provide default.
+       (acc_char_mask_misalign, acc_char_replicate, acc_char_cmp,
+       acc_char_index, search_line_acc_char, repl_chars, search_line_mmx,
+       search_line_sse2, search_line_sse42, init_vectorized_lexer,
+       search_line_fast): New.
+       (_cpp_clean_line): Use search_line_fast.  Restructure the fast
+       loop to make it clear when we're leaving the loop.  Stay in the
+       fast loop for non-trigraph '?'.
+
+2010-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * include/cpplib.h (struct cpp_callbacks): Add user_builtin_macro
+       callback.
+       (enum cpp_builtin_type): Add BT_FIRST_USER and BT_LAST_USER.
+       (cpp_macro_definition): Remove const qual from second argument.
+       * macro.c (enter_macro_context): Call user_builtin_macro callback for
+       NODE_BUILTIN !NODE_USED macros.
+       (warn_of_redefinition): Likewise.  Remove const qual from second
+       argument.
+       (cpp_macro_definition): Likewise.
+       * pch.c (write_macdef, save_macros): Call user_builtin_macro callback
+       for NODE_BUILTIN !NODE_USED macros.
+
+2010-06-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * include/cpplib.h (struct cpp_options): Remove show_column.
+       * init.c (cpp_create_reader, post_options): Don't set show_column.
+
+2010-06-09  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       PR bootstrap/44432
+       * configure.ac: Before using ZW_PROG_COMPILER_DEPENDENCIES for C++,
+       check that C++ compiler works.
+       * configure: Regenerate.
+
+2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * include/symtab.h (ht_identifier_ptr): New.
+
+2010-06-03  Joern Rennecke <joern.rennecke@embecosm.com>
+           Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR bootstrap/42798
+       * configure.ac: Check for declaration of 'basename(char *)'.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+2010-04-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * include/cpplib.h (enum c_lang): Add CLK_GNUC1X and CLK_STDC1X.
+       * init.c (lang_defaults): Add entries for new language variants.
+       (cpp_init_builtins): Define __STDC_VERSION__ to 201000L for C1X
+       variants.
+
+2010-04-09  Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+       PR cpp/43195
+       * files.c (report_missing_guard): Test for #pragma once.
+
+2010-04-07  Simon Baldwin  <simonb@google.com>
+
+       * directives.c (do_diagnostic): Add warning reason argument,
+       call appropriate error reporting function for code.
+       (directive_diagnostics): Call specific warning functions with
+       warning reason where appropriate.
+       (do_error, do_warning, do_pragma_dependency): Add warning reason
+       argument to do_diagnostic calls.
+       * macro.c (_cpp_warn_if_unused_macro, enter_macro_context,
+       _cpp_create_definition): Call specific warning functions with
+       warning reason where appropriate.
+       * Makefile.in: Add new diagnostic functions to gettext translations.
+       * include/cpplib.h (struct cpp_callbacks): Add warning reason code
+       to error callback.
+       (CPP_DL_WARNING, CPP_DL_WARNING_SYSHDR, CPP_DL_PEDWARN, CPP_DL_ERROR,
+       CPP_DL_ICE, CPP_DL_NOTE, CPP_DL_FATAL): Replace macros with enums.
+       (CPP_W_NONE, CPP_W_DEPRECATED, CPP_W_COMMENTS,
+       CPP_W_MISSING_INCLUDE_DIRS, CPP_W_TRIGRAPHS, CPP_W_MULTICHAR,
+       CPP_W_TRADITIONAL, CPP_W_LONG_LONG, CPP_W_ENDIF_LABELS,
+       CPP_W_NUM_SIGN_CHANGE, CPP_W_VARIADIC_MACROS,
+       CPP_W_BUILTIN_MACRO_REDEFINED, CPP_W_DOLLARS, CPP_W_UNDEF,
+       CPP_W_UNUSED_MACROS, CPP_W_CXX_OPERATOR_NAMES, CPP_W_NORMALIZE,
+       CPP_W_INVALID_PCH, CPP_W_WARNING_DIRECTIVE): New enums for cpp
+       warning reason codes.
+       (cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
+       cpp_warning_with_line, cpp_pedwarning_with_line,
+       cpp_warning_with_line_syshdr): New specific error reporting functions.
+       * pch.c (cpp_valid_state): Call specific warning functions with
+       warning reason where appropriate.
+       * errors.c (cpp_diagnostic, cpp_diagnostic_with_line): New central
+       diagnostic handlers.
+       (cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
+       cpp_warning_with_line, cpp_pedwarning_with_line,
+       cpp_warning_with_line_syshdr): New specific error reporting functions.
+       * expr.c (cpp_classify_number, eval_token, num_unary_op): Call
+       specific warning functions with warning reason where appropriate.
+       * lex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
+       warn_about_normalization, lex_identifier_intern, lex_identifier,
+       _cpp_lex_direct): Ditto.
+       * charset.c (_cpp_valid_ucn, convert_hex, convert_escape,
+       narrow_str_to_charconst): Ditto.
+
+2010-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/43642
+       * lex.c (lex_raw_string): Change type of TYPE variable to
+       unsigned char.
+
+2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * aclocal.m4: Regenerate.
+
+2010-03-29  Jason Merrill  <jason@redhat.com>
+
+       More N3077 raw string changes
+       * charset.c (cpp_interpret_string): Don't transform UCNs in raw
+       strings.
+       * lex.c (bufring_append): Split out from...
+       (lex_raw_string): ...here.  Undo trigraph and line splicing
+       transformations.  Do process line notes in multi-line literals.
+       (_cpp_process_line_notes): Ignore notes that were already handled.
+
+       Some raw string changes from N3077
+       * charset.c (cpp_interpret_string): Change inner delimiters to ().
+       * lex.c (lex_raw_string): Likewise.  Also disallow '\' in delimiter.
+
 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
 
        * init.c (read_original_filename): Don't call read_original_directory