#2207: support all of C++11 in Cactus or the Einstein Toolkit --------------------------+--------------------------------- Reporter: Roland Haas | Owner: (none) Type: enhancement | Status: new Priority: minor | Milestone: Component: Cactus | Version: development version Resolution: | Keywords: --------------------------+---------------------------------
Comment (by Roland Haas):
I gained access to Vesta (or had before but not realised it). Turns out that even the newest IBM XL compiler (that they have, but maybe in general): @ibm-compilers-2017-10 which is version 12.1 (see https://www.ibm.com/support/knowledgecenter/en/SS2LWA) does not support range based for loops of the type {{{ #include <vector> int main() { std::vector<int> xs(10); for (int& x: xs) x = 42; ; return 0; } }}} and fails with {{{ /soft/compilers/ibmcmp-oct2017/vacpp/bg/12.1/bin/bgxlC_r -o conftest -g -qrtti -qlanglvl=autotypededuction -qlanglvl=decltype -qlanglvl=rightanglebracket:extc1x -qsuppress=1500-036 -g -DCARPET_AVOID_LAMBDA -DCARPET_USE_BOOST_FOREACH -DCARPET_USE_BOOST_SHARED_PTR -DCARPET_ENABLE_BBOXSET2 -DCARPET_USE_BBOXSET2 conftest.C 1>&5 "configure", line 7458.15: 1540-0063 (S) The text ":" is unexpected. }}}
Thus vesta is currently not a supported machine anymore and requiring full C++11 support is not going to make things any worse. Also, given that the change requiring range based for loops is from Tue Apr 26 07:47:33 2016 -0400 git hash 86d7765529c63b69d58d869248f9c2080f53978b "Cactus: Enable C++11 by default, and require it" and that no one complained so far, it seems safe to state that vesta is not used by anyone.
I would thus suggest to mark it in simfactory as only supporting ET_2015_11 which is the release before range based loops became mandatory.