2017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
PR testsuite/80580
+ * gimple-parser.c (c_parser_gimple_postfix_expression): Handle
+ incorrect __MEM syntax.
+
+2017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR testsuite/80580
* gimple-parser.c (c_parser_gimple_unary_expression): Check argument
type of unary '*'.
}
}
ptr = c_parser_gimple_unary_expression (parser);
+ if (ptr.value == error_mark_node
+ || ! POINTER_TYPE_P (TREE_TYPE (ptr.value)))
+ {
+ if (ptr.value != error_mark_node)
+ error_at (ptr.get_start (),
+ "invalid type of %<__MEM%> operand");
+ c_parser_skip_until_found (parser, CPP_CLOSE_PAREN,
+ "expected %<)%>");
+ return expr;
+ }
if (! alias_type)
alias_type = TREE_TYPE (ptr.value);
/* Optional constant offset. */
2017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
PR testsuite/80580
+ * gcc.dg/gimplefe-error-5.c: New test.
+
+2017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR testsuite/80580
* gcc.dg/gimplefe-error-4.c: New test.
2017-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-fgimple" } */
+
+__GIMPLE() void a()
+{
+ __MEM() = 0; /* { dg-error "expected .<." } */
+}