It seems g++-10 running on rosetta on macos ventura triggers
generates some code that crashes in __cxa_throw, this seems
similar to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98805
We already have plenty of testing with gcc 10 so we can bump
macos gcc to workaround this.
Cirrus CI switched macOS machines to M1 where "brew install gcc@10"
fails due to architecture mismatch. I'm not sure if it's possible
to install gcc 10 natively for ARM. Let's work around this by
installing the x86_64 compatibility layer. Apparently we need
to install a x86_64 Homebrew to install x86_64 packages.
This fixes the CI failure where clang could not find <compare>.
Removing the include would not be enough, there are some other
failures.
Debian Stable ships Clang 11 so this seems accessible enough.
Unlike Linux distros where every release has a separate set of packages,
FreeBSD's ports system has just one set of packages that's used with every
release. The ports system is only guaranteed to be compatible with the latest
stable and development releases; if you have an older release installed and you
try to update ports before you've updated the base OS, things can break in weird
ways.
Apparently FreeBSD 12.2 was recently released, so our 12.1-based CI runs started
breaking. Bumping the images to 12.2 should fix things.
Installing a specific version of Clang on Mac OS/FreeBSD seems
complicated, therefore the current C.I. builds will keep using whatever
version is already available in the image.