Hi.

We've got one another sneaky test-case (thank you Marc ;) ):

$ cat pr94314-array.C
#include <stdio.h>
#include <new>

int count = 0;

__attribute__((malloc, noinline)) void* operator new[](unsigned long sz) {
  ++count;
  return ::operator new(sz);
}

void operator delete[](void* ptr) noexcept {
  --count;
  ::operator delete(ptr);
}

void operator delete[](void* ptr, std::size_t sz) noexcept {
  --count;
  ::operator delete(ptr, sz);
}

int main() {
  delete[] new int[1];
  if (count != 0)
    __builtin_abort ();
}

I bet we need to include the Honza's fix for inline stacks.
Or it the test-case invalid?

Thanks,
Martin

Reply via email to