octave-bug-tracker
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]