+2013-07-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/57771
+ * parser.c (cp_parser_postfix_expression) <case RID_STATCAST>
+ Temporarily set parser->greater_than_is_operator_p for
+ cp_parser_expression and restore from saved value afterwards.
+
2013-06-28 Ed Smith-Rowland <3dw4rd@verizon.net>
* cp-tree.h (UDLIT_OP_ANSI_PREFIX): Remove space.
/* Restore the old message. */
parser->type_definition_forbidden_message = saved_message;
+ bool saved_greater_than_is_operator_p
+ = parser->greater_than_is_operator_p;
+ parser->greater_than_is_operator_p = true;
+
/* And the expression which is being cast. */
cp_parser_require (parser, CPP_OPEN_PAREN, RT_OPEN_PAREN);
expression = cp_parser_expression (parser, /*cast_p=*/true, & idk);
cp_parser_require (parser, CPP_CLOSE_PAREN, RT_CLOSE_PAREN);
+ parser->greater_than_is_operator_p
+ = saved_greater_than_is_operator_p;
+
/* Only type conversions to integral or enumeration types
can be used in constant-expressions. */
if (!cast_valid_in_integral_constant_expression_p (type)
+2013-07-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/57771
+ * g++.dg/template/arg9.C: New test.
+
2013-07-02 Sriraman Tallam <tmsriram@google.com>
* gcc.target/i386/avx-inline.c: New test.