* Nikolaus Dunn: > I've run into an issue where turning on compiler optimization using > -O1 or higher causes an issue in my program. Specifically, I am > replacing the new and delete operators globally to perform some real > time allocation tracking. When I compile with -O1 or -O2, my > implementation of new is not being called by STL classes, via the > std::allocator. My version of delete IS being called. That doesn't make much sense, because std::allocator<T> doesn't use new or delete for objects of type T, so neither should be called. Instead std::allocator<T> allocates untyped memory (e.g. via malloc) and then constructs objects into it with placement new-expressions. What do you replacement new and delete operators look like?