diff options
Diffstat (limited to 'libcpp/files.cc')
-rw-r--r-- | libcpp/files.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libcpp/files.cc b/libcpp/files.cc index 1ed19c5..c1abde6 100644 --- a/libcpp/files.cc +++ b/libcpp/files.cc @@ -1046,6 +1046,15 @@ _cpp_stack_file (cpp_reader *pfile, _cpp_file *file, include_type type, && type < IT_DIRECTIVE_HWM && (pfile->line_table->highest_location != LINE_MAP_MAX_LOCATION - 1)); + + if (decrement && LINEMAPS_ORDINARY_USED (pfile->line_table)) + { + const line_map_ordinary *map + = LINEMAPS_LAST_ORDINARY_MAP (pfile->line_table); + if (map && map->start_location == pfile->line_table->highest_location) + decrement = false; + } + if (decrement) pfile->line_table->highest_location--; |