From 6d6279f88e9678c458bc22ea3be03e73f462f9e7 Mon Sep 17 00:00:00 2001 From: nathan Date: Fri, 17 Aug 2018 23:18:11 +0000 Subject: [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 --- libcpp/ChangeLog | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libcpp/ChangeLog') diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index c79866f502a..994d424c145 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,5 +1,19 @@ 2018-08-17 Nathan Sidwell + * 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. + * include/cpplib.h (enum cpp_macro_kind): New. (struct cpp_macro): Make body trailing array. Add kind field, delete traditional flag. -- cgit v1.2.3