aboutsummaryrefslogtreecommitdiff
path: root/libcpp/directives.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2018-08-08 18:13:00 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2018-08-08 18:13:00 +0000
commitf10a91352f83232394646df5a67bdb8f4366a067 (patch)
treea4ec7ecbde7bfc84329e5a2bb1dc8dea689d7d31 /libcpp/directives.c
parenta801991954f70fb9470502d305065719849c5660 (diff)
downloadgcc-f10a91352f83232394646df5a67bdb8f4366a067.zip
gcc-f10a91352f83232394646df5a67bdb8f4366a067.tar.gz
gcc-f10a91352f83232394646df5a67bdb8f4366a067.tar.bz2
[PATCH] line-map include-from representation
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00554.html Make linemap::included_from a location libcpp/ * include/line-map.h (struct line_map_ordinary): Replace included_from map index with included_at source_location. (ORDINARY_MAP_INCLUDER_FILE_INDEX): Delete. (LAST_SOURCE_LINE_LOCATION): Delete. (LAST_SOURCE_LINE, LAST_SOURCE_COLUMN): Delete. (linemap_included_from): New. (linemap_included_from_linemap): Declare. (MAIN_FILE_P): Adjust. * line-map.c (linemap_included_from_linemap): New. (lonemap_check_files_exited): Use linemap_included_at. (linemap_add): Adjust inclusion setting. (linemap_dump, linemap_dump_location): Adjust. * directives.c (do_linemarker): Use linemap_included_at. gcc/ * diagnostic.c (diagnostic_report_current_module): Use linemap_included_from & linemap_included_from_linemap. gcc/c-family/ * c-common.c (try_to_locate_new_include_inertion_point): Use linemap_included_from_linemap. * c-lex.c (fe_file_change): Use linemap_included_from. * c-ppoutput.c (pp_file_change): Likewise. gcc/fortran/ * cpp.c (cb_file_change): Use linemap_included_from. gcc/testsuite/ * c-c++-common/inc-from-1a.h, c-c++-common/inc-from-1b.h, c-c++-common/inc-from-1.c: New From-SVN: r263429
Diffstat (limited to 'libcpp/directives.c')
-rw-r--r--libcpp/directives.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libcpp/directives.c b/libcpp/directives.c
index bf13ada..352c591 100644
--- a/libcpp/directives.c
+++ b/libcpp/directives.c
@@ -1088,10 +1088,10 @@ do_linemarker (cpp_reader *pfile)
/* Reread map since cpp_get_token can invalidate it with a
reallocation. */
map = LINEMAPS_LAST_ORDINARY_MAP (line_table);
- const line_map_ordinary *from;
+ const line_map_ordinary *from
+ = linemap_included_from_linemap (line_table, map);
if (MAIN_FILE_P (map)
- || (new_file
- && (from = INCLUDED_FROM (pfile->line_table, map)) != NULL
+ || (from
&& filename_cmp (ORDINARY_MAP_FILE_NAME (from), new_file) != 0))
{
cpp_warning (pfile, CPP_W_NONE,