Mercurial > projects > ldc
comparison gen/tollvm.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 | cc40db549aea |
children | fbb1a366cfbc |
comparison
equal
deleted
inserted
replaced
485:50f6e2337a6b | 486:a34078905d01 |
---|---|
20 | 20 |
21 // returns if the type should be returned in a hidden pointer arguement | 21 // returns if the type should be returned in a hidden pointer arguement |
22 bool DtoIsReturnedInArg(Type* type); | 22 bool DtoIsReturnedInArg(Type* type); |
23 | 23 |
24 unsigned DtoShouldExtend(Type* type); | 24 unsigned DtoShouldExtend(Type* type); |
25 | |
26 // resolve typedefs to their real type. | |
27 // TODO should probably be removed in favor of DMD's Type::toBasetype | |
28 Type* DtoDType(Type* t); | |
29 | 25 |
30 // delegate helpers | 26 // delegate helpers |
31 const LLStructType* DtoDelegateType(Type* t); | 27 const LLStructType* DtoDelegateType(Type* t); |
32 LLValue* DtoDelegateEquals(TOK op, LLValue* lhs, LLValue* rhs); | 28 LLValue* DtoDelegateEquals(TOK op, LLValue* lhs, LLValue* rhs); |
33 | 29 |
90 | 86 |
91 // type sizes | 87 // type sizes |
92 size_t getTypeBitSize(const LLType* t); | 88 size_t getTypeBitSize(const LLType* t); |
93 size_t getTypeStoreSize(const LLType* t); | 89 size_t getTypeStoreSize(const LLType* t); |
94 size_t getABITypeSize(const LLType* t); | 90 size_t getABITypeSize(const LLType* t); |
91 | |
95 // type alignments | 92 // type alignments |
96 unsigned char getABITypeAlign(const LLType* t); | 93 unsigned char getABITypeAlign(const LLType* t); |
97 unsigned char getPrefTypeAlign(const LLType* t); | 94 unsigned char getPrefTypeAlign(const LLType* t); |
98 | 95 |
99 /** | 96 /** |