Search
3:00:59
drmeister
That's great - that should be straightforward to debug.
3:04:46
drmeister
Building dev-typeq.
3:41:04
drmeister
It segfaults in the compiler... investigating...
5:28:14
beach
Good morning everyone!
13:28:47
drmeister
I linked dev-typeq with the debug llvm library - it's hitting an assertion failure when evaluating the GEP instruction.
13:29:06
Bike
maybe llvm doesn't like negative numbers either.
13:29:18
drmeister
I haven't quite figured out the solution.
13:29:50
drmeister
I'll take a closer look on the train in and see
13:31:16
Bike
this can't be the only place in the code that wants the header
13:31:22
drmeister
I know we can do this with pointer arithmetic but the gep instruction should generate an offset load and that will be better.
13:32:46
drmeister
Oh! Right - use the compiler lab! Generate C++ that does this and look at the IR generated
13:33:05
drmeister
My train will be here any moment.
13:33:14
Bike
i suspect that using casting to byte* and using gep is kind of not what gep is intended for, anyway
13:33:36
drmeister
Once I have my laptop up I'll send you a link where you can do this. It's neat.
13:35:37
drmeister
There's gotta be a way to do this to tell the compiler to generate an offset mov
13:35:55
Bike
we should probably ask the llvm people
13:36:19
Bike
we're basically throwing around interior pointers, which is kind of weird for C to say the last
13:41:10
Bike
i'm not even sure how to write this in C
13:49:11
drmeister
https://www.irccloud.com/pastebin/Pl36bSXB/
13:49:26
drmeister
I'm just goofing around with the pointer.
13:49:36
Bike
tried something like maru. typedef long header; typedef struct object { header head; char data[]; } object; int header_of(object* o) { return (((header*)o)[-1]); }
13:49:49
drmeister
https://www.irccloud.com/pastebin/g12f1oqi/
13:50:30
drmeister
Line 12. It uses a single index - which makes sense. I used two in my code where the first index was zero.
13:50:47
drmeister
i8* isn't a structure - so you don't use a zero first index.
13:50:57
Bike
i saw the note about that in the gep page but didn't quite get it
13:51:28
drmeister
That may or may not be important.
13:54:23
drmeister
It looks straightforward though - I'll switch my pointer arithmetic code to this.
13:54:43
drmeister
I don't have much of it yet.
14:17:45
drmeister
I'm in a meetin until 11