| // RUN: %clang_cc1 -triple=x86_64-unknown-linux-gnu -emit-llvm -o - %s | FileCheck %s |
| void set(T _x) { x = _x; } |
| T get() { return foo.get(); } |
| void set(T _x) { foo.set(_x); } |
| // These two specializations should generate lines for all of Foo's methods. |
| template struct Foo<char>; |
| template struct Foo<short>; |
| // This should not generate lines for the implicit specialization of Foo, but |
| // should generate lines for the explicit specialization of Bar. |
| template struct Bar<int>; |
| // This should not generate lines for the implicit specialization of Foo, but |
| // should generate lines for the explicit specialization of Baz. |
| template struct Baz<long>; |