[Bug c++/57107] tree check fail in unlink_stmt_vdef

markus at trippelsdorf dot de gcc-bugzilla@gcc.gnu.org
Mon Apr 29 09:00:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57107

Markus Trippelsdorf <markus at trippelsdorf dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |markus at trippelsdorf dot
                   |                            |de

--- Comment #2 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2013-04-29 09:00:33 UTC ---
Reduced:

class A {
public:
  template <typename _Tp1> struct rebind {
    typedef A other;
  };
  ~A() {}
};
template <typename _Alloc> struct __alloc_traits {
  template <typename _Tp> struct rebind {
    typedef typename _Alloc::template rebind<_Tp>::other other;
  };
};
template <typename _Tp, typename _Alloc> struct B {
  typedef typename __alloc_traits<_Alloc>::template rebind<_Tp>::other
  _Tp_alloc_type;
  struct C : _Tp_alloc_type {
    C(_Tp_alloc_type) : _Tp_alloc_type() {}
  };
  typedef _Alloc allocator_type;
  B(int, const allocator_type &p2) : _M_impl(p2) {}
  C _M_impl;
};
template <typename _Tp, typename _Alloc = A> class D : B<_Tp, _Alloc> {
  typedef B<_Tp, _Alloc> _Base;
public:
  typedef _Tp value_type;
  typedef _Alloc allocator_type;
  D(const value_type &p1, const allocator_type &p2 = allocator_type())
      : _Base(0, p2) {
    _M_fill_initialize(p1);
  }
  void _M_fill_initialize(const value_type &);
};
void _setjmp();
void writeQImageToPng() {
  _setjmp();
  D<unsigned*>(0);
}



More information about the Gcc-bugs mailing list