LLVM/Clang 20, when invoked as `clang++ -E -c ...`, now warns:
warning: argument unused during compilation: '-c'
Drop the unnecessary `-c` flag. Also add a `-w` flag to suppress
warnings so their text is not parsed as predefines.
De-duplicate IBMClang compiler information by detecting the base clang
version and following the same logic as we do for any other clang of
that version. This helps maintain support for new IBMClang features
inherited from new base Clang versions.
We already use this approach for other Clang variants, like CrayClang
and FujitsuClang.
Apply the fix from commit 1ec6485c6a (Support duplicate object names in
large archives, 2014-04-16, v3.1.0-rc1~629^2) to the IPO-specific
archiving rules. Use "quick append" instead of "replace".
Fixes: #25675
Issue: #14874
Don't initialize the other CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND
variables.
The only language variant that is used is
CMAKE_CXX_COMPILER_PREDEFINES_COMMAND, and the other language variants
contained invalid, namely C++-specific commands.
Fixes: #23968