summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/explicit-instantiation.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-09-11 20:15:17 +0000
committerDouglas Gregor <dgregor@apple.com>2009-09-11 20:15:17 +0000
commit9f185076dc8b79c8240b20a8746da96beb3f147b (patch)
treed18d41a3efaa8c75fcae701b6c252b3294899012 /test/CodeGenCXX/explicit-instantiation.cpp
parentd5d6778fb91d018cbd57456cae71289640ea8e66 (diff)
Tweak the semantics of FunctionDecl::isOutOfLine to consider an
instantiation of a member function template or member function of a class template to be out-of-line if the definition of that function template or member function was defined out-of-line. This ensures that we get the correct linkage for explicit instantiations of out-of-line definitions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81562 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/explicit-instantiation.cpp')
-rw-r--r--test/CodeGenCXX/explicit-instantiation.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/test/CodeGenCXX/explicit-instantiation.cpp b/test/CodeGenCXX/explicit-instantiation.cpp
index 33cbf7f872..8a9e65c4e2 100644
--- a/test/CodeGenCXX/explicit-instantiation.cpp
+++ b/test/CodeGenCXX/explicit-instantiation.cpp
@@ -1,9 +1,6 @@
-// RUN: clang-cc -emit-llvm -femit-all-decls -o %t %s &&
-// RUN: grep "_ZNK4plusIillEclERKiRKl" %t | count 1
+// RUN: clang-cc -emit-llvm -triple i686-pc-linue-gnu -o %t %s &&
+// RUN: grep "define i32 @_ZNK4plusIillEclERKiRKl" %t | count 1
-// FIXME: We should not need the -femit-all-decls, because operator() should
-// be emitted as an external symbol rather than with linkonce_odr linkage.
-// This is a Sema problem.
template<typename T, typename U, typename Result>
struct plus {
Result operator()(const T& t, const U& u) const;