[clang] Fix CallExpr dependence bit may not respect all its arguments.
authorHaojian Wu <hokein.wu@gmail.com>
Wed, 30 Jun 2021 08:15:59 +0000 (10:15 +0200)
committerHaojian Wu <hokein.wu@gmail.com>
Thu, 1 Jul 2021 12:40:03 +0000 (14:40 +0200)
commit314e456dfe85f8b5c53b85a7d815f7d463fe02ef
tree4881bb38153ddec23e2853eab19849e032ed3261
parentcf76569f6a617b782373548a6b030ab3dd44c6af
[clang] Fix CallExpr dependence bit may not respect all its arguments.

Before this patch, the dependence of CallExpr was only computed in the
constructor, the dependence bits might not reflect truth -- some arguments might
be not set (nullptr) during this time, e.g. CXXDefaultArgExpr will be set via
the setArg method in the later parsing stage, so we need to recompute the
dependence bits.
clang/include/clang/AST/Expr.h
clang/lib/AST/Expr.cpp
clang/lib/Sema/SemaExpr.cpp
clang/test/SemaCXX/recovery-expr-type.cpp