Mercurial > projects > ldc
diff gen/toobj.cpp @ 486:a34078905d01
Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Reimplemented support for nested functions/class using a new approach.
Added error on taking address of intrinsic.
Fixed problems with the ->syntaxCopy of TypeFunction delegate exp.
Removed DtoDType and replaced all uses with ->toBasetype() instead.
Removed unused inplace stuff.
Fixed a bunch of issues in the runtime unittests, not complete yet.
Added mini tests.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sun, 10 Aug 2008 08:37:38 +0200 |
parents | a3f3c2770a0d |
children | 017ca8645a1f |
line wrap: on
line diff
--- a/gen/toobj.cpp Sat Aug 09 09:03:52 2008 +0200 +++ b/gen/toobj.cpp Sun Aug 10 08:37:38 2008 +0200 @@ -55,9 +55,17 @@ void Module::genobjfile(int multiobj) { + bool logenabled = Logger::enabled(); + if (llvmForceLogging && !logenabled) + { + Logger::enable(); + } + Logger::cout() << "Generating module: " << (md ? md->toChars() : toChars()) << '\n'; LOG_SCOPE; + //printf("codegen: %s\n", srcfile->toChars()); + // start by deleting the old object file deleteObjFile(); @@ -161,10 +169,10 @@ if (global.params.fqnPaths) { - bcpath = LLPath(md->toChars()); + bcpath = LLPath(mname); bcpath.appendSuffix("bc"); - llpath = LLPath(md->toChars()); + llpath = LLPath(mname); llpath.appendSuffix("ll"); } else @@ -190,6 +198,11 @@ delete ir.module; gTargetData = 0; gIR = NULL; + + if (llvmForceLogging && !logenabled) + { + Logger::disable(); + } } /* ================================================================== */