Skip to content
Snippets Groups Projects
  • Nathan Sidwell's avatar
    bf425849
    preprocessor: main-file cleanup · bf425849
    Nathan Sidwell authored
    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.
    bf425849
    History
    preprocessor: main-file cleanup
    Nathan Sidwell authored
    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.