1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // { dg-do run }
- #include <assert.h>
- extern "C" int printf(const char *, ...);
- class Subscriptor
- {
- public:
- Subscriptor()
- { counter = 1;}
- virtual ~Subscriptor()
- {
- counter--;
- assert(counter == 0);
- }
- private:
- static int counter;
- };
- int Subscriptor::counter;
- template <typename number>
- class Polynomial : public Subscriptor
- {
- };
- class LagrangeEquidistant: public Polynomial<double>
- {
- };
- template<typename _Tp>
- inline void
- _MyDestroy(_Tp* __pointer)
- { __pointer->~_Tp(); }
- int main()
- {
- LagrangeEquidistant * s1 = new LagrangeEquidistant;
- _MyDestroy(s1);
- return 0;
- }
|