aboutsummaryrefslogtreecommitdiff
path: root/libcpp/include
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2016-09-15 23:57:01 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2016-09-15 23:57:01 +0000
commit31316208638e76c2273a82864d32457a9cb9806d (patch)
tree802052306a708cf70c39ab01f29991c7f405d639 /libcpp/include
parent902d624f45c2be8ca865017539f0c224c913f146 (diff)
downloadgcc-31316208638e76c2273a82864d32457a9cb9806d.zip
gcc-31316208638e76c2273a82864d32457a9cb9806d.tar.gz
gcc-31316208638e76c2273a82864d32457a9cb9806d.tar.bz2
fix-it hints can't contain newlines
I hope to implement newline support within fix-it hints at some point, but currently it's not supported, and leads to misleading diagnostic output, so for now, fail gracefully. gcc/ChangeLog: * diagnostic-show-locus.c (selftest::test_fixit_insert_containing_newline): New function. (selftest::test_fixit_replace_containing_newline): New function. (selftest::diagnostic_show_locus_c_tests): Call the above. libcpp/ChangeLog: * include/line-map.h (class rich_location): Note that newlines aren't supported in fix-it text. * line-map.c (rich_location::add_fixit_insert_before): Reject attempts to add fix-its containing newlines. (rich_location::add_fixit_replace): Likewise. From-SVN: r240169
Diffstat (limited to 'libcpp/include')
-rw-r--r--libcpp/include/line-map.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h
index 939bfcc..747609d 100644
--- a/libcpp/include/line-map.h
+++ b/libcpp/include/line-map.h
@@ -1551,6 +1551,8 @@ class fixit_hint;
Attempts to add a fix-it hint within a macro expansion will fail.
+ We do not yet support newlines in fix-it text; attempts to do so will fail.
+
The rich_location API handles these failures gracefully, so that
diagnostics can attempt to add fix-it hints without each needing
extensive checking.