Mercurial > projects > ldc
comparison gen/llvmhelpers.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 | 6e7a4c3b64d2 |
children | c62c6936635b |
comparison
equal
deleted
inserted
replaced
796:6e7a4c3b64d2 | 797:340acf1535d0 |
---|---|
84 // declaration inside a declarationexp | 84 // declaration inside a declarationexp |
85 DValue* DtoDeclarationExp(Dsymbol* declaration); | 85 DValue* DtoDeclarationExp(Dsymbol* declaration); |
86 LLValue* DtoRawVarDeclaration(VarDeclaration* var); | 86 LLValue* DtoRawVarDeclaration(VarDeclaration* var); |
87 | 87 |
88 // initializer helpers | 88 // initializer helpers |
89 LLConstant* DtoConstInitializer(Loc& loc, Type* type, Initializer* init); | 89 LLConstant* DtoConstInitializer(Loc loc, Type* type, Initializer* init); |
90 LLConstant* DtoConstFieldInitializer(Loc& loc, Type* type, Initializer* init); | 90 LLConstant* DtoConstFieldInitializer(Loc loc, Type* type, Initializer* init); |
91 LLConstant* DtoConstExpInit(Loc loc, Type* t, Expression* exp); | |
91 DValue* DtoInitializer(LLValue* target, Initializer* init); | 92 DValue* DtoInitializer(LLValue* target, Initializer* init); |
92 | 93 |
93 // annotation generator | 94 // annotation generator |
94 void DtoAnnotation(const char* str); | 95 void DtoAnnotation(const char* str); |
95 | 96 |
105 DValue* DtoBinDiv(Type* resulttype, DValue* lhs, DValue* rhs); | 106 DValue* DtoBinDiv(Type* resulttype, DValue* lhs, DValue* rhs); |
106 DValue* DtoBinRem(Type* resulttype, DValue* lhs, DValue* rhs); | 107 DValue* DtoBinRem(Type* resulttype, DValue* lhs, DValue* rhs); |
107 | 108 |
108 // target stuff | 109 // target stuff |
109 void findDefaultTarget(); | 110 void findDefaultTarget(); |
110 | |
111 /// get the default initializer of the type | |
112 LLConstant* DtoDefaultInit(Loc& loc, Type* t); | |
113 | 111 |
114 // fixup an overloaded intrinsic name string | 112 // fixup an overloaded intrinsic name string |
115 void DtoOverloadedIntrinsicName(TemplateInstance* ti, TemplateDeclaration* td, std::string& name); | 113 void DtoOverloadedIntrinsicName(TemplateInstance* ti, TemplateDeclaration* td, std::string& name); |
116 | 114 |
117 //////////////////////////////////////////// | 115 //////////////////////////////////////////// |