<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><br></div><div><div>On Jan 19, 2015, at 3:49 PM, Duncan P. N. Exon Smith <<a href="mailto:dexonsmith@apple.com">dexonsmith@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class="Apple-interchange-newline">On 2015-Jan-19, at 12:38, Frédéric Riss <<a href="mailto:friss@apple.com">friss@apple.com</a>> wrote:<br><br><br><blockquote type="cite">On Jan 19, 2015, at 12:04 PM, Christian Schafmeister <<a href="mailto:chris.schaf@verizon.net">chris.schaf@verizon.net</a>> wrote:<br><br><br>I forgot to mention this in my initial email.<br><br>The build of LLVM that I was using was commit a0d5d7aed8e177cea381b3d054d80c212ece9f2c<br>The date on the commit is: Date: Fri Sep 26 12:34:06 2014<br><br>Also:<br>Today I grabbed the ToT llvm/clang/clang-extra-tools and I’m working on getting my code to be compatible with it.<br><br>I can switch back and forth between the current ToT llvm and the old one.<br></blockquote><br>Hmmm, I didn’t look closely enough and I thought you were hitting an assertions I added a few weeks after that commit in the Metadata RAUW method. But it is the equivalent assertion in Value::RAUW that you are hitting and that has been there forever. Looking at your exact revision, the assertion seems to trigger while executing:<br><br>DIType(TempEnumTypes).replaceAllUsesWith(Enums);<br><br>in DIBuilder::finalize(). Can you check if TempEnumTypes is null at this point? If that is the issue (which I’m not sure), then you need to call DIBuilder::createCompileUnit() at some point.<br><br>Fred<br></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">I had a thought, too: are you using two different `LLVMContext`s? That</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">would cause the `metadata` type to compare unequal.</span></blockquote></div><br><div><br></div><div>No, I only declare an LLVMContext once at the start of the program - but I’ll check to see if I can guarantee that I only have one LLVMContext.</div><div><br></div><div>Thank you.</div></body></html>