1 // RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple %s -o - | FileCheck %s
2 
3 // CHECK-NOT: ZN12basic_stringIcEC1Ev
4 // CHECK: ZN12basic_stringIcED1Ev
5 // CHECK: ZN12basic_stringIcED1Ev
6 template<class charT>
7 class basic_string
8 {
9 public:
10 	basic_string();
11 	~basic_string();
12 };
13 
14 template <class charT>
15 __attribute__ ((__visibility__("hidden"), __always_inline__)) inline
16 basic_string<charT>::basic_string()
17 {
18 }
19 
20 template <class charT>
21 inline
22 basic_string<charT>::~basic_string()
23 {
24 }
25 
26 typedef basic_string<char> string;
27 
28 extern template class basic_string<char>;
29 
30 int main()
31 {
32 	string s;
33 }
34