Boost logo

Boost :

Subject: Re: [boost] [type_traits] is_enum on scoped enums doesn't works as expected
From: Vicente Botet (vicente.botet_at_[hidden])
Date: 2011-08-24 10:43:54


Vicente Botet wrote:
>
> Hi,
>
> The following file fails to compile under clang 2.9 c++0x
>
> #include <boost/static_assert.hpp>
> #include <boost/type_traits/is_enum.hpp>
>
> enum E {E_a,E_b,E_c};
> BOOST_STATIC_ASSERT((boost::is_enum<E>::value));
> enum class EC {a,b,c};
> BOOST_STATIC_ASSERT((boost::is_enum<EC>::value));
>
> //#include <type_traits>
>
> The command line and error is
>
> "/Users/viboes/clang/clang+llvm-2.9/bin/clang++" -x c++ -std=c++0x
> -O0 -g -Wextra -Wno-long-long -pedantic -O0 -fno-inline -Wall -pedantic
> -g -DBOOST_ALL_NO_LIB=1 -DBOOST_CONVERSION_DOUBLE_CP
> -DBOOST_ENABLE_WARNINGS -I"." -I"../../.." -c -o
> "../../../bin.v2/libs/enums/test/is_enum_pass.test/clang-darwin-2.9x/debug/is_enum_pass.o"
> "enum_class/is_enum_pass.cpp"
>
> enum_class/is_enum_pass.cpp:7:1: error: static_assert failed
> "(boost::is_enum<EC>::value)"
> BOOST_STATIC_ASSERT((boost::is_enum<EC>::value));
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from enum_class/is_enum_pass.cpp:1:
>
> Am I missing something evident?
> Is this a known bug of is_enum?
>
> BTW, I have tried to use directly the type_traits standard file and my
> build configuration is unable to find it.
>
> enum_class/is_enum_pass.cpp:9:10: fatal error: 'type_traits' file not
> found
> #include <type_traits>
>
> Which is the default library when building with Boost.Build (bjam) and
> clang 2.9 c++0x?
>
>

Hi,

can someone reply to this post?

Thanks,
Vicente

--
View this message in context: http://boost.2283326.n4.nabble.com/type-traits-is-enum-on-scoped-enums-doesn-t-works-as-expected-tp3758158p3765555.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk