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
Visual C++ Update 3 reports itself as being capable of C++14 but is still lacking
Extended constexpr
Aggregates with default member initializers
It would be great to keep VC++ 2015 Update 3 for a while longer, as long as Microsoft still supports it (extended support until the end of 2025) and/or vcpkg lists it as a minimum requirement.
It is usually not difficult to keep a few things in mind, and it is good practice to test certain C++ functions, which you do anyway.
A concrete use case is sqlite_orm (v1.8), which still runs appveyor unit tests using Visual C++ 2015 Update 3 as the minimal C++14 base compiler.
When updating the test dependency of sqlite_orm to Catch2 v3, I encountered the following compile error:
catch2/internal/catch_stringref.hpp(58): error C3249: illegal statement or sub-expression for 'constexpr' function
catch2/internal/catch_stringref.hpp(76): error C3249: illegal statement or sub-expression for 'constexpr' function
This is because pre-C++14 contexpr function's body can only be a single return statement. Everything else gets rejected, specifically:
Visual C++ Update 3 reports itself as being capable of C++14 but is still lacking
It would be great to keep VC++ 2015 Update 3 for a while longer, as long as Microsoft still supports it (extended support until the end of 2025) and/or vcpkg lists it as a minimum requirement.
It is usually not difficult to keep a few things in mind, and it is good practice to test certain C++ functions, which you do anyway.
A concrete use case is sqlite_orm (v1.8), which still runs appveyor unit tests using Visual C++ 2015 Update 3 as the minimal C++14 base compiler.
When updating the test dependency of sqlite_orm to Catch2 v3, I encountered the following compile error:
This is because pre-C++14 contexpr function's body can only be a single return statement. Everything else gets rejected, specifically:
The text was updated successfully, but these errors were encountered: