Displaying 4 results from an estimated 4 matches for "tag_subroutine_typ".
Did you mean:
tag_subroutine_type
2011 Dec 07
2
[LLVMdev] Generating DWARF information that pretends an outparam is the return value
...quot;Value returns is $1 = 5"). I'm generating debug metadata nodes
>> directly instead of using DIBuilder since it doesn't seem to
>> encapsulate situations like this.
>
> So, I assume you figured out how to create metadata nodes for TAG_subprogram and corresponding TAG_subroutine_type. If yes, then the zero'th element of array of types you supply (subroutine_type is encoded as composite type, see http://llvm.org/docs/SourceLevelDebugging.html#format_composite_type) is return type.
>
> Let's say you have
>
> 1
> 2 int foo() {
> 3 c...
2011 Dec 07
0
[LLVMdev] Generating DWARF information that pretends an outparam is the return value
...like to
> see "Value returns is $1 = 5"). I'm generating debug metadata nodes
> directly instead of using DIBuilder since it doesn't seem to
> encapsulate situations like this.
So, I assume you figured out how to create metadata nodes for TAG_subprogram and corresponding TAG_subroutine_type. If yes, then the zero'th element of array of types you supply (subroutine_type is encoded as composite type, see http://llvm.org/docs/SourceLevelDebugging.html#format_composite_type) is return type.
Let's say you have
1
2 int foo() {
3 char c = 'a';
4...
2011 Dec 05
2
[LLVMdev] Generating DWARF information that pretends an outparam is the return value
The Rust compiler defines all functions as returning void, with the
first parameter being an outparam of the declared return type, ie.
fn foo2() -> int { ret 5; }
becomes
define void @_ZN4foo217_5cb557d30658848cE(i64*, { i64, { %tydesc*, i1,
{} } }*) uwtable {
store i64 5, i64* %0
ret void
}
I'm working on generating debug information for Rust, and I'm
currently stumped on how
2011 Dec 07
0
[LLVMdev] Generating DWARF information that pretends an outparam is the return value
...uot;Value returns is $1 = 5"). I'm generating debug metadata nodes
> directly instead of using DIBuilder since it doesn't seem to
> encapsulate situations like this.
>
>
> So, I assume you figured out how to create metadata nodes for TAG_subprogram
> and corresponding TAG_subroutine_type. If yes, then the zero'th element of
> array of types you supply (subroutine_type is encoded as composite type, see
> http://llvm.org/docs/SourceLevelDebugging.html#format_composite_type) is
> return type.
>
> Let's say you have
>
> 1
> 2 int foo() {
>...