150
|
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
|
|
2 // expected-no-diagnostics
|
|
3
|
|
4 struct mystruct {
|
|
5 int member;
|
|
6 };
|
|
7
|
|
8 template <int i>
|
|
9 int foo() {
|
|
10 mystruct s[1];
|
|
11 return s->member;
|
|
12 }
|
|
13
|
|
14 int main() {
|
|
15 foo<1>();
|
|
16 }
|
|
17
|
|
18 // PR7405
|
|
19 struct hb_sanitize_context_t {
|
|
20 int start;
|
|
21 };
|
|
22 template <typename Type> static bool sanitize() {
|
|
23 hb_sanitize_context_t c[1];
|
|
24 return !c->start;
|
|
25 }
|
|
26 bool closure = sanitize<int>();
|
|
27
|
|
28 // PR16206
|
|
29 typedef struct {
|
|
30 char x[4];
|
|
31 } chars;
|
|
32
|
|
33 chars getChars();
|
|
34 void use(char *);
|
|
35
|
|
36 void test() {
|
|
37 use(getChars().x);
|
|
38 }
|