operator new with negative size
<p>In C++11 if we try to allocate array with negative size using global operator new, it will throw std::bad_array_new_length, but what about C++98 / C++03? Is it UB or will throw std::bad_alloc?</p>

<pre><code>int main()
{
   int* ptr = new int[-1];
}
</code></pre>
