Home | History | Annotate | Download | only in Misc
      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