1 // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96301
2 // { dg-additional-options "-fPIC" { target fpic } }
3 // { dg-do compile }
4 struct Type
5 {
6     size_t length;
7     int* ptr;
8 }
9 
10 class Container
11 {
12     Type children;
13 
remove(void * data)14     void remove(void* data)
15     {
16         Type remove(Type range)
17         {
18             auto result = range;
19             if (result.front)
20                 return result;
21             assert(0);
22         }
23         if (data)
24             remove(children);
25     }
26 }
27 
front(Type a)28 int front(Type a)
29 {
30     return a.ptr[0];
31 }
32