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

Reply via email to