xref: /aosp_15_r20/external/clang/test/CoverageMapping/lambda.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -x c++ -std=c++11 -triple %itanium_abi_triple -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only %s -main-file-name lambda.cpp | FileCheck %s
2*67e74705SXin Li 
3*67e74705SXin Li // CHECK-LABEL: _Z3fooi:
foo(int i)4*67e74705SXin Li void foo(int i) { // CHECK: File 0, [[@LINE]]:17 -> {{[0-9]+}}:2 = #0
5*67e74705SXin Li   auto f = [](int x) {
6*67e74705SXin Li     return x + 1;
7*67e74705SXin Li   };
8*67e74705SXin Li 
9*67e74705SXin Li   f(i);
10*67e74705SXin Li   // Make sure the zero region after the return doesn't escape the lambda.
11*67e74705SXin Li   // CHECK-NOT: File 0, {{[0-9:]+}} -> [[@LINE+1]]:2 = 0
12*67e74705SXin Li }
13*67e74705SXin Li 
main(int argc,const char * argv[])14*67e74705SXin Li int main(int argc, const char *argv[]) {
15*67e74705SXin Li   foo(1);
16*67e74705SXin Li   return 0;
17*67e74705SXin Li }
18