title: Overload resolution with universal reference involved
body: <p>For the following code:</p>
  
  <pre><code>class A {};
  
  template &lt;typename T&gt; void f(T&amp; a) {}
  template &lt;typename T&gt; void f(T&amp;&amp; a) {}
  
  int main() {
      A a;
      f(a);
  }
  </code></pre>
  
  <p>clang++ binds the call to the first overload, while g++ reports ambiguous call.  Which one is taking the correct action?</p>