diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/p11667.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/p11667.C | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p11667.C b/gcc/testsuite/g++.old-deja/g++.mike/p11667.C deleted file mode 100644 index 89ab3132f47..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.mike/p11667.C +++ /dev/null @@ -1,62 +0,0 @@ -// Special g++ Options: -fexceptions -// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-* -// prms-id: 11667 - -extern "C" int printf(const char *,...); - -template < class T > -class LIST { -public: - - LIST() { nitems = 16; items = new T[nitems]; }; - - LIST(int u) { nitems = u; items = new T[nitems]; }; - - T& operator[](int i) const { - return items[i]; - } - - void grow(int n) { - T* newlist = new T[n]; - T* src = items; - T* dst = newlist; - int i = nitems; - - try { - while (i--) *dst++ = *src++; - } catch (...) { - delete[] newlist; - throw; - } - - if (items) delete[] items; - nitems = n; - items = newlist; - } - -private: - int nitems; - T *items; -}; - -int main(int argc, char **argv) { - int i; - LIST<int> mylist(10); - - printf("Start dumping initial 10 item list\n"); - for (i = 0; i < 10 ; i++) { - mylist[i] = i; - printf("%d\n", mylist[i]); - } - - printf("Growing list to 20\n"); - mylist.grow(20); - - printf("Start dumping grown 20 item list\n"); - for (i = 0; i < 20; i++) { - mylist[i] = i; - printf("%d\n", mylist[i]); - } - - return 0; -} |