This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/12874] [Regression] cannot declare throw (Exception) in class Exception itself
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Nov 2003 22:28:32 -0000
- Subject: [Bug c++/12874] [Regression] cannot declare throw (Exception) in class Exception itself
- References: <20031102025000.12874.rmerkert@alphatech.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12874
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |DUPLICATE
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-11-02 22:28 -------
The related part of the standard is 15.1(paragraph 3) for 3.4 throwing an exception problem and
15.4 (paragraph 1) for the exception specifications problem:
... shall not denote a pointer or reference to an incomplete type, other than void*,...
This is a dup of bug 2384, from that bug:
Not according to 9.2, p2:
"A class is considered a completely-defined object type (basic.types) (or
complete type) at the closing } of the class-specifier. Within the class
member-specification, the class is regarded as complete within function bodies,
default arguments and constructor ctor-initializers (including such things in
nested classes). Otherwise it is regarded as incomplete within its own class
member-specification."
The 3.4 problem is the only regression here, I will filed a new PR for this one: bug 12879.
*** This bug has been marked as a duplicate of 2384 ***