PR c++/85553
[official-gcc.git] / gcc / testsuite / g++.dg / ext / flexary16.C
blob64a9f5d051510c5ab0b74e08e5600910a4bfdfea
1 // PR c++/71147 - [6 Regression] Flexible array member wrongly rejected
2 //   in template
3 // { dg-do compile }
4 // { dg-options "-Wpedantic -Wno-error=pedantic" }
6 template <typename>
7 struct container
9   struct elem {
10     unsigned u;
11   };
13   struct incomplete {
14     int x;
15     elem array[];  // { dg-warning "forbids flexible array member" }
16   };
19 unsigned f (container<void>::incomplete* i)
21   return i->array [0].u;
25 template <typename T>
26 struct D: container<T>
28   struct S {
29     int x;
30     typename container<T>::elem array[];  // { dg-warning "forbids flexible array member" }
31   };
35 unsigned g (D<void>::S *s)
37   return s->array [0].u;