Raphael Kubo da Costa wrote: > Stephen Kelly <steve...@gmail.com> writes: > >> Raphael Kubo da Costa wrote: >> >>> Adjust the GCC feature detection code to only consider C11 support to >>> exist on GCC >= 4.9. >> >> If you do that you must remove the definition of >> CMAKE_CXX11_STANDARD_COMPILE_OPTION for GNU < 4.8.1 too. > [...] >> sys/cdefs.h requires that if you use -std=c11, your compiler must have >> the c_thread_local feature. Therefore, you must not use -std=c11 with GNU >> < 4.9. > [...] >> Of course, the actual bug is in sys/cdefs.h as comment #2 in >> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203066 >> describes. > > I don't think comment #2 acknowledges there's a bug in cdefs.h; I see it > as more of an acknowledgment that adding an additional check there would > help work around/solve the issue.
I do consider it a bug :). Standards are too coarse, features of the compiler are what is relevant: http://www.kdab.com/modern-cmake-with-qt-and-boost/#compile-feature-specification That's also the whole point of SD-6 for C++. The problematic content of the header affects all third party code in and out of the ports system, using cmake or not :). But it doesn't matter that I consider it a bug. I'm not going to fix sys/cdefs.h either :). I can keep my opinions to myself, and people using that combination of toolchain have to deal with it :). > Especially if you take into account the > CMAKE_CXX11_STANDARD_COMPILE_OPTION argument, one could argue that this > is about choosing how strict CMake should be when determining whether a > compiler implements a standard: enabling C++11 support only with GCC 4.8 > looks limiting and leaves out all the cases where it actually works fine > with earlier versions. Conversely, claiming GNU 4.4 supports C++11 doesn't make sense either (because standards are too coarse, features are what is relevant), which is why I consider CMAKE_CXX_STANDARD_REQUIRED to be nonsense. So, yes, I agree with you here :). Thanks, Steve. -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers