Fix missing range information for "%q+D" format code
gcc/c-family/ChangeLog: * c-common.c (c_cpp_error): Update for change to rich_location::set_range. gcc/fortran/ChangeLog: * error.c (gfc_format_decoder): Update for change of text_info::set_range to text_info::set_location. gcc/ChangeLog: * pretty-print.c (text_info::set_range): Rename to... (text_info::set_location): ...this, converting 2nd param from source_range to a location_t. * pretty-print.h (text_info::set_location): Convert from inline function to external definition. (text_info::set_range): Delete. gcc/testsuite/ChangeLog: * gcc.dg/diagnostic-ranges-1.c: New test file. * gcc.dg/plugin/diagnostic-test-show-locus-bw.c (test_percent_q_plus_d): New test function. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (test_show_locus): Rewrite test code using rich_location::set_range. Add code to unit-test the "%q+D" format code. libcpp/ChangeLog: * include/line-map.h (rich_location::set_range): Add line_maps * param; convert param from source_range to source_location. Drop "overwrite_loc_p" param. * line-map.c (rich_location::set_range): Likewise, acting as if "overwrite_loc_p" were true, and getting range from the location. From-SVN: r231367
This commit is contained in:
committed by
David Malcolm
parent
4f6788a171
commit
f79520bb11
@@ -1376,8 +1376,8 @@ class rich_location
|
||||
add_range (location_range *src_range);
|
||||
|
||||
void
|
||||
set_range (unsigned int idx, source_range src_range,
|
||||
bool show_caret_p, bool overwrite_loc_p);
|
||||
set_range (line_maps *set, unsigned int idx, source_location loc,
|
||||
bool show_caret_p);
|
||||
|
||||
unsigned int get_num_locations () const { return m_num_ranges; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user