[LLVMbugs] [Bug 7387] New: No representation for canonical template template parameters in TemplateName
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue Jun 15 16:36:47 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=7387
Summary: No representation for canonical template template
parameters in TemplateName
Product: clang
Version: unspecified
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: C++
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: chandlerc at gmail.com
CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com
This causes us to not think match equivalent template names that aren't
actually identical:
% cat t.cc
template <typename T> struct X {};
template <typename T1> struct S {
template <template <typename> class TC> void foo(const TC<T1>& arg);
};
template <typename T1> template <template <typename> class TC>
void S<T1>::foo(const TC<T1>& arg) {}
void test(const X<int>& x) {
S<int> s;
s.foo(x);
}
% clang -fsyntax-only t.cc
t.cc:8:13: error: out-of-line definition of 'foo' does not match any
declaration in 'S<T1>'
void S<T1>::foo(const TC<T1>& arg) {}
~~~~~~~^
1 error generated.
--
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