D.gnu - infinite loop in gdc-0.19 with tempaltes
- rm (18/18) Oct 04 2006 On Gentoo (gdc-0.19), the following does land gdc in an infinite loop.
- Thomas Kuehne (12/28) Nov 25 2006 -----BEGIN PGP SIGNED MESSAGE-----
On Gentoo (gdc-0.19), the following does land gdc in an infinite loop. Don't know whether it does the same with the dmd compiler. private import std.stdio; template TFoo(int v : 1) { const int TFoo = 1; } template TFoo(int v) { const int TFoo = v * TFoo!(v-1).TFoo; } void main() { std.stdio.writefln(TFoo!(5).TFoo); } changing the const int to an enum declaration does work though. grtz, roel
Oct 04 2006
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 rm schrieb am 2006-10-04:On Gentoo (gdc-0.19), the following does land gdc in an infinite loop. Don't know whether it does the same with the dmd compiler. private import std.stdio; template TFoo(int v : 1) { const int TFoo = 1; } template TFoo(int v) { const int TFoo = v * TFoo!(v-1).TFoo; } void main() { std.stdio.writefln(TFoo!(5).TFoo); } changing the const int to an enum declaration does work though.Added to DStress as http://dstress.kuehne.cn/nocompile/t/template_48_A.d http://dstress.kuehne.cn/compile/t/template_48_B.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFFaILxLK5blCcjpWoRAuuYAJ405a2ROUJVqY6O9NMIVwztVKRdigCeOKrG 392ncD9mibHpdjdwo1apbUA= =61KY -----END PGP SIGNATURE-----
Nov 25 2006