On Mon, Aug 13, 2012 at 03:47:43PM -0500, Ollie Wild wrote:
> diff --git a/gcc/cp/call.c b/gcc/cp/call.c
> index 5345f2b..b2fac16 100644
> --- a/gcc/cp/call.c
> +++ b/gcc/cp/call.c
> @@ -8924,6 +8924,12 @@ extend_ref_init_temps_1 (tree decl, tree init,
> VEC(tree,gc) **cleanups)
> tree sub = init;
> tree *p;
> STRIP_NOPS (sub);
> + if (TREE_CODE (sub) == COMPOUND_EXPR)
> + {
> + TREE_OPERAND(sub, 1) = extend_ref_init_temps_1 (
> + decl, TREE_OPERAND(sub, 1), cleanups);
> + return init;
> + }
The formatting doesn't match GCC coding conventions in several ways.
You don't have spaces before (, and ( shouldn't be at the end of line if
possible.
TREE_OPERAND (sub, 1)
= extend_ref_init_temps_1 (decl, TREE_OPERAND (sub, 1), cleanups);
is what should be used instead.
Jakub