On Sep 25, 2013, at 3:33 PM, Chandler Carruth <[email protected]> wrote:
> > On Wed, Sep 25, 2013 at 3:29 PM, Howard Hinnant <[email protected]> > wrote: > 20.8.9.1 [allocator.members]/p6: > > > Remark: the storage is obtained by calling ::operator new(std::size_t) > > (18.6.1), but it is unspec- ified when or how often this function is > > called. The use of hint is unspecified, but intended as an aid to locality > > if an implementation so desires. > > The question becomes, if we make this substitution, is there a test the user > can write to observe it? Is there an LWG issue here? > > I *believe* that by writing a new expression, you get *precisely* this > behavior: storage is obtained by calling ::operator new, but when or how > often can change via the implementation (N3664). Doesn't new char[n] have to call ::operator new[](n) instead of ::operator new(n)? These two operators are separately overloadable by the client. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2158.html If we switch, I think the wrong operator new gets called, and the user can detect that. Howard _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
