Hello, I'm having this assertion fail when I was using DIBuilder to create the debug information: Expected no forward declarations! !719 The assertion condition is: !isa<MDNodeFwdDecl> (MD) So My questions are: 1. What is exactly the MDNodeFwdDecl ? I saw it's in the latest release 3.6.1, but I also found this link http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150119/253730.html saying that MDNodeFwdDecl has been removed, and neither can I find class reference of it on the llvm doxgen website. So is it still valid ?? 2. How and when will it be generated when I use DIBuilder module ? Thanks -- Best regards Hui Zhang -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150602/086788ec/attachment.html>
Any ideas ? Thanks On Tue, Jun 2, 2015 at 12:40 PM, Hui Zhang <wayne.huizhang at gmail.com> wrote:> Hello, > > I'm having this assertion fail when I was using DIBuilder to create the > debug information: > > Expected no forward declarations! > !719 > > The assertion condition is: !isa<MDNodeFwdDecl> (MD) > > So My questions are: > 1. What is exactly the MDNodeFwdDecl ? I saw it's in the latest release > 3.6.1, but I also found this link > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150119/253730.html > saying that MDNodeFwdDecl has been removed, and neither can I find class > reference of it on the llvm doxgen website. So is it still valid ?? > > 2. How and when will it be generated when I use DIBuilder module ? > > Thanks > > > > -- > Best regards > > > Hui Zhang >-- Best regards Hui Zhang -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150602/878d3bef/attachment.html>
> On 2015-Jun-02, at 11:14, Hui Zhang <wayne.huizhang at gmail.com> wrote: > > Any ideas ? > > Thanks > > On Tue, Jun 2, 2015 at 12:40 PM, Hui Zhang <wayne.huizhang at gmail.com> wrote: > Hello, > > I'm having this assertion fail when I was using DIBuilder to create the debug information: > > Expected no forward declarations! > !719 > > The assertion condition is: !isa<MDNodeFwdDecl> (MD) > > So My questions are: > 1. What is exactly the MDNodeFwdDecl ? I saw it's in the latest release 3.6.1, but I also found this link http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150119/253730.html > saying that MDNodeFwdDecl has been removed, and neither can I find class reference of it on the llvm doxgen website. So is it still valid ?? > > 2. How and when will it be generated when I use DIBuilder module ?I suspect you've neglected to call `DIBuilder::finalize()`. On trunk, `isa<MDNodeFwdDecl>(N)` has become `N.isTemporary()`. There are a number of temporaries created in the debug info graph to facilitate building cycles, and `DIBuilder::finalize()` (1) cleans them up, and (2) resolves other nodes involved in the cycles. It looks like we don't archive old doxygen files, but you should be able to build it yourself for old versions.
Reasonably Related Threads
- [LLVMdev] MDNodeFwdDecl
- how to add the location debug info for each instruction
- [LLVMdev] question about the DIBuilder::createStructType
- how to add the location debug info for each instruction
- [LLVMdev] Assertion: replaceAllUses of value with new value of different type! being thrown all of a sudden