You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe
When switching between C/C++ compilers, in most cases it is desirable to keep the same C++ standard option, but unfortunately the command line option is different between GCC/Clang and MSVC (a single pesky = vs :). A solution to this would be to use the Overrides button to specify the C++ standard in a way that can be platform-independent. But this isn't currently implemented for MSVC ("this override is not compatible with the current compiler"), which seems to defeat the purpose.
Describe the solution you'd like
Implement the std version override for MSVC. There are some questions about how versions that don't match between compilers should work, e.g. the "gnu++11" versions or "c++latest". Either they can be converted to the nearest equivalent, or simply dropped if not compatible. I would suggest dropping gnu extension versions and clamping the rest, so e.g. c++23/26/2c would map to c++latest for MSVC.
Describe alternatives you've considered
There are other proposals which would solve this problem in different ways: #2214, #6196, but the latter was closed and is probably too ambiguous, and the former hasn't gained traction in 3+ years. This is a much simpler and targeted solution for the specific problem though ##2214 would still be nice to have.
Additional context
Not applicable
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe
When switching between C/C++ compilers, in most cases it is desirable to keep the same C++ standard option, but unfortunately the command line option is different between GCC/Clang and MSVC (a single pesky = vs :). A solution to this would be to use the Overrides button to specify the C++ standard in a way that can be platform-independent. But this isn't currently implemented for MSVC ("this override is not compatible with the current compiler"), which seems to defeat the purpose.
Describe the solution you'd like
Implement the std version override for MSVC. There are some questions about how versions that don't match between compilers should work, e.g. the "gnu++11" versions or "c++latest". Either they can be converted to the nearest equivalent, or simply dropped if not compatible. I would suggest dropping gnu extension versions and clamping the rest, so e.g. c++23/26/2c would map to c++latest for MSVC.
Describe alternatives you've considered
There are other proposals which would solve this problem in different ways: #2214, #6196, but the latter was closed and is probably too ambiguous, and the former hasn't gained traction in 3+ years. This is a much simpler and targeted solution for the specific problem though ##2214 would still be nice to have.
Additional context
Not applicable
The text was updated successfully, but these errors were encountered: