aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2021-11-18 00:16:34 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2021-11-18 00:16:34 +0000
commit280d2838c112f02cb24dd34a69edf112e84cfe12 (patch)
tree77fcc5baffe1d34af5c14e4d905b75edae77f153 /libcpp
parent32221357007666124409ec3ee0d3a1cf263ebc9e (diff)
downloadgcc-280d2838c112f02cb24dd34a69edf112e84cfe12.zip
gcc-280d2838c112f02cb24dd34a69edf112e84cfe12.tar.gz
gcc-280d2838c112f02cb24dd34a69edf112e84cfe12.tar.bz2
Daily bump.
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/ChangeLog71
1 files changed, 71 insertions, 0 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index e0e71a4..3bcf688 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,74 @@
+2021-11-17 David Malcolm <dmalcolm@redhat.com>
+
+ PR preprocessor/103026
+ * lex.c (struct bidi::context): New.
+ (bidi::vec): Convert to a vec of context rather than unsigned
+ char.
+ (bidi::ctx_at): Rename to...
+ (bidi::pop_kind_at): ...this and reimplement for above change.
+ (bidi::current_ctx): Update for change to vec.
+ (bidi::current_ctx_ucn_p): Likewise.
+ (bidi::current_ctx_loc): New.
+ (bidi::on_char): Update for usage of context struct. Add "loc"
+ param and pass it when pushing contexts.
+ (get_location_for_byte_range_in_cur_line): New.
+ (get_bidi_utf8): Rename to...
+ (get_bidi_utf8_1): ...this, reintroducing...
+ (get_bidi_utf8): ...as a wrapper, setting *OUT when the result is
+ not NONE.
+ (get_bidi_ucn): Rename to...
+ (get_bidi_ucn_1): ...this, reintroducing...
+ (get_bidi_ucn): ...as a wrapper, setting *OUT when the result is
+ not NONE.
+ (class unpaired_bidi_rich_location): New.
+ (maybe_warn_bidi_on_close): Use unpaired_bidi_rich_location when
+ reporting on unpaired bidi chars. Split into singular vs plural
+ spellings.
+ (maybe_warn_bidi_on_char): Pass in a location_t rather than a
+ const uchar * and use it when emitting warnings, and when calling
+ bidi::on_char.
+ (_cpp_skip_block_comment): Capture location when kind is not NONE
+ and pass it to maybe_warn_bidi_on_char.
+ (skip_line_comment): Likewise.
+ (forms_identifier_p): Likewise.
+ (lex_raw_string): Likewise.
+ (lex_string): Likewise.
+
+2021-11-17 David Malcolm <dmalcolm@redhat.com>
+
+ PR preprocessor/103026
+ * lex.c (maybe_warn_bidi_on_close): Use a rich_location
+ and call set_escape_on_output (true) on it.
+ (maybe_warn_bidi_on_char): Likewise.
+
+2021-11-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/103130
+ * lex.c (cpp_directive_only_process): Treat even \*/ as end of block
+ comment.
+
+2021-11-17 Marek Polacek <polacek@redhat.com>
+
+ PR preprocessor/103026
+ * include/cpplib.h (enum cpp_bidirectional_level): New.
+ (struct cpp_options): Add cpp_warn_bidirectional.
+ (enum cpp_warning_reason): Add CPP_W_BIDIRECTIONAL.
+ * internal.h (struct cpp_reader): Add warn_bidi_p member
+ function.
+ * init.c (cpp_create_reader): Set cpp_warn_bidirectional.
+ * lex.c (bidi): New namespace.
+ (get_bidi_utf8): New function.
+ (get_bidi_ucn): Likewise.
+ (maybe_warn_bidi_on_close): Likewise.
+ (maybe_warn_bidi_on_char): Likewise.
+ (_cpp_skip_block_comment): Implement warning about bidirectional
+ control characters.
+ (skip_line_comment): Likewise.
+ (forms_identifier_p): Likewise.
+ (lex_identifier): Likewise.
+ (lex_string): Likewise.
+ (lex_raw_string): Likewise.
+
2021-11-01 David Malcolm <dmalcolm@redhat.com>
* charset.c (convert_escape): Use encoding_rich_location when