lex.c (lex_string): Add -Wc++11-compat warning.
[platform/upstream/gcc.git] / libcpp / ChangeLog
index 463bb60..5130442 100644 (file)
@@ -1,3 +1,285 @@
+2015-05-08  Jason Merrill  <jason@redhat.com>
+
+       * include/cpplib.h: Add CPP_W_CXX11_COMPAT.
+       (struct cpp_options): Add cpp_warn_cxx11_compat.
+       * init.c (cpp_create_reader): Initialize it.
+       * lex.c (lex_string): Add -Wc++11-compat warning.
+
+2015-05-05  David Malcolm  <dmalcolm@redhat.com>
+
+       * pch.c (cpp_valid_state): Fix indentation so that it reflects the
+       block structure.
+
+2015-05-05  David Malcolm  <dmalcolm@redhat.com>
+
+       * include/line-map.h: Fix comment at the top of the file.
+       (source_location): Rewrite and expand the comment for this
+       typedef, adding an ascii-art table to clarify how source_location
+       values are allocated.
+       * line-map.c: Fix comment at the top of the file.
+
+2015-04-09  Richard Biener  <rguenther@suse.de>
+
+       PR pch/65550
+       * files.c (pch_open_file): Allow main and pre-included files
+       when trying to open a PCH.
+
+2015-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/61977
+       * lex.c (cpp_peek_token): If peektok is CPP_EOF, back it up
+       with all tokens peeked by the current function.
+
+2015-04-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/61977
+       * lex.c (cpp_peek_token): Temporarily clear pfile->cb.line_change.
+
+2015-03-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/65238
+       * internal.h (_cpp_scan_out_logical_line): Add third argument.
+       * directives.c (prepare_directive_trad): Pass false to it.
+       * traditional.c (_cpp_read_logical_line_trad,
+       _cpp_create_trad_definition): Likewise.
+       (struct fun_macro): Add paramc field.
+       (fun_like_macro): New function.
+       (maybe_start_funlike): Handle NODE_BUILTIN macros.  Initialize
+       macro->paramc field.
+       (save_argument): Use macro->paramc instead of
+       macro->node->value.macro->paramc.
+       (push_replacement_text): Formatting fix.
+       (recursive_macro): Use fun_like_macro helper.
+       (_cpp_scan_out_logical_line): Likewise.  Add BUILTIN_MACRO_ARG
+       argument.  Initialize fmacro.paramc field.  Handle builtin
+       function-like macros.
+
+2015-03-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
+
+       PR c++/64626
+       * lex.c (lex_number): If a number ends with digit-seps (') skip back
+       and let lex_string take them.
+
+2015-03-02  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+       PR target/65261
+       * lex.c (search_line_fast): Silence ubsan errors.
+
+2015-02-03    <dodji@redhat.com>
+
+       PR preprocessor/64803
+       * internal.h (cpp_reader::top_most_macro_node): New data member.
+       * macro.c (enter_macro_context): Pass the location of the end of
+       the top-most invocation of the function-like macro, or the
+       location of the expansion point of the top-most object-like macro.
+       (cpp_get_token_1): Store the top-most macro node in the new
+       pfile->top_most_macro_node data member.
+       (_cpp_pop_context): Clear the new cpp_reader::top_most_macro_node
+       data member.
+
+2015-01-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * lex.c (search_line_fast): Change __ARM_NEON__ to __ARM_NEON.
+
+2015-01-23  Marek Polacek  <polacek@redhat.com>
+
+       DR#412
+       PR preprocessor/60570
+       * directives.c (do_elif): Don't evaluate #elif conditionals
+       when they don't need to be.
+
+2015-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (cpp_classify_number): Add N_() around ?: string
+       literals used in cpp_error_with_line call as format string.
+
+2015-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+
+2014-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/63831
+       * directives.c (lex_macro_node): Remove __has_attribute__ handling.
+       * internal.h (struct spec_node): Remove n__has_attribute__ field.
+       (struct lexer_state): Remove in__has_attribute__ field.
+       * macro.c (_cpp_builtin_macro_text): Handle BT_HAS_ATTRIBUTE.
+       * identifiers.c (_cpp_init_hashtable): Remove __has_attribute__
+       handling.
+       * init.c (builtin_array): Add __has_attribute and __has_cpp_attribute.
+       (cpp_init_special_builtins): Don't initialize __has_attribute
+       or __has_cpp_attribute if CLK_ASM or pfile->cb.has_attribute is NULL.
+       * traditional.c (enum ls): Remove ls_has_attribute,
+       ls_has_attribute_close.
+       (_cpp_scan_out_logical_line): Remove __has_attribute__ handling.
+       * include/cpplib.h (enum cpp_builtin_type): Add BT_HAS_ATTRIBUTE.
+       * pch.c (cpp_read_state): Remove __has_attribute__ handling.
+       * expr.c (eval_token): Likewise.
+       (parse_has_attribute): Removed.
+
+2014-12-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * directives.c (cpp_define_formatted): Use xvasprintf.
+
+2014-12-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * line-map.c (linemap_position_for_loc_and_offset): Add new
+       linemap_assert_fails.
+
+2014-12-02  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * include/line-map.h (linemap_assert_fails): Declare.
+       * line-map.c (linemap_position_for_loc_and_offset): Use it.
+
+2014-12-02  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+        * line-map.c (linemap_add): Fix typo.
+        (linemap_line_start): Fix whitespace.
+
+2014-11-29  John Schmerge  <jbschmerge@gmail.com>
+
+       PR preprocessor/41698
+       * charset.c (one_utf8_to_utf16): Do not produce surrogate pairs
+       for 0xffff.
+
+2014-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/60436
+       * line-map.c (linemap_line_start): If highest is above 0x60000000
+       and we are still tracking columns or highest is above 0x70000000,
+       force add_map.
+
+2014-11-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/63966
+       * lex.c [__i386__ || __x86_64__]: Compile special SSE functions
+       only for (__GNUC__ >= 5 || !defined(__PIC__)).
+
+2014-11-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * include/line-map.h: Include EXPR, so that unused variable warnings
+       do not occur.
+
+2014-11-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR fortran/44054
+       * include/line-map.h (linemap_position_for_loc_and_offset):
+       Declare.
+       * line-map.c (linemap_position_for_loc_and_offset): New.
+
+2014-11-11  David Malcolm  <dmalcolm@redhat.com>
+
+       * ChangeLog.jit: New.
+
+2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
+
+       * include/cpplib.h (cpp_callbacks): Add has_attribute.
+       * internal.h (lexer_state): Add in__has_attribute__.
+       * directives.c (lex_macro_node): Prevent use of __has_attribute__
+       as a macro.
+       * expr.c (parse_has_attribute): New function; (eval_token): Look for
+       __has_attribute__ and route to parse_has_attribute.
+       * identifiers.c (_cpp_init_hashtable): Initialize n__has_attribute__.
+       * pch.c (cpp_read_state): Initialize n__has_attribute__.
+       * traditional.c (enum ls): Add ls_has_attribute, ls_has_attribute_close;
+       (_cpp_scan_out_logical_line): Attend to __has_attribute__.
+
+2014-11-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * include/cpp-id-data.h (struct cpp_macro): Update comment
+       regarding parameters.
+       * include/cpplib.h (struct cpp_macro_arg, struct cpp_identifier):
+       Add spelling fields.
+       (struct cpp_token): Update comment on macro_arg.
+       * internal.h (_cpp_save_parameter): Add extra argument.
+       (_cpp_spell_ident_ucns): New declaration.
+       * lex.c (lex_identifier): Add SPELLING argument.  Set *SPELLING to
+       original spelling of identifier.
+       (_cpp_lex_direct): Update calls to lex_identifier.
+       (_cpp_spell_ident_ucns): New function, factored out of
+       cpp_spell_token.
+       (cpp_spell_token): Adjust FORSTRING argument semantics to return
+       original spelling of identifiers.  Use _cpp_spell_ident_ucns in
+       !FORSTRING case.
+       (_cpp_equiv_tokens): Check spellings of identifiers and macro
+       arguments are identical.
+       * macro.c (macro_arg_saved_data): New structure.
+       (paste_tokens): Use original spellings of identifiers from
+       cpp_spell_token.
+       (_cpp_save_parameter): Add argument SPELLING.  Save both canonical
+       node and its value.
+       (parse_params): Update calls to _cpp_save_parameter.
+       (lex_expansion_token): Save spelling of macro argument tokens.
+       (_cpp_create_definition): Extract canonical node from saved data.
+       (cpp_macro_definition): Use UCNs in spelling of macro name.  Use
+       original spellings of macro argument tokens and identifiers.
+       * traditional.c (scan_parameters): Update call to
+       _cpp_save_parameter.
+
+2014-11-05  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/9449
+       * init.c (lang_defaults): Enable extended identifiers for C++ and
+       C99-based standards.
+
+2014-10-22  Alan Modra  <amodra@gmail.com>
+
+       * symtab.c (ht_create): Use obstack_specify_allocation in place of
+       _obstack_begin.
+       * files.c (_cpp_init_files): Likewise.
+       * init.c (cpp_create_reader): Likewise.
+       * identifiers.c (_cpp_init_hashtable): Likewise.
+
+2014-10-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * include/line-map.h (linemap_location_from_macro_expansion_p):
+       const struct line_maps * argument.
+       (linemap_position_for_line_and_column): const struct line_map *
+       argument.
+       * line-map.c (linemap_add_macro_token): Use correct argument name
+       in comment.
+       (linemap_position_for_line_and_column): const struct line_map *
+       argument.
+       (linemap_macro_map_loc_to_def_point): Fix comment. Make static.
+       (linemap_location_from_macro_expansion_p): const struct line_maps *
+       argument.
+       (linemap_resolve_location): Fix argument names in comment.
+
+2014-10-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * lex.c (search_line_fast): Add new version to be used for Power8
+       and later targets when Altivec is enabled.  Restrict the existing
+       Altivec version to big-endian systems so that lvsr is not used on
+       little endian, where it is deprecated.  Remove LE-specific code
+       from the now-BE-only version.
+
+2014-10-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+           Jeff Law  <law@redhat.com>
+
+       * charset.c (convert_no_conversion): Reallocate memory with 25%
+       headroom.
+
+2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
+
+       Implement SD-6: SG10 Feature Test Recommendations
+       * internal.h (lexer_state, spec_nodes): Add in__has_include__.
+       * directives.c: Support __has_include__ builtin.
+       * expr.c (parse_has_include): New function to parse __has_include__
+       builtin; (eval_token()): Use it.
+       * files.c (_cpp_has_header()): New funtion to look for header;
+       (open_file_failed()): Not an error to not find a header file for
+       __has_include__.
+       * identifiers.c (_cpp_init_hashtable()): Add entry for __has_include__.
+       * pch.c (cpp_read_state): Lookup __has_include__.
+       * traditional.c (enum ls, _cpp_scan_out_logical_line()): Walk through
+       __has_include__ statements.
+
+2014-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR preprocessor/58893
+       * errors.c (cpp_diagnostic): Fix possible out of bounds access.
+       * files.c (_cpp_stack_include): Initialize src_loc for IT_CMDLINE.
+
 2014-09-24  Marek Polacek  <polacek@redhat.com>
 
        PR c/61405
 
        * lex.c (lex_raw_string): Change C++ style comments into C style
        comments.
-       (lex_string): Likewise.
+       (lex_string): Likewise.
 
 2012-04-27   Ollie Wild  <aaw@google.com>
 
 
        PR bootstrap/50760
        * include/line-map.h (struct linemap_stats): Change the type of
-       the members from size_t to long.
+       the members from size_t to long.
        * macro.c (macro_arg_token_iter_init): Unconditionally initialize
-       iter->location_ptr.
+       iter->location_ptr.
 
 2011-10-17  Dodji Seketeli  <dodji@redhat.com>
 
        * line-map.c (linemap_macro_map_loc_to_exp_point): Avoid setting a
-       variable without using it if ENABLE_CHECKING is not defined.  Mark
-       the LOCATION parameter as being unused.
+       variable without using it if ENABLE_CHECKING is not defined.  Mark
+       the LOCATION parameter as being unused.
 
 2011-10-15  Tom Tromey  <tromey@redhat.com>
            Dodji Seketeli  <dodji@redhat.com>
        member.
        (MAX_SOURCE_LOCATION): New constant.
        (struct line_map_ordinary, struct line_map_macro): New structs.
-       (struct line_map): Turn this into a union of the two above.  Add
+       (struct line_map): Turn this into a union of the two above.  Add
        comments.
        (struct maps_info): New struct.
        (struct line_maps)<info_ordinary, info_macro>: Two new fields.
        * lex.c [ALTIVEC] (search_line_fast): Require gcc version 4.5.
 
 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
-            Jakub Jelinek  <jakub@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
 
        PR preprocessor/39213
        * directives.c (end_directive): Call _cpp_remove_overlay for deferred
        * 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.
 
        PR preprocessor/30363
        * traditional.c (replace_args_and_push): Add local variable
-       cxtquote, calculate the replacement text size assuming a 
+       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.
 2007-06-09  Vladimir Prus  <vladimir@codesourcery.com>
 
        * files.c (open_file): Account for the
-        fact that on windows, opening a directory gives
-        EACCES.
+       fact that on windows, opening a directory gives
+       EACCES.
 
 2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de>
 
 
 2007-05-14  Janis Johnson  <janis187@us.ibm.com>
 
-        * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.
+       * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.
 
        PR c/31924
        * expr.c (interpret_float_suffix): Check for invalid suffix.