aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
diff options
context:
space:
mode:
authormartinboehme <mboehme@google.com>2024-03-18 13:36:20 +0100
committerGitHub <noreply@github.com>2024-03-18 13:36:20 +0100
commit27d504998ec7ec596bc9ff5d16333aea7a1bac18 (patch)
tree688d107c11bb1a556d949d0db4ca6215069926fa /clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
parent24692088181dd18e491a413d98d9c2ae30464454 (diff)
downloadllvm-27d504998ec7ec596bc9ff5d16333aea7a1bac18.zip
llvm-27d504998ec7ec596bc9ff5d16333aea7a1bac18.tar.gz
llvm-27d504998ec7ec596bc9ff5d16333aea7a1bac18.tar.bz2
[clang][dataflow] Fix `getResultObjectLocation()` on `CXXDefaultArgExpr`. (#85072)
This patch includes a test that causes an assertion failure without the other changes in this patch.
Diffstat (limited to 'clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp')
-rw-r--r--clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp b/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
index 1d2bd9a..cc1ebd5 100644
--- a/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
+++ b/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
@@ -771,6 +771,7 @@ static bool isOriginalRecordConstructor(const Expr &RecordPRValue) {
return !Init->isSemanticForm() || !Init->isTransparent();
return isa<CXXConstructExpr>(RecordPRValue) || isa<CallExpr>(RecordPRValue) ||
isa<LambdaExpr>(RecordPRValue) ||
+ isa<CXXDefaultArgExpr>(RecordPRValue) ||
isa<CXXDefaultInitExpr>(RecordPRValue) ||
// The framework currently does not propagate the objects created in
// the two branches of a `ConditionalOperator` because there is no way