[init -> test-new_delete] Allocator::alloc() [init -> test-new_delete] A [init -> test-new_delete] C [init -> test-new_delete] B [init -> test-new_delete] D [init -> test-new_delete] E [init -> test-new_delete] ~E [init -> test-new_delete] ~D [init -> test-new_delete] ~B [init -> test-new_delete] ~C [init -> test-new_delete] ~A [init -> test-new_delete] Allocator::free() [init -> test-new_delete] Allocator::alloc() [init -> test-new_delete] A [init -> test-new_delete] C [init -> test-new_delete] B [init -> test-new_delete] D [init -> test-new_delete] E [init -> test-new_delete] throw exception [init -> test-new_delete] ~D [init -> test-new_delete] ~B [init -> test-new_delete] ~C [init -> test-new_delete] ~A [init -> test-new_delete] Allocator::free() [init -> test-new_delete] exception caught [init -> test-new_delete] Allocator::alloc() [init -> test-new_delete] A [init -> test-new_delete] C [init -> test-new_delete] B [init -> test-new_delete] D [init -> test-new_delete] E [init -> test-new_delete] ~E [init -> test-new_delete] ~D [init -> test-new_delete] ~B [init -> test-new_delete] ~C [init -> test-new_delete] ~A [init -> test-new_delete] Allocator::free() [init -> test-new_delete] Allocator::alloc() [init -> test-new_delete] A [init -> test-new_delete] C [init -> test-new_delete] B [init -> test-new_delete] D [init -> test-new_delete] E [init -> test-new_delete] throw exception [init -> test-new_delete] ~D [init -> test-new_delete] ~B [init -> test-new_delete] ~C [init -> test-new_delete] ~A [init -> test-new_delete] Allocator::free() [init -> test-new_delete] exception caught [init -> test-new_delete] Test done