1*ecbf2f5fSBruno Ricci // Test without serialization: 2*ecbf2f5fSBruno Ricci // RUN: %clang_cc1 -triple x86_64-unknown-unknown -ast-dump %s \ 3*ecbf2f5fSBruno Ricci // RUN: | FileCheck --strict-whitespace %s 4*ecbf2f5fSBruno Ricci // 5*ecbf2f5fSBruno Ricci // Test with serialization: 6*ecbf2f5fSBruno Ricci // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-pch -o %t %s 7*ecbf2f5fSBruno Ricci // RUN: %clang_cc1 -x c++ -triple x86_64-unknown-unknown -include-pch %t -ast-dump-all /dev/null \ 8*ecbf2f5fSBruno Ricci // RUN: | sed -e "s/ <undeserialized declarations>//" -e "s/ imported//" \ 9*ecbf2f5fSBruno Ricci // RUN: | FileCheck --strict-whitespace %s 10765e1a44SStephen Kelly 11765e1a44SStephen Kelly void testArrayInitExpr() 12765e1a44SStephen Kelly { 13765e1a44SStephen Kelly int a[10]; 14765e1a44SStephen Kelly auto l = [a]{ 15765e1a44SStephen Kelly }; 16765e1a44SStephen Kelly // CHECK: |-ArrayInitLoopExpr 0x{{[^ ]*}} <col:15> 'int [10]' 17765e1a44SStephen Kelly // CHECK: | `-ArrayInitIndexExpr 0x{{[^ ]*}} <<invalid sloc>> 'unsigned long' 18765e1a44SStephen Kelly } 190fa7bf09SStephen Kelly 200fa7bf09SStephen Kelly template<typename T, int Size> 210fa7bf09SStephen Kelly class array { 220fa7bf09SStephen Kelly T data[Size]; 230fa7bf09SStephen Kelly 240fa7bf09SStephen Kelly using array_T_size = T[Size]; 250fa7bf09SStephen Kelly // CHECK: `-DependentSizedArrayType 0x{{[^ ]*}} 'T [Size]' dependent <col:25, col:30> 260fa7bf09SStephen Kelly }; 270fa7bf09SStephen Kelly 28