* bump GCC targets to 9 and 12
* bump Clang targets to 11 and 15
* use Ubuntu 22.04 images
* use actual versions of checkout and upload-artifact actions
* remove lots of needless formatting, double quotes in particular
* remove unused dependencies
* remove obsolete Strawberry Perl workaround
versions before 9 fails to compile with the following error
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/stl_tree.h:701:4: error: exception specification of explicitly defaulted move constructor does not match the calculated one
clang 9 fails to link with the following errors
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/cmath:223: undefined reference to `__expf_finite'
src/rendering/swrenderer/drawers/r_draw_rgba.cpp:1120: undefined reference to `__log2_finite'
src/rendering/swrenderer/drawers/r_draw_rgba.cpp:1120: undefined reference to `__log2_finite'
src/rendering/swrenderer/drawers/r_draw_rgba.cpp:1120: undefined reference to `__log2_finite'
src/rendering/swrenderer/plane/r_flatplane.cpp:183: undefined reference to `__log2_finite'
src/rendering/swrenderer/viewport/r_spritedrawer.cpp:174: undefined reference to `__log2_finite'
* Switch from macOS 10.15 to 11, Xcode 12.4 to 12.5
* Switch from Clang 11 to 12
* Remove no longer needed workaround for Clang 6 with GCC 11 deinstallation
this helps to avoid build issues when virtual environments are different between forks of the same repository
e.g., ubuntu-latest means 20.04 in upstream while it still points to 18.04 in a fork
Mainly to allow using 'if constexpr'.
Older CI compiler setups like GCC 5 for Linux were removed as a consequence.
Windows 32 bit was also removed because there are no plans to do any more 32 bit releases of GZDoom.