From 4432aa6c814dbf34b4fd9470cc276b30bb200e38 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 4 Mar 2013 22:52:08 +0100 Subject: re PR middle-end/56461 (GCC is leaking lots of memory) PR middle-end/56461 * diagnostic.c (diagnostic_append_note): Save and restore old prefix. From-SVN: r196445 --- gcc/diagnostic.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/diagnostic.c') diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index 9335d58..a365c60 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -828,6 +828,7 @@ diagnostic_append_note (diagnostic_context *context, { diagnostic_info diagnostic; va_list ap; + const char *saved_prefix; va_start (ap, gmsgid); diagnostic_set_info (&diagnostic, gmsgid, &ap, location, DK_NOTE); @@ -836,12 +837,14 @@ diagnostic_append_note (diagnostic_context *context, va_end (ap); return; } + saved_prefix = pp_get_prefix (context->printer); pp_set_prefix (context->printer, diagnostic_build_prefix (context, &diagnostic)); pp_newline (context->printer); pp_format (context->printer, &diagnostic.message); pp_output_formatted_text (context->printer); pp_destroy_prefix (context->printer); + pp_set_prefix (context->printer, saved_prefix); diagnostic_show_locus (context, &diagnostic); va_end(ap); } -- cgit v1.1