MSVC_DEBUG_INFORMATION_FORMAT seems to affect more than its name suggests
I'm finding ambiguity around what the MSVC_DEBUG_INFORMATION_FORMAT
target property is meant to apply to. The docs for that property state:
Select debug information format when targeting the MSVC ABI.
But later in those same docs, it states:
The value is ignored on non-MSVC compilers
Given the name of this property, I was surprised to find that it also has an effect when using clang on Windows (that aspect didn't occur to me during review). This seems to contradict the second of the above quoted statements. The first statement is probably the more accurate one, but the second probably reflects the intuitive expectation of developers based on the name.
This gives me cause for concern, especially in light of the broader proposal in #23898, and #23898 (comment 1272457) in particular. This property seems to reach beyond just a MSVC-specific setting, and it mixes where debug info is stored with the format or structure of that info. I fear it will complicate the eventual implementation of #23898 and make MSVC_DEBUG_INFORMATION_FORMAT
look like an earlier attempt that wasn't fully thought through.
At the very least, the documentation of MSVC_DEBUG_INFORMATION_FORMAT
needs clarification. But I am sufficiently concerned about this that we may want to consider reverting the MSVC_DEBUG_INFORMATION_FORMAT
change for the 3.25 release while we work this out.