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:
Tomas Lindquist Olsen 2008-08-10 08:37:38 +02:00
parent b2d860374b
commit 9d7f16b967
39 changed files with 693 additions and 455 deletions

View file

@ -13,7 +13,7 @@ IrFunction::IrFunction(FuncDeclaration* fd)
{
decl = fd;
Type* t = DtoDType(fd->type);
Type* t = fd->type->toBasetype();
assert(t->ty == Tfunction);
type = (TypeFunction*)t;
func = NULL;
@ -23,10 +23,14 @@ IrFunction::IrFunction(FuncDeclaration* fd)
defined = false;
retArg = NULL;
thisVar = NULL;
thisArg = NULL;
nestArg = NULL;
nestedVar = NULL;
_arguments = NULL;
_argptr = NULL;
dwarfSubProg = NULL;
srcfileArg = NULL;