freenode/#clasp - IRC Chatlog
Search
5:24:01
no-defun-allowed
"We are working toward supporting it." Well, it's not probably the most important thing, but I'll try to redo the ARM port I made and subsequently lost.
6:31:28
no-defun-allowed
It only took me half an hour to find the stack pointer in a ucontext (hint: it's not in .regs[] on ARM, it's in .sp), but now I get: "Tests: 38. All tests pass."
6:38:21
no-defun-allowed
Here it is with Linux-AArch64-GCC (and -Clang to some extent; I just haven't written the appropriate Makefile and autoconf stuff, which is apparently optional): https://github.com/no-defun-allowed/mps
14:37:31
Bike
i read it wrong, caller and callee only need the same prototype for musttail, not tail. still need the same calling convention though. that's annoying.
15:18:37
drmeister
You can look in build/boehm/generated/enum_inc.h for what is being exposed via clbind.
15:20:49
drmeister
I thought the translators would be generated by the macros as well - but that doesn't appear to be the case.
15:22:22
drmeister
The translators need to be available where the call is exposed so that the template code knows what to do.
15:25:18
drmeister
So SOMEWHERE there needs to be a to_object and from_object translator for llvmo::ClaspCallingConv. I'm starting to think we have to write it ourselves. Looking...
15:28:09
drmeister
https://github.com/clasp-developers/clasp/blob/master/include/clasp/core/symbolToEnumConverter.h#L114
15:31:31
drmeister
I think all header files get included before the scraper generated code that exposes functions gets compiled - so the code generated by the ENUM_TRANSLATOR will be available for the clbind template code.
15:38:57
drmeister
Clasp has built with compile-file-parallel 12 times since I changed SharedMutex and turned it back on. I'm ready to declare that the weird crashes to be due to the old broken SharedMutex.
15:42:25
Bike
i didn't do an ENUM_TRANSLATOR when i defined the atomic ordering enum, and that works fine
15:48:24
Bike
tons of compile errors. "error: no template named 'to_object': did you mean '::translate::to_object'?"
15:52:04
drmeister
Ihttps://github.com/clasp-developers/clasp/blob/master/include/clasp/core/symbolToEnumConverter.h#L114
15:52:07
drmeister
https://github.com/clasp-developers/clasp/blob/master/include/clasp/core/symbolToEnumConverter.h#L114
15:53:11
drmeister
It's not dicey - it's just stupid. If you put ENUM_TRANSLATOR inside of namespace llvmo then you end up in llvmo::translate::from_object - that can't work.
15:53:55
Bike
well no, i mean the dicey part is i don't understand why this enum needs ENUM_TRANSLATOR and others don't.
15:54:38
drmeister
It's probably why I don't use it much - C++ macros with bizarro rules about where you are allowed to use them suck.
15:55:11
drmeister
I don't know. What is the name of a function that takes one of these other enums?