Mercurial > projects > ldc
comparison gen/llvmhelpers.h @ 490:f8c979770af3
Fixed a critical bug in the runtime, where _d_allocmemoryT would mark
the memory block as having pointers (for scanning) opposite of what it
should. So pointers would not be seen and freed. Should fix a bunch of
regressions with AAs.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sun, 10 Aug 2008 17:28:01 +0200 |
parents | a34078905d01 |
children | 837af2a63564 |
comparison
equal
deleted
inserted
replaced
489:822774a94750 | 490:f8c979770af3 |
---|---|
40 | 40 |
41 // nested variable and context helpers | 41 // nested variable and context helpers |
42 | 42 |
43 // gets the context value for a call to a nested function or newing a class, with arbitrary nesting | 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); | 44 LLValue* DtoNestedContext(Loc loc, Dsymbol* sym); |
45 | |
46 // gets the dvalue of a nested variable with arbitrary nesting | 45 // gets the dvalue of a nested variable with arbitrary nesting |
47 DValue* DtoNestedVariable(Loc loc, Type* astype, VarDeclaration* vd); | 46 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); | |
53 | 47 |
54 // basic operations | 48 // basic operations |
55 void DtoAssign(Loc& loc, DValue* lhs, DValue* rhs); | 49 void DtoAssign(Loc& loc, DValue* lhs, DValue* rhs); |
56 | 50 |
57 // create a null dvalue | 51 // create a null dvalue |