1 /* This used to ICE due to a backend problem on s390. */
3 /* { dg-do compile } */
4 /* { dg-options "-O1" } */
10 virtual ~ ReferenceCounted ()
13 void decrementRefCount () const
15 if (--const_cast < unsigned int &>(_ref_count) == 0)
20 unsigned int _ref_count;
23 template < class T > class RefCountPointer
27 RefCountPointer (T * p = 0):_p (p)
30 RefCountPointer & operator= (const RefCountPointer < T > &o)
35 _p->decrementRefCount ();
43 class Item:public ReferenceCounted
47 typedef RefCountPointer < const Item > Ptr;
49 class AnyAtomicType:public Item
55 class DynamicContext:public StaticContext
62 DynamicContext *m_context;
63 AnyAtomicType::Ptr m_item;
65 SortableItem::SortableItem ()