]> granicus.if.org Git - clang/commit
[analyzer] NFC: Use CFG construction contexts instead of homemade lookahead.
authorArtem Dergachev <artem.dergachev@gmail.com>
Sat, 10 Feb 2018 02:55:08 +0000 (02:55 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Sat, 10 Feb 2018 02:55:08 +0000 (02:55 +0000)
commit94750c8e7ed7f830cba88241069496ff54c38a4d
tree132e8818d51e7b691f504b8f1f227ed6d6597301
parent2640a027034cf536fdfa21ff7f39f787fc0e1fbf
[analyzer] NFC: Use CFG construction contexts instead of homemade lookahead.

The analyzer was relying on peeking the next CFG element during analysis
whenever it was trying to figure out what object is being constructed
by a given constructor. This information is now available in the current CFG
element in all cases that were previously supported by the analyzer,
so no complicated lookahead is necessary anymore.

No functional change intended - the context in the CFG should for now be
available if and only if it was previously discoverable via CFG lookahead.

Differential Revision: https://reviews.llvm.org/D42721

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@324800 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Analysis/CFG.h
include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
lib/StaticAnalyzer/Core/ExprEngineCXX.cpp