This should have gotten an assertion failure in a compiler built with assertions, surely... On Sep 19, 2007, at 5:41 PM, Devang Patel wrote:>> $ llvm-gcc -x objective-c -arch ppc64 -std=c99 -c testcase.mi >> testcase.mi:12: internal compiler error: Bus error >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See <URL:http://llvm.org/bugs> for instructions. > > In llvm-backend.cpp : > > 1086 if (GV->getName() != Name) { > 1087 Function *F = TheModule->getFunction(Name); > 1088 assert(F && F->isDeclaration() && "A function turned > into a global?"); > 1089 > 1090 // Replace any uses of "F" with uses of GV. > 1091 Value *FInNewType = ConstantExpr::getBitCast(GV, F- > >getType()); > > > (gdb) p Name > $3 = 0x41819430 "\001L_OBJC_PROTOCOL_$_CPTransferThreadObserving" > > However TheModule->getFunction(Name) returns NULL and you get ICE > at F->getType() #1091. I'll let you investigate this further ... :) > > > - > Devang > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20070919/1ead5eb9/attachment.html>
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. An assertion build (the Apple way) doesn't assert. -bw On Sep 19, 2007, at 5:48 PM, Dale Johannesen wrote:> This should have gotten an assertion failure in a compiler built > with assertions, surely... > > On Sep 19, 2007, at 5:41 PM, Devang Patel wrote: >>> $ llvm-gcc -x objective-c -arch ppc64 -std=c99 -c testcase.mi >>> testcase.mi:12: internal compiler error: Bus error >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See <URL:http://llvm.org/bugs> for instructions. >> >> In llvm-backend.cpp : >> >> 1086 if (GV->getName() != Name) { >> 1087 Function *F = TheModule->getFunction(Name); >> 1088 assert(F && F->isDeclaration() && "A function >> turned into a global?"); >> 1089 >> 1090 // Replace any uses of "F" with uses of GV. >> 1091 Value *FInNewType = ConstantExpr::getBitCast(GV, F- >> >getType()); >> >> >> (gdb) p Name >> $3 = 0x41819430 "\001L_OBJC_PROTOCOL_$_CPTransferThreadObserving" >> >> However TheModule->getFunction(Name) returns NULL and you get ICE >> at F->getType() #1091. I'll let you investigate this further ... :) >> >> >> - >> Devang >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20070920/a9ee527c/attachment.html>
On Sep 20, 2007, at 2:22 AM, Bill Wendling wrote:> 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.This is all expected behavior. Right ?> An assertion build (the Apple way) doesn't assert.Does it enable assertions in llvm-gcc at configure time ? Note, this assertion failure is in llvm-gcc and not in llvm. - Devang> > -bw > > On Sep 19, 2007, at 5:48 PM, Dale Johannesen wrote: > >> This should have gotten an assertion failure in a compiler built >> with assertions, surely... >> >> On Sep 19, 2007, at 5:41 PM, Devang Patel wrote: >>>> $ llvm-gcc -x objective-c -arch ppc64 -std=c99 -c testcase.mi >>>> testcase.mi:12: internal compiler error: Bus error >>>> Please submit a full bug report, >>>> with preprocessed source if appropriate. >>>> See <URL:http://llvm.org/bugs> for instructions. >>> >>> In llvm-backend.cpp : >>> >>> 1086 if (GV->getName() != Name) { >>> 1087 Function *F = TheModule->getFunction(Name); >>> 1088 assert(F && F->isDeclaration() && "A function >>> turned into a global?"); >>> 1089 >>> 1090 // Replace any uses of "F" with uses of GV. >>> 1091 Value *FInNewType = ConstantExpr::getBitCast(GV, F- >>> >getType()); >>> >>> >>> (gdb) p Name >>> $3 = 0x41819430 "\001L_OBJC_PROTOCOL_$_CPTransferThreadObserving" >>> >>> However TheModule->getFunction(Name) returns NULL and you get ICE >>> at F->getType() #1091. I'll let you investigate this >>> further ... :) >>> >>> >>> - >>> Devang >>> >>> _______________________________________________ >>> LLVM Developers mailing list >>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20070920/13f7a71d/attachment.html>