summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-11-19 21:07:04 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-11-19 21:07:04 +0000
commit92045bc37c84ff6e4a819685879d062a57bc8b45 (patch)
tree1e640d795abf60f4fc693ef6937cf3bfec40dbd1 /clang/test
parent8aac4f6d7b6150e2185ea2b9b7869df77ac75b0a (diff)
downloadbcm5719-llvm-92045bc37c84ff6e4a819685879d062a57bc8b45.tar.gz
bcm5719-llvm-92045bc37c84ff6e4a819685879d062a57bc8b45.zip
Further fixes when thiscall is the default for methods.
The previous patches tried to deduce the correct function type. I now realize this is not possible in general. Consider class foo { template <typename T> static void bar(T v); }; extern template void foo::bar(const void *); We will only know that bar is static after a lookup, so we have to handle this in the template instantiation code. This patch reverts my previous two changes (but not the tests) and instead handles the issue in DeduceTemplateArguments. llvm-svn: 195154
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaCXX/decl-microsoft-call-conv.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/decl-microsoft-call-conv.cpp b/clang/test/SemaCXX/decl-microsoft-call-conv.cpp
index e47a5c2a5cf..a1a6d0b2895 100644
--- a/clang/test/SemaCXX/decl-microsoft-call-conv.cpp
+++ b/clang/test/SemaCXX/decl-microsoft-call-conv.cpp
@@ -176,3 +176,10 @@ namespace test3 {
void bah() {}
void baz() { zed(bah); }
}
+
+namespace test4 {
+ class foo {
+ template <typename T> static void bar(T v);
+ };
+ extern template void foo::bar(const void *);
+}
OpenPOWER on IntegriCloud