------- Comment #15 from rguenth at gcc dot gnu dot org 2007-11-11 12:19 ------- Well, gcc is able to optimize the two-element array case the same. Also you still do default construction with the placement new (if Element has a default constructor). Maybe Element is POD, in which case there is no default construction for the array case either (I didn't really investigate but only speculated about the reason for the strange code).
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34048