flags library ABI differs between clang-cl and MSVC #1385
Replies: 1 comment
-
This is intentional. Our view is that maintaining a stable or even interoperable ABI is a cost that needs to be weighed against its benefits. We consider it to be far easier to just compile source code with one compiler instead of worrying about ABI issues. I'm not sure we ever mention explicitly that you can't mix compilers, but it is implied by https://github.com/abseil/abseil-cpp/blob/master/FAQ.md#what-is-abi-and-why-dont-you-recommend-using-a-pre-compiled-version-of-abseil We realize this model doesn't work for everyone, and for that I'm sorry. While we do hope that Abseil is useful to the C++ community at large, we do need to prioritize how we use it ourselves. |
Beta Was this translation helpful? Give feedback.
-
I would expect that a clang-cl-compiled abseil to be interoperable with a MSVC-compiled abseil. However this is not the case -- I've observed that the flags library when abseil is compiled under MSVC is not interoperable with the flags library when abseil is compiled under clang-cl. See, e.g., https://github.com/abseil/abseil-cpp/blob/20230125.0/absl/flags/flag.h#L74
Is this intentional?
Beta Was this translation helpful? Give feedback.
All reactions