1 // { dg-do assemble  }
2 // Origin: Alfred Minarik <a8601248@unet.univie.ac.at>
3 
4 template <typename T>
5 struct allocator
6 {
7   typedef int size_type;
8 };
9 
10 template <typename T>
11 struct string
12 {
13   typedef typename allocator<T>::size_type size_type;
14 
15   static size_type size;
16 
17   size_type
max_sizestring18   max_size() const { return size; }
19 };
20 
21 template struct string <char>;
22