aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/expr.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2017-05-23 21:46:16 -0400
committerJason Merrill <jason@gcc.gnu.org>2017-05-23 21:46:16 -0400
commit5726acd7d7f84a27e17719f185e3e4c5e67aeb2d (patch)
treeb840b09fa0605e400acc0557650e104335dfb670 /gcc/cp/expr.c
parentc15394ee0dd5f7bcc4ee8d1ce91d2ce98d04f2d9 (diff)
downloadgcc-5726acd7d7f84a27e17719f185e3e4c5e67aeb2d.zip
gcc-5726acd7d7f84a27e17719f185e3e4c5e67aeb2d.tar.gz
gcc-5726acd7d7f84a27e17719f185e3e4c5e67aeb2d.tar.bz2
-Wunused and C++17 structured bindings
* decl.c (poplevel): Don't warn about unused structured bindings, only real variables. * error.c (dump_simple_decl): Handle structured bindings. * expr.c (mark_exp_read): Look through DECL_VALUE_EXPR. From-SVN: r248399
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r--gcc/cp/expr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index 77af54e..75e99e5 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -133,6 +133,9 @@ mark_exp_read (tree exp)
switch (TREE_CODE (exp))
{
case VAR_DECL:
+ if (DECL_VALUE_EXPR (exp))
+ mark_exp_read (DECL_VALUE_EXPR (exp));
+ gcc_fallthrough ();
case PARM_DECL:
DECL_READ_P (exp) = 1;
break;