From c109102ecb80c06375688d374fdc17c04cd7d562 Mon Sep 17 00:00:00 2001 From: Justin Bogner Date: Tue, 24 Feb 2015 04:13:56 +0000 Subject: InstrProf: Make sure counts in lambdas don't escape to the parent scope 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 --- clang/lib/CodeGen/CoverageMappingGen.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'clang/lib/CodeGen/CoverageMappingGen.cpp') diff --git a/clang/lib/CodeGen/CoverageMappingGen.cpp b/clang/lib/CodeGen/CoverageMappingGen.cpp index 4bd4eb6da2e..55e7334acc2 100644 --- a/clang/lib/CodeGen/CoverageMappingGen.cpp +++ b/clang/lib/CodeGen/CoverageMappingGen.cpp @@ -850,6 +850,11 @@ struct CounterCoverageMappingBuilder extendRegion(E->getRHS()); propagateCounts(getRegionCounter(E), E->getRHS()); } + + void VisitLambdaExpr(const LambdaExpr *LE) { + // Lambdas are treated as their own functions for now, so we shouldn't + // propagate counts into them. + } }; } -- cgit v1.2.3