terralang / terra

Terra is a low-level system programming language that is embedded in and meta-programmed by the Lua programming language.
terralang.org
Other
2.71k stars 197 forks source link

Add support for LLVM 18 #662

Closed elliottslaughter closed 1 month ago

elliottslaughter commented 1 month ago

Currently passing all but 5 tests on macOS x86:

99% tests passed, 5 tests failed out of 550

Total Test time (real) =  52.38 sec

The following tests FAILED:
     65 - class.t (SEGFAULT)
     67 - class3.t (SEGFAULT)
     68 - class4.t (SEGFAULT)
     84 - constant2.t (SEGFAULT)
     85 - constantinits.t (SEGFAULT)
elliottslaughter commented 1 month ago

The crashes all go away when I build LLVM and Terra with Address Sanitizer. I'm not quite sure what that means right now. I'm trying a couple more options to make sure this isn't the result of unrelated build flag changes. Unfortunately it's going to make debugging this a bit more difficult.

elliottslaughter commented 1 month ago

The crashing tests were a result of not clearing out a function analysis manager when deleting a function. This also fixes #644 and probably #654.

elliottslaughter commented 1 month ago

FreeBSD CI services are still down so I won't attempt to spin up an LLVM 18 test there.