1 | // Make sure that diagnostics serialization does not crash with a really long diagnostic text. |
2 | |
3 | // RUN: not %clang_cc1 -std=c++11 %s -serialize-diagnostic-file %t.dia |
4 | // RUN: c-index-test -read-diagnostics %t.dia 2>&1 | FileCheck %s |
5 | |
6 | typedef class AReallyLooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongName {} alias; |
7 | |
8 | template <int N, typename ...T> |
9 | struct MyTS { |
10 | typedef MyTS<N-1, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, |
11 | alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, |
12 | alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, |
13 | alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, |
14 | alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, |
15 | alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, |
16 | alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, |
17 | alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, |
18 | alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, alias, T...> type; |
19 | static type callme() { |
20 | return type::callme(); |
21 | } |
22 | }; |
23 | |
24 | template <typename ...T> |
25 | struct MyTS<0, T...> {}; |
26 | |
27 | void foo() { |
28 | // CHECK: [[@LINE+1]]:20: note: in instantiation of member function |
29 | int e = MyTS<2>::callme(); |
30 | } |
31 | |