Skip to content

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

Closed
@llvmbot

Description

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions