Created
March 23, 2015 18:40
-
-
Save waterlink/d903216aaca5df8ccaa1 to your computer and use it in GitHub Desktop.
crystal-lang compiler error
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ; ModuleID = 'Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))' | |
| %String = type { i32, i32, i32, i8 } | |
| %"Array(Int32)" = type { i32, i32, i32, i32* } | |
| %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))" = type { i32, i32, %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"**, i32, i32, i1, %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"*, %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* } | |
| %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))" = type { i32, %"(Int:Class | Float:Class)", %"(MySQL::Types::Integer:Class | MySQL::Types::Float:Class)", %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"*, %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"*, %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* } | |
| %"(Int:Class | Float:Class)" = type { i32, [1 x i64] } | |
| %"(MySQL::Types::Integer:Class | MySQL::Types::Float:Class)" = type { i32, [1 x i64] } | |
| @symbol_table = external global [23 x %String*] | |
| @"Hash(K, V)::HASH_PRIMES" = external global %"Array(Int32)"* | |
| @str = private constant { i32, i32, i32, [19 x i8] } { i32 1, i32 18, i32 18, [19 x i8] c"Hash table too big\00" } | |
| define %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* @"*Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))::new<Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class)):Class>:Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"(i32 %self) { | |
| alloca: | |
| %block = alloca i1 | |
| %comp = alloca i32 | |
| %_ = alloca %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* | |
| br label %entry | |
| entry: ; preds = %alloca | |
| store i1 false, i1* %block | |
| store i32 679, i32* %comp | |
| %0 = call i8* @__crystal_malloc(i32 ptrtoint (%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* getelementptr (%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* null, i32 1) to i32)) | |
| %1 = bitcast i8* %0 to %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* | |
| %2 = bitcast %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %1 to i8* | |
| call void @llvm.memset.p0i8.i32(i8* %2, i8 0, i32 ptrtoint (%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* getelementptr (%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* null, i32 1) to i32), i32 4, i1 false) | |
| %3 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %1, i32 0, i32 0 | |
| store i32 158, i32* %3 | |
| store %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %1, %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %_ | |
| %4 = load %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %_ | |
| %5 = call i1 @"*GC::add_finalizer<Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))>:Nil"(%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %4) | |
| %6 = load %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %_ | |
| %7 = load i1* %block | |
| %8 = load i32* %comp | |
| %9 = call i1 @"*Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))@Hash(K, V)#initialize<Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class)), Nil, Hash(K, V)::StandardComparator:Class>:Nil"(%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %6, i1 %7, i32 %8) | |
| %10 = load %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %_ | |
| ret %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %10 | |
| } | |
| declare i8* @__crystal_malloc(i32) | |
| ; Function Attrs: nounwind | |
| declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) #0 | |
| declare i1 @"*GC::add_finalizer<Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))>:Nil"(%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"*) | |
| define i1 @"*Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))@Hash(K, V)#initialize<Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class)), Nil, Hash(K, V)::StandardComparator:Class>:Nil"(%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i1 %block, i32 %comp) { | |
| entry: | |
| %0 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 1 | |
| store i32 %comp, i32* %0 | |
| %1 = call %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** @"*Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?)::malloc<Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?):Class, Int32>:Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?)"(i32 594, i32 11) | |
| %2 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 2 | |
| store %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %1, %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"*** %2 | |
| %3 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 3 | |
| store i32 11, i32* %3 | |
| %4 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 4 | |
| store i32 0, i32* %4 | |
| %5 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 5 | |
| store i1 %block, i1* %5 | |
| ret i1 %block | |
| } | |
| declare %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** @"*Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?)::malloc<Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?):Class, Int32>:Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?)"(i32, i32) | |
| define i32 @"*Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))@Hash(K, V)#[]=<Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class)), Int:Class, MySQL::Types::Integer:Class>:MySQL::Types::Integer:Class"(%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 %key, i32 %value) { | |
| alloca: | |
| %index = alloca i32 | |
| %entry1 = alloca %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* | |
| %last = alloca %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* | |
| entry: ; No predecessors! | |
| %0 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 4 | |
| %1 = load i32* %0 | |
| %2 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 3 | |
| %3 = load i32* %2 | |
| %4 = mul i32 5, %3 | |
| %5 = icmp sgt i32 %1, %4 | |
| br i1 %5, label %then, label %else | |
| then: ; preds = %entry | |
| else: ; preds = %entry | |
| } | |
| define i1 @"*Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))@Hash(K, V)#rehash<Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))>:Nil"(%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self) { | |
| alloca: | |
| %new_size = alloca i32 | |
| %entry1 = alloca %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* | |
| %index = alloca i32 | |
| %i = alloca i32 | |
| %i2 = alloca i32 | |
| %0 = alloca %"(Int:Class | Float:Class)" | |
| entry: ; No predecessors! | |
| %1 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 4 | |
| %2 = load i32* %1 | |
| %3 = call i32 @"*Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))@Hash(K, V)#calculate_new_size<Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class)), Int32>:Int32"(%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 %2) | |
| store i32 %3, i32* %new_size | |
| %4 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 2 | |
| %5 = load %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"*** %4 | |
| %6 = load i32* %new_size | |
| %7 = call %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** @"*Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?)@Pointer(T)#realloc<Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?), Int32>:Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?)"(%"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %5, i32 %6) | |
| %8 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 2 | |
| store %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %7, %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"*** %8 | |
| %9 = load i32* %new_size | |
| %10 = xor i32 %9, %9 | |
| store i32 %10, i32* %i2 | |
| br label %while | |
| while: ; preds = %body, %entry | |
| %11 = load i32* %i2 | |
| %12 = icmp slt i32 %11, %9 | |
| br i1 %12, label %body, label %exit | |
| body: ; preds = %while | |
| %13 = load i32* %i2 | |
| store i32 %13, i32* %i | |
| %14 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 2 | |
| %15 = load %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"*** %14 | |
| %16 = load i32* %i | |
| %17 = call i1 @"*Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?)@Pointer(T)#[]=<Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?), Int32, Nil>:Nil"(%"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %15, i32 %16, i1 false) | |
| %18 = load i32* %i2 | |
| %19 = add i32 %18, 1 | |
| store i32 %19, i32* %i2 | |
| br label %while | |
| exit: ; preds = %while | |
| %20 = load i32* %new_size | |
| %21 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 3 | |
| store i32 %20, i32* %21 | |
| %22 = getelementptr inbounds %"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 0, i32 6 | |
| %23 = load %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %22 | |
| store %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %23, %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %entry1 | |
| br label %while3 | |
| while3: ; preds = %exit | |
| %24 = load %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %entry1 | |
| %25 = ptrtoint %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %24 to i32 | |
| %26 = icmp ne i32 %25, 0 | |
| br i1 %26, label %body4, label %exit5 | |
| body4: ; preds = %while3 | |
| %27 = load %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %entry1 | |
| %28 = call i1 @"*Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))@Hash(K, V)::Entry(K, V)#next=<Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class)), Nil>:Nil"(%"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %27, i1 false) | |
| %29 = load %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** %entry1 | |
| %30 = call %"(Int:Class | Float:Class)" @"*Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))@Hash(K, V)::Entry(K, V)#key<Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))>:(Int:Class | Float:Class)"(%"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %29) | |
| store %"(Int:Class | Float:Class)" %30, %"(Int:Class | Float:Class)"* %0 | |
| exit5: ; preds = %while3 | |
| } | |
| define i32 @"*Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))@Hash(K, V)#calculate_new_size<Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class)), Int32>:Int32"(%"Hash((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"* %self, i32 %size) { | |
| alloca: | |
| %new_size = alloca i32 | |
| %hash_size = alloca i32 | |
| %i = alloca i32 | |
| %i1 = alloca i32 | |
| br label %entry | |
| entry: ; preds = %alloca | |
| store i32 8, i32* %new_size | |
| %0 = load %"Array(Int32)"** @"Hash(K, V)::HASH_PRIMES" | |
| store i32 0, i32* %i1 | |
| br label %while | |
| while: ; preds = %else, %entry | |
| %1 = load i32* %i1 | |
| %2 = call i32 @"*Array(Int32)@Array(T)#length<Array(Int32)>:Int32"(%"Array(Int32)"* %0) | |
| %3 = icmp slt i32 %1, %2 | |
| br i1 %3, label %body, label %exit | |
| body: ; preds = %while | |
| %4 = load i32* %i1 | |
| store i32 %4, i32* %i | |
| %5 = getelementptr inbounds %"Array(Int32)"* %0, i32 0, i32 3 | |
| %6 = load i32** %5 | |
| %7 = load i32* %i | |
| %8 = call i32 @"*Pointer(Int32)@Pointer(T)#[]<Pointer(Int32), Int32>:Int32"(i32* %6, i32 %7) | |
| store i32 %8, i32* %hash_size | |
| %9 = load i32* %new_size | |
| %10 = icmp sgt i32 %9, %size | |
| br i1 %10, label %then, label %else | |
| exit: ; preds = %while | |
| call void @"*raise<String>:NoReturn"(%String* bitcast ({ i32, i32, i32, [19 x i8] }* @str to %String*)) | |
| unreachable | |
| then: ; preds = %body | |
| %11 = load i32* %hash_size | |
| ret i32 %11 | |
| else: ; preds = %body | |
| %12 = load i32* %new_size | |
| %13 = shl i32 %12, 1 | |
| store i32 %13, i32* %new_size | |
| %14 = load i32* %i1 | |
| %15 = add i32 %14, 1 | |
| store i32 %15, i32* %i1 | |
| br label %while | |
| } | |
| declare i32 @"*Array(Int32)@Array(T)#length<Array(Int32)>:Int32"(%"Array(Int32)"*) | |
| declare i32 @"*Pointer(Int32)@Pointer(T)#[]<Pointer(Int32), Int32>:Int32"(i32*, i32) | |
| declare void @"*raise<String>:NoReturn"(%String*) | |
| declare %"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"** @"*Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?)@Pointer(T)#realloc<Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?), Int32>:Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?)"(%"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"**, i32) | |
| declare i1 @"*Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?)@Pointer(T)#[]=<Pointer(Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))?), Int32, Nil>:Nil"(%"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"**, i32, i1) | |
| declare i1 @"*Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))@Hash(K, V)::Entry(K, V)#next=<Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class)), Nil>:Nil"(%"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"*, i1) | |
| declare %"(Int:Class | Float:Class)" @"*Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))@Hash(K, V)::Entry(K, V)#key<Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))>:(Int:Class | Float:Class)"(%"Hash(K, V)::Entry((Int:Class | Float:Class), (MySQL::Types::Integer:Class | MySQL::Types::Float:Class))"*) | |
| attributes #0 = { nounwind } | |
| Nil assertion failed | |
| *raise<String>:NoReturn +70 [4476877398] | |
| *Nil#not_nil!<Nil>:NoReturn +13 [4476919085] | |
| *Crystal::CodeGenVisitor#codegen_fun<Crystal::CodeGenVisitor, String, Crystal::Def+, Crystal::Type+, Bool, LLVM::Module, Bool, Bool>:LLVM::Function +5718 [4479559478] | |
| *Crystal::CodeGenVisitor#target_def_fun<Crystal::CodeGenVisitor, Crystal::Def+, Crystal::Type+>:LLVM::Function +2414 [4479551006] | |
| *Crystal::CodeGenVisitor#visit<Crystal::CodeGenVisitor, Crystal::Call>:(Bool | Nil) +13142 [4479513030] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +45 [4479471485] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +6918 [4479478358] | |
| *Crystal::CodeGenVisitor#visit<Crystal::CodeGenVisitor, Crystal::Expressions>:Bool +1908 [4479616612] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +2401 [4479473841] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +8809 [4479480249] | |
| *Crystal::CodeGenVisitor#visit<Crystal::CodeGenVisitor, Crystal::Expressions>:Bool +1908 [4479616612] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +2401 [4479473841] | |
| *Crystal::CodeGenVisitor#codegen_fun<Crystal::CodeGenVisitor, String, Crystal::Def+, Crystal::Type+, Bool, LLVM::Module, Bool, Bool>:LLVM::Function +5339 [4479559099] | |
| *Crystal::CodeGenVisitor#target_def_fun<Crystal::CodeGenVisitor, Crystal::Def+, Crystal::Type+>:LLVM::Function +2414 [4479551006] | |
| *Crystal::CodeGenVisitor#visit<Crystal::CodeGenVisitor, Crystal::Call>:(Bool | Nil) +13142 [4479513030] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +45 [4479471485] | |
| *Crystal::CodeGenVisitor#codegen_if_branch<Crystal::CodeGenVisitor, Crystal::CodeGenVisitor::Phi, Crystal::ASTNode+, LLVM::BasicBlock, Bool>:(LLVM::Value | Nil) +52 [4479621892] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +8657 [4479480097] | |
| *Crystal::CodeGenVisitor#visit<Crystal::CodeGenVisitor, Crystal::Expressions>:Bool +1908 [4479616612] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +2401 [4479473841] | |
| *Crystal::CodeGenVisitor#codegen_fun<Crystal::CodeGenVisitor, String, Crystal::Def+, Crystal::Type+, Bool, LLVM::Module, Bool, Bool>:LLVM::Function +5339 [4479559099] | |
| *Crystal::CodeGenVisitor#target_def_fun<Crystal::CodeGenVisitor, Crystal::Def+, Crystal::Type+>:LLVM::Function +2414 [4479551006] | |
| *Crystal::CodeGenVisitor#visit<Crystal::CodeGenVisitor, Crystal::Call>:(Bool | Nil) +13142 [4479513030] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +45 [4479471485] | |
| *Crystal::CodeGenVisitor#visit<Crystal::CodeGenVisitor, Crystal::Expressions>:Bool +1908 [4479616612] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +2401 [4479473841] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +2849 [4479474289] | |
| *Crystal::CodeGenVisitor#initialize_const<Crystal::CodeGenVisitor, Crystal::Const, String>:(LLVM::Value | Nil) +704 [4479617728] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +3386 [4479474826] | |
| *Crystal::CodeGenVisitor#visit<Crystal::CodeGenVisitor, Crystal::Expressions>:Bool +1908 [4479616612] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +2401 [4479473841] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +3735 [4479475175] | |
| *Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::CodeGenVisitor>:Nil +3735 [4479475175] | |
| *Crystal::CodeGenVisitor#visit<Crystal::CodeGenVisitor, Crystal::Expressions>:Bool +1908 [4479616612] | |
| *Crystal::Program#build<Crystal::Program, Crystal::Expressions, (Bool | Nil | String), Bool, LLVM::Module>:Hash(String, LLVM::Module) +113 [4479367041] | |
| *Crystal::Compiler#build<Crystal::Compiler, Crystal::Program, Crystal::Expressions, Array(Crystal::Compiler::Source), String>:(Bool | Nil) +3444 [4479354676] | |
| *Crystal::Compiler#compile<Crystal::Compiler, Array(Crystal::Compiler::Source), String>:Crystal::Compiler::Result +4800 [4478714784] | |
| *Crystal::Command::run<Array(String)>:(Crystal::Compiler::Result | File | Bool | CFileIO | Nil) +15226 [4476894426] | |
| __crystal_main +10046 [4476875326] | |
| main +48 [4476877952] | |
| Error: you've found a bug in the Crystal compiler. Please open an issue: https://github.com/manastech/crystal/issues |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment