aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/decl.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-03-23 21:54:50 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-03-23 21:54:50 +0100
commitc9db39e16e1644f929b3018e42d9674402bed409 (patch)
tree59b947b5145dddc2327a2bf96ec2694e1a4cfcfa /gcc/cp/decl.c
parentc1e7c3f2015247369b040a3ab24e85d4d68f51f4 (diff)
downloadgcc-c9db39e16e1644f929b3018e42d9674402bed409.zip
gcc-c9db39e16e1644f929b3018e42d9674402bed409.tar.gz
gcc-c9db39e16e1644f929b3018e42d9674402bed409.tar.bz2
re PR c++/85015 (internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in build_int_cst, at tree.c:1360)
PR c++/85015 * decl.c (compute_array_index_type): Set osize to mark_rvalue_use result. * g++.dg/cpp0x/pr85015.C: New test. From-SVN: r258822
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r--gcc/cp/decl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 0aa4ac2..96d4b72 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -9520,7 +9520,7 @@ compute_array_index_type (tree name, tree size, tsubst_flags_t complain)
if (!type_dependent_expression_p (size))
{
- size = mark_rvalue_use (size);
+ osize = size = mark_rvalue_use (size);
if (cxx_dialect < cxx11 && TREE_CODE (size) == NOP_EXPR
&& TREE_SIDE_EFFECTS (size))