<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<br><div><div>On Sep 20, 2007, at 2:22 AM, Bill Wendling wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">Adding "--enable-assertions" to the llvm-gcc configure line causes the build to fail. Having just LLVM configured with --enable-assertions doesn't reproduce the error. </div></blockquote><div><br class="webkit-block-placeholder"></div><div><div>This is all expected behavior. Right ?</div><div><br class="webkit-block-placeholder"></div></div><blockquote type="cite"><div style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">An assertion build (the Apple way) doesn't assert.</div></blockquote><div><br class="webkit-block-placeholder"></div><div>Does it enable assertions in llvm-gcc at configure time ?</div><div>Note, this assertion failure is in llvm-gcc and not in llvm.</div><div>-</div></div><div>Devang</div><div><br><blockquote type="cite"><div style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><div><br class="khtml-block-placeholder"></div><div>-bw</div><div><br><div><div>On Sep 19, 2007, at 5:48 PM, Dale Johannesen wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>This should have gotten an assertion failure in a compiler built with assertions, surely...</div><br><div><div>On Sep 19, 2007, at 5:41 PM, Devang Patel wrote:</div><blockquote type="cite"><div><blockquote type="cite">$ llvm-gcc -x objective-c -arch ppc64 -std=c99 -c testcase.mi<br>testcase.mi:12: internal compiler error: Bus error<br>Please submit a full bug report,<br>with preprocessed source if appropriate.<br>See <URL:<a href="http://llvm.org/bugs">http://llvm.org/bugs</a>> for instructions.<br></blockquote></div><br><div>In llvm-backend.cpp  :</div><div><br></div><div><div><font class="Apple-style-span" face="Courier">1086</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">      </font></span><font class="Apple-style-span" face="Courier">        if (GV->getName() != Name) {</font></div><div><font class="Apple-style-span" face="Courier">1087</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">       </font></span><font class="Apple-style-span" face="Courier">          Function *F = TheModule->getFunction(Name);</font></div><div><font class="Apple-style-span" face="Courier">1088</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier"> </font></span><font class="Apple-style-span" face="Courier">          assert(F && F->isDeclaration() && "A function turned into a global?");</font></div><div><font class="Apple-style-span" face="Courier">1089</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">    </font></span><font class="Apple-style-span" face="Courier">          </font></div><div><font class="Apple-style-span" face="Courier">1090</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">       </font></span><font class="Apple-style-span" face="Courier">          // Replace any uses of "F" with uses of GV.</font></div><div><font class="Apple-style-span" face="Courier">1091</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">  </font></span><font class="Apple-style-span" face="Courier">          Value *FInNewType = ConstantExpr::getBitCast(GV, F->getType());</font></div><br><br class="webkit-block-placeholder"></div><div><div>(gdb) p Name</div><div>$3 = 0x41819430 "\001L_OBJC_PROTOCOL_$_CPTransferThreadObserving"</div><br>However  <font class="Apple-style-span" face="Courier">TheModule->getFunction(Name)</font> returns NULL and you get ICE at <font class="Apple-style-span" face="Courier">F->getType(</font>) #1091. I'll let you investigate this further ...   :)</div><div> </div><div><br class="webkit-block-placeholder"></div><div>-</div><div>Devang</div><div><br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">LLVM Developers mailing list</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <span class="Apple-converted-space">        </span><a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></div> </blockquote></div><br><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">LLVM Developers mailing list</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <span class="Apple-converted-space">        </span><a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></div> </blockquote></div><br></div></div>_______________________________________________<br>LLVM Developers mailing list<br>LLVMdev@cs.uiuc.edu         <a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br></blockquote></div><br></body></html>