aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>1998-02-26 21:42:03 -0500
committerJason Merrill <jason@gcc.gnu.org>1998-02-26 21:42:03 -0500
commit5f311aeccd48242edc9cd75b6e88c8a26ff395b1 (patch)
tree04a6f59bd8f1ee0f8ddd77b411212121a1d93d66
parentbd762873cd42996a919c89cb7c5150dc0edd4ca0 (diff)
downloadgcc-5f311aeccd48242edc9cd75b6e88c8a26ff395b1.zip
gcc-5f311aeccd48242edc9cd75b6e88c8a26ff395b1.tar.gz
gcc-5f311aeccd48242edc9cd75b6e88c8a26ff395b1.tar.bz2
comment
From-SVN: r18282
-rw-r--r--gcc/cp/init.c1
-rw-r--r--gcc/cp/pt.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index e2104ce..ee68dfc 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1836,6 +1836,7 @@ build_offset_ref (type, name)
tree basebinfo = NULL_TREE;
int dtor = 0;
+ /* class templates can come in as TEMPLATE_DECLs here. */
if (TREE_CODE (name) != IDENTIFIER_NODE)
return name;
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index a64fe4c..fe66bf4 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -107,6 +107,7 @@ finish_member_template_decl (template_parameters, decl)
return NULL_TREE;
else if (TREE_CODE (decl) == TREE_LIST)
{
+ /* Assume that the class is the only declspec. */
decl = TREE_VALUE (decl);
if (IS_AGGR_TYPE (decl) && CLASSTYPE_TEMPLATE_INFO (decl))
{
@@ -2958,6 +2959,7 @@ instantiate_class_template (type)
template = DECL_TI_TEMPLATE (template);
}
+ /* FIXME deal with partial specializations of member templates. */
t = most_specialized_class
(DECL_TEMPLATE_SPECIALIZATIONS (template), args);
@@ -3615,6 +3617,7 @@ tsubst (t, args, in_decl)
if (PRIMARY_TEMPLATE_P (t))
TREE_TYPE (DECL_INNERMOST_TEMPLATE_PARMS (tmpl)) = tmpl;
+ /* FIXME deal with partial specializations. */
if (TREE_CODE (decl) == TYPE_DECL)
return tmpl;