title: extern declaration with throw()
body: <p>Can one explain me the syntax of the following expression found in utsname.h (utsname definition):</p>
  
  <pre><code>extern int uname (struct utsname *__name) __THROW;
  </code></pre>
  
  <p><code>__THROW</code> is a macro and gives <code>throw()</code> from <code>cdefs.h</code>. Why can it be placed like this in the definition of an extern function?</p>