freenode/#clasp - IRC Chatlog
Search
18:16:48
cracauer
This isn't an emergency, just something I would like to play with to look into speculative compilation.
18:17:33
Bike
this will also mean inline definitions won't be saved, but bclasp doesn't do that anyway
18:18:07
Bike
it's basically a special operator that's implemented for cclasp but not bclasp. there are a few of them
18:34:02
drmeister
luis: everything is compiled to llvm-ir so calls to c++ are through one pointer indirection or direct.
18:35:32
luis
drmeister: how do you generate calls that follow the C++ ABI? Do you use libclang or something like that?
18:36:05
luis
drmeister: e.g., simply calling a method. That requires at least knowing its mangled name, right?
19:56:25
drmeister
We just make llvm calls - they are c++ calls - I’m very proud that I have only once needed to worry about c++ name mangling and not for a function call.
20:15:47
drmeister
That’s the term right? We call. C++ function (clasp intrinsic) to call c++ methods.
21:10:46
luis
drmeister: could you point me to the code where the c++/llvm function call is generated? Trying to figure out how llvm works
21:20:43
Bike
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cmp/cmpir.lsp#L1234-L1236 here
21:24:52
Bike
we call a bunch of them to build up an IR module, and then give the module to llvm to lower to object code
3:45:05
drmeister
I think when it comes to build systems that you choose the build system you want to complain about.
3:45:38
drmeister
But (1) waf is like autotools - it's holistic - it handles every part of the build.
3:46:18
drmeister
(2) unlike autotools - waf is based on Python and I can code in Python and so eventually I can make waf do whatever I need.
3:47:41
drmeister
What I have figured out that you use Python to construct a dependency graph and then waf uses it to figure out what to build in what order.
3:49:54
drmeister
Also - there is a #waf irc channel and the author of waf hangs out there and answers question.
3:50:22
drmeister
ita is his handle and his answer is often "read the waf manual" - so ... read the waf manual.