title: Allocation function with a non-throwing exception specification
body: <p>3.7.4.1[basic.stc.dynamic.allocation]/3 has the following sentence:</p>
  
  <blockquote>
    <p>If an allocation function declared with a non-throwing
    <em>exception-specification</em> (15.4) fails to allocate storage, it shall
    return a null pointer.</p>
  </blockquote>
  
  <p>I don't know exactly what this sentence is trying to convey, as the two allocation functions shown in §3.7.4/2 (see below) don't have exception specifications.</p>
  
  <blockquote>
    <p><code>void* operator new(std::size_t);</code><br>
    <code>void* operator new[](std::size_t);</code></p>
  </blockquote>
  
  <p>And AFAICT, if I replace <code>operator new</code>, with one containing an <em>exception-specification</em>, in global scope, the code will not compile.</p>