[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #41178] ov-classdef.h: constructing a map of a
From: |
Michael C. Grant |
Subject: |
[Octave-bug-tracker] [bug #41178] ov-classdef.h: constructing a map of an incomplete type |
Date: |
Thu, 09 Jan 2014 21:06:17 +0000 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11 |
Follow-up Comment #1, bug #41178 (project octave):
FYI, here's the clang++ output for one example compile:
In file included from parse-tree/pt-classdef.cc:27:
In file included from ./octave-value/ov-classdef.h:26:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/map:371:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tree:16:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory:594:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/utility:220:9:
error:
field has incomplete type 'cdef_class'
_T1 first;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tree:602:16:
note:
in instantiation of template class 'std::__1::pair<cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >'
requested
here
value_type __value_;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tree:688:28:
note:
in instantiation of template class
'std::__1::__tree_node<std::__1::pair<cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, void
*>'
requested here
typedef const typename __node::base
__node_base;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/map:606:19:
note:
in instantiation of template class
'std::__1::__tree_const_iterator<std::__1::pair<cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, const
std::__1::__tree_node<std::__1::pair<cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, void *>
*,
long>' requested here
_TreeIterator __i_;
^
./octave-value/ov-classdef.h:439:71: note: in instantiation of template class
'std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::pair<cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, const
std::__1::__tree_node<std::__1::pair<cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, void *>
*,
long> >' requested here
void mark_as_constructed (const cdef_class& cls) { ctor_list.erase (cls); }
^
./octave-value/ov-classdef.h:36:7: note: forward declaration of 'cdef_class'
class cdef_class;
^
In file included from parse-tree/pt-classdef.cc:27:
In file included from ./octave-value/ov-classdef.h:26:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/map:371:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tree:1968:19:
error:
static_cast from '__node_pointer' (aka
'std::__1::__tree_node<std::__1::pair<cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, void *>
*') to '__node_base_pointer' (aka 'std::__1::__tree_node_base<void *>
*')
is not allowed
static_cast<__node_base_pointer>(__np));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tree:1990:5:
note:
in instantiation of member function
'std::__1::__tree<std::__1::pair<cdef_class, std::__1::list<cdef_class,
std::__1::allocator<cdef_class> > >,
std::__1::__map_value_compare<cdef_class, std::__1::list<cdef_class,
std::__1::allocator<cdef_class> >, std::__1::less<cdef_class>, true>,
std::__1::allocator<std::__1::pair<cdef_class,
std::__1::list<cdef_class,
std::__1::allocator<cdef_class> > > > >::erase' requested here
erase(__i);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/map:937:25:
note:
in instantiation of function template specialization
'std::__1::__tree<std::__1::pair<cdef_class, std::__1::list<cdef_class,
std::__1::allocator<cdef_class> > >,
std::__1::__map_value_compare<cdef_class, std::__1::list<cdef_class,
std::__1::allocator<cdef_class> >, std::__1::less<cdef_class>, true>,
std::__1::allocator<std::__1::pair<cdef_class,
std::__1::list<cdef_class,
std::__1::allocator<cdef_class> > > > >::__erase_unique<cdef_class>'
requested here
{return __tree_.__erase_unique(__k);}
^
./octave-value/ov-classdef.h:439:64: note: in instantiation of member
function
'std::__1::map<cdef_class, std::__1::list<cdef_class,
std::__1::allocator<cdef_class> >, std::__1::less<cdef_class>,
std::__1::allocator<std::__1::pair<const cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > > >
>::erase'
requested here
void mark_as_constructed (const cdef_class& cls) { ctor_list.erase (cls); }
^
In file included from parse-tree/pt-classdef.cc:27:
In file included from ./octave-value/ov-classdef.h:26:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/map:371:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tree:650:59:
error:
static_cast from '__node_pointer' (aka
'std::__1::__tree_node<std::__1::pair<cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, void *>
*') to '__node_base_pointer' (aka 'std::__1::__tree_node_base<void *>
*')
is not allowed
...static_cast<__node_base_pointer>(__ptr_)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tree:1961:5:
note:
in instantiation of member function
'std::__1::__tree_iterator<std::__1::pair<cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >,
std::__1::__tree_node<std::__1::pair<cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, void *>
*,
long>::operator++' requested here
++__r;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tree:1990:5:
note:
in instantiation of member function
'std::__1::__tree<std::__1::pair<cdef_class, std::__1::list<cdef_class,
std::__1::allocator<cdef_class> > >,
std::__1::__map_value_compare<cdef_class, std::__1::list<cdef_class,
std::__1::allocator<cdef_class> >, std::__1::less<cdef_class>, true>,
std::__1::allocator<std::__1::pair<cdef_class,
std::__1::list<cdef_class,
std::__1::allocator<cdef_class> > > > >::erase' requested here
erase(__i);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/map:937:25:
note:
in instantiation of function template specialization
'std::__1::__tree<std::__1::pair<cdef_class, std::__1::list<cdef_class,
std::__1::allocator<cdef_class> > >,
std::__1::__map_value_compare<cdef_class, std::__1::list<cdef_class,
std::__1::allocator<cdef_class> >, std::__1::less<cdef_class>, true>,
std::__1::allocator<std::__1::pair<cdef_class,
std::__1::list<cdef_class,
std::__1::allocator<cdef_class> > > > >::__erase_unique<cdef_class>'
requested here
{return __tree_.__erase_unique(__k);}
^
./octave-value/ov-classdef.h:439:64: note: in instantiation of member
function
'std::__1::map<cdef_class, std::__1::list<cdef_class,
std::__1::allocator<cdef_class> >, std::__1::less<cdef_class>,
std::__1::allocator<std::__1::pair<const cdef_class,
std::__1::list<cdef_class, std::__1::allocator<cdef_class> > > >
>::erase'
requested here
void mark_as_constructed (const cdef_class& cls) { ctor_list.erase (cls); }
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?41178>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/