]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / g++.old-deja / g++.eh / badalloc1.C
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C b/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C
deleted file mode 100644 (file)
index 19ec3c1..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-// excess errors test - XFAIL xstormy16-*-*
-// Copyright (C) 2000 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 6 June 2000 <nathan@codesourcery.com>
-
-// Check we can throw a bad_alloc exception when malloc dies.
-
-typedef __SIZE_TYPE__ size_t;
-extern "C" void abort();
-extern "C" void *memcpy(void *, const void *, size_t);
-
-// Assume that STACK_SIZE defined implies a system that does not have a
-// large data space either, and additionally that we're not linking against
-// a shared libstdc++ (which requires quite a bit more initialization space).
-#ifdef STACK_SIZE
-const int arena_size = 256;
-#else
-const int arena_size = 32768;
-#endif
-
-struct object
-{
-  size_t size __attribute__((aligned));
-};
-
-static char arena[arena_size] __attribute__((aligned));
-static size_t pos;
-
-// So we can force a failure when needed.
-static int fail;
-
-extern "C" void *malloc (size_t size)
-{
-  object *p = reinterpret_cast<object *>(&arena[pos]);
-
-  if (fail)
-    return 0;
-
-  p->size = size;
-  size = (size + __alignof__(object) - 1) & - __alignof__(object);
-  pos += size + sizeof(object);
-
-  // Verify that we didn't run out of memory before getting initialized.
-  if (pos > arena_size)
-    abort ();
-
-  return p + 1;
-}
-
-extern "C" void free (void *)
-{
-}
-
-extern "C" void *realloc (void *p, size_t size)
-{
-  void *r;
-
-  if (p)
-    {
-      object *o = reinterpret_cast<object *>(p) - 1;
-      size_t old_size = o->size;
-
-      if (old_size >= size)
-       {
-         r = p;
-         o->size = size;
-       }
-      else
-       {
-         r = malloc (size);
-         memcpy (r, p, old_size);
-         free (p);
-       }
-    }
-  else
-    r = malloc (size);
-
-  return r;
-}
-
-void fn_throw() throw(int)
-{
-  throw 1;
-}
-
-void fn_rethrow() throw(int)
-{
-  try{fn_throw();}
-  catch(int a){
-    throw;}
-}
-
-void fn_catchthrow() throw(int)
-{
-  try{fn_throw();}
-  catch(int a){
-    throw a + 1;}
-}
-
-int main()
-{
-  fail = 1;
-
-  try{fn_throw();}
-  catch(int a){}
-
-  try{fn_rethrow();}
-  catch(int a){}
-
-  try{fn_catchthrow();}
-  catch(int a){}
-  
-  return 0;
-}