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 ////////////////////////////////////////////