summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/torture/pr42883.C
blob: f164c3781f5982c03514766d4803a94b65824f7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// { dg-do compile }

typedef __SIZE_TYPE__ size_t;
namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
    template<typename _Tp>     class new_allocator     {
    public:
	typedef size_t size_type;
	typedef _Tp* pointer;
	typedef _Tp& reference;
	void       deallocate(pointer __p, size_type)       {
	    ::operator delete(__p);
	}
    };
}
namespace std __attribute__ ((__visibility__ ("default"))) {
    template<typename _Tp>     class allocator: public __gnu_cxx::new_allocator<_Tp>     {
    public:
	template<typename _Tp1>         struct rebind         {
	    typedef allocator<_Tp1> other;
	};
    };
    template<typename _Tp, typename _Alloc>     struct _Vector_base     {
	typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
	struct _Vector_impl       : public _Tp_alloc_type       {
	    typename _Tp_alloc_type::pointer _M_start;
	    typename _Tp_alloc_type::pointer _M_end_of_storage;
	};
	~_Vector_base()       {
	    _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage         - this->_M_impl._M_start);
	}
	_Vector_impl _M_impl;
	void       _M_deallocate(typename _Tp_alloc_type::pointer __p, size_t __n)       {
	    if (__p)    _M_impl.deallocate(__p, __n);
	}
    };
    template<typename _Tp, typename _Alloc = std::allocator<_Tp> >     class vector : protected _Vector_base<_Tp, _Alloc>     {
	typedef _Vector_base<_Tp, _Alloc> _Base;
	typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
    public:
	typedef typename _Tp_alloc_type::reference reference;
	typedef size_t size_type;
	size_type       size() const       {
	}
	reference       operator[](size_type __n)       {
	}
    };
};
class vtkConvexPointSet  {
public:
    static vtkConvexPointSet *New();
};
void MakeInternalMesh() {
    std::vector< int > tempFaces[2];
    std::vector< int > firstFace;
    int i, j, k;
    for(i = 0; i < 1000; i++)     {
	for(int pointCount = 0; pointCount < 1000; pointCount++) 	{
	    for(j = 0; j < (int)tempFaces[0].size(); k++)
	      if(tempFaces[0][j] == tempFaces[1][k]) 		break;
	}
	vtkConvexPointSet::New();
    }
}