[pushed] c++, coroutines: Fix a typo in checking for void expression types.
Checks
Commit Message
tested on x86_64-darwin and linux, pushed to trunk as obvious, thanks,
Iain
--- 8< ---
The current code fails to check for void expression types because it does
not lookup the type. Fixed thus.
gcc/cp/ChangeLog:
* coroutines.cc (replace_continue): Look up expression type.
Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
---
gcc/cp/coroutines.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -3433,7 +3433,7 @@ replace_continue (tree *stmt, int *do_subtree, void *d)
tree expr = *stmt;
if (TREE_CODE (expr) == CLEANUP_POINT_EXPR)
expr = TREE_OPERAND (expr, 0);
- if (CONVERT_EXPR_P (expr) && VOID_TYPE_P (expr))
+ if (CONVERT_EXPR_P (expr) && VOID_TYPE_P (TREE_TYPE (expr)))
expr = TREE_OPERAND (expr, 0);
STRIP_NOPS (expr);
if (!STATEMENT_CLASS_P (expr))