With targeting i686-win32,
error: 'error' diagnostics seen but not expected:
File clang/test/CXX/drs/dr5xx.cpp Line 521: implicit instantiation of undefined template 'dr547::X<void () __attribute__((thiscall)) const>'
File clang/test/CXX/drs/dr5xx.cpp Line 518: implicit instantiation of undefined template 'dr547::X<void () __attribute__((thiscall)) const>'
File clang/test/CXX/drs/dr5xx.cpp Line 518: implicit instantiation of undefined template 'dr547::X<void () __attribute__((thiscall)) const>'
error: 'note' diagnostics seen but not expected:
File clang/test/CXX/drs/dr5xx.cpp Line 516: template is declared here
File clang/test/CXX/drs/dr5xx.cpp Line 521: in instantiation of function template specialization 'dr547::f<void () __attribute__((thiscall)) const, dr547::S>' requested here
File clang/test/CXX/drs/dr5xx.cpp Line 516: template is declared here
File clang/test/CXX/drs/dr5xx.cpp Line 516: template is declared here
7 errors generated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216841
91177308-0d34-0410-b5e6-
96231b3b80d8
template<typename T> void A<T>::f() { T::error; }
}
+#if !defined(_M_IX86) // This is incompatible to attribute(thiscall).
namespace dr547 { // d547: yes
template<typename T> struct X;
template<typename T> struct X<T() const> {};
struct S { void f() const; };
X<void() const> x = f(&S::f);
}
+#endif
namespace dr548 { // dr548: dup 482
template<typename T> struct S {};