Mercurial > projects > ldc
comparison gen/llvmhelpers.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 | aa8c050dfd19 |
children | f8c979770af3 |
comparison
equal
deleted
inserted
replaced
485:50f6e2337a6b | 486:a34078905d01 |
---|---|
36 // enters a monitor lock | 36 // enters a monitor lock |
37 void DtoEnterMonitor(LLValue* v); | 37 void DtoEnterMonitor(LLValue* v); |
38 // leaves a monitor lock | 38 // leaves a monitor lock |
39 void DtoLeaveMonitor(LLValue* v); | 39 void DtoLeaveMonitor(LLValue* v); |
40 | 40 |
41 // nested variable/class helpers | 41 // nested variable and context helpers |
42 LLValue* DtoNestedContext(FuncDeclaration* func); | 42 |
43 DValue* DtoNestedVariable(Type* astype, VarDeclaration* vd); | 43 // gets the context value for a call to a nested function or newing a class, with arbitrary nesting |
44 LLValue* DtoNestedContext(Loc loc, Dsymbol* sym); | |
45 | |
46 // gets the dvalue of a nested variable with arbitrary nesting | |
47 DValue* DtoNestedVariable(Loc loc, Type* astype, VarDeclaration* vd); | |
48 | |
49 // old nested stuff | |
50 // LLValue* DtoNestedContext(Loc loc, FuncDeclaration* func); | |
51 // LLValue* DtoNestedContext(Loc loc, ClassDeclaration* cd); | |
52 // DValue* DtoNestedVariable(Loc loc, Type* astype, VarDeclaration* vd); | |
44 | 53 |
45 // basic operations | 54 // basic operations |
46 void DtoAssign(Loc& loc, DValue* lhs, DValue* rhs); | 55 void DtoAssign(Loc& loc, DValue* lhs, DValue* rhs); |
47 | 56 |
48 // create a null dvalue | 57 // create a null dvalue |