]> granicus.if.org Git - clang/commit
Remove a kludge from analysis based warnings that used to detect
authorChandler Carruth <chandlerc@gmail.com>
Sat, 8 Jan 2011 06:54:40 +0000 (06:54 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sat, 8 Jan 2011 06:54:40 +0000 (06:54 +0000)
commiteeef924c4fcb79a3bcc8782afce343e641bbcb83
tree94d4305e20f84a4daca05751041eeac3f1a72f80
parent65197b4b0c55bb74af0450230d61ee9461223721
Remove a kludge from analysis based warnings that used to detect
temporaries with no-return destructors. The CFG now properly supports
temporaries and implicit destructors which both makes this kludge no
longer work, and conveniently removes the need for it.

Turn on CFG handling of implicit destructors and initializers. Several
ad-hoc benchmarks don't indicate any measurable performance impact from
growing the CFG, and it fixes real correctness problems with warnings.

As a result of turning on these CFG elements, we started to tickle an
inf-loop in the unreachable code logic used for warnings. The fix is
trivial.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123056 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/ReachableCode.cpp
lib/Sema/AnalysisBasedWarnings.cpp
test/SemaCXX/return-noreturn.cpp