<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:dblaikie@gmail.com" title="David Blaikie <dblaikie@gmail.com>"> <span class="fn">David Blaikie</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED INVALID - Template instantiation fails with undefined reference"
   href="http://llvm.org/bugs/show_bug.cgi?id=20854">bug 20854</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">CC</td>
           <td>
                
           </td>
           <td>dblaikie@gmail.com, richard-llvm@metafoo.co.uk
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>INVALID
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED INVALID - Template instantiation fails with undefined reference"
   href="http://llvm.org/bugs/show_bug.cgi?id=20854#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED INVALID - Template instantiation fails with undefined reference"
   href="http://llvm.org/bugs/show_bug.cgi?id=20854">bug 20854</a>
              from <span class="vcard"><a class="email" href="mailto:dblaikie@gmail.com" title="David Blaikie <dblaikie@gmail.com>"> <span class="fn">David Blaikie</span></a>
</span></b>
        <pre>Richard can possibly sanity check my language lawyering, but this seems By
Design to me:

C++11 14.7.2\9 reads:

"An explicit instantiation definition that names a class template
specialization explicitly instantiates the class template specialization and is
an explicit instantiation definition of only those members that have been
defined at the point of instantiation."

Since your explicit instantiation definition appears before the definition of
the members of your class template, the explicit instantiation definition does
not instantiate those members.

I haven't checked the 14 wording. Also can't explain why that behavior would've
changed in GCC 4.9</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>