summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/CodeInjector.cpp
diff options
context:
space:
mode:
authorGabor Marton <martongabesz@gmail.com>2018-09-03 13:10:53 +0000
committerGabor Marton <martongabesz@gmail.com>2018-09-03 13:10:53 +0000
commita20ce60e48c2a60f9747dac0f042e9bf98f04400 (patch)
treeb6a0d37e097f2aff6d7779ce53850d532f43461b /clang/lib/Analysis/CodeInjector.cpp
parentaa75dd128c1724c5c4b701cfecc60463449db162 (diff)
downloadbcm5719-llvm-a20ce60e48c2a60f9747dac0f042e9bf98f04400.tar.gz
bcm5719-llvm-a20ce60e48c2a60f9747dac0f042e9bf98f04400.zip
[ASTImporter] Merge ExprBits
Summary: Some `Expr` classes set up default values for the `ExprBits` of `Stmt`. These default values are then overwritten by the parser sometimes. One example is `InitListExpr` which sets the value kind to be an rvalue in the ctor. However, this bit may change after the `InitListExpr` is created. There may be other expressions similar to `InitListExpr` in this sense, thus the safest solution is to copy the expression bits. The lack of copying `ExprBits` causes an assertion in the analyzer engine in a specific case: Since the value kind is not imported, the analyzer engine believes that the given InitListExpr is an rvalue, thus it creates a nonloc::CompoundVal instead of creating memory region (as in case of an lvalue reference). Reviewers: a_sidorin, r.stahl, xazax.hun, a.sidorin Subscribers: rnkovacs, dkrupp, cfe-commits Differential Revision: https://reviews.llvm.org/D51533 llvm-svn: 341316
Diffstat (limited to 'clang/lib/Analysis/CodeInjector.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud