]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/g++.old-deja/g++.brendan/new2.C
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / g++.old-deja / g++.brendan / new2.C
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/new2.C b/gcc/testsuite/g++.old-deja/g++.brendan/new2.C
deleted file mode 100644 (file)
index fbb47fc..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-// GROUPS passed operator-new
-// Check that if there is a user defined class-specific operator
-// new for a given class, that operator is invoked when a new
-// object of the class is requested, regardless of whether or not
-// there is also a constructor for the given class, and regardless
-// of whether or not the constructor for the given class is defined
-// before or after the new operator is even declared.
-
-extern "C" int printf (const char *, ...); 
-
-typedef __SIZE_TYPE__ size_t;
-
-struct base {
-       int i;
-
-       base ()
-       {
-               i = 7;
-       }
-
-       void * operator new (size_t size);
-       void operator delete (void*);
-};
-
-class derived : public base {
-       int j;
-};
-
-int new_call_count = 0;
-int expected_size = 0;
-int errors = 0;
-
-int main ()
-{
-       base*           base_ptr;
-       derived*        derived_ptr;
-
-       expected_size = sizeof (int);
-       base_ptr = new base;
-       expected_size = 2 * sizeof (int);
-       derived_ptr = new derived ();
-
-       if ((new_call_count != 2) || (errors != 0))
-         { printf ("FAIL\n"); return 1; }
-       else
-         printf ("PASS\n");
-
-       return 0;
-}
-
-int allocation_space[100];
-int* allocation_ptr = allocation_space;
-
-void base::operator delete (void* p)
-{
-}
-
-void *base::operator new (size_t size)
-{
-       int* return_value = allocation_ptr;
-
-       new_call_count++;
-       if (size != expected_size)
-               errors++;
-       allocation_ptr += (size + sizeof(int) - 1) / sizeof(int);
-       return (void*) return_value;
-}