From 66e9427f883da417ac570194f55a5f9fb3c3a80a Mon Sep 17 00:00:00 2001 From: David Nadlinger Date: Sat, 15 Jun 2013 13:13:37 +0200 Subject: [PATCH] Backport StructLiteralExp::toChars infinite recursion fix. We absolutely need this for log output/debugging. --- dmd2/expression.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dmd2/expression.c b/dmd2/expression.c index fa4ea1a0..822ed996 100644 --- a/dmd2/expression.c +++ b/dmd2/expression.c @@ -4620,7 +4620,19 @@ void StructLiteralExp::toCBuffer(OutBuffer *buf, HdrGenState *hgs) { buf->writestring(sd->toChars()); buf->writeByte('('); +#if IN_LLVM // Backport of DMD pull request 2183. + if (stageflags & 32) + buf->writestring("..."); + else + { + int old = stageflags; + stageflags |= 32; +#endif argsToCBuffer(buf, elements, hgs); +#if IN_LLVM + stageflags = old; + } +#endif buf->writeByte(')'); }