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

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-09-27 
12:59:41 UTC ---
(In reply to comment #0)
> Please, look at this debate:

No, please follow the bug reporting instructions at http://gcc.gnu.org/bugs/
and post a testcase, not a link to somewhere else.

Your case can be reduced to:


struct E {
  E(int) { }
};

int main()
{
   throw E::E(1);
}

The C++11 standard says that in this case the name E::E names the constructor
(not the class) and that 
"Such a constructor name shall be used only in the declarator-id of
a declaration that names a constructor or in a using-declaration."

So I believe your code is invalid.

Reply via email to