Mercurial > projects > ldc
view gen/todebug.h @ 812:6c2ff06c4201
Fixed a nasty bug with how interface vtables for class initializers were output, causing some class fields to be skipped.
Fixed a problem in definition of ClassInfos where an invalid constant was potentially used. This needs to be looked into proper as it might happen again in the future.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Mon, 01 Dec 2008 04:37:54 +0100 |
parents | 363bb6c0cc80 |
children | 1714836f2c0b |
line wrap: on
line source
#ifndef LDC_GEN_TODEBUG_H #define LDC_GEN_TODEBUG_H void RegisterDwarfSymbols(llvm::Module* mod); /** * Emit the Dwarf compile_unit global for a Module m. * @param m * @return the Dwarf compile_unit. */ llvm::GlobalVariable* DtoDwarfCompileUnit(Module* m); /** * Emit the Dwarf subprogram global for a function declaration fd. * @param fd * @return the Dwarf subprogram global. */ llvm::GlobalVariable* DtoDwarfSubProgram(FuncDeclaration* fd); /** * Emit the Dwarf subprogram global for a internal function. * This is used for generated functions like moduleinfoctors, * module ctors/dtors and unittests. * @return the Dwarf subprogram global. */ llvm::GlobalVariable* DtoDwarfSubProgramInternal(const char* prettyname, const char* mangledname); void DtoDwarfFuncStart(FuncDeclaration* fd); void DtoDwarfFuncEnd(FuncDeclaration* fd); void DtoDwarfStopPoint(unsigned ln); /** * Emits all things necessary for making debug info for a local variable vd. * @param ll LLVM Value of the variable. * @param vd Variable declaration to emit debug info for. */ void DtoDwarfLocalVariable(LLValue* ll, VarDeclaration* vd); /** * Emits all things necessary for making debug info for a global variable vd. * @param ll * @param vd * @return */ LLGlobalVariable* DtoDwarfGlobalVariable(LLGlobalVariable* ll, VarDeclaration* vd); #endif // LDC_GEN_TODEBUG_H