aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/decl.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2015-04-02 12:43:02 -0400
committerJason Merrill <jason@gcc.gnu.org>2015-04-02 12:43:02 -0400
commit37978db4a756f65b2e787837b273f773ec4aeae7 (patch)
tree13acab073eb370f925c5108cd8dab54df5f38278 /gcc/cp/decl.c
parentc23a9ec5f41faeb5f1996cb0ef902c01d0015149 (diff)
downloadgcc-37978db4a756f65b2e787837b273f773ec4aeae7.zip
gcc-37978db4a756f65b2e787837b273f773ec4aeae7.tar.gz
gcc-37978db4a756f65b2e787837b273f773ec4aeae7.tar.bz2
re PR c++/65625 (ICE in make_typename_type, at cp/decl.c:3499)
PR c++/65625 * decl.c (make_typename_type): Handle seeing a variable template. From-SVN: r221842
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r--gcc/cp/decl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 31b8e0c..c4731ae2 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -3480,9 +3480,9 @@ make_typename_type (tree context, tree name, enum tag_types tag_type,
if (TREE_CODE (name) == TEMPLATE_ID_EXPR)
{
name = TREE_OPERAND (name, 0);
- if (TREE_CODE (name) == TEMPLATE_DECL)
+ if (DECL_TYPE_TEMPLATE_P (name))
name = TREE_OPERAND (fullname, 0) = DECL_NAME (name);
- else if (TREE_CODE (name) == OVERLOAD)
+ if (TREE_CODE (name) != IDENTIFIER_NODE)
{
if (complain & tf_error)
error ("%qD is not a type", name);