Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assertion failure in clang::ento::ExprEngine::elideDestructor #37420

Closed
llvmbot opened this issue Jul 5, 2018 · 3 comments
Closed

Assertion failure in clang::ento::ExprEngine::elideDestructor #37420

llvmbot opened this issue Jul 5, 2018 · 3 comments
Assignees
Labels
bugzilla Issues migrated from bugzilla clang:static analyzer

Comments

@llvmbot
Copy link
Collaborator

llvmbot commented Jul 5, 2018

Bugzilla Link 38072
Resolution FIXED
Resolved on Aug 01, 2018 07:12
Version unspecified
OS Linux
Reporter LLVM Bugzilla Contributor
CC @devincoughlin

Extended Description

$ cat test-ento__ExprEngine__elideDestructor.cc
struct a {
~a();
};
struct F {
a d;
F(char , a = a());
};
void g() {
char h[1];
for (int i = 0;;) F j(i ? j : h);
}
$ ./clang-tidy -checks=-
,clang-analyzer* test-ento__ExprEngine__elideDestructor.cc -- -std=c++11
assert.h assertion failed at llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp:485 in static clang::ento::ProgramStateRef clang::ento::ExprEngine::elideDestructor(clang::ento::ProgramStateRef, const clang::CXXBindTemporaryExpr *, const clang::LocationContext *): !State->contains(I)
@ 0x559134e889d6 __assert_fail
@ 0x559132b8a025 clang::ento::ExprEngine::elideDestructor()
@ 0x559132bb9722 clang::ento::ExprEngine::prepareForObjectConstruction()
@ 0x559132bb962d clang::ento::ExprEngine::prepareForObjectConstruction()
@ 0x559132bb962d clang::ento::ExprEngine::prepareForObjectConstruction()
@ 0x559132bba6eb clang::ento::ExprEngine::VisitCXXConstructExpr()
@ 0x559132b8e30d clang::ento::ExprEngine::Visit()
@ 0x559132b8b52e clang::ento::ExprEngine::ProcessStmt()
@ 0x559132b8b24b clang::ento::ExprEngine::processCFGElement()
@ 0x559132bac965 clang::ento::CoreEngine::HandlePostStmt()
@ 0x559132babdbd clang::ento::CoreEngine::ExecuteWorkList()
@ 0x5591328dbc66 (anonymous namespace)::AnalysisConsumer::ActionExprEngine()
@ 0x5591328db7e6 (anonymous namespace)::AnalysisConsumer::HandleCode()
@ 0x5591328c73b4 (anonymous namespace)::AnalysisConsumer::HandleTranslationUnit()

This is most likely caused by r335800.

@llvmbot
Copy link
Collaborator Author

llvmbot commented Jul 5, 2018

assigned to @haoNoQ

@haoNoQ
Copy link
Collaborator

haoNoQ commented Jul 12, 2018

Yup, thanks! Default arguments strike back. https://reviews.llvm.org/D49213

@llvmbot
Copy link
Collaborator Author

llvmbot commented Aug 1, 2018

The fix was committed in r338441.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla clang:static analyzer
Projects
None yet
Development

No branches or pull requests

2 participants