gcc/libcpp/include
David Malcolm a93eac6a84 Implement -fdiagnostics-parseable-fixits
gcc/ChangeLog:
	* common.opt (fdiagnostics-parseable-fixits): New option.
	* diagnostic.c: Include "selftest.h".
	(print_escaped_string): New function.
	(print_parseable_fixits): New function.
	(diagnostic_report_diagnostic): Call print_parseable_fixits.
	(selftest::assert_print_escaped_string): New function.
	(ASSERT_PRINT_ESCAPED_STRING_STREQ): New macro.
	(selftest::test_print_escaped_string): New function.
	(selftest::test_print_parseable_fixits_none): New function.
	(selftest::test_print_parseable_fixits_insert): New function.
	(selftest::test_print_parseable_fixits_remove): New function.
	(selftest::test_print_parseable_fixits_replace): New function.
	(selftest::diagnostic_c_tests): New function.
	* diagnostic.h (struct diagnostic_context): Add field
	"parseable_fixits_p".
	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
	-fdiagnostics-parseable-fixits.
	(-fdiagnostics-parseable-fixits): New option.
	* opts.c (common_handle_option): Handle
	-fdiagnostics-parseable-fixits.
	* selftest-run-tests.c (selftest::run_tests): Call
	selftest::diagnostic_c_tests.
	* selftest.h (selftest::diagnostic_c_tests): New prototype.

gcc/testsuite/ChangeLog:
	* gcc.dg/plugin/diagnostic-test-show-locus-parseable-fixits.c: New
	file.
	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
	diagnostic-test-show-locus-parseable-fixits.c to sources for
	diagnostic_plugin_test_show_locus.c.
	* lib/gcc-defs.exp (freeform_regexps): New global.
	(dg-regexp): New function.
	(handle-dg-regexps): New function.
	* lib/gcc-dg.exp (cleanup-after-saved-dg-test): Reset
	freeform_regexps to the empty list.
	* lib/prune.exp (prune_gcc_output): Call handle-dg-regexps.

libcpp/ChangeLog:
	* include/line-map.h (fixit_hint::get_start_loc): New pure virtual
	function.
	(fixit_hint::maybe_get_end_loc): Likewise.
	(fixit_insert::get_start_loc): New function, implementing
	fixit_hint::get_start_loc.
	(fixit_insert::maybe_get_end_loc): New function, implementing
	fixit_hint::maybe_get_end_loc.
	(fixit_remove::get_start_loc): New function, implementing
	fixit_hint::get_start_loc.
	(fixit_remove::maybe_get_end_loc): New function, implementing
	fixit_hint::maybe_get_end_loc.
	(fixit_replace::get_start_loc): New function, implementing
	fixit_hint::get_start_loc.
	(fixit_replace::maybe_get_end_loc): New function, implementing
	fixit_hint::maybe_get_end_loc.

From-SVN: r237712
2016-06-22 14:42:30 +00:00
..
cpp-id-data.h Update copyright years. 2016-01-04 15:30:50 +01:00
cpplib.h c-common.c (get_source_date_epoch): Rename to cb_get_source_date_epoch. 2016-06-01 16:42:41 +00:00
line-map.h Implement -fdiagnostics-parseable-fixits 2016-06-22 14:42:30 +00:00
mkdeps.h Update copyright years. 2016-01-04 15:30:50 +01:00
symtab.h Update copyright years. 2016-01-04 15:30:50 +01:00