title: Exception specification in declaration does not match previous declaration
body: <p>I compiled the file by g++ and clang++.<br>
  g++ has no any error and warning.<br>
  But clang++ has an error "exception specification in declaration does not match previous declaration".<br>
  By the way, if the file has no <code>throw()</code>, there has no any error and warning in clang++ output.<br>
  Which is correct for c++ spec, gcc or clang?</p>
  
  <p>version:<br>
  g++: 7.4.0<br>
  clang++: 10.0.0  </p>
  
  <pre><code>struct A {
    void g() throw () { }
    static void (A::*pmf)() throw ();
  };
  
  void (A::* A::pmf)() = &amp;A::g;
  </code></pre>