OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.ns/] [template9.C] - Rev 823

Go to most recent revision | Compare with Previous | Blame | View Log

// { dg-do run  }
// Produces ICE 980519.
// Test case from Dirk Engelmann <Dirk.Engelmann@IWR.Uni-Heidelberg.De>

namespace vector {

  // allocate memory for vector
        
        template <class T>
        inline T* alloc(const int aWidth)
        {
                // allocate memory
                return new T[aWidth];
        }

}

namespace matrix {

  // allocate memory for matrix
        template <class T>
        T** alloc(const int aWidth,const int aHeight)
        {
                // allocate memory
                T **mat = vector::alloc<T*>(aHeight);
                T *data = vector::alloc<T> (aWidth*aHeight);
                // set pointer
                for (int i=0; i<aHeight; i++)
                        mat[i] = &data[aWidth*i];
                // ok
                return mat;
        }

}

int main(void)
{
  // sample
  double **m=matrix::alloc<double>(10,20);

}

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.