swift: SEGVに遭遇

swiftは言語的には素晴らしくて気に入っている。でも開発環境はまだまだヘロヘロでHeaderDoc的なのがまだないし、ソース補完は相変わらずクラッシュしまくりである。

そしてついにコンパイラがSEGV。IR生成までいってるので文法的には正しいコードを書いてると思うのだが・・・。

While emitting IR SIL function XXX for 'f' at yyy.swift
  swift                    0x000000010b311b68 llvm::sys::PrintStackTrace(__sFILE*) + 40
1  swift                    0x000000010b312054 SignalHandler(int) + 452
2  libsystem_platform.dylib 0x00007fff8b52ff1a _sigtramp + 26
3  libsystem_platform.dylib 0xffffffff00000001 _sigtramp + 1957495041
4  swift                    0x000000010b197715 llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::ExprMapKeyType const&, llvm::Type, llvm::ConstantExpr, false>::Create(llvm::Type*, llvm::ExprMapKeyType const&, std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::pair<llvm::Type*, llvm::ExprMapKeyType>, llvm::ConstantExpr*>, std::__1::__tree_node<std::__1::__value_type<std::__1::pair<llvm::Type*, llvm::ExprMapKeyType>, llvm::ConstantExpr*>, void*>*, long> >) + 53
5  swift                    0x000000010b194bb2 llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::ExprMapKeyType const&, llvm::Type, llvm::ConstantExpr, false>::getOrCreate(llvm::Type*, llvm::ExprMapKeyType const&) + 514
6  swift                    0x000000010b1919c6 llvm::ConstantExpr::getBitCast(llvm::Constant*, llvm::Type*) + 182
7  swift                    0x000000010b3177d5 llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter >::CreateCast(llvm::Instruction::CastOps, llvm::Value*, llvm::Type*, llvm::Twine const&) + 133
8  swift                    0x000000010a6aef02 swift::irgen::emitDynamicTypeOfOpaqueHeapObject(swift::irgen::IRGenFunction&, llvm::Value*) + 66
9  swift                    0x000000010a6de423 swift::irgen::emitClassProtocolMethodValue(swift::irgen::IRGenFunction&, swift::irgen::Explosion&, swift::SILType, swift::SILDeclRef, swift::irgen::Explosion&) + 531
10 swift                    0x000000010a71da96 swift::SILVisitor<(anonymous namespace)::IRGenSILFunction, void>::visit(swift::ValueBase*) + 28950
11 swift                    0x000000010a715d3b swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*) + 9179
12 swift                    0x000000010a68f210 swift::irgen::IRGenModule::emitGlobalTopLevel() + 208
13 swift                    0x000000010a702a6c performIRGeneration(swift::IRGenOptions&, swift::Module*, swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, swift::SourceFile*, unsigned int) + 1900
14 swift                    0x000000010a703473 swift::performIRGeneration(swift::IRGenOptions&, swift::SourceFile&, swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, unsigned int) + 51
15 swift                    0x000000010a6586f4 frontend_main(llvm::ArrayRef, char const*, void*) + 5444
16 swift                    0x000000010a655a6d main + 1677
17 libdyld.dylib            0x00007fff949fc5c9 start + 1

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です