http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55727



--- Comment #3 from Matthias Kretz <kretz at kde dot org> 2012-12-18 13:26:21 
UTC ---

(In reply to comment #2)

> (In reply to comment #0)

> > Right now it does not even suffice to reimplement new/delete inside Foo to 
> > make

> > std::vector<Foo> work.

> 

> Sorry, this statement seems to be wrong.



After more investigation I see that my original statement was right. The

default allocator uses ::operator new(size_t) instead of T::operator new - and

obviously it has to use the global one because allocation and construction are

split into two functions.



I just created an allocator class that uses posix_memalign and __alignof to

implement an allocator as I'd like to have for a proof of concept.



If you are interested, I can patch the new_allocator class to support

over-alignment (while still using operator new). Would you be interested?

Reply via email to