This is an archive of the discontinued LLVM Phabricator instance.

[NFC] Enable RVALUE_REFERENCE_THIS on MSVC 2019
ClosedPublic

Authored by njames93 on Mar 17 2021, 1:15 PM.

Details

Summary

In https://reviews.llvm.org/D72948 This was enabled for all MSVC but reverted as it was determined not to work on some 2017 versions.
The issue is assumed to be fixed on 2019 so enable for 2019 and newer.

Some testing could be done to determine which version of MSVC 2017 support this feature but its safer right now to leave it at 2019.

Diff Detail

Event Timeline

njames93 created this revision.Mar 17 2021, 1:15 PM
njames93 requested review of this revision.Mar 17 2021, 1:15 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 17 2021, 1:15 PM
aaron.ballman accepted this revision.Mar 18 2021, 5:00 AM

LGTM!

Aside: I wonder what our support policy is for MSVC 2017. Once upon a time, we would care about the last two major releases of a compiler, but now that 2019 has gone through 9 updates I'm starting to wonder if that's changed our policy for MSVC (aka, can we drop support for 2017 entirely?).

This revision is now accepted and ready to land.Mar 18 2021, 5:00 AM

Aside: I wonder what our support policy is for MSVC 2017. Once upon a time, we would care about the last two major releases of a compiler, but now that 2019 has gone through 9 updates I'm starting to wonder if that's changed our policy for MSVC (aka, can we drop support for 2017 entirely?).

I'm no expert in this regard but I don't see a reason for dropping compiler support for the sake of dropping it. There's also more than likely some users still using 2017 for their own reasons and we shouldn't just disregard them.

Aside: I wonder what our support policy is for MSVC 2017. Once upon a time, we would care about the last two major releases of a compiler, but now that 2019 has gone through 9 updates I'm starting to wonder if that's changed our policy for MSVC (aka, can we drop support for 2017 entirely?).

I'm no expert in this regard but I don't see a reason for dropping compiler support for the sake of dropping it.

It boils down to maintenance burden -- we're working around an MSVC 2017 issue (and this isn't the only one), so it's reasonable to consider whether we need to continue to pay that cost or not.

There's also more than likely some users still using 2017 for their own reasons and we shouldn't just disregard them.

Strongly agreed, and definitely not as part of this patch. It'd require wider community discussion. It was more a remark that I'm no longer certain the status quo for when we drop support for compilers still makes sense with the new release model for MSVC. "Last two releases" is harder to judge when we use the date in the product title to decide what constitutes a release and the date no longer changes.

I'll keep a look out for the build bots, see if anything breaks.

This revision was automatically updated to reflect the committed changes.