-
-
Notifications
You must be signed in to change notification settings - Fork 196
Description
This is a step towards closing #1300 (moving up to C++17) that we can do immediately after the release.
The immediate consequence of moving up to C++14 (we currently support a subset - C++1y) is that the minimum required g++ would become g++ 5 as opposed to 4.9.3. There is no change for clang (clang does not have official support for C++1y) and the clang version supporting C++14 is Clang 3.4 which is the same one we listed as minimum now.
There are major changes that would be caused by that:
-
On Windows, RTools 3.5 would no longer be supported and thus all upstream Stan R packages that will use Stan 2.28+ would no longer support R3.X.
R 4.1 is now in the RC phase and once its released (any day now) CRAN will no longer test packages with R3.X. CRAN tests with the current and old release (which is now 3.6.X). Once R-release becomes 4.1, R-old will become 4.0.x so using R 4.X should be recommended in all those upstream packages anyway.
-
cluster users would need to upgrade to g++ 5.
Clusters are the only other larger group of users that would be affected. Non-cluster Linux distros come with g++5 or higher for quite a few years now and Mac users are not affected.
The main reason of why I think the major changes are OK is that users that will not want to upgrade to g++ 5 will be able to stay with 2.27 which should cover them for quite some time (given that a majority of users still use Stan 2.21 we should be good on that front for awhile once we get to 2.27).
The only question I have on this is does this requires a bump of the major version of Stan? I am leaning towards no but I am not sure.
cc: @syclik @bob-carpenter @bbbales2 @t4c1 @SteveBronder @wds15 @andrjohns @yizhang-yiz et al