This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/7718: 'complex' template instantiation causes internal compiler error (gcc 3.1, gcc 3.2)
- From: hg211 at ural2 dot hszk dot bme dot hu
- To: gcc-gnats at gcc dot gnu dot org
- Date: 25 Aug 2002 22:48:42 -0000
- Subject: c++/7718: 'complex' template instantiation causes internal compiler error (gcc 3.1, gcc 3.2)
- Reply-to: hg211 at ural2 dot hszk dot bme dot hu
>Number: 7718
>Category: c++
>Synopsis: 'complex' template instantiation causes internal compiler error (gcc 3.1, gcc 3.2)
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Aug 25 15:56:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Herman Geza
>Release: gcc version 3.2 20020809 (Debian prerelease)
>Organization:
>Environment:
i386/Linux, AMD Athlon
>Description:
If you give a template function as a parameter to a template class, and call this template function in a template class-function (it's hard to describe)
gcc 3.1.1 and gcc 3.2 stops with
't.cpp:19: Internal compiler error in tsubst_decl, at cp/pt.c:5648'
Try the attached simple cpp file.
If the default_initializer template function is a simple non-template function, then the sample compiles.
>How-To-Repeat:
compile the sample with 'g++ t.cpp -c'
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-c++src; name="t.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="t.cpp"
dGVtcGxhdGUgPHR5cGVuYW1lIE9CSkVDVD4Kdm9pZCBkZWZhdWx0X2luaXRpYWxpemVyKGNvbnN0
IE9CSkVDVCAmKSB7IH0KCi8vdm9pZCBkZWZhdWx0X2luaXRpYWxpemVyKGNvbnN0IGludCAmKSB7
IH0KCnRlbXBsYXRlIDx0eXBlbmFtZSBPQkpFQ1QsIHZvaWQgaW5pdF9mdW5jdGlvbihjb25zdCBP
QkpFQ1QgJik+CmNsYXNzIGNDb250YWluZXIgewoJcHVibGljOgoJCXRlbXBsYXRlIDx0eXBlbmFt
ZSBJTklUSUFMSVpFUj4KCQl2b2lkIEFkZChjb25zdCBJTklUSUFMSVpFUiAmaW5pdGlhbGl6ZXIp
IHsKCQkJaW5pdF9mdW5jdGlvbihpbml0aWFsaXplcik7CgkJfQp9OwoKaW50IG1haW4oKSB7Cglj
Q29udGFpbmVyPGludCwgZGVmYXVsdF9pbml0aWFsaXplcjxpbnQ+ID4gYzsKCS8vY0NvbnRhaW5l
cjxpbnQsIGRlZmF1bHRfaW5pdGlhbGl6ZXIgPiBjOwoKCWMuQWRkPGludD4oNDIpOwoKCXJldHVy
biAwOwp9Cg==