Boost logo

Boost Users :

Subject: Re: [Boost-users] [type traits] Using Boost.Geometry with Clang/LLVM & VC14
From: degski (degski_at_[hidden])
Date: 2016-03-20 04:12:41


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<T&, const T&>::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<bool, BOOST_HAS_NOTHROW_CONSTRUCTOR(T)>{};
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<T&, const T&>::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 list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net