Mercurial > projects > ldc
comparison ir/irfunction.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 | d8357f7004ca |
children | c7d7e2282ba3 |
comparison
equal
deleted
inserted
replaced
485:50f6e2337a6b | 486:a34078905d01 |
---|---|
11 | 11 |
12 IrFunction::IrFunction(FuncDeclaration* fd) | 12 IrFunction::IrFunction(FuncDeclaration* fd) |
13 { | 13 { |
14 decl = fd; | 14 decl = fd; |
15 | 15 |
16 Type* t = DtoDType(fd->type); | 16 Type* t = fd->type->toBasetype(); |
17 assert(t->ty == Tfunction); | 17 assert(t->ty == Tfunction); |
18 type = (TypeFunction*)t; | 18 type = (TypeFunction*)t; |
19 func = NULL; | 19 func = NULL; |
20 allocapoint = NULL; | 20 allocapoint = NULL; |
21 | 21 |
22 queued = false; | 22 queued = false; |
23 defined = false; | 23 defined = false; |
24 | 24 |
25 retArg = NULL; | 25 retArg = NULL; |
26 thisVar = NULL; | 26 thisArg = NULL; |
27 nestArg = NULL; | |
28 | |
27 nestedVar = NULL; | 29 nestedVar = NULL; |
30 | |
28 _arguments = NULL; | 31 _arguments = NULL; |
29 _argptr = NULL; | 32 _argptr = NULL; |
33 | |
30 dwarfSubProg = NULL; | 34 dwarfSubProg = NULL; |
31 | 35 |
32 srcfileArg = NULL; | 36 srcfileArg = NULL; |
33 msgArg = NULL; | 37 msgArg = NULL; |
34 | 38 |