aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/pt.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2005-08-23 12:35:42 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2005-08-23 12:35:42 +0000
commitaec5ba601b0ebaaca5362d32cebc9612aa6d2005 (patch)
tree1e54679931aeb7097bbb333f4842beeb54fa640e /gcc/cp/pt.c
parent39d67d5bd4adfe3af3e581dc4309f1a5319f8f21 (diff)
downloadgcc-aec5ba601b0ebaaca5362d32cebc9612aa6d2005.zip
gcc-aec5ba601b0ebaaca5362d32cebc9612aa6d2005.tar.gz
gcc-aec5ba601b0ebaaca5362d32cebc9612aa6d2005.tar.bz2
re PR c++/23044 (ICE on valid code)
cp: PR c++/23044 * pt.c (tsubst_qualified_id): A SCOPE_REF can still remain. testsuite: PR c++/23044 * g++.dg/template/instantiate8.C: New. From-SVN: r103395
Diffstat (limited to 'gcc/cp/pt.c')
-rw-r--r--gcc/cp/pt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index f217198..71ac318 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -7680,7 +7680,8 @@ tsubst_qualified_id (tree qualified_id, tree args,
expr = finish_qualified_id_expr (scope, expr, done, address_p);
}
- expr = convert_from_reference (expr);
+ if (TREE_CODE (expr) != SCOPE_REF)
+ expr = convert_from_reference (expr);
return expr;
}