Mercurial > projects > ldc
diff gen/structs.h @ 1151:3cf0066e6faf
- Versioned Expresssion::toElem with #if IN_DMD/IN_LLVM.
- Eliminated the DLRValue DValue.
- Implemented proactive handling of l-value CastExpS.
- Minor tweak in runtime memory.d .
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Sat, 28 Mar 2009 05:00:43 +0100 |
parents | af7a6faf9406 |
children | 45aca7e7cc88 |
line wrap: on
line diff
--- a/gen/structs.h Fri Mar 27 23:24:47 2009 +0100 +++ b/gen/structs.h Sat Mar 28 05:00:43 2009 +0100 @@ -3,35 +3,19 @@ struct StructInitializer; -LLConstant* DtoConstStructInitializer(StructInitializer* si); -std::vector<llvm::Value*> DtoStructLiteralValues(const StructDeclaration* sd, const std::vector<llvm::Value*>& inits); - -/** - * Resolves the llvm type for a struct - */ +/// Generate code for the struct. void DtoResolveStruct(StructDeclaration* sd); -/** - * Provides the llvm declaration for a struct - */ -void DtoDeclareStruct(StructDeclaration* sd); +/// Build constant struct initializer. +LLConstant* DtoConstStructInitializer(StructInitializer* si); -/** - * Constructs the constant default initializer a struct - */ -void DtoConstInitStruct(StructDeclaration* sd); +/// Build values for a struct literal. +std::vector<llvm::Value*> DtoStructLiteralValues(const StructDeclaration* sd, const std::vector<llvm::Value*>& inits); -/** - * Provides the llvm definition for a struct - */ -void DtoDefineStruct(StructDeclaration* sd); - -/** - * Returns a boolean=true if the two structs are equal - */ +/// Returns a boolean=true if the two structs are equal. LLValue* DtoStructEquals(TOK op, DValue* lhs, DValue* rhs); -// index a struct one level +/// index a struct one level LLValue* DtoIndexStruct(LLValue* src, StructDeclaration* sd, VarDeclaration* vd); #endif