public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: jesteves@criticalsoftware.com To: gcc-gnats@gcc.gnu.org Subject: c++/8454: G++ 2.95 gives an ICE while compiling the copy constructor of template class CTTT(see attach) Date: Mon, 04 Nov 2002 14:56:00 -0000 [thread overview] Message-ID: <20021104225320.26559.qmail@sources.redhat.com> (raw) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 2091 bytes --] >Number: 8454 >Category: c++ >Synopsis: G++ 2.95 gives an ICE while compiling the copy constructor of template class CTTT(see attach) >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Mon Nov 04 14:56:00 PST 2002 >Closed-Date: >Last-Modified: >Originator: João Esteves >Release: gcc version 2.95.2 19991024 (release) >Organization: >Environment: FreeBSD 4.1-RELEASE on i386 >Description: bash-2.04$ g++ -o t template.cpp template.cpp: In method `CTTT<TT,T>::CTTT(const CTTT<TT,T> &)': template.cpp:31: Internal compiler error. template.cpp:31: Please submit a full bug report. template.cpp:31: See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions. >How-To-Repeat: // // A template class with a single template parameter // template <class T> class CT { public: CT(void) {} CT(const CT<T>& rc_other) {} virtual ~CT(void) {} }; // // A template class with two template parameters. // The first template parameter is a template class itself with one // template parameter. // template <template <typename> class TT, class T> class CTTT : public TT<T> { public: CTTT(void) {} // It will fail here. CTTT(const CTTT<TT,T>& rc_other) : TT<T>(rc_other) {} virtual ~CTTT(void) {} }; // // Other template class. // This time COther hinherits a hard-coded template base. // template <class T> class COther : public CT<T> { public: COther(void) : CT<T>() {} COther(const COther<T>& rc_other) : CT<T>(rc_other) {} virtual ~COther(void) {} }; // // The test for the template. // I declare an instance of each template class to force the call of all // ctors and dtors. // int main() { CT<int> cT; CT<int> cTCopy(cT); CTTT<CT,int> cTTT; CTTT<CT,int> cTTTCopy(cTTT); COther<int> cO; COther<int> cOCopy(cO); return 0; } >Fix: >Release-Note: >Audit-Trail: >Unformatted:
next reply other threads:[~2002-11-04 22:56 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2002-11-04 14:56 jesteves [this message] 2002-11-04 15:01 bangerth
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20021104225320.26559.qmail@sources.redhat.com \ --to=jesteves@criticalsoftware.com \ --cc=gcc-gnats@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).