summaryrefslogtreecommitdiff
path: root/libcpp/ChangeLog
diff options
context:
space:
mode:
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2016-09-23 14:14:52 +0000
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2016-09-23 14:14:52 +0000
commit7413e757e98ce7a43ddb7674abe966b93d5e274a (patch)
tree4c2c701cee2b268d267262bed245ca34c5893ec9 /libcpp/ChangeLog
parent3a085dd1d71f006b0b9a7f128e8c9b111e4d2eef (diff)
downloadgcc-7413e757e98ce7a43ddb7674abe966b93d5e274a.tar.gz
Provide location information for terminator characters (PR preprocessor/77672)
substring_loc::get_location currently fails for the final terminator character in a STRING_CST from the C frontend, so that format_warning_va falls back to using the location of the string as a whole. This patch tweaks things [1] so that we use the final closing quote as the location of the terminator character, as requested in PR preprocessor/77672. [1] specifically, cpp_interpret_string_1. gcc/ChangeLog: PR preprocessor/77672 * input.c (selftest::test_lexer_string_locations_simple): Update test to expect location information of the terminator character at the location of the final closing quote. (selftest::test_lexer_string_locations_hex): Likewise. (selftest::test_lexer_string_locations_oct): Likewise. (selftest::test_lexer_string_locations_letter_escape_1): Likewise. (selftest::test_lexer_string_locations_letter_escape_2): Likewise. (selftest::test_lexer_string_locations_ucn4): Likewise. (selftest::test_lexer_string_locations_ucn8): Likewise. (selftest::test_lexer_string_locations_u8): Likewise. (selftest::test_lexer_string_locations_utf8_source): Likewise. (selftest::test_lexer_string_locations_concatenation_1): Likewise. (selftest::test_lexer_string_locations_concatenation_2): Likewise. (selftest::test_lexer_string_locations_concatenation_3): Likewise. (selftest::test_lexer_string_locations_macro): Likewise. (selftest::test_lexer_string_locations_long_line): Likewise. gcc/testsuite/ChangeLog: PR preprocessor/77672 * gcc.dg/plugin/diagnostic-test-string-literals-1.c (test_terminator_location): New function. libcpp/ChangeLog: PR preprocessor/77672 * charset.c (cpp_interpret_string_1): Add a source_range for the NUL-terminator, using the location of the trailing quote of the final string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240434 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libcpp/ChangeLog')
-rw-r--r--libcpp/ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index e039069a714..61304cb6bcb 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,10 @@
+2016-09-23 David Malcolm <dmalcolm@redhat.com>
+
+ PR preprocessor/77672
+ * charset.c (cpp_interpret_string_1): Add a source_range for the
+ NUL-terminator, using the location of the trailing quote of the
+ final string.
+
2016-09-21 Jason Merrill <jason@redhat.com>
* line-map.c (linemap_location_from_macro_definition_p): New.