Hi Ernest,
The boost build is with plain VC14 (bootstrap, without any hacking
whatsoever), not clang (that's no problem). The RC1 build is fine, the
trouble is later on in the headers, when using Clang. When I try to build
my app (with GGL), the previously reported errors show up, both with 1.61
and 1.60. The problem is not in GGL, but in type_traits (and typeof, but
that seems to be fixed, ready for merging).
Have a good day,
degski
On 20 March 2016 at 11:15, Ernest Zaslavsky
Hi,
Did you build it using boost bootstrapping or you have to do some “hacks”?
Does your experience apply to 1.61 RC or 1.60 too?
*From:* Boost-users [mailto:boost-users-bounces@lists.boost.org] *On Behalf Of *degski *Sent:* Sunday, March 20, 2016 10:13 AM *To:* boost-users@lists.boost.org *Subject:* Re: [Boost-users] [type traits] Using Boost.Geometry with Clang/LLVM & VC14
I've successfully compiled Boost 1.61.0 Beta 1 Release Candidate with VC14 (no Clang-Cl.exe) in debug and release.
This has exposed the "hacks" I mentioned earlier in this thread. When compiling my test program with Clang-Cl (latest) and VC14, the following errors are reported. (in my hacks I just added std:: to the boost code in the appropriate places, untill Clang stopped complaining.
1>------ Rebuild All started: Project: test, Configuration: Debug x64 ------ 1> In file included from test.cpp:16: 1> In file included from z:\vc\x64\include\boost/geometry.hpp:17: 1> In file included from z:\vc\x64\include\boost/geometry/geometry.hpp:28: 1> In file included from z:\vc\x64\include\boost/geometry/core/coordinate_type.hpp:23: 1> In file included from z:\vc\x64\include\boost/geometry/util/promote_floating_point.hpp:19: 1> In file included from z:\vc\x64\include\boost/type_traits.hpp:62: 1>z:\vc\x64\include\boost/type_traits/has_nothrow_assign.hpp(64,7): error : no template named 'is_assignable'; did you mean 'std::is_assignable'? 1> BOOST_HAS_NOTHROW_ASSIGN(T) 1> ^ 1> z:\vc\x64\include\boost/type_traits/intrinsics.hpp(199,96) : note: expanded from macro 'BOOST_HAS_NOTHROW_ASSIGN' 1> # define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value && is_assignable
::value) 1> ^ 1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\type_traits(577,9) : note: 'std::is_assignable' declared here 1> struct is_assignable 1> ^ 1> In file included from test.cpp:16: 1> In file included from z:\vc\x64\include\boost/geometry.hpp:17: 1> In file included from z:\vc\x64\include\boost/geometry/geometry.hpp:28: 1> In file included from z:\vc\x64\include\boost/geometry/core/coordinate_type.hpp:23: 1> In file included from z:\vc\x64\include\boost/geometry/util/promote_floating_point.hpp:19: 1> In file included from z:\vc\x64\include\boost/type_traits.hpp:63: 1>z:\vc\x64\include\boost/type_traits/has_nothrow_constructor.hpp(26,84): error : no template named 'is_default_constructible'; did you mean 'std::is_default_constructible'? 1> template <class T> struct has_nothrow_constructor : public integral_constant {}; 1> ^ 1> z:\vc\x64\include\boost/type_traits/intrinsics.hpp(193,80) : note: expanded from macro 'BOOST_HAS_NOTHROW_CONSTRUCTOR' 1> # define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible<T>::value) 1> ^ 1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\type_traits(539,9) : note: 'std::is_default_constructible' declared here 1> struct is_default_constructible 1> ^ 1> In file included from test.cpp:16: 1> In file included from z:\vc\x64\include\boost/geometry.hpp:17: 1> In file included from z:\vc\x64\include\boost/geometry/geometry.hpp:28: 1> In file included from z:\vc\x64\include\boost/geometry/core/coordinate_type.hpp:23: 1> In file included from z:\vc\x64\include\boost/geometry/util/promote_floating_point.hpp:19: 1> In file included from z:\vc\x64\include\boost/type_traits.hpp:74: 1>z:\vc\x64\include\boost/type_traits/has_trivial_assign.hpp(28,7): error : no template named 'is_assignable'; did you mean 'std::is_assignable'? 1> BOOST_HAS_TRIVIAL_ASSIGN(T) 1> ^ 1> z:\vc\x64\include\boost/type_traits/intrinsics.hpp(187,96) : note: expanded from macro 'BOOST_HAS_TRIVIAL_ASSIGN' 1> # define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value && is_assignable ::value) 1> ^ 1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\type_traits(577,9) : note: 'std::is_assignable' declared here 1> struct is_assignable 1> ^ Then there are more errors, but they are either the same as the ones I've reported earlier, or the result of the above errors.
Have a good day,
degski
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- (\___/) (+'.'+) (")_(") This is Bunny. Copy and paste Bunny into your signature to help him gain world domination!