]> granicus.if.org Git - clang/commit
When looking for temporary dtors while building the CFG, do not walk into
authorRichard Smith <richard-llvm@metafoo.co.uk>
Sun, 27 Jul 2014 05:12:49 +0000 (05:12 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Sun, 27 Jul 2014 05:12:49 +0000 (05:12 +0000)
commitc5011a1b7a42eb62a15abb4b056f76c30dcee9fa
treeab8499b68526950ab971defc00702f9d7da3afb1
parent294342afdd762521444947116a63923d0de8bf1f
When looking for temporary dtors while building the CFG, do not walk into
lambda expressions (other than their capture initializers) nor blocks. Do walk
into default argument expressions and default initializer expressions.

These bugs were causing us to produce broken CFGs whenever a lambda expression
was used to initialize a libstdc++ std::function object!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214050 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/ExprCXX.h
lib/Analysis/CFG.cpp
test/SemaCXX/return-noreturn.cpp