[llvm-bugs] [Bug 34451] New: Assertion failure in clang::Expr::getBestDynamicClassType (via optin.cplusplus.VirtualCall SA checker)
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Sep 4 02:28:18 PDT 2017
https://bugs.llvm.org/show_bug.cgi?id=34451
Bug ID: 34451
Summary: Assertion failure in
clang::Expr::getBestDynamicClassType (via
optin.cplusplus.VirtualCall SA checker)
Product: clang
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Static Analyzer
Assignee: dcoughlin at apple.com
Reporter: alexfh at google.com
CC: llvm-bugs at lists.llvm.org
$ cat getBestDynamicClassType-crash.cc
class a {
public:
void b() const;
};
class c {
int m_fn2() const;
a d[];
};
int c::m_fn2() const { d->b(); }
$ clang-tidy -checks=-*,clang-analyzer-optin.cplusplus.VirtualCall
getBestDynamicClassType-crash.cc -- -std=c++11
assert.h assertion failed at llvm/include/llvm/Support/Casting.h:241 in
typename std::enable_if<!is_simple_type<Y>::value, typename cast_retty<X, const
Y>::ret_type>::type llvm::cast(const Y &) [X = clang::RecordType, Y =
clang::QualType]: isa<X>(Val) && "cast<Ty>() argument of incompatible type!"
@ 0x544749a __assert_fail
@ 0x1adcd36 llvm::cast<>()
@ 0x2d43339 clang::Type::castAs<>()
@ 0x40913d7 clang::Expr::getBestDynamicClassType()
@ 0x28346d0 isVirtualCall()
@ 0x283412c (anonymous
namespace)::VirtualCallChecker::checkPreCall()
@ 0x2834030 clang::ento::check::PreCall::_checkCall<>()
@ 0x2e03982 clang::ento::CheckerFn<>::operator()()
@ 0x2df971a (anonymous namespace)::CheckCallContext::runChecker()
@ 0x2df670e expandGraphWithCheckers<>()
@ 0x2df6460
clang::ento::CheckerManager::runCheckersForCallEvent()
@ 0x2e57bf5 clang::ento::CheckerManager::runCheckersForPreCall()
@ 0x2e5a297 clang::ento::ExprEngine::evalCall()
@ 0x2e5a19b clang::ento::ExprEngine::VisitCallExpr()
@ 0x2e12f24 clang::ento::ExprEngine::Visit()
@ 0x2e0fe44 clang::ento::ExprEngine::ProcessStmt()
@ 0x2e0faca clang::ento::ExprEngine::processCFGElement()
@ 0x2e3dc66 clang::ento::CoreEngine::HandlePostStmt()
@ 0x2e3d566 clang::ento::CoreEngine::dispatchWorkItem()
@ 0x2e3d0a8 clang::ento::CoreEngine::ExecuteWorkList()
@ 0x2138e05 clang::ento::ExprEngine::ExecuteWorkList()
@ 0x20e1802 (anonymous
namespace)::AnalysisConsumer::ActionExprEngine()
@ 0x20e15c1 (anonymous
namespace)::AnalysisConsumer::RunPathSensitiveChecks()
@ 0x20e1285 (anonymous namespace)::AnalysisConsumer::HandleCode()
@ 0x20d4963 (anonymous
namespace)::AnalysisConsumer::HandleDeclsCallGraph()
@ 0x20d2be7 (anonymous
namespace)::AnalysisConsumer::HandleTranslationUnit()
@ 0x25136ce clang::MultiplexConsumer::HandleTranslationUnit()
@ 0x2f59506 clang::ParseAST()
@ 0x250109a clang::ASTFrontendAction::ExecuteAction()
Devin, assigning to you, as the latest to make a significant change in this
code.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170904/312fea08/attachment.html>
More information about the llvm-bugs
mailing list