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
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.
Those should have been fixed a couple of days ago in develop, will try to merge to master when it's open again. John.
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
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!
Got it, thanks
For some reason I misread it as if you managed to build boost with clang.
From: Boost-users [mailto:boost-users-bounces@lists.boost.org] On Behalf Of degski
Sent: Sunday, March 20, 2016 3:37 PM
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] [type traits] Using Boost.Geometry with Clang/LLVM & VC14
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
Degski wrote:
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).
TypeTraits is fixed in develop and ready for merge with master so this will be released with 1.62. https://github.com/boostorg/type_traits/pull/24 TypeOf is not fixed, pull request is waiting: https://github.com/boostorg/typeof/pull/3 Regards, Adam
More general question to the boost dev community. Is there a chance we will see boost built with Clang on Windows in foreseeable future? -----Original Message----- From: Boost-users [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Adam Wulkiewicz Sent: Sunday, March 20, 2016 3:58 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [type traits][typeof] Using Boost.Geometry with Clang/LLVM & VC14 Degski wrote:
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).
TypeTraits is fixed in develop and ready for merge with master so this will be released with 1.62. https://github.com/boostorg/type_traits/pull/24 TypeOf is not fixed, pull request is waiting: https://github.com/boostorg/typeof/pull/3 Regards, Adam _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
https://github.com/boostorg/type_traits/pull/24
TypeOf is not fixed, pull request is waiting: https://github.com/boostorg/typeof/pull/3
John wrote earlier: "Those should have been fixed a couple of days ago in develop, will try to merge to master when it's open again.", where he was referring to typeof. You write: "...this will be released with 1.62." Do you mean 1.61 or is it really gonna be 1.62? degski
Degski wrote:
TypeOf is not fixed, pull request is waiting: https://github.com/boostorg/typeof/pull/3
John wrote earlier: "Those should have been fixed a couple of days ago in develop, will try to merge to master when it's open again.", where he was referring to typeof.
You write: "...this will be released with 1.62."
Do you mean 1.61 or is it really gonna be 1.62?
Yes, sorry, I was thinking about 1.61. Regards, Adam
TypeOf is not fixed, pull request is waiting: https://github.com/boostorg/typeof/pull/3
I needed to apply another fix to typeof. In type_with_alignment.hpp, change line 87 ( 1.61 beta1 ) from: #if (defined(__GNUC__) || (defined (__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130)) || defined(__clang__)) && !defined(BOOST_TT_DISABLE_INTRINSICS) to: #if (defined(__GNUC__) || (defined (__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130)) || defined(__clang__)) && !defined(_MSC_VER) && !defined(BOOST_TT_DISABLE_INTRINSICS) Have a good day, degski
participants (4)
-
Adam Wulkiewicz
-
degski
-
Ernest Zaslavsky
-
John Maddock