explicit-instantiation.cpp revision a5728872c7702ddd09537c95bc3cbd20e1f2fb09
1// RUN: %clang_cc1 -emit-llvm -triple i686-pc-linux-gnu -o %t %s
2// RUN: grep "define i32 @_ZNK4plusIillEclERKiRKl" %t | count 1
3
4template<typename T, typename U, typename Result>
5struct plus {
6  Result operator()(const T& t, const U& u) const;
7};
8
9template<typename T, typename U, typename Result>
10Result plus<T, U, Result>::operator()(const T& t, const U& u) const {
11  return t + u;
12}
13
14template struct plus<int, long, long>;
15