Displaying 14 results from an estimated 14 matches for "dbgcompileunit_".
2010 Sep 06
2
[LLVMdev] More DIFactory questions - still stumped
...m(const FunctionDefn * fn,
Function * 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()...
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 07
3
[LLVMdev] Next round of DWARF issues/questions
...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()),
getSizeOfInBits(type->irType()),
getAlignOfInBits(type->irType()),
getInt64Val(0), 0,
DIType(),
dbgFactory_....
2010 Sep 05
2
[LLVMdev] More DIFactory questions - still stumped
...(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->internalType()->irParameterType()),
> getInt64Val(0),
> getInt64Val(0), 0,...
2010 Sep 07
0
[LLVMdev] More DIFactory questions - still stumped
...t 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
2010 Sep 07
2
[LLVMdev] More DIFactory questions - still stumped
...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. (I'm also only generating debug info for
definitions.)
-- commented out the code that pushes para...
2010 Nov 08
0
[LLVMdev] Next round of DWARF issues/questions
...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()),
> getSizeOfInBits(type->irType()),
> getAlignOfInBits(type->irType()),
> getInt64Val(0), 0,
>...
2010 Nov 09
2
[LLVMdev] Next round of DWARF issues/questions
...ss 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()),
> getSizeOfInBits(type->irType()),
> getAlignOfInBits(type->irType()),
> getInt64Val(0), 0,
>...
2010 Nov 09
0
[LLVMdev] Next round of DWARF issues/questions
...s 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()),
>> getSizeOfInBits(type->irType()),
>> getAlignOfInBits(type->irType()),
>>...
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 Nov 26
3
[LLVMdev] Next round of DWARF issues/questions
...>>
>> 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()),
>> getSizeOfInBits(type->irType()),
>> getAlignOfInBits(type->irType()),
>>...
2010 Sep 07
0
[LLVMdev] More DIFactory questions - still stumped
...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. (I'm also only generating debug info for definitions.)
> -- commented out the code...
2010 Nov 26
0
[LLVMdev] Next round of DWARF issues/questions
...n 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()),
>>> getSizeOfInBits(type->irType()),
>>> getAlignOfInBits(type->irTyp...
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