[LLVMdev] DIBuilder - what's with the null compile units?

Devang Patel dpatel at apple.com
Mon Oct 24 09:17:02 PDT 2011


On Oct 23, 2011, at 12:03 AM, Talin wrote:

> Just a follow up on this - I am still having problems, I never did figure out a solution. (I've been running with debug off for the last month so that I could get work done.)
> 
> Here's what I am seeing: I am definitely calling DIBuilder::finalize(). I even put a debug print statement right after it, so that I could be sure that the code was being executed. I also insured that it was getting called before the module was written out, and that no additional debug information gets added after it has been called.
> 
> Yet despite this, the second-to-last parameter for DW_TAG_subprogram metadata is in fact null in the module dissassembly.
> 
> So essentially I am completely stumped.

If you're using DIBuilder to create your subprogram then you'll see that it puts new node in AllSubprograms.

  // Create a named metadata so that we do not lose this mdnode.                                                                                                                
  AllSubprograms.push_back(Node);

And follow AllSubprograms in DIBuilder::finalize()

-
Devang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111024/e3830192/attachment.html>


More information about the llvm-dev mailing list