This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[C PATCH] remove goto in c_parser_sizeof_expression
- From: Prathamesh Kulkarni <bilbotheelffriend at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org, "Joseph S. Myers" <joseph at codesourcery dot com>, Marek Polacek <polacek at redhat dot com>
- Date: Sat, 22 Feb 2014 22:34:13 +0530
- Subject: [C PATCH] remove goto in c_parser_sizeof_expression
- Authentication-results: sourceware.org; auth=none
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
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;
}
+ else
+ {
/* sizeof ( type-name ). */
c_inhibit_evaluation_warnings--;
in_sizeof--;
return c_expr_sizeof_type (expr_loc, type_name);
+ }
}
else
{
expr_loc = c_parser_peek_token (parser)->location;
expr = c_parser_unary_expression (parser);
- sizeof_expr:
- c_inhibit_evaluation_warnings--;
- in_sizeof--;
- mark_exp_read (expr.value);
- if (TREE_CODE (expr.value) == COMPONENT_REF
+ }
+ 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);
- }
}
/* Parse an alignof expression. */