]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cp/pt.c
pt.c (tsubst, [...]): Support member class templates.
authorJason Merrill <jason@yorick.cygnus.com>
Fri, 27 Feb 1998 02:27:38 +0000 (02:27 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 27 Feb 1998 02:27:38 +0000 (21:27 -0500)
commit93cdc044ea92e59e6759e591079f544c7063c117
tree9c59831d3f8b9c110c366e7b78742e0abaccd4c2
parenta7b4c0acc8bc02994bb0050ea8f2d34b833d3b41
pt.c (tsubst, [...]): Support member class templates.

* pt.c (tsubst, TEMPLATE_DECL): Support member class templates.
(tsubst, *_PARM): Support multiple levels of template classes.
(instantiate_class_template): Look up the pattern from the
original template.
(lookup_template_class): Handle getting a template for d1.
(push_template_decl): Correct setting of 'primary'.
(reduce_template_parm_level): Add 'levels' parm.
(finish_member_template_decl): Support member class templates.
(template_class_depth): Handle multiple levels.
* parse.y (component_decl_1, fn.def2): Remove member template case.
(component_decl): Add member template cases.
* decl2.c (check_member_template): We now handle member template
classes.
* decl.c (pushtag): Handle member templates.
* method.c (do_inline_function_hair): Don't touch
IDENTIFIER_GLOBAL_VALUE.
* init.c (build_offset_ref): If name isn't an identifier, just
return it.
* spew.c (yylex): Handle PTYPENAME like TYPENAME.
* typeck.c (get_delta_difference): Do adjust for conversions to
and from virtual base.

From-SVN: r18280
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/init.c
gcc/cp/method.c
gcc/cp/parse.c
gcc/cp/parse.y
gcc/cp/pt.c
gcc/cp/spew.c
gcc/cp/typeck.c