Created attachment 145002 [details] patch file $ echo '#include <type_traits>' > test.cpp $ /usr/bin/c++ -std=c++1y -c test.cpp In file included from test.cpp:1: /usr/include/c++/v1/type_traits:304:14: error: no template named '____is_nullptr_t'; did you mean '__is_nullptr_t'? : public ____is_nullptr_t<typename remove_cv<_Tp>::type> {}; ^ /usr/include/c++/v1/type_traits:299:51: note: '__is_nullptr_t' declared here template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY __is_nullptr_t ^ 1 error generated. Apply patch, cp type_traits to /usr/include/c++/v1/ $ /usr/bin/c++ -std=c++1y -c test.cpp $ patch: --- contrib/libc++/include/type_traits.orig 2014-07-26 10:30:43.939891390 -0700 +++ contrib/libc++/include/type_traits 2014-07-26 10:31:56.207884662 -0700 @@ -301,7 +301,7 @@ #if _LIBCPP_STD_VER > 11 template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_null_pointer - : public ____is_nullptr_t<typename remove_cv<_Tp>::type> {}; + : public __is_nullptr_t<typename remove_cv<_Tp>::type> {}; #endif // is_integral
Current head is: http://llvm.org/svn/llvm-project/libcxx/trunk/include/type_traits and evidently the fix is correct.
Task for maintainer.
A commit references this bug: Author: dim Date: Sat Aug 23 15:54:23 UTC 2014 New revision: 270416 URL: http://svnweb.freebsd.org/changeset/base/270416 Log: In r260015, I renamed several identifiers to avoid -Wsystem-header warnings. In r261283, I imported libc++ 3.4 release, but this contained one identifier that had not been renamed yet, leading to a compilation error when using -std=c++1y. Fix the compilation error by correctly renaming the identifier. Reported by: rcarter@pinyon.org PR: base/192139 MFC after: 3 days Changes: head/contrib/libc++/include/type_traits
A commit references this bug: Author: dim Date: Tue Aug 26 06:31:53 UTC 2014 New revision: 270646 URL: http://svnweb.freebsd.org/changeset/base/270646 Log: MFC r270416: In r260015, I renamed several identifiers to avoid -Wsystem-header warnings. In r261283, I imported libc++ 3.4 release, but this contained one identifier that had not been renamed yet, leading to a compilation error when using -std=c++1y. Fix the compilation error by correctly renaming the identifier. Reported by: rcarter@pinyon.org PR: base/192139 Changes: _U stable/10/ stable/10/contrib/libc++/include/type_traits _U stable/9/contrib/libc++/ stable/9/contrib/libc++/include/type_traits
Fixed in head, stable/10 and stable/9.