New test case.
From-SVN: r26746
This commit is contained in:
parent
c2e63b4c69
commit
db898cddb0
1 changed files with 40 additions and 0 deletions
40
gcc/testsuite/g++.old-deja/g++.ns/template9.C
Normal file
40
gcc/testsuite/g++.old-deja/g++.ns/template9.C
Normal file
|
@ -0,0 +1,40 @@
|
|||
// 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
main(void)
|
||||
{
|
||||
// sample
|
||||
double **m=matrix::alloc<double>(10,20);
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue