X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=libcpp%2FChangeLog;h=bfb1e1941602affb0840b3205ebd010849c23a96;hp=d35186ccff0d07b3f08a75412799bc233e8f1cee;hb=ff295f152d0e953d77fda7574dfcaf17f486b2b7;hpb=0074cd57671ee45db5fdf292561bcf04c57ed8bd diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index d35186ccff0..bfb1e194160 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,777 @@ +2013-04-11 Release Manager + + * GCC 4.7.3 released. + +2013-04-03 Sebastian Huber + + PR target/56771 + * configure.ac: Require 64-bit int for arm*-*-rtems[.0-9]*. + * configure: Regenerate. + +2012-09-20 Release Manager + + * GCC 4.7.2 released. + +2012-06-14 Release Manager + + * GCC 4.7.1 released. + +2012-03-22 Release Manager + + * GCC 4.7.0 released. + +2012-02-14 Walter Lee + + * configure.ac: Require 64-bit hwint for tilegx and tilepro. + * configure: Regenerate. + +2012-01-09 Richard Guenther + + * macro.c (_cpp_builtin_macro_text): Remove unused variable map. + +2012-01-09 Gary Funck + + PR preprocessor/33919 + * files.c (_cpp_get_file_name): New. Implement file name + access function. + * internal.h (_cpp_get_file_name): New prototype. + * macro.c (_cpp_builtin_macro_text): Call _cpp_get_file_name() + to use pfile->main_file in lieu of traversing INCLUDED_FROM chain. + +2012-01-03 Olivier Hainque + + * system.h: Prior to #define, #undef fopen and freopen unconditionally. + +2011-12-20 Joseph Myers + + * include/cpplib.h (CLK_GNUC1X): Change to CLK_GNUC11. + (CLK_STDC1X): Change to CLK_STDC11. + * init.c (lang_defaults): Update comments. + (cpp_init_builtins): Update language tests. Use 201112L for C11 + __STDC_VERSION__. + +2011-12-20 Andreas Schwab + + * configure: Regenerate. + +2011-12-19 Andreas Schwab + + * configure: Regenerate. + +2011-12-07 Jakub Jelinek + + 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 + + * 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 + + * 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 + + 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 + + * internal.h (uxstrdup, ustrchr): Return const unsigned char *. + +2011-11-02 Jason Merrill + + PR c++/50810 + * configure.ac: Add -Wno-narrowing to warning options. + +2011-10-31 Jason Merrill + + 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 + + * line-map.c (linemap_macro_map_lookup): Fix logic. + +2011-10-24 Dodji Seketeli + + * 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 + + 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 + + PR bootstrap/50801 + * lex.c (_cpp_remaining_tokens_num_in_context): Fix computation of + number of tokens. + +2011-10-18 Dodji Seketeli + + 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 + + * 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 + Dodji Seketeli + + * 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 + Dodji Seketeli + + * 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 + Dodji Seketeli + + * include/cpplib.h (struct cpp_options): New struct member. + * include/line-map.h (linemap_dump_location): Declare ... + * line-map.c (linemap_dump_location): ... new function. + +2011-10-15 Tom Tromey + Dodji Seketeli + + * include/cpplib.h (struct cpp_options): + New option. + * internal.h (struct macro_context): New struct. + (enum context_tokens_kind): New enum. + (struct cpp_context): New member of type enum + context_tokens_kind. + (struct cpp_context): Remove this. Replace it with an enum + of macro and macro_context. + (struct cpp_context): 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): 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 + Dodji Seketeli + + * include/line-map.h (enum lc_reason): 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): 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 + + * 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 + + * 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 + + PR libstdc++/1773 + * init.c (cpp_init_builtins): Define __cplusplus 19971L. + +2011-08-18 Joseph Myers + + * include/cpplib.h (struct cpp_options): Fix typo. + +2011-08-18 Joseph Myers + + * 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 + + * include/line-map.h (LINEMAP_POSITION_FOR_COLUMN): Remove. + Update all users to use linemap_position_for_column instead. + +2011-07-28 Gabriel Charette + + * include/line-map.h (struct line_maps): + Remove unused field last_listed. Update all users. + +2011-07-28 H.J. Lu + + * configure.ac: Set need_64bit_hwint to yes for x86 targets. + * configure: Regenerated. + +2011-07-25 Rainer Orth + + * system.h [__cplusplus]: Wrap C function declarations in extern "C". + +2011-07-22 Rainer Orth + Ralf Wildenhues + + 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 + + * directives.c (struct if_stack): Use source_location as type + here. + * include/cpplib.h (struct cpp_callbacks): Properly use + source_location as parameter type, rather than unsigned int. + +2011-07-07 Rainer Orth + + 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 + + PR c++/45399 + * lex.c (lex_raw_string): Don't check for embedded NUL. + +2011-06-06 Dodji Seketeli + + 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 + + * files.c (read_file_guts): Add test on non-zero value of S_ISREG. + +2011-05-22 Uros Bizjak + + 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 + + * system.h (ENUM_BITFIELD): Remove. + +2011-04-24 Jakub Jelinek + + 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 + + * 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 + + * 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 + + 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 + + PR bootstrap/45381 + * lex.c [ALTIVEC] (search_line_fast): Require gcc version 4.5. + +2011-11-04 Eric Botcazou + Jakub Jelinek + + 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 + + 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 + + PR preprocessor/17349 + * lex.c (save_comment): Handle in argument passing c++ + comments special. + +2010-11-02 Ian Lance Taylor + + * configure.ac: Use AC_SYS_LARGEFILE. + * configure: Rebuild. + * config.in: Rebuild. + +2010-10-19 Basile Starynkevitch + + * line-map.h (source_location): Remove obsolete comment + mentioning location_s. + +2010-09-29 Kai Tietz + + 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 + + * 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 + + * init.c: Fix type name in comment. + +2010-08-31 Jakub Jelinek + + 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 + + * system.h [HAVE_INTTYPES_H]: Include inttypes.h. + +2010-08-24 Richard Henderson + + 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 + + * lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer + etc. on Solaris 2/x86. + +2010-08-21 Richard Henderson + Andi Kleen + David S. Miller + + * 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 + + * 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 + + * 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 + + 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 + + * include/symtab.h (ht_identifier_ptr): New. + +2010-06-03 Joern Rennecke + Ralf Wildenhues + + PR bootstrap/42798 + * configure.ac: Check for declaration of 'basename(char *)'. + * configure: Regenerate. + * config.in: Regenerate. + +2010-04-25 Joseph Myers + + * 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 + + PR cpp/43195 + * files.c (report_missing_guard): Test for #pragma once. + +2010-04-07 Simon Baldwin + + * 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 + + PR preprocessor/43642 + * lex.c (lex_raw_string): Change type of TYPE variable to + unsigned char. + +2010-04-02 Ralf Wildenhues + + * aclocal.m4: Regenerate. + +2010-03-29 Jason Merrill + + 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 + + * init.c (read_original_filename): Don't call read_original_directory + if _cpp_handle_directive returns 0. + 2010-01-01 Joseph Myers PR preprocessor/41947