[LLVMbugs] [Bug 12511] New: Static analyzer fails assertion for (T->isIntegerType() || Loc::isLocType(T)), function getMinValue

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Apr 9 17:20:52 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=12511

             Bug #: 12511
           Summary: Static analyzer fails assertion for
                    (T->isIntegerType() || Loc::isLocType(T)), function
                    getMinValue
           Product: clang
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Static Analyzer
        AssignedTo: kremenek at apple.com
        ReportedBy: nicolasweber at gmx.de
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 8362
  --> http://llvm.org/bugs/attachment.cgi?id=8362
repro

Repro attached. Stack:


Assertion failed: (T->isIntegerType() || Loc::isLocType(T)), function
getMinValue, file
/Volumes/MacintoshHD2/src/chrome-git/src/third_party/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h,
line 134.
0  clang++           0x00000001014996f2 PrintStackTrace(void*) + 34
1  clang++           0x0000000101499b79 SignalHandler(int) + 697
2  libSystem.B.dylib 0x00007fff895ab1ba _sigtramp + 26
3  libSystem.B.dylib 0x79726f7463614665 _sigtramp + 3657864389
4  clang++           0x00000001000475d6 abort + 22
5  clang++           0x0000000100047595 __assert_rtn + 53
6  clang++           0x00000001006b2989
clang::ento::BasicValueFactory::getMinValue(clang::QualType) + 409
7  clang++           0x00000001006b7607 (anonymous
namespace)::RangeConstraintManager::GetRange(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
const>, clang::ento::SymExpr const*) + 231
8  clang++           0x00000001006b685e (anonymous
namespace)::RangeConstraintManager::assumeSymNE(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
const>, clang::ento::SymExpr const*, llvm::APSInt const&, llvm::APSInt const&)
+ 334
9  clang++           0x00000001006cab07
clang::ento::SimpleConstraintManager::assumeAuxForSymbol(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
const>, clang::ento::SymExpr const*, bool) + 151
10 clang++           0x00000001006ca776
clang::ento::SimpleConstraintManager::assumeAux(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
const>, clang::ento::NonLoc, bool) + 118
11 clang++           0x00000001006ca32f
clang::ento::SimpleConstraintManager::assume(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
const>, clang::ento::NonLoc, bool) + 95
12 clang++           0x00000001006ca23e
clang::ento::SimpleConstraintManager::assume(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
const>, clang::ento::DefinedSVal, bool) + 110
13 clang++           0x0000000100693119
clang::ento::ExprEngine::VisitLogicalExpr(clang::BinaryOperator const*,
clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) + 809
14 clang++           0x00000001006858a9
clang::ento::ExprEngine::Visit(clang::Stmt const*, clang::ento::ExplodedNode*,
clang::ento::ExplodedNodeSet&) + 3465
15 clang++           0x000000010068436f
clang::ento::ExprEngine::ProcessStmt(clang::CFGStmt,
clang::ento::ExplodedNode*) + 3103
16 clang++           0x000000010068360a
clang::ento::ExprEngine::processCFGElement(clang::CFGElement,
clang::ento::ExplodedNode*, unsigned int, clang::ento::NodeBuilderContext*) +
122
17 clang++           0x000000010067b41f
clang::ento::CoreEngine::HandleBlockEntrance(clang::BlockEntrance const&,
clang::ento::ExplodedNode*) + 159
18 clang++           0x000000010067ae44
clang::ento::CoreEngine::dispatchWorkItem(clang::ento::ExplodedNode*,
clang::ProgramPoint, clang::ento::WorkListUnit const&) + 196
19 clang++           0x000000010067ab7b
clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*,
unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>) + 747
20 clang++           0x00000001005c2f50 (anonymous
namespace)::AnalysisConsumer::ActionExprEngine(clang::Decl*, bool,
llvm::SmallPtrSet<clang::Decl const*, 24u>*) + 960
21 clang++           0x00000001005c2911 (anonymous
namespace)::AnalysisConsumer::HandleCode(clang::Decl*, (anonymous
namespace)::AnalysisConsumer::AnalysisMode, llvm::SmallPtrSet<clang::Decl
const*, 24u>*) + 2177
22 clang++           0x00000001005bf56a (anonymous
namespace)::AnalysisConsumer::HandleTranslationUnit(clang::ASTContext&) + 2010
23 clang++           0x00000001002a88e6 clang::ParseAST(clang::Sema&, bool) +
390
24 clang++           0x000000010006ad45
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 949
25 clang++           0x00000001000532c0
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 3216
26 clang++           0x000000010004ad26 cc1_main(char const**, char const**,
char const*, void*) + 2806

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list