[PATCH] Macro body is trailing array
commit7496b8810aacd28b1998ffe91e580e450fad2a1a
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Aug 2018 16:07:19 +0000 (17 16:07 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Aug 2018 16:07:19 +0000 (17 16:07 +0000)
treed1b399c099142510b8abea59d95c27a5dd4ecf58
parent373b37e493850c9ea89c0d68baea46022bda039f
[PATCH] Macro body is trailing array

https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01037.html
* include/cpplib.h (enum cpp_macro_kind): New.
(struct cpp_macro): Make body trailing array.  Add kind field,
delete traditional flag.
* internal.h (_cpp_new_macro): Declare.
(_cpp_reserve_room): New inline.
(_cpp_commit_buf): Declare.
(_cpp_create_trad_definition): Return new macro.
* lex.c (_cpp_commit_buff): New.
* macro.c (macro_real_token_count): Count backwards.
(replace_args): Pointer equality not orderedness.
(_cpp_save_parameter): Use _cpp_reserve_room.
(alloc_expansion_token): Delete.
(lex_expansion_token): Return macro pointer.  Use _cpp_reserve_room.
(create_iso_definition): Allocate macro itself.  Adjust for
different allocation ordering.
(_cpp_new_macro): New.
(_cpp_create_definition): Adjust for API changes.
* traditional.c (push_replacement_text): Don't set traditional
flag.
(save_replacement_text): Likewise.
(_cpp_create_trad_definition): Allocate macro itself, Adjust for
different allocation ordering.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263622 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/c-family/ChangeLog
gcc/c-family/c-ada-spec.c
libcpp/ChangeLog
libcpp/include/cpplib.h
libcpp/internal.h
libcpp/lex.c
libcpp/macro.c
libcpp/traditional.c