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);