diff options
author | Jason Merrill <jason@gcc.gnu.org> | 1998-02-26 21:42:03 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1998-02-26 21:42:03 -0500 |
commit | 5f311aeccd48242edc9cd75b6e88c8a26ff395b1 (patch) | |
tree | 04a6f59bd8f1ee0f8ddd77b411212121a1d93d66 | |
parent | bd762873cd42996a919c89cb7c5150dc0edd4ca0 (diff) | |
download | gcc-5f311aeccd48242edc9cd75b6e88c8a26ff395b1.zip gcc-5f311aeccd48242edc9cd75b6e88c8a26ff395b1.tar.gz gcc-5f311aeccd48242edc9cd75b6e88c8a26ff395b1.tar.bz2 |
comment
From-SVN: r18282
-rw-r--r-- | gcc/cp/init.c | 1 | ||||
-rw-r--r-- | gcc/cp/pt.c | 3 |
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; |