[cfe-users] Error in instantiation of exception specification for vector and string compiling simple code.

Manu monamimani at gmail.com
Sun Sep 22 13:43:24 PDT 2013


Hi,

I get those errors when compiling this simple code:

#include<vector>
#include<string>
struct Bar
{
   Bar(Bar&&) noexcept = default;
   Bar& operator=(Bar&&) noexcept = default;
   std::string name;

};

class Foo
{
public:

protected:
   Foo(Foo&&) noexcept = default;
   Foo& operator=(Foo&&) noexcept = default;

   Foo()
   {
   }

private:

   std::vector<Bar> vectorFoo_;
};

This is the errors I get, I understand it is in the instantiation of the
exception specification, but I doubt the std::string is not nothrow move
constructible,.. the first error make me think there is a bug. I synched
yesterday so I am pretty much up to date.

In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:5:
/usr/local/bin/../lib/c++/v1/string:1196:67: error: no member named 'value'
in 'std::__1::is_nothrow_move_constructible<std::__1::allocator<char> >'
        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:264:
/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro
'_NOEXCEPT_'
#  define _NOEXCEPT_(x) noexcept(x)
                                 ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:11:16:
note: in instantiation of exception specification for 'basic_string'
requested here
   std::string name;
               ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:265:
In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:
/usr/local/bin/../lib/c++/v1/type_traits:2676:53: note: in instantiation of
template class 'std::__1::add_rvalue_reference<std::__1::allocator<char> >'
requested here
    : public is_nothrow_constructible<_Tp, typename
add_rvalue_reference<_Tp>::type>
                                                    ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:5:
/usr/local/bin/../lib/c++/v1/string:1196:20: note: in instantiation of
template class
'std::__1::is_nothrow_move_constructible<std::__1::allocator<char> >'
requested here
        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
                   ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:264:
/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro
'_NOEXCEPT_'
#  define _NOEXCEPT_(x) noexcept(x)
                                 ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:11:16:
note: in instantiation of exception specification for 'basic_string'
requested here
   std::string name;
               ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:5:
/usr/local/bin/../lib/c++/v1/string:1233:64: error: no member named 'value'
in 'std::__1::is_nothrow_move_assignable<std::__1::allocator<char> >'
                   is_nothrow_move_assignable<allocator_type>::value);
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:264:
/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro
'_NOEXCEPT_'
#  define _NOEXCEPT_(x) noexcept(x)
                                 ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:11:16:
note: in instantiation of exception specification for 'operator=' requested
here
   std::string name;
               ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:265:
In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:
/usr/local/bin/../lib/c++/v1/type_traits:2760:45: note: in instantiation of
template class 'std::__1::add_lvalue_reference<std::__1::allocator<char> >'
requested here
    : public is_nothrow_assignable<typename add_lvalue_reference<_Tp>::type,
                                            ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:5:
/usr/local/bin/../lib/c++/v1/string:1233:20: note: in instantiation of
template class
'std::__1::is_nothrow_move_assignable<std::__1::allocator<char> >'
requested here
                   is_nothrow_move_assignable<allocator_type>::value);
                   ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:264:
/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro
'_NOEXCEPT_'
#  define _NOEXCEPT_(x) noexcept(x)
                                 ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:11:16:
note: in instantiation of exception specification for 'operator=' requested
here
   std::string name;
               ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:265:
In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:
/usr/local/bin/../lib/c++/v1/type_traits:2676:53: note: in instantiation of
template class 'std::__1::add_rvalue_reference<std::__1::allocator<char> >'
requested here
    : public is_nothrow_constructible<_Tp, typename
add_rvalue_reference<_Tp>::type>
                                                    ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:5:
/usr/local/bin/../lib/c++/v1/string:1196:20: note: in instantiation of
template class
'std::__1::is_nothrow_move_constructible<std::__1::allocator<char> >'
requested here
        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
                   ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:264:
/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro
'_NOEXCEPT_'
#  define _NOEXCEPT_(x) noexcept(x)
                                 ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:11:16:
note: in instantiation of exception specification for 'basic_string'
requested here
   std::string name;
               ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
/usr/local/bin/../lib/c++/v1/vector:573:67: error: no member named 'value'
in 'std::__1::is_nothrow_move_constructible<std::__1::allocator<Bar> >'
        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:264:
/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro
'_NOEXCEPT_'
#  define _NOEXCEPT_(x) noexcept(x)
                                 ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:29:21:
note: in instantiation of exception specification for 'vector' requested
here
   std::vector<Bar> vectorFoo_;
                    ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:265:
In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:
/usr/local/bin/../lib/c++/v1/type_traits:2676:53: note: in instantiation of
template class 'std::__1::add_rvalue_reference<std::__1::allocator<Bar> >'
requested here
    : public is_nothrow_constructible<_Tp, typename
add_rvalue_reference<_Tp>::type>
                                                    ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
/usr/local/bin/../lib/c++/v1/vector:573:20: note: in instantiation of
template class
'std::__1::is_nothrow_move_constructible<std::__1::allocator<Bar> >'
requested here
        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
                   ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:264:
/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro
'_NOEXCEPT_'
#  define _NOEXCEPT_(x) noexcept(x)
                                 ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:29:21:
note: in instantiation of exception specification for 'vector' requested
here
   std::vector<Bar> vectorFoo_;
                    ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
/usr/local/bin/../lib/c++/v1/vector:580:58: error: no member named 'value'
in 'std::__1::is_nothrow_move_assignable<std::__1::allocator<Bar> >'
             is_nothrow_move_assignable<allocator_type>::value);
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:264:
/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro
'_NOEXCEPT_'
#  define _NOEXCEPT_(x) noexcept(x)
                                 ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:29:21:
note: in instantiation of exception specification for 'operator=' requested
here
   std::vector<Bar> vectorFoo_;
                    ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:265:
In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:
/usr/local/bin/../lib/c++/v1/type_traits:2760:45: note: in instantiation of
template class 'std::__1::add_lvalue_reference<std::__1::allocator<Bar> >'
requested here
    : public is_nothrow_assignable<typename add_lvalue_reference<_Tp>::type,
                                            ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
/usr/local/bin/../lib/c++/v1/vector:580:14: note: in instantiation of
template class
'std::__1::is_nothrow_move_assignable<std::__1::allocator<Bar> >' requested
here
             is_nothrow_move_assignable<allocator_type>::value);
             ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:264:
/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro
'_NOEXCEPT_'
#  define _NOEXCEPT_(x) noexcept(x)
                                 ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:29:21:
note: in instantiation of exception specification for 'operator=' requested
here
   std::vector<Bar> vectorFoo_;
                    ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:265:
In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:
/usr/local/bin/../lib/c++/v1/type_traits:2676:53: note: in instantiation of
template class 'std::__1::add_rvalue_reference<std::__1::allocator<Bar> >'
requested here
    : public is_nothrow_constructible<_Tp, typename
add_rvalue_reference<_Tp>::type>
                                                    ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
/usr/local/bin/../lib/c++/v1/vector:573:20: note: in instantiation of
template class
'std::__1::is_nothrow_move_constructible<std::__1::allocator<Bar> >'
requested here
        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
                   ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:
In file included from /usr/local/bin/../lib/c++/v1/vector:264:
/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro
'_NOEXCEPT_'
#  define _NOEXCEPT_(x) noexcept(x)
                                 ^
In file included from
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:
/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:29:21:
note: in instantiation of exception specification for 'vector' requested
here
   std::vector<Bar> vectorFoo_;

Thanks
Emmanuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-users/attachments/20130922/51711141/attachment.html>


More information about the cfe-users mailing list