X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;ds=sidebyside;f=libcpp%2FChangeLog;h=bfb1e1941602affb0840b3205ebd010849c23a96;hb=21e417dc2071a1bb73d04317f7934af26c7c49f2;hp=6abcb25081c671c115e4c7bac966c5250ccbe651;hpb=14f27bc62d31edd462a7fc10cfb684a36b9e124e;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 6abcb25081c..bfb1e194160 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,472 @@ +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