diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /libcpp/ChangeLog | |
download | cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2 cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'libcpp/ChangeLog')
-rw-r--r-- | libcpp/ChangeLog | 2324 |
1 files changed, 2324 insertions, 0 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog new file mode 100644 index 000000000..39c29c7d0 --- /dev/null +++ b/libcpp/ChangeLog @@ -0,0 +1,2324 @@ +2013-04-12 Release Manager + + * GCC 4.6.4 released. + +2013-04-03 Sebastian Huber <sebastian.huber@embedded-brains.de> + + PR target/56771 + * configure.ac: Require 64-bit int for arm*-*-rtems[.0-9]*. + * configure: Regenerate. + +2012-03-01 Release Manager + + * GCC 4.6.3 released. + +2011-10-26 Release Manager + + * GCC 4.6.2 released. + +2011-06-27 Release Manager + + * GCC 4.6.1 released. + +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-28 Michael Meissner <meissner@linux.vnet.ibm.com> + + Backport from mainline + 2011-03-18 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-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-03-25 Release Manager + + * GCC 4.6.0 released. + +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 + if _cpp_handle_directive returns 0. + +2010-01-01 Joseph Myers <joseph@codesourcery.com> + + PR preprocessor/41947 + * expr.c (cpp_classify_number): Give error for hexadecimal + floating-point constant with no digits before or after point. + +2009-11-20 Arnaud Charlet <charlet@adacore.com> + + * macro.c (enter_macro_context): Call cb.used callback if defined. + * directives.c (do_idef, do_ifndef): Ditto. + * include/cpplib.h (struct cpp_callbacks): Add used callback. + +2009-11-11 Kai Tietz <kai.tietz@onevision.com> + + * directives.c (do_pragma_push_macro): New pragma handler. + (do_pragma_pop_macro): Likewise. + (_cpp_init_internal_pragmas): Add push_macro and + pop_macro handler to internal pragmas. + (lex_macro_node_from_str): Removed. + (cpp_push_definition): Replace lex_macro_node_from_str + by _cpp_lex_identifier. + (cpp_pop_definition): Likewise. + * internal.h (_cpp_lex_identifier): New prototype. + (def_pragma_macro): New structure. + (cpp_reader): New member pushed_macros. + * lex.c (_cpp_lex_identifier): New function. + (lex_identifier_intern): New function. + * init.c (cpp_create_reader): Initialize pushed_macros + member. + (cpp_destroy): Free elements in pushed_macros member. + * pch.c (_cpp_save_pushed_macros): New function. + (_cpp_restore_pushed_macros): Likewise. + (_cpp_restore_pushed_macros): Use _cpp_save_pushed_macros. + (cpp_read_state): Use _cpp_restore_pushed_macros. + +2009-10-19 Jakub Jelinek <jakub@redhat.com> + + * charset.c (cpp_init_iconv): Initialize utf8_cset_desc. + (_cpp_destroy_iconv): Destroy utf8_cset_desc, char16_cset_desc + and char32_cset_desc. + (converter_for_type): Handle CPP_UTF8STRING. + (cpp_interpret_string): Handle CPP_UTF8STRING and raw-strings. + * directives.c (get__Pragma_string): Handle CPP_UTF8STRING. + (parse_include): Reject raw strings. + * include/cpplib.h (CPP_UTF8STRING): New token type. + * internal.h (struct cpp_reader): Add utf8_cset_desc field. + * lex.c (lex_raw_string): New function. + (lex_string): Handle u8 string literals, call lex_raw_string + for raw string literals. + (_cpp_lex_direct): Call lex_string even for u8" and {,u,U,L,u8}R" + sequences. + * macro.c (stringify_arg): Handle CPP_UTF8STRING. + +2009-10-14 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/41543 + * include/line-map.h (RESERVED_LOCATION_COUNT): Define. + * line-map.c (linemap_init): Initialize highest_location and + highest_line to RESERVED_LOCATION_COUNT-1 instead of 0. + +2009-10-09 Jason Merrill <jason@redhat.com> + + * charset.c (_cpp_valid_ucn): Update C++0x restrictions. + +2009-10-09 Neil Vachharajani <nvachhar@google.com> + + * directives.c (DIRECTIVE_TABLE): Remove DEPRECATED from ident and + sccs. + +2009-09-23 Loren J. Rittle <ljrittle@acm.org> + + * configure.ac (AC_CHECK_HEADERS after AC_LANG(C++)): Add sys/stat.h. + * configure: Rebuilt. + +2009-09-22 Richard Guenther <rguenther@suse.de> + + PR pch/38987 + * files.c (pch_open_file): Disallow non-toplevel PCH inclusion. + +2009-09-18 Chris Demetriou <cgd@google.com> + + PR preprocessor/28435: + * include/cpplib.h (struct cpp_options): Add new member + deps.need_preprocessor_output. + * files.c (open_file_failed): If preprocessor output is needed + always report an error. + +2009-09-13 Kai Tietz <kai.tietz@onevision.com> + + * configure.ac: Set for i?86-w64-mingw* + need_64bit_hwint to yes. + * configure: Regenerated. + +2009-09-10 Jason Merrill <jason@redhat.com> + + * directives.c (cpp_define): constify. + +2009-09-02 Ian Lance Taylor <iant@google.com> + + * macro.c (stringify_arg): Escape CPP_WCHAR tokens. + +2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * configure.ac (AC_PREREQ): Bump to 2.64. + +2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * configure: Regenerate. + +2009-08-17 Tom Tromey <tromey@redhat.com> + + PR preprocessor/41067: + * charset.c (convert_escape): Add missing ":" to error text. + +2009-07-27 Douglas B Rupp <rupp@gnat.com> + + * include/cpplib.h (INO_T_CPP): New macro. + (struct cpp_dir): Use it. + +2009-07-20 Jerry Quinn <jlquinn@optonline.net> + + PR regression/40800 + * configure.ac: Use = instead of == for testing + ENABLE_BUILD_WITH_CXX. + * configure: Rebuild. + +2009-07-17 Jerry Quinn <jlquinn@optonline.net> + + * directives.c (do_linemarker, do_line): Use CPP_STRING for + ignored enum value. + * files.c (find_file_in_dir): Add cast from void* to char*. + * symtab.c (ht_lookup_with_hash): Add cast from void* to char*. + * Makefile.in: (WARN_CFLAGS): Use general and C-specific + warnings. + (CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS, + ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER, + COMPILER_FLAGS): New. + (DEPMODE): Set from CCDEPMODE or CXXDEPMODE. + (COMPILE.base): Use COMPILER instead of CC. Use COMPILER_FLAGS + instead of ALL_CFLAGS. + * configure.ac: Invoke AC_PROG_CXX. Separate C-specific warnings + from other warnings. Add -Wc++-compat to C-specific warnings. + Check for --enable-build-with-cxx. Set and substitute + ENABLE_BUILD_WITH_CXX. Invoke ZW_PROG_COMPILER_DEPENDENCIES + according to ENABLE_BUILD_WITH_CXX. Invoke AC_LANG before + AC_CHECK_HEADERS. + * configure: Rebuild. + * include/cpp-id-data.h: Remove extern "C". + * include/line-map.h: Likewise. + * include/mkdeps.h: Likewise. + * include/symtab.h: Likewise. + * internal.h: Likewise. + +2009-06-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + * directives.c (parse_include): Add location argument. Update all + calls. + (parse_answer): Likewise. + (do_include_common): Error with exact location. + (parse_assertion): Likewise. + +2009-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org> + + * expr.c (num_div_op): Take explicit location. + +2009-06-17 Ian Lance Taylor <iant@google.com> + + * include/cpplib.h (progname): Don't declare. + +2009-06-12 Ian Lance Taylor <iant@google.com> + + * include/cpplib.h (struct cpp_options): Add + warn_cxx_operator_names field. + (NODE_WARN_OPERATOR): Define. + (struct cpp_hashnode): Increase flags field to 10 bits, decrease + type to 6 bits. + * init.c (mark_named_operators): Add flags parameter. + (cpp_post_options): Pick flags value to pass to + mark_named_operators. + * lex.c (lex_identifier): If NODE_WARN_OPERATOR is set, warn that + identifier is an operator name in C++. + +2009-06-01 Aldy Hernandez <aldyh@redhat.com> + + * include/line-map.h (LAST_SOURCE_COLUMN): New. + +2009-06-01 Ian Lance Taylor <iant@google.com> + + * include/cpp-id-data.h: Add extern "C". + * include/line-map.h: Likewise. + * include/mkdeps.h: Likewise. + * include/symtab.h: Likewise. + * internal.h: Likewise. + +2009-05-15 Ian Lance Taylor <iant@google.com> + + * include/cpplib.h (enum cpp_builtin_type): Rename from enum + builtin_type. Change all uses. + +2009-05-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR cpp/36674 + * directives (do_linemarker): Compensate for the increment in + location that occurs when we reach the end of line. + * files (_cpp_stack_include): Mention _cpp_find_file in the + comment. + +2009-05-10 Joseph Myers <joseph@codesourcery.com> + + * include/cpplib.h (enum cpp_token_fld_kind): Add + CPP_TOKEN_FLD_TOKEN_NO. + (struct cpp_macro_arg, struct cpp_identifier): Define. + (union cpp_token_u): Use struct cpp_identifier for identifiers. + Use struct cpp_macro_arg for macro arguments. Add token_no for + CPP_PASTE token numbers. + * directives.c (_cpp_handle_directive, lex_macro_node, do_pragma, + do_pragma_poison, parse_assertion): Use val.node.node in place of + val.node. + * expr.c (parse_defined, eval_token): Use val.node.node in place + of val.node. + * lex.c (cpp_ideq, _cpp_lex_direct, cpp_token_len, + cpp_spell_token, cpp_output_token, _cpp_equiv_tokens, + cpp_token_val_index): Use val.macro_arg.arg_no or val.token_no in + place of val.arg_no. Use val.node.node in place of val.node. + * macro.c (replace_args, cpp_get_token, parse_params, + lex_expansion_token, create_iso_definition, cpp_macro_definition): + Use val.macro_arg.arg_no or val.token_no in place of val.arg_no. + Use val.node.node in place of val.node. + +2009-05-03 Joseph Myers <joseph@codesourcery.com> + + * charset.c (one_utf8_to_cppchar): Correct mask used for 5-byte + UTF-8 sequences. + +2009-04-25 Joseph Myers <joseph@codesourcery.com> + + PR preprocessor/39559 + * expr.c (cpp_interpret_integer): Use a pedwarn for decimal + constants larger than intmax_t in C99 mode. + +2009-04-21 Taras Glek <tglek@mozilla.com> + + * include/cpp-id-data.h: Update GTY annotations to new syntax. + * include/cpplib.h: Likewise. + * include/line-map.h: Likewise. + * include/symtab.h: Likewise. + +2009-04-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR c++/14875 + * lex.c (cpp_type2name): Take a flags parameter. Call + cpp_named_operator2name for named operators and cpp_digraph2name + for digraphs. + (cpp_digraph2name): New. + (cpp_spell_token): Use it. + (cpp_output_token): Likewise. + * include/cpplib.h (cpp_type2name): Update declaration. + * init.c (cpp_named_operator2name): New. + * internal.h (cpp_named_operator2name): Declare. + +2009-04-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR c++/13358 + * init.c (cpp_create_reader): Wlong_long is disabled by default. + * expr.c (cpp_classify_number): Give different messages for C and + C++ front-ends. + +2009-04-19 Joseph Myers <joseph@codesourcery.com> + + PR preprocessor/20078 + * include/cpp-id-data.h (struct cpp_macro): Add extra_tokens + field. + * include/cpplib.h (SP_DIGRAPH, SP_PREV_WHITE): Define. + (struct cpp_token): Change flags to unsigned short. + * lex.c (_cpp_lex_direct): Initialize arg_no for CPP_PASTE tokens. + (_cpp_equiv_tokens): Check arg_no for CPP_PASTE tokens. + (cpp_token_val_index): Return CPP_TOKEN_FLD_ARG_NO for CPP_PASTE + tokens. + * macro.c (macro_real_token_count): New. + (enter_macro_context, replace_args): Use macro_real_token_count. + (create_iso_definition): Record whitespace surrounding and digraph + spelling of # and ## tokens using SP_PREV_WHITE and SP_DIGRAPH. + Set extra_tokens and save CPP_PASTE tokens with arg_no set for + multiple consecutive ## tokens. + (_cpp_create_definition): Initialize extra_tokens. + (cpp_macro_definition): Use macro_real_token_count. + +2009-04-18 Joseph Myers <joseph@codesourcery.com> + + * directives.c (parse_include): Pass true to check_eol. + +2009-04-18 Joseph Myers <joseph@codesourcery.com> + + PR preprocessor/39646 + * include/line-map.h (enum lc_reason): Add LC_RENAME_VERBATIM. + * line-map.c (linemap_add): Handle LC_RENAME_VERBATIM. + * directives.c (do_line, do_linemarker): Use LC_RENAME_VERBATIM in + place of LC_RENAME. + +2009-04-18 Joseph Myers <joseph@codesourcery.com> + + PR preprocessor/39647 + * directives.c (check_eol): Add parameter expand. + (do_undef, parse_include, do_line, do_linemarker, do_ident, + do_pragma_once, do_pragma_system_header, do_ifdef, do_ifndef, + do_else, do_endif, do_assert, do_unassert): All callers changed. + Pass true from do_line, false elsewhere. + +2009-04-12 Joseph Myers <joseph@codesourcery.com> + + PR preprocessor/31869 + * macro.c (stringify_arg): Handle NULL source token in padding + token where previous padding token did not have source token with + preceding whitespace. + +2009-04-09 Jakub Jelinek <jakub@redhat.com> + + * Makefile.in: Change copyright header to refer to version + 3 of the GNU General Public License and to point readers at the + COPYING3 file and the FSF's license web page. + * charset.c: Likewise. + * directives-only.c: Likewise. + * directives.c: Likewise. + * errors.c: Likewise. + * expr.c: Likewise. + * files.c: Likewise. + * identifiers.c: Likewise. + * include/cpp-id-data.h: Likewise. + * include/cpplib.h: Likewise. + * include/line-map.h: Likewise. + * include/mkdeps.h: Likewise. + * include/symtab.h: Likewise. + * init.c: Likewise. + * internal.h: Likewise. + * lex.c: Likewise. + * line-map.c: Likewise. + * macro.c: Likewise. + * makeucnid.c: Likewise. + * mkdeps.c: Likewise. + * pch.c: Likewise. + * symtab.c: Likewise. + * system.h: Likewise. + * traditional.c: Likewise. + * ucnid.tab: Likewise. + * ucnid.h: Regenerate. + +2009-04-01 Janis Johnson <janis187@us.ibm.com> + + PR c/39027 + * include/cpplib.h (CPP_N_DEFAULT): Define. + * expr.c (interpret_float_suffix): Recognize d or D for double, + return new value for default. + (cpp_classify_number): Issue pedwarn for use of d or D in suffix. + + PR c/33466 + * expr.c (interpret_float_suffix): Reject invalid suffix that uses + letters from decimal float and fixed-point suffixes. + +2009-03-31 Joseph Myers <joseph@codesourcery.com> + + PR preprocessor/15638 + * files.c (_cpp_find_file): Call open_file_failed after diagnosing + invalid PCH. + (open_file_failed): Make error for missing file fatal. + * include/cpplib.h (CPP_DL_FATAL): Define. + +2009-03-30 Sergiy Vyshnevetskiy <serg@vostok.net> + + PR preprocessor/31932: + * internal.h: Don't mention HAVE_ICONV_H. + * configure, config.in: Rebuild. + * configure.ac: Don't check for iconv.h. + +2009-03-30 Tom Tromey <tromey@redhat.com> + + PR preprocessor/39512: + * line-map.c (linemap_init): Initialize 'reallocator' field. + +2009-03-30 Jakub Jelinek <jakub@redhat.com> + + PR target/39558 + * macro.c (cpp_get_token): If macro_to_expand returns NULL + and used some tokens, add CPP_PADDING before next token. + +2009-03-29 Joseph Myers <joseph@codesourcery.com> + + PR preprocessor/34695 + * makedepend.c: Remove. + * Makefile.in (makedepend_OBJS, makedepend$(EXEEXT)): Remove. + (all, clean, TAGS_SOURCES, include): Remove makedepend handling. + * directives.c (cpp_errors): Remove. + * errors.c (print_location, _cpp_begin_message, v_message): + Remove. + (cpp_error, cpp_error_with_line): Always use error callback. + (cpp_error, cpp_error_with_line, cpp_errno): Return bool. + * include/cpplib.h (cpp_options): Remove pedantic_errors, + inhibit_warnings, warn_system_headers, inhibit_errors, + warnings_are_errors, client_diagnostic. + (cpp_callbacks): Add extra arguments to error callback; make it + return bool. + (cpp_finish): Return void. + (cpp_destroy): Remove inaccurate comment about return value. + (cpp_errors, CPP_DL_EXTRACT, CPP_DL_WARNING_P): Remove. + (CPP_DL_NOTE): Define. + * include/line-map.h (linemap_print_containing_files): Remove. + * init.c (cpp_finish): Do not check for or return number of + errors. + * internal.h (cpp_reader): Remove errors field. + * line-map.c (linemap_print_containing_files): Remove. + * macro.c (_cpp_create_definition): Use CPP_DL_NOTE for message + about previous definition. Only emit it if previous diagnostic + was emitted. + +2009-03-28 Joseph Myers <joseph@codesourcery.com> + + * Makefile.in (po/$(PACKAGE).pot): Use $(mkinstalldirs) not + mkinstalldirs. + +2009-03-18 Jakub Jelinek <jakub@redhat.com> + + * include/cpplib.h (struct cpp_dir): Reorder fields for 64-bit hosts. + +2009-02-21 Joseph Myers <joseph@codesourcery.com> + + * lex.c (lex_string): Return a CPP_LESS token for missing '>' in a + header name. + (_cpp_lex_direct): Handle this. + +2009-02-15 Richard Guenther <rguenther@suse.de> + + Revert last change. + +2009-02-13 Richard Guenther <rguenther@suse.de> + + * configure.ac: Enable LFS. + * configure: Re-generate. + * config.in: Likewise. + +2009-01-05 Ben Elliston <bje@au.ibm.com> + + * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir. + (.po.pox): Likewise. + (po/$(PACKAGE).pot): Likewise. + +2008-12-10 Alexandre Oliva <aoliva@redhat.com> + + PR target/37033 + * pch.c (cpp_valid_state): Improve message for poisoned symbols. + Allow for differences in __GCC_HAVE_DWARF2_CFI_ASM. + +2008-11-29 Joseph Myers <joseph@codesourcery.com> + + * lex.c (cpp_token_len): Use 6 as default length. + +2008-10-31 Manuel López-Ibáñez <manu@gcc.gnu.org> + + * expr.c (struct op): Add location. + (_cpp_parse_expr): Propagate locations throught the stack + of expressions. + (reduce): Likewise. + (check_promotion): Use explicit location in errors. + +2008-10-05 Matthew Gingell <gingell@adacore.com> + Arnaud Charlet <charlet@adacore.com> + + * include/cpplib.h (cpp_comments, cpp_comment_table): New structs. + (cpp_get_comments): New function. + * internal.h (struct cpp_reader): Add comments field. + * init.c (cpp_destroy): Free comments. + * lex.c (store_comment, cpp_get_comments): New functions. + (comments): New struct. + (save_comment): Store comments in comments struct. + +2008-09-18 Simon Baldwin <simonb@google.com> + + * include/cpplib.h (struct cpp_options): Add new boolean flag + warn_builtin_macro_redefined. + * init.c (cpp_create_reader): Initialize warn_builtin_macro_redefined. + * (struct builtin_operator): Split out from previous struct builtin, + enhance extra const correctness. + * (struct builtin_macro): Split out from previous struct builtin, add + new always_warn_if_redefined flag, enhance const correctness. + * (mark_named_operators): Use struct builtin_operator. + * (cpp_init_special_builtins): Use struct builtin_macro, add NODE_WARN + to builtins selectively. + * macro.c (warn_of_redefinition): Return false if a builtin macro + is not flagged with NODE_WARN. + +2008-07-31 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/36649 + * files.c (struct report_missing_guard_data): New type. + (report_missing_guard): Put paths into an array instead of printing + them right away. Return 1 rather than 0. + (report_missing_guard_cmp): New function. + (_cpp_report_missing_guards): Sort and print paths gathered by + report_missing_guard callback. + +2008-07-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR 28079 + * directives.c (strtolinenum): Handle overflow. + (do_line): Give a warning if line number overflowed. + (do_linemarker): Update call to strtolinenum. + +2008-07-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + * include/line-map.h (linenum_type): New typedef. + (struct line_map): Use it. + (SOURCE_LINE): Second arguments is a LOCATION not a LINE. + (SOURCE_COLUMN): Likewise. + * macro.c (_cpp_builtin_macro_text): Use linenum_type. Don't store + source_location values in a variable of type linenum_type. + * directives.c (struct if_stack): Use linenum_type. + (strtoul_for_line): Rename as strtolinenum. + (do_line): Use linenum_type. + (do_linemarker): Use linenum_type and strtolinenum. + (_cpp_do_file_change): Use linenum_t. + * line-map.c (linemap_add): Likewise. + (linemap_line_start): Likewise. + * traditional.c (struct fun_macro): 'line' is a source_location. + * errors.c (print_location): Use linenum_type. + * directives-only.c (_cpp_preprocess_dir_only): Likewise. + * internal.h (CPP_INCREMENT_LINE): Likewise. + * lex.c (_cpp_skip_block_comment): Use source_location. + +2008-07-14 Ben Elliston <bje@au.ibm.com> + + * include/cpplib.h (NODE_CONDITIONAL): New. + (struct cpp_callbacks): New macro_to_expand field. + (struct cpp_hashnode): Adjust size of flags and type fields. + (cpp_peek_token): Prototype. + * lex.c (cpp_peek_token): New function. + (_cpp_temp_token): Protect pre-existing lookaheads. + * macro.c (cpp_get_token): Expand any conditional macros. + (_cpp_backup_tokens_direct): New. + (_cpp_backup_tokens): Call _cpp_backup_tokens_direct. + (warn_of_redefinition): Silently allow redefined conditional + macros. + (_cpp_create_definition): Remove the conditional flag when a user + defines one of the conditional macros. + * internal.h (_cpp_backup_tokens_direct): New prototype. + +2008-06-13 Andrew Haley <aph@redhat.com> + + PR preprocessor/33305 + * macro.c (replace_args): Print a warning for empty macro + arguments in C89 and C++. + +2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * Makefile.in ($(srcdir)/aclocal.m4): Update dependencies. + * configure: Regenerate. + +2008-06-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * Makefile.in (datarootdir): New variable. + +2008-06-12 H.J. Lu <hongjiu.lu@intel.com> + + PR preprocessor/36479 + * charset.c (cpp_interpret_string_notranslate): Also set + narrow_cset_desc.width. + +2008-06-07 Joseph Myers <joseph@codesourcery.com> + + * configure.ac (parisc*64*-*-*): Remove. + * configure: Regenerate. + +2008-05-30 Tom Tromey <tromey@redhat.com> + + PR preprocessor/36320: + * internal.h (_cpp_parse_expr): Update. + * expr.c (_cpp_parse_expr): Add 'is_if' argument. Update error + messages. + * directives.c (do_if): Update. + (do_elif): Require expression if processing group. + +2008-05-30 Danny Smith <dannysmith@users.sourceforge.net> + + * include/cpplib.h (struct cpp_dir): Add new field, canonical_name. + +2008-05-21 Tom Tromey <tromey@redhat.com> + + PR preprocessor/27777: + * lex.c (cpp_output_line_to_string): New function. + * internal.h (_cpp_begin_message): Don't declare. + * errors.c (_cpp_begin_message): Now static. + * include/cpplib.h (cpp_output_line_to_string): Declare. + * directives.c (do_diagnostic): Rewrote. Use + cpp_output_line_to_string. Don't use _cpp_begin_message. + +2008-05-21 Tom Tromey <tromey@redhat.com> + + * include/symtab.h (HT_ALLOCED): Remove. + (ht_purge): Declare. + * symtab.c (DELETED): New define. + (ht_lookup): Update comment. + (ht_lookup_with_hash): Handle deleted entries. Remove HT_ALLOCED + code. Use subobject allocator for strings, if it exists. + (ht_expand): Handle deleted entries. + (ht_forall): Likewise. + (ht_purge): New function. + (ht_dump_statistics): Print deletion statistics. + +2008-05-13 Tom Tromey <tromey@redhat.com> + + PR preprocessor/22168: + * include/cpplib.h (struct cpp_options) <objc>: Update + documentation. + * expr.c (eval_token): Warn for use of assertions. + * directives.c (directive_diagnostics): Warn about extensions. + (DEPRECATED): New define. + (DIRECTIVE_TABLE): Use it. + +2008-05-06 Tom Tromey <tromey@redhat.com> + + PR preprocessor/35313, PR preprocessor/36088: + * expr.c (optab) <QUERY, COMMA>: Set precedence to 4. + (reduce) <case CPP_QUERY>: Special case CPP_COMMA and CPP_COLON. + +2008-05-04 David S. Miller <davem@davemloft.net> + + * configure.ac (sparc*-*-*): Always set need_64bit_hwint to yes. + * configure: Regenerate. + +2008-04-22 Daniel Franke <franke.daniel@gmail.com> + + * include/cpplib.h (cpp_define_formatted): New. + * directives.c (cpp_define_formatted): New. + +2008-04-21 Tom Tromey <tromey@redhat.com> + + PR libcpp/33415: + * charset.c (_cpp_convert_input): Add buffer_start argument. + Ignore UTF-8 BOM if seen. + * internal.h (_cpp_convert_input): Add argument. + * files.c (struct _cpp_file) <buffer_start>: New field. + (destroy_cpp_file): Free buffer_start, not buffer. + (_cpp_pop_file_buffer): Likewise. + (read_file_guts): Update. + +2008-04-18 Kris Van Hees <kris.van.hees@oracle.com> + + * include/cpp-id-data.h (UC): Was U, conflicts with U"..." literal. + * include/cpplib.h (CHAR16, CHAR32, STRING16, STRING32): New tokens. + (struct cpp_options): Added uliterals. + (cpp_interpret_string): Update prototype. + (cpp_interpret_string_notranslate): Idem. + * charset.c (init_iconv_desc): New width member in cset_converter. + (cpp_init_iconv): Add support for char{16,32}_cset_desc. + (convert_ucn): Idem. + (emit_numeric_escape): Idem. + (convert_hex): Idem. + (convert_oct): Idem. + (convert_escape): Idem. + (converter_for_type): New function. + (cpp_interpret_string): Use converter_for_type, support u and U prefix. + (cpp_interpret_string_notranslate): Match changed prototype. + (wide_str_to_charconst): Use converter_for_type. + (cpp_interpret_charconst): Add support for CPP_CHAR{16,32}. + * directives.c (linemarker_dir): Macro U changed to UC. + (parse_include): Idem. + (register_pragma_1): Idem. + (restore_registered_pragmas): Idem. + (get__Pragma_string): Support CPP_STRING{16,32}. + * expr.c (eval_token): Support CPP_CHAR{16,32}. + * init.c (struct lang_flags): Added uliterals. + (lang_defaults): Idem. + * internal.h (struct cset_converter) <width>: New field. + (struct cpp_reader) <char16_cset_desc>: Idem. + (struct cpp_reader) <char32_cset_desc>: Idem. + * lex.c (digraph_spellings): Macro U changed to UC. + (OP, TK): Idem. + (lex_string): Add support for u'...', U'...', u"..." and U"...". + (_cpp_lex_direct): Idem. + * macro.c (_cpp_builtin_macro_text): Macro U changed to UC. + (stringify_arg): Support CPP_CHAR{16,32} and CPP_STRING{16,32}. + +2008-04-18 Paolo Bonzini <bonzini@gnu.org> + + PR bootstrap/35457 + * aclocal.m4: Regenerate. + * configure: Regenerate. + +2008-04-17 Tom Tromey <tromey@redhat.com> + + PR libcpp/34866: + * errors.c (cpp_error): Don't reference a token before the start + of the current run. + +2008-04-16 Tom Tromey <tromey@redhat.com> + + * Makefile.in (TAGS_SOURCES): New variable. + (TAGS): New target. + +2008-04-11 Kaz Kojima <kkojima@gcc.gnu.org> + + * configure.ac: (need_64bit_hwint): Need 64bit hwint for sh-*-* + and shbe-*-*. + * configure: Rebuilt. + +2008-04-02 Joseph Myers <joseph@codesourcery.com> + + * include/cpplib.h (struct cpp_callbacks): Add used_define, + used_undef and before_define. + (NODE_USED): Define. + * directives.c (do_define, do_undef, undefine_macros, do_ifdef, + do_ifndef, cpp_pop_definition): Handle new flag and use new + callbacks. + * expr.c (parse_defined): Handle new flag and use new callbacks. + * macro.c (enter_macro_context, _cpp_free_definition): Handle new + flag and use new callbacks. + +2008-04-01 Jakub Jelinek <jakub@redhat.com> + + PR pch/13675 + * files.c (struct _cpp_file): Remove pch field. + (pch_open_file): Don't set file->pch, just file->pchname. + (should_stack_file): After pfile->cb.read_pch call + free pchname and clear pchname, don't close file->fd. + Test file->pchname instead of file->pch. Don't close fd after cb. + (_cpp_stack_include): Test file->pchname instead of file->pch. + +2008-03-28 Tom Tromey <tromey@redhat.com> + + * Makefile.in (POSTCOMPILE): New variable. + (.c.o): Use it. + +2008-03-13 Tom Tromey <tromey@redhat.com> + + PR libcpp/35322: + * directives.c (destringize_and_run): Set pfile->directive. + +2008-03-06 Markus Milleder <markus.milleder@generali.at> + + PR preprocessor/35458 + * mkdeps.c (munge): Quote '#' with a '\'. + +2008-02-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + PR preprocessor/35379 + * mkdeps.c (deps_write): Ensure the first target always appears + in the first column, without leading backslash newline. Avoid + some more extra whitespace. + +2008-02-25 Thiemo Seufer <ths@mips.com> + + * Makefile.in ($(srcdir)/config.in): Depend on configure.ac. + +2008-02-19 Tom Tromey <tromey@redhat.com> + + * traditional.c (lex_identifier): Use CPP_HASHNODE. + * lex.c (lex_identifier): Use CPP_HASHNODE. + * include/line-map.h (LINEMAP_POSITION_FOR_COLUMN): Wrap in + do-while. + * identifiers.c (alloc_node): Change return type. + (_cpp_init_hashtable): Don't cast 'alloc_node'. + (proxy_assertion_broken): New declaration. + (cpp_forall_identifiers): Move comment. + * line-map.c (linemap_add): Comment fix. + (linemap_line_start): Indentation fix. + +2008-01-25 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/34692 + * macro.c (collect_args): Add pragma_buff argument. Push + CPP_PRAGMA ... CPP_PRAGMA_EOL tokens to *pragma_buff, rather + than into arguments. Reset prevent_expansion and parsing_args + state at CPP_PRAGMA_EOL/CPP_EOF. + (funlike_invocation_p): Add pragma_buff argument, pass it through + to collect_args. + (enter_macro_context): Add result argument. Adjust + funlike_invocation_p caller. Emit all deferred pragma tokens + gathered during collect_args before the expansion, add a padding + token. Return 2 instead of 1 if any pragma tokens were prepended. + (cpp_get_token): If enter_macro_context returns 2, don't return + a padding token, instead cycle to grab CPP_PRAGMA token. + * directives.c (_cpp_handle_directive): If was_parsing_args + in deferred pragma, leave parsing_args and prevent_expansion as is. + +2008-01-22 Tom Tromey <tromey@redhat.com> + + PR c++/34859 + * macro.c (_cpp_create_definition): Handle __STDC_LIMIT_MACROS and + __STDC_CONSTANT_MACROS. + +2008-01-07 Fred Fish <fnf@specifix.com> + + PR preprocessor/30363 + * traditional.c (replace_args_and_push): Add local variable + cxtquote, calculate the replacement text size assuming a + worst case of every input character quoted with backslash, + and properly handle output quoting of quote characters in + actual arguments used in function-like macros. + +2008-01-03 Tom Tromey <tromey@redhat.com> + + PR preprocessor/34602 + * directives.c (do_line): Don't try to spell EOF token. + (do_linemarker): Add comment. + +2007-12-11 DJ Delorie <dj@redhat.com> + + * charset.c (convert_using_iconv): Close out any shift states, + returning to the initial state. + +2007-12-06 Tom Tromey <tromey@redhat.com> + + PR c/29172 + * internal.h (struct cpp_reader) <file_hash_entries>: Changed + type. + <file_hash_entries_allocated, file_hash_entries_used>: Removed. + * files.c (FILE_HASH_POOL_SIZE): New macro. + (struct file_hash_entry_pool): New. + (destroy_all_cpp_files): New function. + (allocate_file_hash_entries): Allocate a file_hash_entry_pool. + (new_file_hash_entry): Update. + (free_file_hash_entries): New function. + (_cpp_cleanup_files): Call free_file_hash_entries and + destroy_all_cpp_files. + (cpp_clear_file_cache): New function. + * include/cpplib.h (cpp_clear_file_cache): Declare. + +2007-12-03 Tom Tromey <tromey@redhat.com> + + PR preprocessor/34288 + * configure.ac, config.in: Rebuilt. + * configure.ac: Check for ssize_t. + +2007-11-30 Tom Tromey <tromey@redhat.com> + + PR preprocessor/32868 + * macro.c (_cpp_create_definition): Special case + __STDC_FORMAT_MACROS. + +2007-11-16 Michael Matz <matz@suse.de> + + * files.c (search_path_head): Fix check for absolute paths. + +2007-11-11 Tom Tromey <tromey@redhat.com> + + PR c++/17557 + * include/cpplib.h (cpp_included_before): Declare. + * files.c (struct file_hash_entry) <location>: New field. + (_cpp_find_file): Initialize new field. + (make_cpp_dir): Likewise. + (cpp_included_before): New function. + +2007-11-01 Tom Tromey <tromey@redhat.com> + + PR preprocessor/30805 + * macro.c (paste_tokens): Handle padding token. + (paste_tokens): Don't abort unless padding has PASTE_LEFT flag. + +2007-10-31 Tom Tromey <tromey@redhat.com> + + PR preprocessor/30786 + * macro.c (builtin_macro): Return result of _cpp_do__Pragma. + * directives.c (_cpp_do__Pragma): Return error status. + * internal.h (_cpp_do__Pragma): Update. + * directives.c (get__Pragma_string): Back up if EOF seen. + +2007-09-06 Tom Tromey <tromey@redhat.com> + + * internal.h (struct cpp_reader) <invocation_location>: New + field. + (struct cpp_reader) <set_invocation_location>: Likewise. + * init.c (cpp_set_line_map): New function. + * line-map.c (linemap_add): Use linemap's allocator. + * include/line-map.h (GTY): Define. + (line_map_realloc): New typedef. + (struct line_map): Mark with GTY. + (struct line_maps): Likewise. + (struct line_maps) <maps>: Likewise. + (struct line_maps) <reallocator>: New field. + * include/symtab.h (GTY): Conditionally define. + * include/cpplib.h (cpp_set_line_map): Declare. + (cpp_get_token_with_location): Declare. + * macro.c (cpp_get_token): Set invocation_location on the reader. + (cpp_get_token_with_location): New function. + +2007-08-30 Chao-ying Fu <fu@mips.com> + + * expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur, + ulr, ullr, hk, k, lk, llk, uhk, uk, ulk, ullk. + (cpp_classify_number): Support decimal fixed-point constants without + exponents. + Warn about fixed-point constants when -pedantic. + * include/cpplib.h (CPP_N_SMALL, CPP_N_MEDIUM, CPP_N_LARGE): Change + comments to support fixed-point values. + (CPP_N_FRACT, CPP_N_ACCUM): Define. + +2007-08-18 Tom Tromey <tromey@redhat.com> + + PR preprocessor/32974 + * directives.c (parse_include): Don't check for EOL when + processing #pragma dependency. + +2007-07-30 Ollie Wild <aaw@google.com> + + * directives-only.c: New file. + * internal.h (struct _cpp_dir_only_callbacks): New. + (_cpp_preprocess_dir_only): New function. + * directives.c (_cpp_handle_directive): Check directives_only before + disabling execution of indented directives. + * files.c (_cpp_stack_file): Add directives_only check. + * include/cpplib.h (struct cpp_options): Add directives_only. + (cpp_init_special_builtins): New function. + * init.c (cpp_init_special_builtins): New function. + (cpp_init_builtins): Move builtin_array initialization to + cpp_init_special_builtins. + (post_options): Check directives_only before setting + pfile->state.prevent_expansion = 1. + * macro.c (_cpp_builtin_macro_text): Print an error if __COUNTER__ + is expanded inside a directive while -fdirectives-only is enabled. + * Makefile.in (libcpp_a_OBJS): Add directives-only.o. + (libcpp_a_SOURCES): Add directives-only.c. + +2007-07-04 Uros Bizjak <ubizjak@gmail.com> + + * traditional.c (_cpp_scan_out_logical_line): Initialize + fmacro.args, fmacro.node, fmacro.offset, fmacro.line and + fmacro.args to prevent 'may be used uninitialized' warning. + +2007-07-03 Uros Bizjak <ubizjak@gmail.com> + + * include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q): + Add new constants. + * expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q' + suffixes. Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q + for 'q' or 'Q' suffixes. + +2007-06-17 Danny Smith <dannysmith@users.sourceforge.net + + * files.c (open_file): Correct typo. + +2007-06-16 Vladimir Prus <vladimir@codesourcery.com> + + * files.c (open_file): Prevent the call + for stat from overwriting errno. + +2007-06-09 Vladimir Prus <vladimir@codesourcery.com> + + * files.c (open_file): Account for the + fact that on windows, opening a directory gives + EACCES. + +2007-06-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de> + + PR preprocessor/23479 + * expr.c (cpp_classify_number): Implement 0b-prefixed binary + integer constants. + (append_digit): Likewise. + * include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed + binary integer constants. + +2007-05-31 Dave Korn <dave.korn@artimi.com> + + PR preprocessor/14331 + * lex.c (_cpp_get_fresh_line): Don't warn if no newline at EOF. + +2007-05-24 Ollie Wild <aaw@google.com> + + * macro.c (_cpp_builtin_macro_text): Handle BT_COUNTER. + * pch.c (cpp_write_pch_deps): Save __COUNTER__ state. + (cpp_write_pch_state): Save __COUNTER__ state. + (cpp_valid_state): Check valid __COUNTER__ state. + (cpp_read_state): Read new __COUNTER__ state. + * include/cpplib.h (enum builtin_type): Add BT_COUNTER enumerator. + * init.c (builtin_array): Add __COUNTER__/BT_COUNTER. + * internal.h (struct cpp_reader): Add counter member. + +2007-05-23 Simon Martin <simartin@users.sourceforge.net> + + PR preprocessor/20077 + * macro.c (create_iso_definition): Fixed the method to determine + whether the token-pasting operator appears at the beginning or the end + of a macro. + +2007-05-21 Ian Lance Taylor <iant@google.com> + + * internal.h (struct cpp_reader): Add new fields: + nonexistent_file_hash and nonexistent_file_ob. + * files.c: Include "obstack.h". + (find_file_in_dir): Before trying to open the file, look up the + path name in the hash table of nonexistent files. After failing + to open the file, add the path name to the hash table. + (_cpp_find_file): Cache the results of looking up the file name + starting with the quote and bracket chain heads, if we can. + (nonexistent_file_hash_eq): New static function. + (_cpp_init_files): Initialize pfile->nonexistent_file_hash and + pfile->nonexistent_file_ob. + (_cpp_cleanup_files): Free pfile->nonexistent_file_hash and + pfile->nonexistent_file_ob. + +2007-05-14 Janis Johnson <janis187@us.ibm.com> + + * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic. + + PR c/31924 + * expr.c (interpret_float_suffix): Check for invalid suffix. + +2007-05-02 Eric Christopher <echristo@apple.com> + + * expr.c (num_div_op): Don't overflow if the result is + zero. + +2007-05-02 Tom Tromey <tromey@redhat.com> + + PR preprocessor/28709 + * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs. + +2007-03-30 Michael Meissner <michael.meissner@amd.com> + + * directives.c (lex_macro_node_from_str): Fix alloca call to be + type correct. + +2007-03-30 Richard Henderson <rth@redhat.com> + + * directives.c (lex_macro_node_from_str): New. + (cpp_push_definition, cpp_pop_definition): New. + * include/cpplib.h (cpp_push_definition, cpp_pop_definition): Declare. + +2007-03-01 Brooks Moses <brooks.moses@codesourcery.com> + + * Makefile.in: Add dummy install-pdf target. + +2007-01-30 Tom Tromey <tromey@redhat.com> + + PR preprocessor/30468 + * mkdeps.c (apply_vpath): Strip successive '/'s if we stripped + './'. + +2007-01-30 Tom Tromey <tromey@redhat.com> + + PR preprocessor/29966 + * macro.c (lex_expansion_token): Save and restore cpp_reader's + cur_token. + (_cpp_create_definition): Don't restore cur_token here. + * lex.c (_cpp_lex_token): Added assertion. + +2007-01-27 Tom Tromey <tromey@redhat.com> + + * configure: Rebuilt. + +2007-01-12 Tom Tromey <tromey@redhat.com> + + PR preprocessor/28227 + * directives.c (lex_macro_node): Added 'is_def_or_undef' + argument. + (do_define): Update. + (do_undef): Update. + (do_ifdef): Update. + (do_ifndef): Update. + +2007-01-11 Paolo Bonzini <bonzini@gnu.org> + + * configure: Regenerate. + +2007-01-11 Paolo Bonzini <bonzini@gnu.org> + + * configure: Regenerate. + +2007-01-04 Tom Tromey <tromey@redhat.com> + + PR preprocessor/28165 + * internal.h (cpp_in_primary_file): New function. + * directives.c (do_include_next): Use cpp_in_primary_file. + (do_pragma_once): Likewise. + (do_pragma_system_header): Likewise. + +2006-12-29 Ian Lance Taylor <iant@google.com> + + * lex.c (_cpp_clean_line): Add uses of __builtin_expect. Don't + look backward at the end of the line unless we saw a backslash. + +2006-12-29 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/29612 + * directives.c (do_linemarker): Set pfile->buffer->sysp always, not + only when new_sysp is non-zero. + +2006-12-28 Tom Tromey <tromey@redhat.com> + + PR preprocessor/30001 + * charset.c (_cpp_convert_input): Check that to.len is greater + than zero. + +2006-11-20 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> + + * configure.ac (need_64bit_hwint): Need 64bit hwint for SPU. + * configure: Rebuilt. + +2006-11-01 Douglas Gregor <doug.gregor@gmail.com> + + * include/cpplib.h (enum c_lang): Add CLK_GNUCXX0X and CLK_CXX0X + for experimental C++0x mode. + * init.c (lang_defaults): Add defaults for C++0x modes. C++0x has + adopted the preprocessor changes introduced in C99. + +2006-10-29 Joseph Myers <joseph@codesourcery.com> + + * configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux* + depending on --enable-targets=all. + * configure: Regenerate. + +2006-10-12 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/28709 + * macro.c (paste_tokens): Do error reporting here, use BUF with the + spelled LHS token as opposed to spelling it again. + (paste_all_tokens): Don't report errors here, just break on failure. + +2006-10-10 Brooks Moses <bmoses@stanford.edu> + + * Makefile.in: Added empty "pdf" target. + +2006-09-22 Geoffrey Keating <geoffk@apple.com> + + * configure.ac: Make need_64_bit_hwint case for x86-darwin + match exactly the glob in gcc/config.gcc. + * configure: Regenerate. + +2006-09-13 Joseph S. Myers <joseph@codesourcery.com> + + PR c/28768 + PR preprocessor/14634 + * lex.c (lex_string): Pedwarn for unterminated literals. + +2006-09-08 Eric Christopher <echristo@apple.com> + + * configure.ac: Add 64-bit HWI support for i?86-darwin. + +2006-08-14 Steve Ellcey <sje@cup.hp.com> + + PR c++/28288 + PR c++/14556 + * include/cpplib.h: Remove <?, >?, <?=, and >?= tokens. + (CPP_LAST_EQ): Change. + (CPP_LAST_PUNCTUATOR): Change. + * expr.c (cpp_operator): Remove MIN and MAX. + (reduce): Remove CPP_MIN and CPP_MAX. + (num_binary_op): Ditto. + * lex.c (_cpp_lex_direct): Ditto. + (cpp_avoid_paste): Remove ? as legal symbol after > or <. + +2006-06-09 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/27746 + * directives.c (do_pragma): Handle pragma with valid namespace + and invalid name coming from macro expansion. + * directives.c (destringize_and_run): Initialize next field in + context. + + PR c/27747 + PR c++/27748 + * directives.c (destringize_and_run): Set NO_EXPAND on the + tokens. + + * macro.c (_cpp_backup_tokens): Fix comment typo. + +2006-05-31 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (CATALOGS): Add po/ prefix. + * configure: Regenerated. + +2006-05-23 Carlos O'Donell <carlos@codesourcery.com> + + * Makefile.in: Add install-html target. Add install-html to .PHONY + +2006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> + + * macro.c (_cpp_builtin_macro_text): Handle BT_TIMESTAMP. + * files.c (_cpp_get_file_stat): New function. + * include/cpplib.h (builtin_type): Add BT_TIMESTAMP. + * init.c (builtin_array): Add support for __TIMESTAMP__/BT_TIMESTAMP. + * internal.h (_cpp_get_file_stat): Prototype. + (struct cpp_buffer): Add timestamp. + +2006-01-23 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/25717 + * init.c (cpp_init_builtins): If __STDC__ will not change value + between system headers and other sources, define it as a normal + macro rather than a builtin. + * macro.c (_cpp_builtin_macro_text) <case BT_STDC>: Only check + cpp_in_system_header condition. + +2006-01-05 Paolo Bonzini <bonzini@gnu.org> + + * Makefile.in: Use -MMD instead of -MD. + +2006-01-04 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> + Richard Henderson <rth@redhat.com> + + Merge from gomp branch: + * directives.c (struct pragma_entry): Add is_deferred. Add ident + entry to value union. + (end_directive): Don't eat the line if in_deferred_pragma. + (run_directive): Remove pragma hacks. + (insert_pragma_entry): Remove. + (new_pragma_entry): New. + (register_pragma_1): Split out of register_pragma. Only handle + the lookup tree and return the new entry. + (cpp_register_pragma): Fill in the pragma entry here. + (cpp_register_deferred_pragma): New. + (register_pragma_internal): New. + (_cpp_init_internal_pragmas): Use register_pragma_internal. + (do_pragma): Allow pragma expansion after namespace. For deferred + pragmas, don't slurp the line into a string. + (destringize_and_run): Save tokens for deferred pragmas. + (cpp_handle_deferred_pragma): Remove. + * macro.c (builtin_macro): Remove pragma token hack. + (_cpp_push_token_context): Rename from push_token_context and export. + * internal.h (struct lexer_state): Add pragma_allow_expansion. + (_cpp_push_token_context): Declare. + * lex.c (_cpp_lex_token): Allow _cpp_handle_directive to return + a token. Update the line number correctly if so. + (_cpp_lex_direct): Emit CPP_PRAGMA_EOL tokens. + (cpp_token_val_index): Return CPP_TOKEN_FLD_PRAGMA for pragmas. + * include/cpplib.h (PRAGMA_EOL): New. + (CPP_TOKEN_FLD_PRAGMA): New. + (struct cpp_token): Add val.pragma. + (struct cpp_options): Remove defer_pragmas. + (cpp_handle_deferred_pragma): Remove. + (cpp_register_deferred_pragma): Declare. + +2006-01-01 Jakub Jelinek <jakub@redhat.com> + + PR c++/25294 + * directives.c (do_pragma): If pragma line ends with multi-line + block comment, end the saved deferred pragma string before that + comment. Handle embedded '\0' chars on the pragma line. + +2005-12-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR c++/23333 + * include/cpplib.h: Add PURE_ZERO to flags for the cpp_token structure. + +2005-12-07 Jon Grimm <jgrimm2@us.ibm.com> + Ben Elliston <bje@au.ibm.com> + + * include/cpplib.h (CPP_N_DFLOAT): New. + * expr.c (interpret_float_suffix): Identify df, dd, and dl + suffixes as decimal floating point constants. + (cpp_classify_number): Disallow hexadecimal DFP constants. + +2005-11-14 Gerald Pfeifer <gerald@pfeifer.com> + Ian Lance Taylor <ian@airs.com> + + * include/cpplib.h (struct cpp_callbacks): Annotate error with + ATTRIBUTE_FPTR_PRINTF(3,0) instead of ATTRIBUTE_PRINTF(3,0). + +2005-11-09 Per Bothner <per@bothner.com> + Uros Bizjak <uros@kss-loka.si> + + PR c/24101 + * init.c (read_original_filename): Temporarily set + state.in_directive before calling _cpp_lex_direct for + CPP_HASH tokens. + +2005-11-03 James E Wilson <wilson@specifix.com> + + PR preprocessor/24202 + * files.c (_cpp_pop_file_buffer): Set buffer_valid to false. + +2005-11-04 Joseph S. Myers <joseph@codesourcery.com> + + * include/cpplib.h (struct cpp_callbacks): Make error take + va_list* parameter. + * errors.c (cpp_error): Update call to callback. + +2005-11-03 Andrew Pinski <pinskia@physics.uc.edu> + + PR preprocessor/22042 + * macro.c (_cpp_builtin_macro_text): Lower the needed max + buffer size. + (cpp_quote_string): Don't octalify non printable + charactors. + +2005-11-03 Joseph S. Myers <joseph@codesourcery.com> + + PR c++/17964 + * include/cpplib.h (struct cpp_options): Add client_diagnostic. + (struct cpp_callbacks): Add error. + * errors.c (cpp_error): If client_diagnostic, use error callback. + * charset.c (convert_escape): Don't use %03o in diagnostic. + +2005-10-21 James E Wilson <wilson@specifix.com> + + PR preprocessor/15220 + * files.c (_cpp_find_file): New parameter angle_brackets. Fix all + callers. Pass to open_file_failed. + (open_file_failed): New parameter angle_brackets. Fix all callers. + Use in print_dep assignment. + * init.c (cpp_read_main_file): Pass additional arg to _cpp_find_file. + * internal.h (_cpp_find_file): Add new parm to declaration. + +2005-10-08 Kazu Hirata <kazu@codesourcery.com> + + * configure.ac: Require 64-bit int for arm*-*-*eabi*. + * configure: Regenerate. + +2005-10-04 Ian Lance Taylor <ian@airs.com> + + PR preprocessor/13726 + * directives.c (check_eol_return_comments): New static function. + (parse_include): Add buf parameter. Change all callers. + (do_include_common): If not discard comments, turn on + save_comments. Pass collected comments to include callback. + * include/cpplib.h (struct cpp_callbacks): Add new parameter to + include callback: cpp_token list. + +2005-09-20 Joseph S. Myers <joseph@codesourcery.com> + + * include/cpplib.h (struct cpp_options): Add extended_identifiers. + * init.c (struct lang_flags, lang_defaults): Add + extended_identifiers. + (cpp_set_lang): Use it. + * lex.c (forms_identifier_p): Check extended_identifiers. + +2005-08-30 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/20348 + PR preprocessor/20356 + * files.c (_cpp_find_file, search_cache): Revert 2004-06-26 and + 2004-06-05 changes. + +2005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * configure.ac (ACX_PROG_CC_WARNING_OPTS): add + -Wmissing-format-attribute. + + * configure: Regenerate. + +2005-06-29 Kelley Cook <kcook@gcc.gnu.org> + + * all files: Update FSF address in copyright headers. + * makeucnid.c (write_copyright): Update outputted FSF address. + +2005-06-13 Zack Weinberg <zack@codesourcery.com> + + * configure.ac: Invoke ZW_CREATE_DEPDIR and + ZW_PROG_COMPILER_DEPENDENCIES. + * aclocal.m4, configure: Regenerate. + * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.base, COMPILE): + New variables. + (distclean): Clean up $(DEPDIR) and its contents. + (.c.o): Use $(COMPILE). + Include $(DEPDIR)/*.Po for most object->header dependencies. + +2005-05-28 Gabriel Dos Reis <gdr@integrable-solutions.net> + + * configure.ac: Check declarations for asprintf and vasprintf. + * config.in: Regenerate. + * configure: Likewise. + + * charset.c (conversion_loop): Use XRESIZEVEC. + (convert_no_conversion): Likewise. + (convert_using_iconv): Likewise. + (init_iconv_desc): Cast return value of alloca. + (cpp_host_to_exec_charset): Use XNEWVEC. + (emit_numeric_escape): Use XRESIZEVEC. + (cpp_interpret_string): Use XNEWVEC. + (cpp_interpret_string): Use XRESIZEVEC. + (_cpp_interpret_identifier): Cast return value of alloca. + (_cpp_convert_input): Use XNEWVEC and XRESIZEVEC. + * directives.c (glue_header_name): Use XNEWVEC and XRESIZEVEC. + (parse_include): Use XNEWVEC. + (insert_pragma_entry): Rename local variable "new" to + "new_entry". + (save_registered_pragmas): Cast return value of xmemdup. + (destringize_and_run): Same for alloca. + (parse_assertion): Likewise. + (do_assert): Cast allocated storage to proper type. + (cpp_define): Likewise. + (_cpp_define_builtin): Likewise. + (cpp_undef): Likewise. + (handle_assertion): Likewise. + (cpp_push_buffer): Rename local variable "new" to "new_buffer". + * expr.c (CPP_UPLUS): Cast value to type cpp_ttype. + (CPP_UMINUS): Likewise. + (struct cpp_operator): Rename from struct operator. + (_cpp_expand_op_stack): Use XRESIZEVEC. + * files.c (pch_open_file): Use XNEWVEC. + (pch_open_file): Use XRESIZEVEC. + (read_file_guts): Use XNEWVEC and XRESIZEVEC. + (dir_name_of_file): Use XNEWVEC. + (make_cpp_file): Use XCNEW. + (make_cpp_dir): Likewise. + (allocate_file_hash_entries): USE XNEWVEC. + (cpp_included): Cast return value of htab_find_with_hash. + (append_file_to_dir): Use XNEWVEC. + (read_filename_string): Likewise. Use XRESIZEVEC too. + (read_name_map): Cast return value of alloca. Use XRESIZEVEC. + (remap_filename): Use XNEWVEC. + (struct pchf_entry): Move definition out of struct pchf_data. + (_cpp_save_file_entries): Use XCNEWVAR. + (_cpp_read_file_entries): Use XNEWVAR. + * identifiers.c (alloc_node): Use XOBNEW. + * init.c (cpp_create_reader): Use XCNEW. + (cpp_init_builtins): Cast of b->value to enum builtin_type. + (read_original_directory): Cast return value of alloca. + * lex.c (add_line_note): Use XRESIZEVEC. + (warn_about_normalization): Use XNEWVEC. + (_cpp_lex_direct): Cast node->directive_index to (enum cpp_ttype). + (new_buff): Use XNEWVEC. + * line-map.c (linemap_add): Use XRESIZEVEC. + * macro.c (builtin_macro): Cast return value of alloca. + (paste_tokens): Likewise. + (expand_arg): Use XNEWVEC and XRESIZEVEC. + (_cpp_save_parameter): Use XRESIZEVEC. + (create_iso_definition): Cast allocated storage to proper type. + (_cpp_create_definition): Likewise. + (cpp_macro_definition): Use XRESIZEVEC. + * makedepend.c (add_clm): Use XNEW. + (add_dir): Likewise. + * mkdeps.c (munge): Use XNEWVEC. + (deps_init): Use XCNEW. + (deps_add_target): Use XRESIZEVEC. + (deps_add_default_target): Cast return value of alloca. + (deps_add_dep): Use XRESIZEVEC. + (deps_add_vpath): Likewise. Use XNEWVEC too. + (deps_restore): Likewise. + * pch.c (save_idents): Use XNEW and XNEWVEC. + (cpp_save_state): Use XNEW. + (count_defs): Cast return value of htab_find. + (write_defs): Likewise. + (cpp_write_pch_deps): Use XNEWVEC. + (collect_ht_nodes): Use XRESIZEVEC. + (cpp_valid_state): Use XNEWVEC. + (save_macros): Use XRESIZEVEC. Cast return value of xmemdup. + * symtab.c (ht_create): Use XCNEW. + (ht_lookup_with_hash): Cast return value of obstack_copy0. + (ht_expand): Use XCNEWVEC. + * system.h (HAVE_DESIGNATED_INITIALIZERS): False if __cplusplus. + (bool): Do not define if __cplusplus. + +2005-05-12 Zack Weinberg <zack@codesourcery.com> + + * directives.c (#sccs table entry): Mark IN_I, consistent with #ident. + (do_sccs): Delete function definition, #define to do_ident. + (do_ident): Don't hardwire directive name. + +2005-05-12 Ryota Kunisawa <kunisawa@access.co.jp> + + PR bootstrap/21230 + * configure: Regenerate. + +2005-04-27 Andris Pavenis <pavenis@latnet.lv> + + * files.c: Include io.h for DJGPP to get prototype of setmode. + +2005-04-19 Per Bothner <per@bothner.com> + + PR preprocessor/20907 + * line-map.c (linemap_line_start): Fix bug when we need to increse + column_bits but can re-use the current line_map. + +2005-04-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * system.h (fopen, fdopen, freopen): Define these to the unlocked + libiberty functions. + +2005-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * configure.ac (libcpp_UNLOCKED_FUNCS): New. + (AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS. + * system.h (putchar, getc, getchar, clearerr, feof, fileno, + fflush, fgetc, fgets, ferror, fread): Redefine to the associated + _unlocked function. + (fwrite_unlocked): Fix prototype. + + * configure, config.in: Regenerate. + +2005-04-05 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/19475 + * macro.c (create_iso_definition): For < ISO C99, don't + pedwarn if there is no whitespace between macro name and its + replacement, but the replacement starts with a basic character + set character. + +2005-03-28 Andreas Jaeger <aj@suse.de> + + * lex.c (warn_about_normalization): Cast field width to int to + avoid warning. + +2005-03-19 Joseph S. Myers <joseph@codesourcery.com> + + * configure.ac: Consistently use solaris2.1[0-9]* instead of + solaris2.1[0-9]. + * configure: Regenerate. + +2005-03-15 Geoffrey Keating <geoffk@apple.com> + + * charset.c (_cpp_valid_ucn): In identifiers, reject a partial + UCN rather than printing an error. + +2005-03-14 Geoffrey Keating <geoffk@apple.com> + + * lex.c (forms_identifier_p): Disable UCNs in C89 mode. + +2005-03-14 Geoffrey Keating <geoffk@apple.com> + + * init.c (cpp_create_reader): Default warn_normalize to normalized_C. + * charset.c: Update for new format of ucnid.h. + (ucn_valid_in_identifier): Update for new format of ucnid.h. + Add NST parameter, and update it; update callers. + (cpp_valid_ucn): Add NST parameter, update callers. Replace abort + with cpp_error. + (convert_ucn): Pass normalize_state to cpp_valid_ucn. + * internal.h (struct normalize_state): New. + (INITIAL_NORMALIZE_STATE): New. + (NORMALIZE_STATE_RESULT): New. + (NORMALIZE_STATE_UPDATE_IDNUM): New. + (_cpp_valid_ucn): New. + * lex.c (warn_about_normalization): New. + (forms_identifier_p): Add normalize_state parameter, update callers. + (lex_identifier): Add normalize_state parameter, update callers. Keep + the state current. + (lex_number): Likewise. + (_cpp_lex_direct): Pass normalize_state to subroutines. Check + it with warn_about_normalization. + * makeucnid.c: New. + * ucnid.h: Replace. + * ucnid.pl: Remove. + * ucnid.tab: Make appropriate for input to makeucnid.c. Remove + comments about obsolete version of C++. + * include/cpplib.h (enum cpp_normalize_level): New. + (struct cpp_options): Add warn_normalize field. + +2005-03-11 Geoffrey Keating <geoffk@apple.com> + + * directives.c (glue_header_name): Update call to cpp_spell_token. + * internal.h (_cpp_interpret_identifier): New. + * charset.c (_cpp_interpret_identifier): New. + (_cpp_valid_ucn): Allow UCN version of '$'. + * lex.c (lex_identifier): Add extra parameter to indicate if initial + character was '$' or '\'. Support identifiers with UCNs. + (forms_identifier_p): Allow UCNs. + (_cpp_lex_direct): Pass extra parameter to lex_identifier. + (utf8_to_ucn): New. + (cpp_spell_token): Add FORSTRING parameter. Use it. + (cpp_token_as_text): Update call to cpp_spell_token. + (cpp_output_token): Write UCNs back out. + (stringify_arg): Update call to cpp_spell_token. + (paste_tokens): Likewise. + (cpp_macro_definition): Likewise. + * macro.c (stringify_arg): Likewise. + (paste_tokens): Likewise. + (cpp_macro_definition): Likewise. + * include/cpplib.h: Add parameter to cpp_spell_token. + +2005-03-04 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/20282 + PR bootstrap/20305 + * macro.c (replace_args, cpp_get_token): Copy whole + cpp_token_u instead of just cpp_string field from it. + +2005-02-28 Devang Patel <dpatel@apple.com> + + * directives.c (do_line): Save sysp early before line table is + realloc'ed. + +2005-02-20 Zack Weinberg <zack@codesourcery.com> + + PR 18785 + * charset.c (LAST_POSSIBLY_BASIC_SOURCE_CHAR): New helper macro. + (cpp_host_to_exec_charset): New function. + * include/cpplib.h: Declare cpp_host_to_exec_charset. + +2005-02-19 Devang Patel <dpatel@apple.com> + + * charset.c (_cpp_convert_input): Check '\r' before inserting + '\n' at the end. + +2005-02-15 Eric Christopher <echristo@redhat.com> + + PR preprocessor/19077 + * macro.c (cpp_macro_definition): Move handling of whitespace + to PREV_WHITE conditional. Remove overloading of len + variable. + +2005-02-14 Kazu Hirata <kazu@cs.umass.edu> + + * directives.c, files.c, init.c, internal.h, macro.c, pch.c, + traditional.c: Update copyright. + +2005-02-14 Paolo Bonzini <bonzini@gnu.org> + + PR bootstrap/19818 + * configure.ac: Check for declaration of basename and getopt. + * config.in: Regenerate. + * configure: Regenerate. + * internal.h (ustrcspn): New. + * macro.c (create_iso_definition): Fix allocation of memory. + (padding_token): Add cast to remove const-ness. + * pch.c (cpp_read_state): Use ustrcspn. + +2005-02-08 Mike Stump <mrs@apple.com> + + * files.c (pchf_adder): Remove. + (struct pchf_adder_info): Likewise. + (_cpp_save_file_entries): Write out all files so that #import works. + +2005-01-23 Joseph S. Myers <joseph@codesourcery.com> + + * configure: Regenerate. + +2005-01-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> + + * include/cpplib.h (c_lang): Fix comment to say cpp_create_reader. + + * include/cpplib.h: Also update copyright years. + +2005-01-03 Geoffrey Keating <geoffk@apple.com> + + * files.c (_cpp_find_file): Add files found by search_path_exhausted + to the list of all files. + +2005-01-01 Gabriel Dos Reis <gdr@integrable-solutions.net> + + * internal.h: Update references to Cpp lib filenames. + * directives.c: Likewise. + * init.c: Likewise. + * macro.c: Likewise. + * traditional.c: Likewise. + +2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR preprocessor/15167 + * files.c (destroy_cpp_file): New function. + (should_stack_file): Make a new file if the + compared file is still stacked. + +2004-11-28 Nathanael Nerode <neroden@gcc.gnu.org> + + PR preprocessor/17610 + * directives.c (do_include_common): Error out if an empty filename + is given for #include (or #include_next or #import). + +2004-11-27 Roger Sayle <roger@eyesopen.com> + Zack Weinberg <zack@codesourcery.com> + + * internal.h: Replace all uses of uchar with unsigned char. + * include/cpp-id-data.h: Likewise. Guard typedef of uchar + with !IN_GCC, so uchar is only defined whilst building libcpp. + +2004-11-24 Kelley Cook <kcook@gcc.gnu.org> + + * aclocal.m4: Regenerate. + +2004-11-24 Roger Sayle <roger@eyesopen.com> + + PR preprocessor/15824 + * configure.ac: Correct HAVE_UCHAR test to #include <sys/types.h> + directly, instead of the non-existant "system.h" and "ansidecl.h". + * configure: Regenerate. + +2004-11-23 Daniel Jacobowitz <dan@codesourcery.com> + Joseph Myers <joseph@codesourcery.com> + + * internal.h (struct lexer_state): Add in_deferred_pragma. + * directives.c (struct pragma_entry): Add allow_expansion. + (insert_pragma_entry): Take allow_expansion flag. + (register_pragma): Likewise. + (cpp_register_pragma): Likewise. + (_cpp_init_internal_pragmas): Update calls to cpp_register_pragma. + (do_pragma): Honor allow_expansion. + (cpp_handle_deferred_pragma): Set in_deferred_pragma. + * include/cpplib.h (cpp_register_pragma): Update prototype. + +2004-11-18 Daniel Jacobowitz <dan@codesourcery.com> + Mark Mitchell <mark@codesourcery.com> + + * configure.ac (i[34567]86-*-solaris2.1[0-9]*): Set + need_64bit_hwint=yes. + * configure: Regenerate. + +2004-11-09 Joseph S. Myers <joseph@codesourcery.com> + + * Makefile.in ($(PACKAGE).pot): New rule. Depend on + po/$(PACKAGE).pot. + (po/$(PACKAGE).pot): Use ":" instead of "," in --keyword + arguments. Add keywords _, N_, SYNTAX_ERROR and SYNTAX_ERROR2. + Remove local srcdir path from generated file. + +2004-11-04 Zack Weinberg <zack@codesourcery.com> + Gerald Pfeifer <gerald@pfeifer.com> + + * internal.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H + as well. + +2004-10-27 Zack Weinberg <zack@codesourcery.com> + + PR 18075 + * directives.c (do_pragma): Do not defer pragmas which are unknown. + (cpp_handle_deferred_pragma): Add cast to silence warning. + +2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk> + + * errors.c (_cpp_begin_message): Print "error: " for errors. + +2004-10-10 Andreas Jaeger <aj@suse.de> + + * makedepend.c: Include mkdeps.h for prototype of deps_add_vpath. + * Makefile.in (makedepend.o): Add dependency on mkdeps.h. + +2004-10-08 Andrew Pinski <pinskia@physics.uc.edu> + + * pch.c (cpp_write_pch_state): Remove variable z as it is not + used. + (cpp_read_state): Remove unused variables, m, d and mac_count. + +2004-09-29 Per Bothner <per@bothner.com> + + * directives.c (cpp_handle_deferred_pragma): Save, clear and restore + cb.line_change. Otherwise do_pragma will call the line_change + call-back with a meaningless line number. + +2004-09-24 Zack Weinberg <zack@codesourcery.com> + + * configure.ac: Move AC_PROG_MAKE_SET, AC_PROG_INSTALL to + programs cluster. Use ACX_PROG_CC_WARNING_OPTS, + ACX_PROG_CC_WARNING_ALMOST_PEDANTIC, ACX_PROG_CC_WARNINGS_ARE_ERRORS. + * aclocal.m4, configure: Regenerate. + * init.c: Include localedir.h. + * Makefile.in (WARN_CFLAGS, ALL_CFLAGS): New variables. + (DEFS): Delete. + (.c.o): Use $(ALL_CFLAGS). + (localedir.h, localedir.hs): New rules. + (clean): Use rm -rf to remove directories. + (distclean): Also delete localedir.h and localedir.hs. + (init.o): Update dependencies. + +2004-09-22 Kelley Cook <kcook@gcc.gnu.org> + + * Makefile.in (aclocal.m4): Update dependencies. + * configure.ac (AC_CONFIG_MACRO_DIR): New. + * aclocal.m4, configure: Regenerate. + +2004-09-17 Zack Weinberg <zack@codesourcery.com> + + * charset.c (_cpp_destroy_iconv, emit_numeric_escape) + (_cpp_convert_input, _cpp_default_encoding): Add comments. + Some other comments in this file also tweaked. + + * directives.c (do_pragma): Save current buffer position + before lexing the pragma keywords; don't call + _cpp_backup_tokens in the defer_pragmas case. + +2004-09-15 Per Bothner <per@bothner.com> + + * include/line-map.h (line_map_start): Add parameter names so + preceding comment makes sense. + (linemap_add): Remove from comment mention of non-existing parameter. + +2004-09-09 Matt Austern <austern@apple.com> + Zack Weinberg <zack@codesourcery.com> + + * include/cpplib.h (TTYPE_TABLE): Remove CPP_ and SPELL_ + prefixes throughout. Add entry for PRAGMA. Remove + unnecessary "= 0" from EQ. + (enum cpp_ttype): Adjust OP and TK definitions to restore + prefixes, via token-paste. + (CPP_LAST_EQ, CPP_FIRST_DIGRAPH, CPP_LAST_PUNCTUATOR, CPP_LAST_CPP_OP): + Change from #defines to additional cpp_ttype enumerators. + (struct cpp_options): Add defer_pragmas. + (cpp_handle_deferred_pragma): Prototype new interface. + + * internal.h (struct cpp_reader): Add directive_result. + * directives.c (struct pragma_entry): Add is_internal field; + give boolean fields type bool. + (start_directive): Initialize pfile->directive_result.type. + (_cpp_do__Pragma): Likewise. + (run_directive): Do not crash if pfile->buffer->prev is NULL. + (insert_pragma_entry): Add 'internal' argument; set new->is_internal + from it. + (register_pragma): New static function, bulk of former + cpp_register_pragma here; add 'internal' argument, pass along + to insert_pragma_entry. + (cpp_register_pragma): Now a wrapper around register_pragma which + always passes false for 'internal' argument. + (_cpp_init_internal_pragmas): Call register_pragma directly, passing + true for 'internal'. + (do_pragma): If CPP_OPTION (pfile, defer_pragmas) and this isn't + an internal pragma, save text till the end of the line as a CPP_PRAGMA + token instead of executing the pragma. + (cpp_handle_deferred_pragma): New interface. + * lex.c (token_spellings): Adjust OP and TK definitions to + match changes to cpplib.h. + (_cpp_lex_token): Check for a directive-result token and + return it if present. + (cpp_token_val_index): Handle CPP_PRAGMA. + * macro.c (cpp_builtin_macro_text): Correct comment. + (builtin_macro): Handle directive-result tokens from _cpp_do__Pragma. + +2004-09-06 Serge Belyshev <belyshev@lubercy.com> + + PR preprocessor/14699 + * symtab.c (ht_dump_statistics): Change type of sum_of_squares + from size_t to double. + +2004-08-28 Andreas Schwab <schwab@suse.de> + Andreas Jaeger <aj@suse.de> + + * configure.ac: Set PACKAGE correctly. + * configure: Regenerated. + +2004-08-25 Paolo Bonzini <bonzini@gnu.org> + + * Makefile.in: Add back top_builddir. + +2004-08-25 Paolo Bonzini <bonzini@gnu.org> + + * configure.ac: Replace Automake macro invocations + with manual Autoconf checks and substitutions. + * configure: Regenerate. + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * Makefile.am: Removed. + * Makefile.in: Heavy simplification and reorganization. + +2004-08-09 Mark Mitchell <mark@codesourcery.com> + + * configure.ac (arm*-*-eabi*): New target. + (arm*-*-symbianelf*): Likewise. + * configure: Regenerated. + +2004-07-24 Bernardo Innocenti <bernie@develer.com> + + * internal.h (xnew, xcnew, xnewvec, xcnewvec, xobnew): Remove. + * directives.c: Use XNEW-family macros from libiberty. + * lex.c: Likewise. + * macro.c: Likewise. + * cpplib.h (cpp_deps_style): Export enum with name. + +2004-07-23 Matthias Klose <doko@debian.org> + + * init.c (init_library): Use PACKAGE for the text domain. + +2004-07-16 Andris Pavenis <pavenis@latnet.lv> + + PR preprocessor/16366 + * internal.h (struct cpp_reader): New field dir_hash. + * files.c (make_cpp_dir): Use dir_hash, not file_hash. + (_cpp_init_files, _cpp_cleanup_files): Update for new field. + +2004-07-04 Neil Booth <neil@duron.akihabara.co.uk> + + PR preprocessor/16192 + PR preprocessor/15913 + PR preprocessor/15572 + * expr.c (_cpp_parse_expr): Handle remaining cases where an + expression is missing. + * init.c (post_options): Traditional cpp doesn't do // comments. + +2004-06-30 Per Bothner <per@bothner.com> + + * include/line-map.h (fileline): Remove old typedef. + * internal.h (struct cpp_reader): Use source_location typedef instead. + +2004-06-26 Zack Weinberg <zack@codesourcery.com> + + Partially revert patch of 2004-06-05. + * files.c (search_cache): Remove pfile argument. Don't check + for file that would be found by "" or <> search here... + (_cpp_find_file): ...do it here, before calling find_file_in_dir. + Do not apply directory-of-current-file correction to files + found by this check. Rearrange code slightly. + +2004-06-21 Geoffrey Keating <geoffk@apple.com> + + * files.c (should_stack_file): Correct swapped parameters to call + to cb.read_pch. + * pch.c (cpp_valid_state): Handle -fpreprocessed. + +2004-06-15 Paolo Bonzini <bonzini@gnu.org> + + * Makefile.in: Regenerate with automake 1.8.5. + * aclocal.m4: Likewise. + * configure: Regenerate. + +2004-06-11 Zack Weinberg <zack@codesourcery.com> + + * configure.ac: Don't invoke ACX_HEADER_STDBOOL. + * configure, config.in: Regenerate. + * system.h: Unconditionally define bool as unsigned char, + BOOL_BITFIELD as unsigned int. + * .cvsignore: New file. + +2004-06-09 Geoffrey Keating <geoffk@apple.com> + + * traditional.c (push_replacement_text): Set macro->traditional. + (save_replacement_text): Likewise. + * pch.c (cpp_write_pch_state): Don't write list of defined macros. + (struct save_macro_item): Delete. + (struct save_macro_data): Use a character array not the previous + structured format. + (save_macros): Save macro as text not as internal structures. + (cpp_prepare_state): Update for changes to save_macro_data. + (cpp_read_state): Don't read macros defined in PCH. Restore + -D macros as text. + * macro.c (create_iso_definition): Honour alloc_subobject. + Clear traditional flag. + (_cpp_create_definition): Honour alloc_subobject. + * lex.c (cpp_token_val_index): New. + * internal.h: Include cpp-id-data.h. + (uchar): Move definition to cpp-id-data.h. + (U): Likewise. + (cpp_macro): Likewise. + * directives.c (struct answer): Move to cpp-id-data.h. + (do_assert): Honour alloc_subobject. + + * include/symtab.h (struct ht): Add field 'alloc_subobject'. + * include/cpplib.h (struct cpp_string): Add GTY marker. + (enum cpp_token_fld_kind): New. + (struct cpp_token): Add GTY markers. + (cpp_token_val_index): Prototype. + (CPP_HASHNODE_VALUE_IDX): New. + (struct cpp_hashnode): Don't skip fields of 'value' when marking. + * include/cpp-id-data.h: New file. + +2004-06-09 Paolo Bonzini <bonzini@gnu.org> + + * Makefile.am (all-local): New. + * Makefile.in: Regenerate. + +2004-06-06 Roger Sayle <roger@eyesopen.com> + + * Makefile.am (LIBICONV): Declare. + (makedepend_LDADD): Use LIBICONV. + * Makefile.in: Regenerate. + +2004-06-05 Andrew Pinski <pinskia@physics.uc.edu> + + * Makefile.am (LIBINTL): Declare + (makedepend_LDADD): Use LIBINTL. + * Makefile.in: Regenerate. + +2004-06-05 Zack Weinberg <zack@codesourcery.com> + + * Makefile.am: Add makedepend. + * Makefile.in, aclocal.m4: Regenerate. + * charset.c: Insert a space to avoid a warning. + * directives.c: Include mkdeps.h. + (_cpp_handle_directive): Reenable macro expander if appropriate. + (undefine_macros): Inline body of _cpp_free_definition for speed. + Do not call undef callback or _cpp_warn_if_unused_macro. + (cpp_get_deps): New interface. + * files.c (search_cache): Add pfile argument. Check for file + that would be found by "" or <> search here... + (_cpp_find_file): ...not here. Correct recorded start_dir of + files found by directory-of-current-file search that would be + found by "" or <> search. + * init.c (cpp_add_dependency_target): Delete. + * internal.h (struct lexer_state): Add discarding_output flag. + * lex.c (lex_identifier): Compute hash function while scanning. + * macro.c (cpp_scan_nooutput): Disable macro expansion outside + directives. + * makedepend.c: New file. + * mkdeps.c (struct deps): Add vpath vector. + (apply_vpath, deps_add_vpath): New function. + (deps_free): Free vpath vector. + (deps_add_dep, deps_add_target): Use apply_vpath. + * symtab.c (calc_hash): Use HT_HASHSTEP and HT_FINISH. + (ht_lookup_with_hash): New function. + * cpplib.h, mkdeps.h: Update prototypes. + * symtab.h: Update prototypes. + (HT_HASHSTEP, HT_FINISH): New macros. + +2004-05-29 Geoffrey Keating <geoffk@apple.com> + + * symtab.c (ht_create): Set entries_owned. + (ht_destroy): Honour entries_owned. + (ht_expand): Likewise. + (ht_load): New. + * include/symtab.h (struct ht): New field 'entries_owned' + (ht_load): New prototype. + +2004-05-26 Paolo Bonzini <bonzini@gnu.org> + + PR bootstrap/15651 + * configure.ac: Fix m4 quoting when picking + the size of HOST_WIDE_INT. + * configure: Regenerate. + +2004-05-25 Paolo Bonzini <bonzini@gnu.org> + + * Makefile.am: the correct directory for + gettext include files is given by @INCINTL@. + * Makefile.in: Regenerate. + +2004-05-24 Paolo Bonzini <bonzini@gnu.org> + + * system.h [!ENABLE_NLS]: dgettext takes two + parameters. + +2004-05-23 Paolo Bonzini <bonzini@gnu.org> + + Moved libcpp from the gcc subdirectory to the toplevel. + * Makefile.am: New file. + * Makefile.in: Regenerate. + * configure.ac: New file. + * configure: Regenerate. + * config.in: Regenerate. + * charset.c: Moved from gcc/cppcharset.c. Add note about + brokenness of input charset detection. Adjust for change + in name of cppucnid.h. + * errors.c: Moved from gcc/cpperror.c. Do not include intl.h. + * expr.c: Moved from gcc/cppexp.c. + * files.c: Moved from gcc/cppfiles.c. Do not include intl.h. + Remove #define of O_BINARY, it is in system.h. + * identifiers.c: Moved from gcc/cpphash.c. + * internal.h: Moved from gcc/cpphash.h. Change header + guard name. All other files adjusted to match name change. + * init.c: Moved from gcc/cppinit.c. + (init_library) [ENABLE_NLS]: Call bindtextdomain. + * lex.c: Moved from gcc/cpplex.c. + * directives.c: Moved from gcc/cpplib.c. + * macro.c: Moved from gcc/cppmacro.c. + * pch.c: Moved from gcc/cpppch.c. Do not include intl.h. + * traditional.c: Moved from gcc/cpptrad.c. + * ucnid.h: Moved from gcc/cppucnid.h. Change header + guard name. + * ucnid.pl: Moved from gcc/cppucnid.pl. + * ucnid.tab: Moved from gcc/cppucnid.tab. Change header + guard name. + * symtab.c: Moved from gcc/hashtable.c. + * line-map.c: Moved from gcc. Do not include intl.h. + * mkdeps.c: Moved from gcc. + * system.h: New file. + * include/cpplib.h: Moved from gcc. Change header guard name. + * include/line-map.h: Moved from gcc. Change header guard name. + * include/mkdeps.h: Moved from gcc. Change header guard name. + * include/symtab.h: Moved from gcc/hashtable.h. Change header + guard name. |