On Wed, Jan 06, 2016 at 05:55:42PM +0100, Niemand Sonst wrote: > emc/rs274ngc/interp_remap.cc:200: error: ‘end’ is not a member of ‘std’
I did verify that, unlike last time, std::end is missing on the Ubuntu 10.04 machine I have access to (so it's not simply a missing header again): $ cat std_end.cc #include <iterator> const char c[]{1,2,3,4}; auto p = std::end(c); [on ubuntu 10.04] $ g++ -std=c++0x std_end.cc && echo success std_end.cc:3: error: ‘end’ is not a member of ‘std’ std_end.cc:3: error: unable to deduce ‘auto’ from ‘<expression error>’ [on debian wheezy] $ g++ -c -std=c++11 std_end.cc && echo success success Use of std::end was introduced at commit e38ff45f16 to fix real (if minor) technical debt; because the new code is type safe, if the underlying type of the members missing, optional and so forth change so that they cannot be initialized by the literal constant 0, it will be a compiler error. Before my change, the type of these members did not matter; they would be initialized to all-bits-zero which is undefined behavior if they are later changed to some C++ types that are not "plain old data". At this point I choose not to make any further efforts to fix master branch support for Ubuntu 10.04. If someone else produces patches to do this, I will do my best to evaluate them impartially, but as I have explained I view the change as important and would not like to see it simply reverted. Jeff ------------------------------------------------------------------------------ _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers