diff --git a/Testing/prepend.m b/Testing/prepend.m new file mode 100644 index 000000000..5d923d238 --- /dev/null +++ b/Testing/prepend.m @@ -0,0 +1,45 @@ +/* +From: Matthias Klose +Date: Mon, 1 Aug 1994 21:17:20 +0200 +To: mccallum@cs.rochester.edu +Subject: bug in libcoll-940725 +Reply-to: doko@cs.tu-berlin.de + +Hello, the following code core dumps on Solaris 2.3 (compiled with gcc +2.5.8 -g -O and with -g) and on NeXTstep 3.2 (gcc 2.5.8). +Any hints? +*/ + +#include + +int main () +{ + Array *a; + CircularArray *c; + Queue *q; + + a = [Array new]; + + [a prependObject: [NSObject new]]; + [a prependObject: [NSObject new]]; + [a prependObject: [NSObject new]]; + printf("count: %d\n", [a count]); + [a insertObject: [NSObject new] atIndex: 2]; // ok! + printf("count: %d\n", [a count]); + + c = [CircularArray new]; + [c prependObject: [NSNumber numberWithInt:3]]; + [c prependObject: [NSNumber numberWithInt:2]]; + [c prependObject: [NSNumber numberWithInt:1]]; + [c insertObject:[NSNumber numberWithInt:0] atIndex:2]; // core dump! + + q = [Queue new]; + [q enqueueObject: [NSObject new]]; + [q enqueueObject: [NSObject new]]; + [q enqueueObject: [NSObject new]]; + printf("count: %d\n", [q count]); + [q insertObject: [NSObject new] atIndex: 2]; // core dump! + printf("count: %d\n", [q count]); + + exit (0); +}