Add -fdiagnostics-generate-patch
authorDavid Malcolm <dmalcolm@redhat.com>
Fri, 2 Sep 2016 19:41:17 +0000 (19:41 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Fri, 2 Sep 2016 19:41:17 +0000 (19:41 +0000)
commit717ebe91c97c37f92ffb5a80a68eb1f6a965fce0
tree1c48b3da48c0d917939aeb557e3ff941f07bf978
parent9dc5773f4b529dd0fefffaf2a2bf9b9ff0195edd
Add -fdiagnostics-generate-patch

gcc/ChangeLog:
* common.opt (fdiagnostics-generate-patch): New option.
* diagnostic.c: Include "edit-context.h".
(diagnostic_initialize): Initialize context->edit_context_ptr.
(diagnostic_finish): Delete context->edit_context_ptr.
(diagnostic_report_diagnostic): Add fix-it hints from the
diagnostic to context->edit_context_ptr, if any.
* diagnostic.h (class edit_context): Add forward decl.
(struct diagnostic_context): Add field "edit_context_ptr".
* doc/invoke.texi (Diagnostic Message Formatting Options): Add
-fdiagnostics-generate-patch.
(-fdiagnostics-generate-patch): New item.
* toplev.c: Include "edit-context.h".
(process_options): Set global_dc->edit_context_ptr to a new
edit_context if the options need one.
(toplev::main): Handle -fdiagnostics-generate-patch by using
global_dc->edit_context_ptr.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic-test-show-locus-generate-patch.c: New
test case.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
diagnostic-test-show-locus-generate-patch.c to the sources
for diagnostic_plugin_test_show_locus.c.

From-SVN: r239965
gcc/ChangeLog
gcc/common.opt
gcc/diagnostic.c
gcc/diagnostic.h
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/plugin/diagnostic-test-show-locus-generate-patch.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/plugin/plugin.exp
gcc/toplev.c