Paste: dwarf fail

Author: blei
Mode: text
Date: Thu, 29 Dec 2011 22:17:34
Plain Text |
import glib.*;
import gobject.*;
import gtk.*;

private external clickedReload() {
    var button2 = null(GtkWidget);
    gSignalConnect(button2, cstring(""), GCallback(0), gpointer(0));
}

Annotation: huh?

Author: blei
Mode: text
Date: Thu, 29 Dec 2011 22:37:33
Plain Text |
import glib.*;
import gobject.*;
import pango.*;

record Struct__GtkObject (
    parent_instance : GInitiallyUnowned,
    flags : guint32,
);
alias GtkObject = Struct__GtkObject;
// remove this alias and it works
alias GdkWindow = Opaque;
record GtkWidget (
    object : GtkObject,
    state : guint8,
    saved_state : guint8,
    name : Pointer[gchar],
    style : Pointer[Opaque],
    requisition : Opaque,
    allocation : Opaque,
    window : Pointer[Opaque],
    parent : Pointer[GtkWidget],
);

private external clickedReload() {
    var button2 = null(GtkWidget);
    gSignalConnect(button2, cstring(""), GCallback(0), gpointer(0));
}

Annotation: backtrace

Author: blei
Mode: text
Date: Thu, 29 Dec 2011 22:39:17
Plain Text |
(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=<optimized out>, 
    conv=<optimized out>, type=<optimized out>, 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 <return> to continue, or q <return> 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=<optimized out>, 
    conv=<optimized out>, type=<optimized out>, 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=<optimized out>)
    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=<optimized out>, 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=<optimized out>, 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=<optimized 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=<optimized out>, out=..., 
---Type <return> to continue, or q <return> to quit---
    wantCount=<optimized out>) at /home/philipp/programming/clay/compiler/src/codegen.cpp:823
#36 0x000000000061e3c9 in codegenStatement (stmt=<optimized out>, env=..., ctx=...)
    at /home/philipp/programming/clay/compiler/src/codegen.cpp:3595
#37 0x0000000000622352 in codegenCodeBody (entry=<optimized out>)
    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=<optimized out>, 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=<optimized out>, 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=<optimized out>, env=..., ctx=...)
    at /home/philipp/programming/clay/compiler/src/codegen.cpp:3407
#46 0x0000000000611b28 in codegenExternalProcedure (x=..., codegenBody=<optimized out>)
    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=<optimized out>, argv=<optimized out>)
    at /home/philipp/programming/clay/compiler/src/main.cpp:853
(gdb) 

New Annotation

Summary:
Author:
Mode:
Body: