
When generating coverage maps, we were traversing the body as if it were part of the parent function, but this doesn't make sense since we're currently counting lambdas as separate functions. llvm-svn: 230304
18 lines
544 B
C++
18 lines
544 B
C++
// RUN: %clang_cc1 -x c++ -std=c++11 -triple %itanium_abi_triple -fprofile-instr-generate -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only %s -main-file-name lambda.cpp | FileCheck %s
|
|
|
|
// CHECK-LABEL: _Z3fooi:
|
|
void foo(int i) { // CHECK: File 0, [[@LINE]]:17 -> {{[0-9]+}}:2 = #0
|
|
auto f = [](int x) {
|
|
return x + 1;
|
|
};
|
|
|
|
f(i);
|
|
// Make sure the zero region after the return doesn't escape the lambda.
|
|
// CHECK-NOT: File 0, {{[0-9:]+}} -> [[@LINE+1]]:2 = 0
|
|
}
|
|
|
|
int main(int argc, const char *argv[]) {
|
|
foo(1);
|
|
return 0;
|
|
}
|