This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
c++/157: Re: Internal compiler error for invalid method decl/defn
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c++/157: Re: Internal compiler error for invalid method decl/defn
- From: "Martin v. Loewis" <martin at loewis dot home dot cs dot tu-berlin dot de>
- Date: Wed, 29 Mar 2000 21:58:09 +0200
- References: <8766u5kbsw.fsf@bruni.artec-berlin.com>
- Resent-Cc: gcc-prs at gcc dot gnu dot org, sbund at artec-berlin dot com
- Resent-Reply-To: gcc-gnats@gcc.gnu.org, "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
>Number: 157
>Category: c++
>Synopsis: Internal compiler error for invalid method decl/defn
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: analyzed
>Class: ice-on-illegal-code
>Submitter-Id: net
>Arrival-Date: Wed Mar 29 12:06:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator: Stefan Bund <sbund@artec-berlin.com>
>Release: 2.95.2
>Organization:
>Environment:
>Description:
Date: 29 Mar 2000 17:58:55 +0200
Original-Message-ID: <8766u5kbsw.fsf@bruni.artec-berlin.com>
Lines: 45
The attached stripped down source-code will produce the following
output:
# gcc -v test.ii
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.2/specs
gcc version 2.95.2 20000116 (Debian GNU/Linux)
/usr/lib/gcc-lib/i386-linux/2.95.2/cc1plus test.ii -quiet -version -o /tmp/cc0urOYg.s
GNU C++ version 2.95.2 20000220 (Debian GNU/Linux) (i386-linux) compiled by GNU C version 2.95.2 20000220 (Debian GNU/Linux).
test.ii:11: Internal compiler error.
test.ii:11: Please submit a full bug report.
test.ii:11: See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
I know that the source-code is invalid (I've fixed it already) but
wanted to let you know of the internal compiler error anyways. I hope
this'll help in making gcc better :-)
So long,
Stefan.
>How-To-Repeat:
template <class _Tp> class auto_ptr {};
template <class _Tp>
class counted_ptr
{
public:
counted_ptr(auto_ptr<_Tp>& __a);
auto_ptr<_Tp> auto_ptr();
};
template <class _Tp>
inline counted_ptr<_Tp>::counted_ptr(class auto_ptr& __a)
{}
template <class _Tp>
inline class auto_ptr<_Tp> counted_ptr<_Tp>::auto_ptr()
{}
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: