Mercurial > projects > ldc
diff gen/tollvm.h @ 797:340acf1535d0
Removed KDevelop3 project files, CMake can generate them just fine!
Fixed function literals in static initializers.
Changed alignment of delegates from 2*PTRSIZE to just PTRSIZE.
Changed errors to go to stderr instead of stdout.
Fairly major rewriting of struct/union/class handling, STILL A BIT BUGGY !!!
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sat, 29 Nov 2008 21:25:43 +0100 |
parents | 30b42a283c8e |
children | 8e6135be6999 |
line wrap: on
line diff
--- a/gen/tollvm.h Sat Nov 29 12:28:10 2008 +0100 +++ b/gen/tollvm.h Sat Nov 29 21:25:43 2008 +0100 @@ -67,6 +67,7 @@ LLValue* DtoLoad(LLValue* src, const char* name=0); void DtoStore(LLValue* src, LLValue* dst); LLValue* DtoBitCast(LLValue* v, const LLType* t, const char* name=0); +LLConstant* DtoBitCast(LLConstant* v, const LLType* t); // llvm::dyn_cast wrappers const LLPointerType* isaPointer(LLValue* v); @@ -96,6 +97,9 @@ unsigned char getABITypeAlign(const LLType* t); unsigned char getPrefTypeAlign(const LLType* t); +// get biggest type, for unions ... +const LLType* getBiggestType(const LLType** begin, size_t n); + // pair type helpers LLValue* DtoAggrPair(const LLType* type, LLValue* V1, LLValue* V2, const char* name = 0); LLValue* DtoAggrPair(LLValue* V1, LLValue* V2, const char* name = 0);