Mercurial > projects > ldc
diff gen/toir.cpp @ 1372:229e02867307
Fix format-string bugs by adding __attribute__((__format__)) in all applicable
places and fixing all warnings my gcc produced.
Among other things, this should fix several segfaults (including one I just
ran into).
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 17 May 2009 00:15:25 +0200 |
parents | 8026319762be |
children | 3fb15be5ab6d |
line wrap: on
line diff
--- a/gen/toir.cpp Sat May 16 23:44:27 2009 +0200 +++ b/gen/toir.cpp Sun May 17 00:15:25 2009 +0200 @@ -313,7 +313,8 @@ LLConstant* RealExp::toConstElem(IRState* p) { - Logger::print("RealExp::toConstElem: %s @ %s | %LX\n", toChars(), type->toChars(), value); + Logger::print("RealExp::toConstElem: %s @ %s | %LX\n", toChars(), type->toChars(), + 0xFFFFFFFFFFUL & *(long long unsigned*)&value); LOG_SCOPE; Type* t = type->toBasetype(); return DtoConstFP(t, value); @@ -2473,7 +2474,7 @@ IF_LOG Logger::println("expr: %p", expr); if (expr) { - IF_LOG Logger::println("expr = %s", it.index, expr->toChars()); + IF_LOG Logger::println("expr %zu = %s", it.index, expr->toChars()); LLValue* v = DtoExprValue(vd->type, expr); initvalues.push_back(v); } @@ -2606,7 +2607,7 @@ Expression* ekey = (Expression*)keys->data[i]; Expression* eval = (Expression*)values->data[i]; - Logger::println("(%u) aa[%s] = %s", i, ekey->toChars(), eval->toChars()); + Logger::println("(%zu) aa[%s] = %s", i, ekey->toChars(), eval->toChars()); // index DValue* key = ekey->toElem(p);