On Thu, 22 Aug 2013, Jan Hubicka wrote:
> > On Thu, 22 Aug 2013, Gabriel Dos Reis wrote: > > > > - I would like to recall issue if we can make NEW_EXPR annotated with > > > > MALLOC attribute. Without it, it is basically impossible to track > > > > any dynamically allocated objects in the middle-end > > > > > > operator new is replaceable by user program. > > > > But so is malloc? As I understand, the reason why "malloc" attribute is not > > applicable to operator new is "placement new", which returns aliased memory. > > placement new is optimized to nothing, so it should not affect anything here. Which means you cannot annotate NEW_EXPR with attribute malloc when -fno-inline is in effect, right? Because then placement new is no longer optimized out. Testcase, compile with -O2 -fno-inline -fno-ipa-sra: #include <new> int foo(void *c) { return *(new (c) int); }