mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-19 06:10:26 +08:00
re PR middle-end/84034 (incomplete warning message with dos line endings)
2018-01-27 Bernd Edlinger <bernd.edlinger@hotmail.de> PR diagnostic/84034 * diagnostic-show-locus.c (get_line_width_without_trailing_whitespace): Handle CR like TAB. (layout::print_source_line): Likewise. (test_get_line_width_without_trailing_whitespace): Add test cases. From-SVN: r257120
This commit is contained in:
parent
0f06be5a06
commit
d76ba10db1
@ -1,3 +1,11 @@
|
||||
2018-01-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||||
|
||||
PR diagnostic/84034
|
||||
* diagnostic-show-locus.c (get_line_width_without_trailing_whitespace):
|
||||
Handle CR like TAB.
|
||||
(layout::print_source_line): Likewise.
|
||||
(test_get_line_width_without_trailing_whitespace): Add test cases.
|
||||
|
||||
2018-01-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/84040
|
||||
|
@ -639,7 +639,7 @@ get_line_width_without_trailing_whitespace (const char *line, int line_width)
|
||||
while (result > 0)
|
||||
{
|
||||
char ch = line[result - 1];
|
||||
if (ch == ' ' || ch == '\t')
|
||||
if (ch == ' ' || ch == '\t' || ch == '\r')
|
||||
result--;
|
||||
else
|
||||
break;
|
||||
@ -648,7 +648,8 @@ get_line_width_without_trailing_whitespace (const char *line, int line_width)
|
||||
gcc_assert (result <= line_width);
|
||||
gcc_assert (result == 0 ||
|
||||
(line[result - 1] != ' '
|
||||
&& line[result -1] != '\t'));
|
||||
&& line[result -1] != '\t'
|
||||
&& line[result -1] != '\r'));
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -673,9 +674,11 @@ test_get_line_width_without_trailing_whitespace ()
|
||||
assert_eq ("", 0);
|
||||
assert_eq (" ", 0);
|
||||
assert_eq ("\t", 0);
|
||||
assert_eq ("\r", 0);
|
||||
assert_eq ("hello world", 11);
|
||||
assert_eq ("hello world ", 11);
|
||||
assert_eq ("hello world \t\t ", 11);
|
||||
assert_eq ("hello world\r", 11);
|
||||
}
|
||||
|
||||
#endif /* #if CHECKING_P */
|
||||
@ -1176,8 +1179,8 @@ layout::print_source_line (int row, const char *line, int line_width,
|
||||
else
|
||||
m_colorizer.set_normal_text ();
|
||||
}
|
||||
char c = *line == '\t' ? ' ' : *line;
|
||||
if (c == '\0')
|
||||
char c = *line;
|
||||
if (c == '\0' || c == '\t' || c == '\r')
|
||||
c = ' ';
|
||||
if (c != ' ')
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user