Hi,
The attached patch replaces couple of calls to c_parser_gimple_unary_expression
by c_parser_gimple_postfix_expression, to reject invalid cases like:
~t0_1 = ~a;
OK to commit after bootstrap+test ?

Thanks,
Prathamesh
diff --git a/gcc/c/gimple-parser.c b/gcc/c/gimple-parser.c
index 942597a..00809a5 100644
--- a/gcc/c/gimple-parser.c
+++ b/gcc/c/gimple-parser.c
@@ -268,7 +268,7 @@ c_parser_gimple_statement (c_parser *parser, gimple_seq 
*seq)
   tree arg = NULL_TREE;
   auto_vec<tree> vargs;
 
-  lhs = c_parser_gimple_unary_expression (parser);
+  lhs = c_parser_gimple_postfix_expression (parser);
   loc = EXPR_LOCATION (lhs.value);
   rhs.value = error_mark_node;
 
@@ -403,7 +403,7 @@ c_parser_gimple_statement (c_parser *parser, gimple_seq 
*seq)
       && c_parser_peek_2nd_token (parser)->type == CPP_OPEN_PAREN
       && lookup_name (c_parser_peek_token (parser)->value))
     {
-      rhs = c_parser_gimple_unary_expression (parser);
+      rhs = c_parser_gimple_postfix_expression (parser);
       if (rhs.value != error_mark_node)
        {
          gimple *call = gimple_build_call_from_tree (rhs.value);

Reply via email to