http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39681

--- Comment #3 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2011-10-03 
10:07:49 UTC ---
(In reply to comment #2)
> Manuel, can I have your opinion about this one?

Since you ask, my opinion is that first there should be only 1 error and not
two, and bonus points if the error is something like "'foo' is not a type".
Clang says:

/tmp/webcompile/_9832_0.cc:4:18: error: expected a type
    int* p = new foo;
                 ^
1 error generated.

On the other hand, I understand that this may be difficult to fix with g++
tentative parser. The fix could be something like, once "new" is seen, then
commit to parse a new-expression. But I haven't looked at this code
specifically.

Interestingly, for:

int main()
{
    int* p = delete foo;
}

g++ says:

test.cc:3:21: error: ‘foo’ was not declared in this scope

Reply via email to