r264662 - in /branches/c++-modules: ChangeLog.m...
nathan@gcc.gnu.org
nathan@gcc.gnu.org
Thu Sep 27 04:12:00 GMT 2018
Author: nathan
Date: Thu Sep 27 04:12:31 2018
New Revision: 264662
URL: https://gcc.gnu.org/viewcvs?rev=264662&root=gcc&view=rev
Log:
Add deferred cpp_hashnode field. Replace macro_imports hash table
with vector and refactor.
libcpp/
* include/cpplib.h (NODE_DEFERRED_MACRO): Delete.
(cpp_hashnode): Reduce flags width. Add deferred field.
(cpp_deferred_macro_p): Delete.
(cpp_set_deferred_macro): Don't set flag.
* directives.c (do_undef): Adjust deferred check.
* macro.c (undefer_macro): Adjust.
gcc/cp/
* module.c (macro_export): Drop node field. Add ctor.
(macro_import): Rename one to struct slot. Add ctors, type
erase. Delete struct traits.
(macro_imports): Change to vec type.
(macro_import::{append,exported}): Adjust.
(get_macro_{imports,exports}): Allocate node deferred index,
adjust.
(maybe_add_macro): Add to macros vector, check unexported undefs
here.
(macro_loc_cmp): Reimplement.
(module_state::{read,write}_macros): Adjust.
(module_state::{undef,deferred}_macro): Likewise.
(finish_module_parse): Adjust deallocation.
Modified:
branches/c++-modules/ChangeLog.modules
branches/c++-modules/gcc/cp/module.c
branches/c++-modules/libcpp/directives.c
branches/c++-modules/libcpp/include/cpplib.h
branches/c++-modules/libcpp/macro.c
More information about the Gcc-cvs
mailing list