I have downloaded 1.61.0 and want to build it with Clang. This is in my user-config:
using clang : 3.5.0 : /netDISKS/master/netmt/LINUX_C65/app/clang/3.5.0/bin/clang++ : <compileflags>"-fPIC -gcc-toolchain /netDISKS/master/netmt/LINUX_C65/app/gcc/4.8.3 -Wno-overloaded-virtual -Wno-unused-function -Wno-unused-variable -Wno-c99-extensions -Wno-variadic-macros" <linkflags>"-fPIC -gcc-toolchain /netDISKS/master/netmt/LINUX_C65/app/gcc/4.8.3" ;
When I build, I see warnings like these:
./boost/mpl/print.hpp:50:19: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
const int m_x = 1 / (sizeof(T) - sizeof(T));
^
./boost/timer/timer.hpp:44:43: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
void clear() { wall = user = system = 0LL; }
^
./boost/regex/v4/instances.hpp:124:34: warning: unknown warning group '-Wkeyword-macro', ignored [-Wunknown-pragmas]
#pragma clang diagnostic ignored "-Wkeyword-macro"
^
When I add '-std=c++11' to the <compileflags> and <linkflags>, I get errors and warnings like these:
clang-linux.compile.c.without-pth bin.v2/libs/container/build/clang-linux-3.5.0/release/instruction-set-core2/link-static/threading-multi/alloc_lib.o
error: invalid argument '-std=c++11' not allowed with 'C/ObjC'
"/netDISKS/master/netmt/LINUX_C65/app/clang/3.5.0/bin/clang++" -c -x c -O3 -Wno-inline -Wall -std=c++11 -fPIC -gcc-toolchain /netDISKS/master/netmt/LINUX_C65/app/gcc/4.8.3 -Wno-overloaded-virtual -Wno-unused-function -Wno-unused-variable -Wno-c99-extensions -Wno-variadic-macros -march=core2 -pthread -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_CONTAINER_STATIC_LINK=1 -DNDEBUG -I"." -c -o "bin.v2/libs/container/build/clang-linux-3.5.0/release/instruction-set-core2/link-static/threading-multi/alloc_lib.o" "libs/container/src/alloc_lib.c"
libs/locale/src/shared/localization_backend.cpp:54:22: warning: 'auto_ptr' is deprecated [-Wdeprecated-declarations]
std::auto_ptr<localization_backend> res(new actual_backend(backends,default_backends_));
^
./boost/regex/v4/instances.hpp:124:34: warning: unknown warning group '-Wkeyword-macro', ignored [-Wunknown-pragmas]
#pragma clang diagnostic ignored "-Wkeyword-macro"
^
What options do I need to add or remove to build and use boost with no errors and as few warnings as possible?
--
Dick Hadsell 203-992-6320 Fax: 203-992-6001
Reply-to: hadsell(a)blueskystudios.com
Blue Sky Studios http://www.blueskystudios.com
1 American Lane, Greenwich, CT 06831-2560
I posted about this a month ago, but I did not receive much response. Since
then, I added an extended example use case, and I added a documentation
section [1] that compares CallableTraits and Boost.FunctionTypes.
I received some positive feedback this week in Aspen, and r/cpp also seemed
to respond well [2], so I thought I'd give this another shot.
Here are my questions for you:
1. Is there any interest in reviewing a future version of this for
inclusion in Boost?
2. If so, does this belong in its own library, or should it be incorporated
into Boost.TypeTraits or something similar?
3. What you like to see added, removed, renamed, or redesigned?
I'd say CallableTraits is about 85% finished. Here's what's left:
* Add INVOKE semantics to a couple of things for consistency (arity, etc)
* Remove unused/undocumented code
* Account for transaction_safe and C++17 noexcept
* Finish/test the calling convention features
* Finish/update the reference documentation
* Write even more tests
Cheers,
Barrett
[1]
http://badair.github.io/callable_traits/doc/html/index.html#callable_traits…
[2]
https://www.reddit.com/r/cpp/comments/4ffmfs/callabletraits_never_write_ano…
GitHub: https://github.com/badair/callable_traits
Documentation from the top:
http://badair.github.io/callable_traits/doc/html/index.html (reference
section under construction)