preprocessor: main-file cleanup
authorNathan Sidwell <nathan@acm.org>
Thu, 19 Nov 2020 12:43:13 +0000 (04:43 -0800)
committerNathan Sidwell <nathan@acm.org>
Thu, 19 Nov 2020 12:47:00 +0000 (04:47 -0800)
commitbf425849f1dfa11f509e9ec251056d1e769b1ac2
treed73bb29cb66ee8d64169758fd9f46c9abfe72b91
parentd84ba819fe2f8bf49eddb7a3f42299a49d0206ea
preprocessor: main-file cleanup

In preparing module patch 7 I realized there was a cleanup I could
make to simplify it.  This is that cleanup.  Also, when doing the
cleanup I noticed some macros had been turned into inline functions,
but not renamed to the preprocessors internal namespace
(_cpp_$INTERNAL rather than cpp_$USER).  Thus, this renames those
functions, deletes an internal field of the file structure, and
determines whether we're in the main file by comparing to
pfile->main_file, the _cpp_file of the main file.

libcpp/
* internal.h (cpp_in_system_header): Rename to ...
(_cpp_in_system_header): ... here.
(cpp_in_primary_file): Rename to ...
(_cpp_in_main_source_file): ... here.  Compare main_file equality
and check main_search value.
* lex.c (maybe_va_opt_error, _cpp_lex_direct): Adjust for rename.
* macro.c (_cpp_builtin_macro_text): Likewise.
(replace_args): Likewise.
* directives.c (do_include_next): Likewise.
(do_pragma_once, do_pragma_system_header): Likewise.
* files.c (struct _cpp_file): Delete main_file field.
(pch_open): Check pfile->main_file equality.
(make_cpp_file): Drop cpp_reader parm, don't set main_file.
(_cpp_find_file): Adjust.
(_cpp_stack_file): Check pfile->main_file equality.
(struct report_missing_guard_data): Add cpp_reader field.
(report_missing_guard): Check pfile->main_file equality.
(_cpp_report_missing_guards): Adjust.
libcpp/directives.c
libcpp/files.c
libcpp/internal.h
libcpp/lex.c
libcpp/macro.c