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.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.ns/] [template9.C] - Rev 338
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);
}