[LLVMbugs] [Bug 7347] bad diagnostic for explicit instantiation through a typedef

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jun 16 09:29:27 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7347

Douglas Gregor <dgregor at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #1 from Douglas Gregor <dgregor at apple.com> 2010-06-16 11:29:27 CDT ---
Clang is correct, per C+0x [temp.explicit]p2:

  If the explicit instantiation is for a member function, a member class or a
static data member of a class template specialization, the name of the class
template specialization in the qualified-id for the member name shall be a
simple-template-id.

C++98/03 has the same restriction, but nobody else seems to diagnose it.

I've downgraded the error to a warning, since it's likely to be a portability
issue, and tweaked the diagnostic a to note that typedefs aren't allowed here.
The example code is still invalid, though :)

"Fix" in Clang r106109.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list