FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.ns / template9.C
blob1b50a5f626ad31cb2107b32ea28b9cd13a652385
1 // Produces ICE 980519.
2 // Test case from Dirk Engelmann <Dirk.Engelmann@IWR.Uni-Heidelberg.De>
4 namespace vector {
6   // allocate memory for vector
7         
8         template <class T>
9         inline T* alloc(const int aWidth)
10         {
11                 // allocate memory
12                 return new T[aWidth];
13         }
17 namespace matrix {
19   // allocate memory for matrix
20         template <class T>
21         T** alloc(const int aWidth,const int aHeight)
22         {
23                 // allocate memory
24                 T **mat = vector::alloc<T*>(aHeight);
25                 T *data = vector::alloc<T> (aWidth*aHeight);
26                 // set pointer
27                 for (int i=0; i<aHeight; i++)
28                         mat[i] = &data[aWidth*i];
29                 // ok
30                 return mat;
31         }
35 int main(void)
37   // sample
38   double **m=matrix::alloc<double>(10,20);