The current code fails to check for void expression types because it does
not looup the type. Fixed thus.
gcc/cp/ChangeLog:
* coroutines.cc (replace_continue): Look up expression type.
Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
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))