Avoid depending on LCSSA implicitly pulling in LoopSimplify.
[oota-llvm.git] / test / FrontendC++ / 2010-05-11-alwaysinlineinstantiation.cpp
1 // RUN: %llvmgxx -xc++ %s -c -o - | llvm-dis | not grep ZN12basic_stringIcEC1Ev
2 // RUN: %llvmgxx -xc++ %s -c -o - | llvm-dis | grep ZN12basic_stringIcED1Ev | count 2
3
4 template<class charT> 
5 class basic_string
6 {
7 public:
8         basic_string();
9         ~basic_string();
10 };
11
12 template <class charT>
13 __attribute__ ((__visibility__("hidden"), __always_inline__)) inline
14 basic_string<charT>::basic_string()
15 {
16 }
17
18 template <class charT>
19 inline
20 basic_string<charT>::~basic_string()
21 {
22 }
23
24 typedef basic_string<char> string;
25
26 extern template class basic_string<char>;
27
28 int main()
29 {
30         string s;
31 }