mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-02-27 00:53:23 +01:00
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.
This commit is contained in:
@@ -55,9 +55,17 @@ void llvmdc_optimize_module(llvm::Module* m, char lvl, bool doinline);
|
||||
|
||||
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 @@ void Module::genobjfile(int multiobj)
|
||||
|
||||
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 @@ void Module::genobjfile(int multiobj)
|
||||
delete ir.module;
|
||||
gTargetData = 0;
|
||||
gIR = NULL;
|
||||
|
||||
if (llvmForceLogging && !logenabled)
|
||||
{
|
||||
Logger::disable();
|
||||
}
|
||||
}
|
||||
|
||||
/* ================================================================== */
|
||||
|
||||
Reference in New Issue
Block a user