parm = STRIP_NOPS (parm); is unnecessary and generates warning: operation on 'parm' may be undefined [-Wsequence-point] when cp/coroutines.cc is compiled with -std=c++11.
Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk? * coroutines.cc (captures_temporary): Don't assign the result of STRIP_NOPS to the same variable. --- gcc/cp/coroutines.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc index 0a8e7521c4f..ceb8daa4e46 100644 --- a/gcc/cp/coroutines.cc +++ b/gcc/cp/coroutines.cc @@ -2652,7 +2652,7 @@ captures_temporary (tree *stmt, int *do_subtree, void *d) parm = TREE_OPERAND (parm, 0); if (TREE_CODE (parm) == INDIRECT_REF) parm = TREE_OPERAND (parm, 0); - parm = STRIP_NOPS (parm); + STRIP_NOPS (parm); } /* This isn't a temporary. */ base-commit: 0fe12b0234a06e286df38d7b594abc23d1c371bc -- Marek Polacek • Red Hat, Inc. • 300 A St, Boston, MA