Mercurial > projects > ldc
comparison ir/irfunction.h @ 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 |
---|---|
16 FuncDeclaration* decl; | 16 FuncDeclaration* decl; |
17 TypeFunction* type; | 17 TypeFunction* type; |
18 | 18 |
19 bool queued; | 19 bool queued; |
20 bool defined; | 20 bool defined; |
21 llvm::Value* retArg; | 21 |
22 llvm::Value* thisVar; | 22 llvm::Value* retArg; // return in ptr arg |
23 llvm::Value* nestedVar; | 23 llvm::Value* thisArg; // class/struct 'this' arg |
24 llvm::Value* nestArg; // nested function 'this' arg | |
25 | |
26 llvm::Value* nestedVar; // nested var alloca | |
27 | |
24 llvm::Value* _arguments; | 28 llvm::Value* _arguments; |
25 llvm::Value* _argptr; | 29 llvm::Value* _argptr; |
30 | |
26 llvm::Constant* dwarfSubProg; | 31 llvm::Constant* dwarfSubProg; |
27 | 32 |
28 llvm::AllocaInst* srcfileArg; | 33 llvm::AllocaInst* srcfileArg; |
29 llvm::AllocaInst* msgArg; | 34 llvm::AllocaInst* msgArg; |
30 | 35 |