[C PATCH] remove goto in c_parser_sizeof_expression

Marek Polacek polacek@redhat.com
Sat Feb 22 18:14:00 GMT 2014


On Sat, Feb 22, 2014 at 10:34:13PM +0530, Prathamesh Kulkarni wrote:
> Not sure if this a good idea, but it seemed to me that goto sizeof_expr; wasn't
> really required in c_parser_sizeof_expression.
> Bootstrapped and regression tested on x8_64-unknown-linux-gnu
> Ok for trunk ?
> 
> * c-parser.c (c_parser_sizeof_expression): Remove goto sizeof_expr;
> 
> Thanks and Regards,
> Prathamesh

I'm not against it, but...

> Index: gcc/c/c-parser.c
> ===================================================================
> --- gcc/c/c-parser.c	(revision 207916)
> +++ gcc/c/c-parser.c	(working copy)
> @@ -6518,26 +6518,27 @@ c_parser_sizeof_expression (c_parser *pa
>  	  expr = c_parser_postfix_expression_after_paren_type (parser,
>  							       type_name,
>  							       expr_loc);
> -	  goto sizeof_expr;
>  	}

Remove { } around expr = c_parser_...

> +      else
> +  {
>        /* sizeof ( type-name ).  */
>        c_inhibit_evaluation_warnings--;
>        in_sizeof--;
>        return c_expr_sizeof_type (expr_loc, type_name);
> +  }

Tab before { and }.

> +    c_inhibit_evaluation_warnings--;
> +    in_sizeof--;
> +    mark_exp_read (expr.value);
> +    if (TREE_CODE (expr.value) == COMPONENT_REF
>  	  && DECL_C_BIT_FIELD (TREE_OPERAND (expr.value, 1)))
>  	error_at (expr_loc, "%<sizeof%> applied to a bit-field");
>        return c_expr_sizeof_expr (expr_loc, expr);

This hunk of code is wrongly indented.

	Marek



More information about the Gcc-patches mailing list