On 11/07/2011 11:33 AM, Torvald Riegel wrote: > Fix instantiation of transaction expressions. > > * cp/pt.c (tsubst_expr) [TRANSACTION_EXPR]: If body is not a > statement, create an expression instead. > * cp/cp-tree.h (TRANSACTION_EXPR_IS_STMT, build_transaction_expr): New. > * cp/parser.c (cp_parser_transaction_expression): Use > build_transaction_expr. > * cp/semantics.c (build_transaction_expr): New. > (finish_transaction_stmt): Set TRANSACTION_EXPR_IS_STMT. > * testsuite/g++.dg/tm/template-1.C: New.
Looks good to me. > + tmp = RECUR (TRANSACTION_EXPR_BODY (t)); Dead store now. r~