cp-tree.h (lang_decl_slector): New enum.
authorNathan Sidwell <nathan@acm.org>
Wed, 31 May 2017 16:46:58 +0000 (16:46 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Wed, 31 May 2017 16:46:58 +0000 (16:46 +0000)
commit91e920c9390f5293fdc84fbf9859dab53d7454b0
tree4c41fc434e3fb47d6867bccb8b227635de1ff46b
parent3909991c7b89c99e28d4b8ed2a2de740adb1d432
cp-tree.h (lang_decl_slector): New enum.

* cp-tree.h (lang_decl_slector): New enum.
(lang_decl_base): Make selector an enum.  Drop decomposition_p
field.
(lang_decl): Use enum for discrimination.
(LANG_DECL_FN_CHECK, LANG_DECL_NS_CHECK, LANG_DECL_PARM_CHECK,
LANG_DECL_DEOMP_CHECK): Use enum.
(DECL_DECOMPOSITION_P): Use selector value.
(SET_DECL_DECOMPOSITION_P): Delete.
(retrofit_lang_decl): Lose SEL parm.
(fit_decomposition_lang_decl): Declare.
* decl.c (cp_finish_decomp, grokdeclarator): Use
fit_decomposition_lang_decl.
* lex.c (maybe_add_lang_decl_raw): New. Broken out of
retrofit_lang_decl.
(set_decl_linkage): New.  Broken out of retrofit_lang_decl.  Use
enum.
(fit_decomposition_lang_decl): Likewise.
(retrofit_lang_decl): Use worker functions.
(cxx_dup_lang_specific_decl): Use selector enum.
(maybe_add_lang_type_raw): New.  Broken out of ...
(cxx_make_type_name): ... here.  Call it.

From-SVN: r248748
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/lex.c