[LLVMbugs] [Bug 7675] New: Assertion `(isa<RecordType>(Ex->getType().getDesugaredType()) || isa<ArrayType>(Ex->getType().getDesugaredType())) && "Other kinds of expressions with non-aggregate/union/class types" " do not have lvalues."' failed

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jul 20 04:37:49 PDT 2010


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

           Summary: Assertion
                    `(isa<RecordType>(Ex->getType().getDesugaredType()) ||
                    isa<ArrayType>(Ex->getType().getDesugaredType())) &&
                    "Other kinds of expressions with
                    non-aggregate/union/class types" " do not have
                    lvalues."' failed
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Static Analyzer
        AssignedTo: kremenek at apple.com
        ReportedBy: holgerschurig at gmail.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=5246)
 --> (http://llvm.org/bugs/attachment.cgi?id=5246)
itm.cpp

$ clang++ --version
clang version 2.8 (trunk 108821)
Target: i386-pc-linux-gnu
Thread model: posix
$ clang++ --analyze itm.cpp 
clang: /usr/src/llvm/src.llvm/tools/clang/lib/Checker/GRExprEngine.cpp:1075:
void clang::GRExprEngine::VisitLValue(const clang::Expr*, clang::ExplodedNode*,
clang::ExplodedNodeSet&): Assertion
`(isa<RecordType>(Ex->getType().getDesugaredType()) ||
isa<ArrayType>(Ex->getType().getDesugaredType())) && "Other kinds of
expressions with non-aggregate/union/class types" " do not have lvalues."'
failed.
0  clang     0x098d87dc
1  clang     0x098d8674
2            0xb775b400 __kernel_sigreturn + 0
3  libc.so.6 0xb74cdb82 abort + 386
4  libc.so.6 0xb74c38b8 __assert_fail + 248
5  clang     0x08e8b1f9 clang::GRExprEngine::VisitLValue(clang::Expr const*,
clang::ExplodedNode*, clang::ExplodedNodeSet&) + 1629
6  clang     0x08e8ed72 clang::GRExprEngine::VisitCall(clang::CallExpr const*,
clang::ExplodedNode*, clang::ConstExprIterator, clang::ConstExprIterator,
clang::ExplodedNodeSet&, bool) + 592
7  clang     0x08e8a32e clang::GRExprEngine::Visit(clang::Stmt const*,
clang::ExplodedNode*, clang::ExplodedNodeSet&) + 1372
8  clang     0x08e89c80 clang::GRExprEngine::ProcessStmt(clang::CFGElement,
clang::GRStmtNodeBuilder&) + 1532
9  clang     0x08e81b42 clang::GRCoreEngine::ProcessStmt(clang::CFGElement,
clang::GRStmtNodeBuilder&) + 42
10 clang     0x08e829fb clang::GRCoreEngine::HandlePostStmt(clang::PostStmt
const&, clang::CFGBlock const*, unsigned int, clang::ExplodedNode*) + 247
11 clang     0x08e82045
clang::GRCoreEngine::ExecuteWorkList(clang::LocationContext const*, unsigned
int) + 1025
12 clang     0x08e1a53a
clang::GRExprEngine::ExecuteWorkList(clang::LocationContext const*, unsigned
int) + 46
13 clang     0x08e1767f
14 clang     0x08e1776e
15 clang     0x08e177f4
16 clang     0x08e173e7
17 clang     0x08e16e38
18 clang     0x08c2f073 clang::ParseAST(clang::Preprocessor&,
clang::ASTConsumer*, clang::ASTContext&, bool, bool,
clang::CodeCompleteConsumer*) + 727
19 clang     0x089dd853 clang::ASTFrontendAction::ExecuteAction() + 271
20 clang     0x089dd4c4 clang::FrontendAction::Execute() + 316
21 clang     0x089c8647
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 779
22 clang     0x0898a212 cc1_main(char const**, char const**, char const*,
void*) + 1721
23 clang     0x08992f5d main + 495
24 libc.so.6 0xb74b6c76 __libc_start_main + 230
25 clang     0x08988d81
Stack dump:
0.      Program arguments: /usr/src/llvm/dist/bin/clang -cc1 -triple
i386-pc-linux-gnu -analyze -disable-free -main-file-name itm.cpp
-analyzer-store=region -analyzer-opt-analyze-nested-blocks
-analyzer-check-dead-stores -analyzer-check-objc-mem -analyzer-eagerly-assume
-analyzer-check-objc-methodsigs -analyzer-check-objc-unused-ivars
-analyzer-output plist -w -mrelocation-model static -mdisable-fp-elim
-mconstructor-aliases -target-cpu pentium4 -resource-dir
/usr/src/llvm/dist/lib/clang/2.8 -ferror-limit 19 -fmessage-length 117
-fexceptions -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o
itm.plist -x c++ itm.cpp 
1.      <eof> parser at end of file
2.      itm.cpp:237:9: Error evaluating statement
3.      itm.cpp:237:9: Error evaluating statement
4.      itm.cpp:237:15: Error evaluating statement
clang: error: clang frontend command failed due to signal 6 (use -v to see
invocation)


Please note that the actual compilation works fine.

-- 
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