]> gcc.gnu.org Git - gcc.git/commit
c++: Add DECL_NTTP_OBJECT_P lang flag
authorNathan Sidwell <nathan@acm.org>
Wed, 28 Sep 2022 16:20:27 +0000 (09:20 -0700)
committerNathan Sidwell <nathan@acm.org>
Wed, 28 Sep 2022 20:43:07 +0000 (13:43 -0700)
commit9f65eecdbef6027722e93aadf3fa6b3cc342eb4f
treef48eebe3d44d85a5326b75a3a609ebc0b3a8c5fb
parentdb288230db55dc1ff626f46c708b555847013a41
c++: Add DECL_NTTP_OBJECT_P lang flag

VAR_DECLs for NTTPs need to be handled specially by module streaming,
in the same manner to type info decls.  This reworks their handling to
allow that work to drop in.  We use DECL_LANG_FLAG_5 to indicate such
decls (I didn't notice template_parm_object_p, which looks at the
mangled name -- anyway a bit flag on the node is better, IMHO).  We
break apart the creation routine, so there's now an entry point the
module machinery can use directly.

gcc/cp/
* cp-tree.h (DECL_NTTP_OBJECT_P): New.
(template_parm_object_p): Delete.
(build_template_parm_object): Declare.
* cxx-pretty-print.cc (pp_cx_template_argument_list): Use DECL_NTTP_OBJECT_P.
* error.cc (dump_simple_decl): Likewise.
* mangle.cc (write_template_arg): Likewise.
* pt.cc (template_parm_object_p): Delete.
(create_template_parm_object): Separated out checking from ...
(get_template_parm_object): ... this, new external entry point.
gcc/cp/cp-tree.h
gcc/cp/cxx-pretty-print.cc
gcc/cp/error.cc
gcc/cp/mangle.cc
gcc/cp/pt.cc
This page took 0.063628 seconds and 6 git commands to generate.