Mercurial > projects > ldc
diff dmd/declaration.c @ 1401:e2cf1f67ca33
Don't print the entire declaration of the alliassee when `->toChars()` is
called on an `AliasDeclaration`; just printing the name will do. This fixes
#305, which otherwise tries to generate
{{{
class E {
void A() {
alias /* recurse into E->toCBuffer() */ m;
}
}
}}}
by way of an infinite recursion (causing a segfault when the stack runs out).
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Wed, 20 May 2009 16:20:59 +0200 |
parents | 8026319762be |
children | 93644700a0b3 |
line wrap: on
line diff
--- a/dmd/declaration.c Tue May 19 22:35:08 2009 +0200 +++ b/dmd/declaration.c Wed May 20 16:20:59 2009 +0200 @@ -575,7 +575,7 @@ { if (haliassym) { - haliassym->toCBuffer(buf, hgs); + buf->writestring(haliassym->toChars()); buf->writeByte(' '); buf->writestring(ident->toChars()); } @@ -587,7 +587,7 @@ { if (aliassym) { - aliassym->toCBuffer(buf, hgs); + buf->writestring(aliassym->toChars()); buf->writeByte(' '); buf->writestring(ident->toChars()); }