[PATCH] Adjust lazy macro definition
commit6d6279f88e9678c458bc22ea3be03e73f462f9e7
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Aug 2018 23:18:11 +0000 (17 23:18 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Aug 2018 23:18:11 +0000 (17 23:18 +0000)
treed259b37b7b95254179ac5634b71a84ce199430fe
parent17ed9f915863bc8c8825b867478cb1e5b1747707
[PATCH] Adjust lazy macro definition

https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01072.html
libcpp/
* include/cpplib.h (struct cpp_callbacks): Replace
user_builtin_macro with user_lazy_macro.
(struct cpp_macro): add lazy field.
(enum cpp_builtin_type): Remove BT_FIRST_USER, BT_LAST_USER.
(cpp_define_lazily): Declare.
* macro.c (enter_macro_context) Use _cpp_maybe_notify_macro_use.
(warn_of_redefinition): Use cpp_builtin_macro_p, directly call
user_lazy_macro hook.
(_cpp_new_macro): Clear lazy field.
(cpp_define_lazily): Define.
(_cpp_notify_macro_use): Adjust lazy definition code.
(cpp_macro_definition): No need to do lazy definition here.
* pch.c (write_macdef, save_macros): Likewise.
gcc/c-family/
* c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
field.
(laxy_hex_fp_value_count): Make unsigned.
(lazy_hex_fp_value): Provided with macro & lazy number.  Directly
manipulate the macro.
(builtin_defin_with_hex_fp_value): Adjust callback name, use
cpp_define_lazily.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263640 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/c-family/ChangeLog
gcc/c-family/c-cppbuiltin.c
libcpp/ChangeLog
libcpp/include/cpplib.h
libcpp/macro.c
libcpp/pch.c