X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=libcpp%2FChangeLog;h=58632e3f54820bc450f89418fd2c393a9989f99d;hp=b03241bff996c72bfc8178be6724c53584eec892;hb=dfecde36dddd77b80db5b9848187ad3f982960ba;hpb=3ebc7dec024ba8506b36236d5e7f109e66726aab diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index b03241bff99..58632e3f548 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,541 @@ +2008-05-21 Tom Tromey + + * 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 + + PR preprocessor/22168: + * include/cpplib.h (struct cpp_options) : 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 + + PR preprocessor/35313, PR preprocessor/36088: + * expr.c (optab) : Set precedence to 4. + (reduce) : Special case CPP_COMMA and CPP_COLON. + +2008-05-04 David S. Miller + + * configure.ac (sparc*-*-*): Always set need_64bit_hwint to yes. + * configure: Regenerate. + +2008-04-22 Daniel Franke + + * include/cpplib.h (cpp_define_formatted): New. + * directives.c (cpp_define_formatted): New. + +2008-04-21 Tom Tromey + + 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) : 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 + + * 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) : New field. + (struct cpp_reader) : Idem. + (struct cpp_reader) : 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 + + PR bootstrap/35457 + * aclocal.m4: Regenerate. + * configure: Regenerate. + +2008-04-17 Tom Tromey + + PR libcpp/34866: + * errors.c (cpp_error): Don't reference a token before the start + of the current run. + +2008-04-16 Tom Tromey + + * Makefile.in (TAGS_SOURCES): New variable. + (TAGS): New target. + +2008-04-11 Kaz Kojima + + * configure.ac: (need_64bit_hwint): Need 64bit hwint for sh-*-* + and shbe-*-*. + * configure: Rebuilt. + +2008-04-02 Joseph Myers + + * 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 + + 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 + + * Makefile.in (POSTCOMPILE): New variable. + (.c.o): Use it. + +2008-03-13 Tom Tromey + + PR libcpp/35322: + * directives.c (destringize_and_run): Set pfile->directive. + +2008-03-06 Markus Milleder + + PR preprocessor/35458 + * mkdeps.c (munge): Quote '#' with a '\'. + +2008-02-27 Ralf Wildenhues + + 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 + + * Makefile.in ($(srcdir)/config.in): Depend on configure.ac. + +2008-02-19 Tom Tromey + + * 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 + + 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 + + PR c++/34859 + * macro.c (_cpp_create_definition): Handle __STDC_LIMIT_MACROS and + __STDC_CONSTANT_MACROS. + +2008-01-07 Fred Fish + + 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 + + PR preprocessor/34602 + * directives.c (do_line): Don't try to spell EOF token. + (do_linemarker): Add comment. + +2007-12-11 DJ Delorie + + * charset.c (convert_using_iconv): Close out any shift states, + returning to the initial state. + +2007-12-06 Tom Tromey + + PR c/29172 + * internal.h (struct cpp_reader) : Changed + type. + : 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 + + PR preprocessor/34288 + * configure.ac, config.in: Rebuilt. + * configure.ac: Check for ssize_t. + +2007-11-30 Tom Tromey + + PR preprocessor/32868 + * macro.c (_cpp_create_definition): Special case + __STDC_FORMAT_MACROS. + +2007-11-16 Michael Matz + + * files.c (search_path_head): Fix check for absolute paths. + +2007-11-11 Tom Tromey + + PR c++/17557 + * include/cpplib.h (cpp_included_before): Declare. + * files.c (struct file_hash_entry) : New field. + (_cpp_find_file): Initialize new field. + (make_cpp_dir): Likewise. + (cpp_included_before): New function. + +2007-11-01 Tom Tromey + + 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 + + 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 + + * internal.h (struct cpp_reader) : New + field. + (struct cpp_reader) : 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) : Likewise. + (struct line_maps) : 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 + + * 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 + + PR preprocessor/32974 + * directives.c (parse_include): Don't check for EOL when + processing #pragma dependency. + +2007-07-30 Ollie Wild + + * 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 + + * 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 + + * 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 + + * files.c (open_file): Prevent the call + for stat from overwriting errno. + +2007-06-09 Vladimir Prus + + * files.c (open_file): Account for the + fact that on windows, opening a directory gives + EACCES. + +2007-06-05 Joerg Wunsch + + 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 + + PR preprocessor/14331 + * lex.c (_cpp_get_fresh_line): Don't warn if no newline at EOF. + +2007-05-24 Ollie Wild + + * 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 + + 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 + + * 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 + + * 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 + + * expr.c (num_div_op): Don't overflow if the result is + zero. + +2007-05-02 Tom Tromey + + PR preprocessor/28709 + * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs. + +2007-03-30 Michael Meissner + + * directives.c (lex_macro_node_from_str): Fix alloca call to be + type correct. + +2007-03-30 Richard Henderson + + * 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 + + * Makefile.in: Add dummy install-pdf target. + +2007-01-30 Tom Tromey + + PR preprocessor/30468 + * mkdeps.c (apply_vpath): Strip successive '/'s if we stripped + './'. + +2007-01-30 Tom Tromey + + 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 + + * configure: Rebuilt. + +2007-01-12 Tom Tromey + + 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 + + * configure: Regenerate. + +2007-01-11 Paolo Bonzini + + * configure: Regenerate. + +2007-01-04 Tom Tromey + + 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 + + * 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 + + 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 + + PR preprocessor/30001 + * charset.c (_cpp_convert_input): Check that to.len is greater + than zero. + +2006-11-20 Trevor Smigiel + + * configure.ac (need_64bit_hwint): Need 64bit hwint for SPU. + * configure: Rebuilt. + +2006-11-01 Douglas Gregor + + * 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 + + * configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux* + depending on --enable-targets=all. + * configure: Regenerate. + +2006-10-12 Jakub Jelinek + + 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 + + * Makefile.in: Added empty "pdf" target. + +2006-09-22 Geoffrey Keating + + * 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 + + PR c/28768 + PR preprocessor/14634 + * lex.c (lex_string): Pedwarn for unterminated literals. + 2006-09-08 Eric Christopher * configure.ac: Add 64-bit HWI support for i?86-darwin.