blob: a3e040d7c1bd0c91744f8d85d55276af718a4935 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
// PR c++/71147 - [6 Regression] Flexible array member wrongly rejected
// in template
// { dg-do compile }
template <typename>
struct container
{
struct elem {
unsigned u;
};
struct incomplete {
int x;
elem array[];
};
};
unsigned f (container<void>::incomplete* i)
{
return i->array [0].u;
}
template <typename T>
struct D: container<T>
{
struct S {
int x;
typename container<T>::elem array[];
};
};
unsigned g (D<void>::S *s)
{
return s->array [0].u;
}
|