Re:Workaround Clang v15 AArch64 miscompile that affects para...
by rurban on Monday October 21, 2024 @05:35PM
(#41908767)
I dont get how the C macro with the endless C loop can be called from within scheme, just asis. Without any registration. Is this a chez speciality, or am I missing something?
[ Parent
| on HN ]
Re:Workaround Clang v15 AArch64 miscompile that affects para...
by nneonneo on Monday October 21, 2024 @05:47PM
(#41908865)
If I had to guess, they’re probably just expanding the Scheme code into C code during compilation. Also: it isn’t an endless C loop; do{/statements/}while(0) is a common macro idiom for a block of code that requires a trailing semicolon, i.e. one that behaves syntactically like a normal (void) function call. It only runs once because the condition is false.
Re:Workaround Clang v15 AArch64 miscompile that affects para...
by gus_massa on Monday October 21, 2024 @09:55PM
(#41910422)
I'm somewhat lost in the details, but IIUC, you are confused for the "use" of the macro in the file mkgs.ss The fist part of that file is a transpiler, that transpile it's second half from pseudo-scheme to c, and then the c version includes the definition of the macro and uses it https://github.com/cisco/ChezScheme/blob/fc577f234171af80859...