From b3de2446458bf8c61a8e54d6bd424bafe7ab479e Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Sun, 17 Apr 2016 05:23:15 +0000 Subject: [PATCH] Handle backslash in pp_write_text_as_dot_label_to_stream 2016-04-17 Tom de Vries PR other/70433 * pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape backslash in label. From-SVN: r235077 --- gcc/ChangeLog | 6 ++++++ gcc/pretty-print.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9216e7af4df..5dd1b098dac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-04-17 Tom de Vries + + PR other/70433 + * pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape + backslash in label. + 2016-04-17 Tom de Vries * pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars diff --git a/gcc/pretty-print.c b/gcc/pretty-print.c index c3a90a72752..8ac3d347f83 100644 --- a/gcc/pretty-print.c +++ b/gcc/pretty-print.c @@ -182,6 +182,12 @@ pp_write_text_as_dot_label_to_stream (pretty_printer *pp, bool for_record) /* The following characters always have to be escaped for use in labels. */ + case '\\': + /* There is a bug in some (f.i. 2.36.0) versions of graphiz + ( http://www.graphviz.org/mantisbt/view.php?id=2524 ) related to + backslash as last char in label. Let's avoid triggering it. */ + gcc_assert (*(p + 1) != '\0'); + /* Fall through. */ case '"': escape_char = true; break; -- 2.30.2