Mercurial > projects > ldc
comparison gen/tollvm.h @ 328:7086a84ab3d6 trunk
[svn r349] Fixed problems with static arrays of void as well as a static arrays with zero length.
Fixed issues with DMD generated assert statements when using class invariants, generally due to incomplete ASTs.
Removed some dead code.
Added a few comments.
author | lindquist |
---|---|
date | Fri, 11 Jul 2008 00:17:00 +0200 |
parents | 0d52412d5b1a |
children | e20ce6d8d374 |
comparison
equal
deleted
inserted
replaced
327:781af50846b2 | 328:7086a84ab3d6 |
---|---|
9 | 9 |
10 #include "gen/structs.h" | 10 #include "gen/structs.h" |
11 | 11 |
12 // D->LLVM type handling stuff | 12 // D->LLVM type handling stuff |
13 const LLType* DtoType(Type* t); | 13 const LLType* DtoType(Type* t); |
14 | |
15 // same as DtoType except it converts 'void' to 'i8' | |
16 const LLType* DtoTypeNotVoid(Type* t); | |
17 | |
18 // returns true is the type must be passed by pointer | |
14 bool DtoIsPassedByRef(Type* type); | 19 bool DtoIsPassedByRef(Type* type); |
20 | |
21 // returns if the type should be returned in a hidden pointer arguement | |
15 bool DtoIsReturnedInArg(Type* type); | 22 bool DtoIsReturnedInArg(Type* type); |
16 | 23 |
17 // resolve typedefs to their real type. | 24 // resolve typedefs to their real type. |
18 // TODO should probably be removed in favor of DMD's Type::toBasetype | 25 // TODO should probably be removed in favor of DMD's Type::toBasetype |
19 Type* DtoDType(Type* t); | 26 Type* DtoDType(Type* t); |