view gen/todebug.h @ 435:74101be2a553

Added type param to DVarValue as DMD sometimes overrides the type of the VarDeclaration. Added support for align(1)/packed structs, other alignments are still ignored. Fixed some problems with accessing lazy arguments.
author Tomas Lindquist Olsen <>
date Wed, 30 Jul 2008 10:12:55 +0200
parents fc9c1a0eabbd
children eef8ac26c66c
line wrap: on
line source


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);

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);