mirror of
https://github.com/AdaCore/cvc5.git
synced 2026-02-12 12:32:16 -08:00
This PR applies several changes required to compile cvc5 on Windows ARM64 using MSYS2 CLANGARM64. In particular, `thread_local` class fields and local function variables in classes and functions exported in the API are not allowed, so they have been converted into global variables within the compilation unit. Moreover, some functions in the cvc5 parser library were using non-exported functions from the cvc5 base library. This PR exports these functions and converts the ones that were inlined into non-inlined functions to make them exportable. Here is a summary of the results of running the cvc5 version in main and in this branch: ``` config status total solved sat unsat best timeout memout error uniq dis time_cpu memory main ee 450474 385375 173928 211447 256627 57617 719 5 36 0 18909500.3 42742499.9 pr ee 450474 385370 173923 211447 192564 57621 720 5 31 0 18914388.1 42779989.7 ``` It seems that the Windows ARM64 changes do not significantly affect solver performance compared to the main branch.