[PATCH] D134468: [Driver] Ignore -fmsc-version= -fms-compatibility-version= values smaller than 19
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 23 09:14:25 PDT 2022
aaron.ballman added a reviewer: clang-vendors.
aaron.ballman added a subscriber: andrew.w.kaylor.
aaron.ballman added a comment.
Adding clang-vendors for awareness as this has the potential to impact folks vending clang.
In D134468#3811882 <https://reviews.llvm.org/D134468#3811882>, @probinson wrote:
> These kinds of compatibility changes generally should get a Discourse post for better visibility.
Strong +1, this needs a community RFC to see if we have folks relying on this support. For example, Intel supports ICX as a drop-in replacement for cl, and I'm not certain what our MSVC compatibility requirements are (I'm trying to find out though; CC @andrew.w.kaylor
for awareness).
In D134468#3810030 <https://reviews.llvm.org/D134468#3810030>, @hans wrote:
> I'm conflicted about this. I see where you're coming from, but I could imagine people using clang-cl with old VS versions e.g. to target old Windows. I agree we shouldn't go out of our way to support that, but do we think it's too much effort to keep the functionality we have (as defined by the lit tests) working?
I'm also conflicted -- what's the pain point we're trying to solve with these changes? It doesn't seem like maintenance is an actual burden in practice.
In D134468#3809713 <https://reviews.llvm.org/D134468#3809713>, @rnk wrote:
> If we do this, I'd like it to be a policy change. We should add a release note about dropping support for `-fmsc-version=N` for N<1900, and audit for other logic like this:
> https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/SemaDeclCXX.cpp#L6390
Do we have a policy written down anywhere for this? We have one for what versions of MSVC we'll support building LLVM with, but I don't think we have a policy for what versions of MSVC we'll support being compatible with. Given that we still have GCC compatibility hacks for GCC 4.2 (which we still report we emulate with the GNU version macros!) which came out in 2008, I'd like more motivation as for why we want to drop support for MSVC 2013 and a better understanding of how we decide when we no longer will support compatibility with an older compiler -- we should be able to communicate this to users so their expectations are set appropriately.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D134468/new/
https://reviews.llvm.org/D134468
More information about the cfe-commits
mailing list