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
38
| // RUN: %clang_cc1 -fsyntax-only -verify %s
| // expected-no-diagnostics
|
| struct mystruct {
| int member;
| };
|
| template <int i>
| int foo() {
| mystruct s[1];
| return s->member;
| }
|
| int main() {
| foo<1>();
| }
|
| // PR7405
| struct hb_sanitize_context_t {
| int start;
| };
| template <typename Type> static bool sanitize() {
| hb_sanitize_context_t c[1];
| return !c->start;
| }
| bool closure = sanitize<int>();
|
| // PR16206
| typedef struct {
| char x[4];
| } chars;
|
| chars getChars();
| void use(char *);
|
| void test() {
| use(getChars().x);
| }
|
|