Message ID | 55804B1C.8090507@oracle.com |
---|---|
State | New |
Headers | show |
On 06/16/2015 12:13 PM, Paolo Carlini wrote:
> + error ("expected expression");
I would say "expression-list or type-id", since new (int) is also
well-formed. OK with that change.
Jason
Index: cp/parser.c =================================================================== --- cp/parser.c (revision 224523) +++ cp/parser.c (working copy) @@ -7560,6 +7560,9 @@ cp_parser_new_placement (cp_parser* parser) /*allow_expansion_p=*/true, /*non_constant_p=*/NULL)); + if (expression_list && expression_list->is_empty ()) + error ("expected expression"); + return expression_list; } Index: testsuite/g++.dg/parse/new-placement1.C =================================================================== --- testsuite/g++.dg/parse/new-placement1.C (revision 0) +++ testsuite/g++.dg/parse/new-placement1.C (working copy) @@ -0,0 +1,3 @@ +// PR c++/59682 + +int* p = new() int; // { dg-error "expected expression" }