+++ /dev/null
-// RUN: %llvmgxx -S %s -o -
-// PR1634
-
-namespace Manta
-{
- class CallbackHandle
- {
- protected:virtual ~ CallbackHandle (void)
- {
- }
- };
-template < typename Data1 > class CallbackBase_1Data:public CallbackHandle
- {
- };
-}
-
-namespace __gnu_cxx
-{
- template < typename _Iterator, typename _Container >
- class __normal_iterator
- {
- _Iterator _M_current;
- };
-}
-
-namespace std
-{
- template < typename _Tp > struct allocator
- {
- typedef _Tp *pointer;
- };
- template < typename _InputIterator,
- typename _Tp > inline void find (_InputIterator __last,
- const _Tp & __val)
- {
- };
-}
-
-namespace Manta
-{
- template < typename _Tp, typename _Alloc> struct _Vector_base
- {
- struct _Vector_impl
- {
- _Tp *_M_start;
- };
- public:
- _Vector_impl _M_impl;
- };
- template < typename _Tp, typename _Alloc = std::allocator < _Tp > >
- class vector:protected _Vector_base < _Tp,_Alloc >
- {
- public:
- typedef __gnu_cxx::__normal_iterator < typename _Alloc::pointer,
- vector < _Tp, _Alloc > > iterator;
- iterator end ()
- {
- }
- };
- class MantaInterface
- {
- };
- class RTRT
- {
- virtual CallbackHandle *registerTerminationCallback (CallbackBase_1Data <
- MantaInterface * >*);
- virtual void unregisterCallback (CallbackHandle *);
- typedef vector < CallbackBase_1Data < int >*>PRCallbackMapType;
- PRCallbackMapType parallelPreRenderCallbacks;
- };
-}
-using namespace Manta;
-CallbackHandle *
-RTRT::registerTerminationCallback (CallbackBase_1Data < MantaInterface * >*cb)
-{
- return cb;
-}
-
-void
-RTRT::unregisterCallback (CallbackHandle * callback)
-{
- {
- typedef CallbackBase_1Data < int > callback_t;
- callback_t *cb = static_cast < callback_t * >(callback);
- find (parallelPreRenderCallbacks.end (), cb);
- }
-}
-