std::unreachable() is C++23, not C++20. Here's a portable alternative.
Using nasm to compile a minimal runnable example on MacOS / Darwin