(gdb) run -g -c test.clay Starting program: /home/philipp/bin/clay -g -c test.clay [Thread debugging using libthread_db enabled] Program received signal SIGFPE, Arithmetic exception. 0x00000000006873c1 in _classifyType (type=..., begin=..., offset=0) at /home/philipp/programming/clay/compiler/src/externals.cpp:550 550 size_t misalign = offset % typeAlignment(type); (gdb) backtrace #0 0x00000000006873c1 in _classifyType (type=..., begin=..., offset=0) at /home/philipp/programming/clay/compiler/src/externals.cpp:550 #1 0x0000000000687a81 in X86_64_ExternalTarget::classifyType (this=0x17a5da0, type=...) at /home/philipp/programming/clay/compiler/src/externals.cpp:750 #2 0x0000000000687b80 in getTypeClassification (type=..., this=0x17a5da0) at /home/philipp/programming/clay/compiler/src/externals.cpp:760 #3 X86_64_ExternalTarget::getTypeClassification (this=0x17a5da0, type=...) at /home/philipp/programming/clay/compiler/src/externals.cpp:756 #4 0x000000000068aad7 in X86_64_ExternalTarget::typePassesByByvalPointer (this=, conv=, type=, varArg=false) at /home/philipp/programming/clay/compiler/src/externals.cpp:509 #5 0x0000000000689ca8 in ExternalTarget::pushArgumentType (this=0x17a5da0, conv=CC_DEFAULT, type=..., llArgTypes=..., llAttributes=...) at /home/philipp/programming/clay/compiler/src/externals.cpp:61 #6 0x00000000006e211c in declareLLVMType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:1122 #7 0x00000000006e2a95 in makeLLVMType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:978 #8 0x00000000006e2ad0 in llvmType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:986 #9 0x00000000006e2f6a in defineLLVMType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:1379 #10 0x00000000006e29fb in makeLLVMType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:981 #11 0x00000000006e2e1c in llvmTypeDebugInfo (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:992 #12 0x00000000006e19c3 in declareLLVMType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:1061 #13 0x00000000006e2a95 in makeLLVMType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:978 #14 0x00000000006e2ad0 in llvmType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:986 #15 0x00000000006e2b2c in initTypeInfo (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:1450 #16 0x00000000006e2c26 in initTypeInfo (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:1448 #17 typeSize (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:1457 #18 0x00000000006878ad in X86_64_ExternalTarget::classifyType (this=0x17a5da0, type=...) at /home/philipp/programming/clay/compiler/src/externals.cpp:742 #19 0x0000000000687b80 in getTypeClassification (type=..., this=0x17a5da0) at /home/philipp/programming/clay/compiler/src/externals.cpp:760 ---Type to continue, or q to quit--- #20 X86_64_ExternalTarget::getTypeClassification (this=0x17a5da0, type=...) at /home/philipp/programming/clay/compiler/src/externals.cpp:756 #21 0x000000000068aad7 in X86_64_ExternalTarget::typePassesByByvalPointer (this=, conv=, type=, varArg=false) at /home/philipp/programming/clay/compiler/src/externals.cpp:509 #22 0x0000000000689ca8 in ExternalTarget::pushArgumentType (this=0x17a5da0, conv=CC_DEFAULT, type=..., llArgTypes=..., llAttributes=...) at /home/philipp/programming/clay/compiler/src/externals.cpp:61 #23 0x00000000006e211c in declareLLVMType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:1122 #24 0x00000000006e2a95 in makeLLVMType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:978 #25 0x00000000006e2ad0 in llvmType (t=...) at /home/philipp/programming/clay/compiler/src/types.cpp:986 #26 0x000000000060fe12 in codegenAllocValue (t=..., ctx=) at /home/philipp/programming/clay/compiler/src/codegen.cpp:517 #27 0x0000000000617818 in codegenExprAsRef2 (expr=..., env=..., ctx=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:673 #28 0x0000000000618341 in codegenExprAsRef (expr=..., env=..., ctx=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:751 #29 0x0000000000618760 in codegenOneAsRef (expr=..., env=, ctx=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:634 #30 0x0000000000618a7d in codegenMultiAsRef (exprs=..., env=..., ctx=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:657 #31 0x000000000061acfc in codegenCallExpr (callable=..., args=..., env=, ctx=..., out=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:2085 #32 0x00000000006158ef in codegenExpr (expr=..., env=..., ctx=..., out=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:1072 #33 0x0000000000617699 in codegenOne (expr=..., env=..., ctx=..., out=) at /home/philipp/programming/clay/compiler/src/codegen.cpp:936 #34 0x00000000006314c4 in codegenOneInto (expr=..., env=..., ctx=..., out=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:768 #35 0x0000000000631c47 in codegenMultiInto (exprs=..., env=..., ctx=, out=..., ---Type to continue, or q to quit--- wantCount=) at /home/philipp/programming/clay/compiler/src/codegen.cpp:823 #36 0x000000000061e3c9 in codegenStatement (stmt=, env=..., ctx=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:3595 #37 0x0000000000622352 in codegenCodeBody (entry=) at /home/philipp/programming/clay/compiler/src/codegen.cpp:3039 #38 0x0000000000622e53 in codegenCallCode (entry=..., args=..., ctx=..., out=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:2475 #39 0x000000000061adad in codegenCallExpr (callable=..., args=..., env=, ctx=..., out=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:2086 #40 0x00000000006158ef in codegenExpr (expr=..., env=..., ctx=..., out=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:1072 #41 0x0000000000617a30 in codegenExprAsRef2 (expr=..., env=..., ctx=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:681 #42 0x0000000000618341 in codegenExprAsRef (expr=..., env=..., ctx=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:751 #43 0x000000000061e1d0 in codegenStatement (stmt=, env=..., ctx=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:3686 #44 0x000000000063bd5e in codegenBlockStatement (block=..., i=1, stmt=..., env=..., ctx=..., terminated=@0x7fffffffcb96) at /home/philipp/programming/clay/compiler/src/codegen.cpp:3378 #45 0x000000000061c3d1 in codegenStatement (stmt=, env=..., ctx=...) at /home/philipp/programming/clay/compiler/src/codegen.cpp:3407 #46 0x0000000000611b28 in codegenExternalProcedure (x=..., codegenBody=) at /home/philipp/programming/clay/compiler/src/codegen.cpp:1693 #47 0x000000000063c732 in codegenModuleEntryPoints (module=..., importedExternals=false) at /home/philipp/programming/clay/compiler/src/codegen.cpp:6293 #48 0x000000000063cf6c in codegenEntryPoints (module=..., importedExternals=false) at /home/philipp/programming/clay/compiler/src/codegen.cpp:6311 #49 0x00000000005d010f in main (argc=, argv=) at /home/philipp/programming/clay/compiler/src/main.cpp:853 (gdb)