<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello,<div><br></div><div>I encounter a annoying segfault in clang when compiling simple obj-c file. This error only 1 or 2 week old. </div><div><br></div><div>I managed to create a simple test case:</div><div><br></div><div><div># clang --version</div><div>clang version 1.1 (trunk 93721)</div><div>Target: x86_64-apple-darwin10</div><div>Thread model: posix</div><div><br></div><div>This is a Release-Assert build compiled using llvm-gcc-4.2 from Xcode 3.2.1.</div><div><br></div></div><div>-------------------------------- Track.m --------------------------------</div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 139, 0); ">// clang -arch i386 -O0 -gdwarf-2 -c Track.m</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(226, 3, 0); "><span style="color: #7f4726">#import </span><Cocoa/Cocoa.h></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: #cc00a2">@interface</span> SATrack : NSObject {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(204, 0, 162); ">@private</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">}</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">- (CGSize)size;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">- (<span style="color: #cc00a2">id</span>)valueForAttribute:(NSString *)anAttribute;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(204, 0, 162); ">@end</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(204, 0, 162); ">@implementation<span style="color: #000000"> SATrack</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">- (CGSize)size {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">  NSValue *s = [<span style="color: #cc00a2">self</span> valueForAttribute:<span style="color: #e20300">@"sapphire.aperture.clean"</span>];</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">  <span style="color: #cc00a2">if</span> (!s)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">    s = [<span style="color: #cc00a2">self</span> valueForAttribute:<span style="color: #e20300">@"sapphire.track.size"</span>];</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">  <span style="color: #cc00a2">if</span> (s)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">    <span style="color: #cc00a2">return</span> NSSizeToCGSize([s sizeValue]);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">  <span style="color: #cc00a2">return</span> CGSizeZero;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">}</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">- (<span style="color: #cc00a2">id</span>)valueForAttribute:(NSString *)anAttribute { </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(204, 0, 162); "><span style="color: #000000">  </span>return<span style="color: #000000"> </span>nil<span style="color: #000000">;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">}</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(204, 0, 162); ">@end</div><div><font class="Apple-style-span" color="#CC00A2" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: medium; color: rgb(0, 0, 0); font-family: Helvetica; ">--------------------------------------------------------------------------------</span></font></div><div><font class="Apple-style-span" color="#CC00A2" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><font class="Apple-style-span" color="#CC00A2" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><div><font class="Apple-style-span" color="#000000">clang -arch i386 -O0 -gdwarf-2 -c Track.m</font></div><div><font class="Apple-style-span" color="#000000">0  clang             0x0000000100db9e62 PrintStackTrace(void*) + 34</font></div><div><font class="Apple-style-span" color="#000000">1  clang             0x0000000100dba344 SignalHandler(int) + 468</font></div><div><font class="Apple-style-span" color="#000000">2  libSystem.B.dylib 0x00007fff87ce4eaa _sigtramp + 26</font></div><div><font class="Apple-style-span" color="#000000">3  libSystem.B.dylib 0x00000001013c7a50 _sigtramp + 2037263296</font></div><div><font class="Apple-style-span" color="#000000">4  clang             0x000000010092f8d3 llvm::SelectionDAGBuilder::visitCall(llvm::CallInst&) + 787</font></div><div><font class="Apple-style-span" color="#000000">5  clang             0x0000000100952233 llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*, llvm::ilist_iterator<llvm::Instruction>, llvm::ilist_iterator<llvm::Instruction>, bool&) + 179</font></div><div><font class="Apple-style-span" color="#000000">6  clang             0x00000001009529a3 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function&, llvm::MachineFunction&, llvm::MachineModuleInfo*, llvm::DwarfWriter*, llvm::TargetInstrInfo const&) + 1619</font></div><div><font class="Apple-style-span" color="#000000">7  clang             0x000000010095381c llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1084</font></div><div><font class="Apple-style-span" color="#000000">8  clang             0x0000000100a1c44b llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 43</font></div><div><font class="Apple-style-span" color="#000000">9  clang             0x0000000100d51acd llvm::FPPassManager::runOnFunction(llvm::Function&) + 429</font></div><div><font class="Apple-style-span" color="#000000">10 clang             0x0000000100d51ca4 llvm::FunctionPassManagerImpl::run(llvm::Function&) + 100</font></div><div><font class="Apple-style-span" color="#000000">11 clang             0x0000000100d51e4e llvm::FunctionPassManager::run(llvm::Function&) + 78</font></div><div><font class="Apple-style-span" color="#000000">12 clang             0x0000000100030515 (anonymous namespace)::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 773</font></div><div><font class="Apple-style-span" color="#000000">13 clang             0x0000000100304a93 clang::ParseAST(clang::Preprocessor&, clang::ASTConsumer*, clang::ASTContext&, bool, bool, clang::CodeCompleteConsumer*) + 387</font></div><div><font class="Apple-style-span" color="#000000">14 clang             0x00000001000375ae clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 302</font></div><div><font class="Apple-style-span" color="#000000">15 clang             0x000000010001f546 cc1_main(char const**, char const**, char const*, void*) + 2102</font></div><div><font class="Apple-style-span" color="#000000">16 clang             0x0000000100021a54 main + 2052</font></div><div><font class="Apple-style-span" color="#000000">17 clang             0x000000010001d328 start + 52</font></div><div><font class="Apple-style-span" color="#000000">18 clang             0x000000000000001d start + 4294847785</font></div><div><font class="Apple-style-span" color="#000000">Stack dump:</font></div><div><font class="Apple-style-span" color="#000000">0.</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" color="#000000">       </font></span><font class="Apple-style-span" color="#000000">Program arguments: /Users/jddupas/Projects/OpenSource/llvm/Release-Asserts/bin/clang -cc1 -triple i386-apple-darwin10.0 -S -disable-free -main-file-name Track.m -pic-level 1 -mdisable-fp-elim -target-cpu yonah -g -resource-dir /Users/jddupas/Projects/OpenSource/llvm/Release-Asserts/lib/clang/1.1 -O0 -fmessage-length 172 -stack-protector 1 -fblocks -fdiagnostics-show-option -fcolor-diagnostics -o /var/folders/u-/u-YCVFReEbeFgXey1xAjx++++TI/-Tmp-/cc-RmAqfu.s -x objective-c Track.m </font></div><div><font class="Apple-style-span" color="#000000">1.</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" color="#000000">        </font></span><font class="Apple-style-span" color="#000000"><eof> parser at end of file</font></div><div><font class="Apple-style-span" color="#000000">2.</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" color="#000000">        </font></span><font class="Apple-style-span" color="#000000">Code generation</font></div><div><font class="Apple-style-span" color="#000000">3.</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" color="#000000">  </font></span><font class="Apple-style-span" color="#000000">Running pass 'X86 DAG->DAG Instruction Selection' on function '@"\01-[SATrack size]"'</font></div><div><font class="Apple-style-span" color="#000000">clang: error: compiler command failed due to signal 11 (use -v to see invocation)</font></div><div><br></div></span></font></div><div><font class="Apple-style-span" color="#CC00A2" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px; "><br></span></font></div></div><div><div>
<div>-- Jean-Daniel</div><div><br></div><div><br></div><br class="Apple-interchange-newline">
</div>
<br></div></body></html>