preprocessor: Deferred macro support
authorNathan Sidwell <nathan@acm.org>
Mon, 14 Dec 2020 15:21:49 +0000 (07:21 -0800)
committerNathan Sidwell <nathan@acm.org>
Mon, 14 Dec 2020 15:23:59 +0000 (07:23 -0800)
commit62c5ea5228857a910b38df91c2b0fe28f4d1ddc8
tree617d39cb5f141236757bee418fbbeab8ea407084
parent159b0bd9ce263dfb791eff5133b0ca0207201c84
preprocessor: Deferred macro support

For deferred macros we also need a new field on the macro itself, so
that the module machinery can determine the macro was imported.  Also
the documentation for the hashnode's deferred field was incomplete.

libcpp/
* include/cpplib.h (struct cpp_macro): Add imported_p field.
(struct cpp_hashnode): Tweak deferred field documentation.
* macro.c (_cpp_new_macro): Clear new field.
(cpp_get_deferred_macro, get_deferred_or_lazy_macro): Assert
more.
libcpp/include/cpplib.h
libcpp/macro.c