[LLVMdev] Passing DW_TAG_typedef as the type to DIBuilder's createFunction
Eric Christopher
echristo at gmail.com
Tue Apr 9 15:20:00 PDT 2013
On Tue, Apr 9, 2013 at 1:53 AM, Duncan Sands <baldrick at free.fr> wrote:
> Hi David, I'm seeing an assertion failure when passing this node
>
> !{i32 786454, metadata <badref>, metadata <badref>, metadata !"fn_t", i32
> 5, i64 0, i64 0, i64 0, i32 0, metadata <badref>} ; [ DW_TAG_typedef ]
> [fn_t] [line 5, size 0, align 0, offset 0] [from ]
>
> as the function type parameter to DIBuilder::createFunction, due to this
> check
> in DebugInfo.cpp:
>
> 486 DICompositeType Ty = getType();
> 487 if (!Ty.Verify())
> 488 return false;
>
> Is it in fact wrong to pass a typedef here?
>
I can't come up with a way that'd be correct, no. You should be using
createSubroutineType and passing that into the builder. Have example
code where this is coming up?
-eric
More information about the llvm-dev
mailing list