search for: dbgfactory_

Displaying 14 results from an estimated 14 matches for "dbgfactory_".

2010 Sep 06
2
[LLVMdev] More DIFactory questions - still stumped
...* f) { DASSERT(fn != NULL); // Look up in the map to see if already generated. DISubprogram & sp = dbgSubprograms_[fn]; if (!sp.isSubprogram()) { DIType dbgFuncType = genDIType(fn->functionType()); DASSERT(dbgFuncType.Verify()); DASSERT(dbgCompileUnit_.Verify()); sp = dbgFactory_.CreateSubprogram( dbgCompileUnit_, fn->name(), fn->qualifiedName(), fn->linkageName(), dbgFile_, // genDIFile(fn), 1, // getSourceLineNumber(fn->location()), dbgFuncType, fn->isSynthetic() /* isLocalToUnit */, fa...
2010 Nov 07
3
[LLVMdev] Next round of DWARF issues/questions
...9;t exposed before. After spending the better part of two days working on them, I'd like to describe them here and get some advice on what I might be doing wrong. #1) Class sizes coming out as zero. In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: DICompositeType di = dbgFactory_.CreateCompositeTypeEx( type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : dwarf::DW_TAG_structure_type, dbgCompileUnit_, type->typeDefn()->linkageName().c_str(), genDIFile(type->typeDefn()), getSourceLineNumber(type->typeDefn()->location())...
2010 Nov 08
0
[LLVMdev] Next round of DWARF issues/questions
...ding the better part of two days working on them, I'd like to describe them here and get some advice on what I might be doing wrong. > > #1) Class sizes coming out as zero. > > In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: > > DICompositeType di = dbgFactory_.CreateCompositeTypeEx( > type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : dwarf::DW_TAG_structure_type, > dbgCompileUnit_, > type->typeDefn()->linkageName().c_str(), > genDIFile(type->typeDefn()), > getSourceLineNumber(type->t...
2010 Nov 09
2
[LLVMdev] Next round of DWARF issues/questions
...ng the better part of two days working on them, I'd like > to describe them here and get some advice on what I might be doing wrong. > > #1) Class sizes coming out as zero. > > In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: > > DICompositeType di = dbgFactory_.CreateCompositeTypeEx( > type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : > dwarf::DW_TAG_structure_type, > dbgCompileUnit_, > type->typeDefn()->linkageName().c_str(), > genDIFile(type->typeDefn()), > getSourceLineNumber(type-...
2010 Sep 05
0
[LLVMdev] More DIFactory questions - still stumped
On 5 September 2010 19:32, Talin <viridia at gmail.com> wrote: > I've carefully studied the source code of CGDebugInfo in clang as a working > example. One puzzlement is that there's a discrepancy between what the > "source level debugging with LLVM" docs say and what clang does: According > to the docs, DW_TAG_formal_parameter is used to specify a formal
2010 Nov 09
0
[LLVMdev] Next round of DWARF issues/questions
...two days working on them, I'd like to describe them here and get some advice on what I might be doing wrong. >> >> #1) Class sizes coming out as zero. >> >> In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: >> >> DICompositeType di = dbgFactory_.CreateCompositeTypeEx( >> type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : dwarf::DW_TAG_structure_type, >> dbgCompileUnit_, >> type->typeDefn()->linkageName().c_str(), >> genDIFile(type->typeDefn()), >> getSourceL...
2010 Sep 05
2
[LLVMdev] More DIFactory questions - still stumped
...de looks like: > > const ParameterList & params = type->params(); > for (ParameterList::const_iterator it = params.begin(); it != > params.end(); ++it) { > const ParameterDefn * param = *it; > DIType ptype = genDIParameterType(param->type()); > ptype = dbgFactory_.CreateDerivedTypeEx( > dwarf::DW_TAG_formal_parameter, > dbgCompileUnit_, > param->name() != NULL ? param->name() : "", > genDIFile(param), > getSourceLineNumber(param->location()), > getSizeOfInBits(param->inte...
2010 Sep 07
0
[LLVMdev] More DIFactory questions - still stumped
...st::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...
2010 Nov 26
3
[LLVMdev] Next round of DWARF issues/questions
...ys working on them, I'd like >> to describe them here and get some advice on what I might be doing wrong. >> >> #1) Class sizes coming out as zero. >> >> In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: >> >> DICompositeType di = dbgFactory_.CreateCompositeTypeEx( >> type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : >> dwarf::DW_TAG_structure_type, >> dbgCompileUnit_, >> type->typeDefn()->linkageName().c_str(), >> genDIFile(type->typeDefn()), >> g...
2010 Sep 07
2
[LLVMdev] More DIFactory questions - still stumped
...!= > > 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. > OK I made 3 changes: -- changed isDefinition to true. (...
2010 Nov 26
0
[LLVMdev] Next round of DWARF issues/questions
...like >>> to describe them here and get some advice on what I might be doing wrong. >>> >>> #1) Class sizes coming out as zero. >>> >>> In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: >>> >>> DICompositeType di = dbgFactory_.CreateCompositeTypeEx( >>> type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : >>> dwarf::DW_TAG_structure_type, >>> dbgCompileUnit_, >>> type->typeDefn()->linkageName().c_str(), >>> genDIFile(type->typeDefn(...
2010 Aug 31
0
[LLVMdev] More DIFactory questions
On Aug 31, 2010, at 9:03 AM, Talin wrote: > 4) What is the meaning of the "inlinedAt" argument for DebugLoc::get()? Does it mean the location where the inlined code was defined, or the location where it was expanded? the location where it was expanded - Devang
2010 Sep 07
0
[LLVMdev] More DIFactory questions - still stumped
...> > 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. > > OK I made 3 changes: > -- changed isDefinitio...
2010 Aug 31
5
[LLVMdev] More DIFactory questions
Here are some issues that I am unclear about. What would be great is if the answers could be incorporated into the comments and documentation for DIFactory and DebugInfo.h: 1) What types of DIScope are valid arguments for DebugLoc::get()? The method takes an MDNode* argument, so looking at the function signature is no help. For example, DIFile is a subtype of DIScope, however looking at