Manually runnign the upstream testsuite from cmake-3.20.2-8.el9 under GCC Toolset 12 gcc-toolset-12-12.0-6.el9.x86_64 gcc-toolset-12-annobin-docs-11.08-2.el9.noarch gcc-toolset-12-annobin-plugin-gcc-11.08-2.el9.x86_64 gcc-toolset-12-binutils-2.38-16.el9.x86_64 gcc-toolset-12-binutils-gold-2.38-16.el9.x86_64 gcc-toolset-12-dwz-0.14-4.el9.x86_64 gcc-toolset-12-gcc-12.2.1-7.4.el9.x86_64 gcc-toolset-12-gcc-c++-12.2.1-7.4.el9.x86_64 gcc-toolset-12-gcc-gfortran-12.2.1-7.4.el9.x86_64 gcc-toolset-12-gdb-11.2-4.el9.x86_64 gcc-toolset-12-libquadmath-devel-12.2.1-7.4.el9.x86_64 gcc-toolset-12-libstdc++-devel-12.2.1-7.4.el9.x86_64 gcc-toolset-12-runtime-12.0-6.el9.x86_64 results in a FortranC.Flags failure. This happens with GCC 12 proper, too, and the following upstream patches are relevant: commit 6a0ce19ce1cb594cdec19bacc9fc7a38156e38da Author: Björn Esser <besser82> Date: Wed Jan 19 17:26:14 2022 +0100 FortranCInterface: Fix compatibility with GCC gfortran 12 LTO Since version 12.0 the GCC Fortran compiler has implemented "WG5/N1942", which causes, if link-time opmization is enabled, obfuscation of hard-coded string values in the compiler objects and its resulting ELF-binaries. This causes the CMake-internal detection of the mangling scheme for the naming of subroutines to fail. Thus we must ensure to have any link-time optimization features to be disabled on the executable file we perform the detection on. The static libraries, however, must be build with LTO and non-LTO objects, as that will ensure the verify step will operate on IPO objects, if building those is requested by the system compiler flags. Fixes: #23123 Signed-off-by: Björn Esser <besser82> commit cb616d43d6f0912f3b4ab61d210cebe42dbfffb3 Author: Brad King <brad.king> Date: Mon May 16 11:15:34 2022 -0400 FortranCInterface: Fix failure with gfortran 12 and Clang The C flags added by commit 6a0ce19ce1 (FortranCInterface: Fix compatibility with GCC gfortran 12 LTO, 2022-01-19, v3.22.2~5^2) should only be added for the GNU C compiler. Fixes: #23500 Issue: #23123 There are a bunch of other failures as well: The following tests FAILED: 39 - VSGNUFortran (Failed) 121 - CustomCommand (Failed) 135 - CPackComponentsForAll-RPM-IgnoreGroup (Failed) 267 - Fortran (Failed) 269 - FortranC.Flags (Failed) 415 - RunCMake.PositionIndependentCode (Failed) 542 - RunCMake.CPack_RPM.DEBUGINFO (Failed) Errors while running CTest I have not reproduced those under GCC 12 proper, so maybe they happen because “scl enable gcc-toolset-12 -- bash” results in some incompatibilities. Some of the failures are suppressed during the RPM build; I skipped that part. (NB: gcc is not installed on this system.)