Mercurial > projects > ldc
view gen/structs.h @ 1163:ea52660f828b
Emit function bodies before generating the module info to make sure static
ctors are collected correctly. Fixes run/constructor_03.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sat, 28 Mar 2009 20:45:33 +0100 |
parents | 3cf0066e6faf |
children | 45aca7e7cc88 |
line wrap: on
line source
#ifndef LLVMD_GEN_STRUCTS_H #define LLVMD_GEN_STRUCTS_H struct StructInitializer; /// Generate code for the struct. void DtoResolveStruct(StructDeclaration* sd); /// Build constant struct initializer. LLConstant* DtoConstStructInitializer(StructInitializer* si); /// Build values for a struct literal. std::vector<llvm::Value*> DtoStructLiteralValues(const StructDeclaration* sd, const std::vector<llvm::Value*>& inits); /// Returns a boolean=true if the two structs are equal. LLValue* DtoStructEquals(TOK op, DValue* lhs, DValue* rhs); /// index a struct one level LLValue* DtoIndexStruct(LLValue* src, StructDeclaration* sd, VarDeclaration* vd); #endif