mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
diagnostics: return text buffer from test_show_locus [PR116613]
As work towards supporting multiple diagnostic outputs (where each output has its own pretty_printer), avoid referencing dc.m_printer throughout the selftests of diagnostic-show-locus.cc. Instead have test_diagnostic_context::test_show_locus return the result buffer, hiding the specifics of which printer is in use in such test cases. No functional change intended. gcc/ChangeLog: PR other/116613 * diagnostic-show-locus.cc (selftest::test_diagnostic_show_locus_unknown_location): Move call to dc.test_show_locus into ASSERT_STREQ, and compare against its result, rather than explicitly using dc.m_printer. (selftest::test_one_liner_simple_caret): Likewise. (selftest::test_one_liner_no_column): Likewise. (selftest::test_one_liner_caret_and_range): Likewise. (selftest::test_one_liner_multiple_carets_and_ranges): Likewise. (selftest::test_one_liner_fixit_insert_before): Likewise. (selftest::test_one_liner_fixit_insert_after): Likewise. (selftest::test_one_liner_fixit_remove): Likewise. (selftest::test_one_liner_fixit_replace): Likewise. (selftest::test_one_liner_fixit_replace_non_equal_range): Likewise. (selftest::test_one_liner_fixit_replace_equal_secondary_range): Likewise. (selftest::test_one_liner_fixit_validation_adhoc_locations): Likewise. (selftest::test_one_liner_many_fixits_1): Likewise. (selftest::test_one_liner_many_fixits_2): Likewise. (selftest::test_one_liner_labels): Likewise. (selftest::test_one_liner_simple_caret_utf8): Likewise. (selftest::test_one_liner_multiple_carets_and_ranges_utf8): Likewise. (selftest::test_one_liner_fixit_insert_before_utf8): Likewise. (selftest::test_one_liner_fixit_insert_after_utf8): Likewise. (selftest::test_one_liner_fixit_remove_utf8): Likewise. (selftest::test_one_liner_fixit_replace_utf8): Likewise. (selftest::test_one_liner_fixit_replace_non_equal_range_utf8): Likewise. (selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8): Likewise. (selftest::test_one_liner_fixit_validation_adhoc_locations_utf8): Likewise. (selftest::test_one_liner_many_fixits_1_utf8): Likewise. (selftest::test_one_liner_many_fixits_2_utf8): Likewise. (selftest::test_one_liner_labels_utf8): Likewise. (selftest::test_one_liner_colorized_utf8): Likewise. (selftest::test_add_location_if_nearby): Likewise. (selftest::test_diagnostic_show_locus_fixit_lines): Likewise. (selftest::test_overlapped_fixit_printing): Likewise. (selftest::test_overlapped_fixit_printing_utf8): Likewise. (selftest::test_overlapped_fixit_printing_utf8): Likewise. (selftest::test_overlapped_fixit_printing_2): Likewise. (selftest::test_fixit_insert_containing_newline): Likewise. (selftest::test_fixit_insert_containing_newline_2): Likewise. (selftest::test_fixit_replace_containing_newline): Likewise. (selftest::test_fixit_deletion_affecting_newline): Likewise. (selftest::test_tab_expansion): Likewise. (selftest::test_escaping_bytes_1): Likewise. (selftest::test_escaping_bytes_2): Likewise. (selftest::test_line_numbers_multiline_range): Likewise. * selftest-diagnostic.cc (selftest::test_diagnostic_context::test_show_locus): Return the formatted text of m_printer. * selftest-diagnostic.h (selftest::test_diagnostic_context::test_show_locus): Convert return type from void to const char *. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
This commit is contained in:
parent
e7a8fbe2fe
commit
9c14f9a9c1
File diff suppressed because it is too large
Load Diff
@ -79,14 +79,16 @@ test_diagnostic_context::report (diagnostic_t kind,
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Print RICHLOC's source and annotations to this context's m_printer. */
|
||||
/* Print RICHLOC's source and annotations to this context's m_printer.
|
||||
Return the text buffer from the printer. */
|
||||
|
||||
void
|
||||
const char *
|
||||
test_diagnostic_context::test_show_locus (rich_location &richloc)
|
||||
{
|
||||
gcc_assert (m_printer);
|
||||
diagnostic_source_print_policy source_policy (*this);
|
||||
source_policy.print (*m_printer, richloc, DK_ERROR, nullptr);
|
||||
return pp_formatted_text (m_printer);
|
||||
}
|
||||
|
||||
} // namespace selftest
|
||||
|
@ -53,7 +53,7 @@ class test_diagnostic_context : public diagnostic_context
|
||||
int option,
|
||||
const char * fmt, ...) ATTRIBUTE_GCC_DIAG(6,7);
|
||||
|
||||
void test_show_locus (rich_location &richloc);
|
||||
const char *test_show_locus (rich_location &richloc);
|
||||
};
|
||||
|
||||
} // namespace selftest
|
||||
|
Loading…
Reference in New Issue
Block a user