1// Contributed by Dodji Seketeli <dodji@redhat.com>
2// Origin PR debug/30161
3// { dg-options "-g -dA -fno-merge-debug-strings" }
4// { dg-final { scan-assembler-times "DW_TAG_GNU_template_template_param" 2 } }
5// { dg-final { scan-assembler-times "\"vector.0\".*?DW_AT_GNU_template_name" 1 } }
6// { dg-final { scan-assembler-times ".ascii \"U.0\".*?DW_AT_name" 1 } }
7
8template <class T>
9struct vector_base
10{
11
12    static int get_sizeof_t()
13    {
14      return 0;
15    }
16};
17
18template <class T>
19struct vector : public vector_base<T>
20{
21    static int get_sizeof_t()
22    {
23        return sizeof (T);
24    }
25    T member1;
26    T member2;
27};
28
29template <template <class T> class U>
30int
31bar()
32{
33    return U<int>::get_sizeof_t();
34}
35
36int i = bar<vector>();
37
38
39