OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.ns/] [template9.C] - Rev 384

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);

}

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.