Remove the CFGElement "Invalid" state.
authorDavid Blaikie <dblaikie@gmail.com>
Sat, 23 Feb 2013 00:29:34 +0000 (00:29 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Sat, 23 Feb 2013 00:29:34 +0000 (00:29 +0000)
commit00be69ab5c21ad965959376a4b1cdeaaf13be443
treee37dabd45c984fa9ab4e9ce859301092f133deda
parent16c8cf0e11dd7f53d3a50609d5821f56e6b52c1a
Remove the CFGElement "Invalid" state.

Use Optional<CFG*> where invalid states were needed previously. In the one case
where that's not possible (beginAutomaticObjDtorsInsert) just use a dummy
CFGAutomaticObjDtor.

Thanks for the help from Jordan Rose & discussion/feedback from Ted Kremenek
and Doug Gregor.

Post commit code review feedback on r175796 by Ted Kremenek.

llvm-svn: 175938
19 files changed:
clang/include/clang/Analysis/CFG.h
clang/include/clang/Analysis/ProgramPoint.h
clang/lib/Analysis/CFG.cpp
clang/lib/Analysis/CFGStmtMap.cpp
clang/lib/Analysis/LiveVariables.cpp
clang/lib/Analysis/ReachableCode.cpp
clang/lib/Analysis/ThreadSafety.cpp
clang/lib/Analysis/UninitializedValues.cpp
clang/lib/Sema/AnalysisBasedWarnings.cpp
clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp
clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
clang/lib/StaticAnalyzer/Core/BugReporter.cpp
clang/lib/StaticAnalyzer/Core/CallEvent.cpp
clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp