aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/pt.c
diff options
context:
space:
mode:
authorSimon Martin <simartin@users.sourceforge.net>2007-04-17 18:05:53 +0000
committerSimon Martin <simartin@gcc.gnu.org>2007-04-17 18:05:53 +0000
commitf01ec37df9e2d75b027fa7fb2bc8738a5c6f580c (patch)
treeb91c0bec7d5fbfcd24aa2baf2e8cda6541b0a31b /gcc/cp/pt.c
parentce217d7583aa0d4817c10126f42cffbe1f8ee2d2 (diff)
downloadgcc-f01ec37df9e2d75b027fa7fb2bc8738a5c6f580c.zip
gcc-f01ec37df9e2d75b027fa7fb2bc8738a5c6f580c.tar.gz
gcc-f01ec37df9e2d75b027fa7fb2bc8738a5c6f580c.tar.bz2
re PR c++/31517 (ICE on invalid initialization of static member of a template class)
2007-04-17 Simon Martin <simartin@users.sourceforge.net> PR c++/31517 * pt.c (value_dependent_expression_p): Handle MODOP_EXPRs. From-SVN: r123923
Diffstat (limited to 'gcc/cp/pt.c')
-rw-r--r--gcc/cp/pt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 906b8d5..05d7752 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -14949,6 +14949,10 @@ value_dependent_expression_p (tree expression)
|| (type2 ? dependent_type_p (type2) : false));
}
+ case MODOP_EXPR:
+ return ((value_dependent_expression_p (TREE_OPERAND (expression, 0)))
+ || (value_dependent_expression_p (TREE_OPERAND (expression, 2))));
+
default:
/* A constant expression is value-dependent if any subexpression is
value-dependent. */