pure-c/purec

GC issues under clang compile time optimizations

felixSchl opened this issue · 1 comments

Branch bug/clang-opts demonstrates a minimal program to reproduce GC issues due to compile time optimization (any level of optimization appears to trigger this). Note that the various random seeming pure units need to be there to trigger the issue. I have a hunch it's related to type-classes (or hash maps, more generally speaking) - hence the monomorphic versions of bind, pure, and discard for Effect.)

For example, on my machine the example program prints: "test: append" as opposed to "test: quark", for example when compiled with -O3.

The code has been changed drastically since this was first opened and is likely no longer relevant. Closing.