[LLVMdev] More DIFactory questions - still stumped

Renato Golin rengolin at systemcall.org
Tue Sep 7 01:56:39 PDT 2010


On 6 September 2010 01:05, Talin <viridia at gmail.com> wrote:
> DISubprogram CodeGenerator::genDISubprogram(const FunctionDefn * fn,
(...)
>         false /* isDefinition */,
(...)

Hi Talin,

The only difference from what I'm doing is that I only export debug
symbols in definitions, not declarations. I may be doing wrong,
though, for multi-file compilation (haven't tested thoroughly).



> DICompositeType CodeGenerator::genDIFunctionType(const FunctionType * type)
(...)
>   for (ParameterList::const_iterator it = params.begin(); it !=
> params.end(); ++it) {
>     const ParameterDefn * param = *it;
>     args.push_back(genDIParameterType(param->type()));
>   }

Don't do that. I know it looks right, but it's broken in DIFactory.


>   DICompositeType fnType = dbgFactory_.CreateCompositeType(
>       dwarf::DW_TAG_subroutine_type,
>       dbgCompileUnit_,

I use the file here, not the compile unit... But again, I could be wrong.

Hope that puts you in the right direction.

-- 
cheers,
--renato

http://systemcall.org/

Reclaim your digital rights, eliminate DRM, learn more at
http://www.defectivebydesign.org/what_is_drm




More information about the llvm-dev mailing list