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



--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-07 
13:14:12 UTC ---

Created attachment 29384

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29384

gcc48-pr56239.patch



If () is the only problem, then it can be fixed e.g. by the following patch

(untested so far, except for make -C gcc check-g++).



BTW, I wonder where the standard resolves the ambiguity between parsing it as a

function call with parenthesized ctor and between a cast.  For zero operands it

is not ambiguous, but if there is one or more operands, apparently it should be

parsed as cast, but I haven't found where the standard says so.

struct S { int operator()(int, int); };

int main() { (S())(1, 2); }

//int main() { S s; s(1, 2); }

Reply via email to