preprocessor/100142 - revert unwanted change in last commit

This reverts a s/column_offset/column/ change in the fix for PR99446.

2021-04-19  Richard Biener  <rguenther@suse.de>

	PR preprocessor/100142
libcpp/
	* line-map.c (linemap_position_for_loc_and_offset): Revert
	unintended s/column_offset/column/ change.

gcc/testsuite/
	* gcc.dg/pr100142.c: New testcase.
	* g++.dg/diagnostic/pr72803.C: Revert last change.
This commit is contained in:
Richard Biener 2021-04-19 10:07:35 +02:00
parent 3395dfc4da
commit 2f422b550f
3 changed files with 11 additions and 4 deletions

View File

@ -5,6 +5,5 @@ class test {
// The line directive appears to be necessary to trigger the ICE
// { dg-error "style of line directive is a GCC extension" "" { target *-*-* } .-2 }
/* Verify that we get the best line and column for the diagnostic.
512 is not representable in the line-maps created for this test. */
// { dg-error "511: expected .;. after class definition" "" { target *-*-* } 3 }
/* Verify that we get the correct line and column for the diagnostic. */
// { dg-error "512: expected .;. after class definition" "" { target *-*-* } 3 }

View File

@ -0,0 +1,8 @@
/* { dg-do compile } */
/* { dg-options "-fpreprocessed" } */
void
foo (void)
{
assert (1); /* { dg-warning "implicit" } */
}

View File

@ -982,7 +982,7 @@ linemap_position_for_loc_and_offset (line_maps *set,
the next line map of the set. Otherwise, we try to encode the
location in the next map. */
for (; map != LINEMAPS_LAST_ORDINARY_MAP (set)
&& (loc + (column << map->m_range_bits)
&& (loc + (column_offset << map->m_range_bits)
>= MAP_START_LOCATION (map + 1)); map++)
/* If the next map is a different file, or starts in a higher line, we
cannot encode the location there. */