[LLVMbugs] [Bug 7287] New: Analyzer/C++ Crash: "Name is not a simple identifier" for implicit operator= with array elements

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jun 2 20:19:56 PDT 2010


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

           Summary: Analyzer/C++ Crash: "Name is not a simple identifier"
                    for implicit operator= with array elements
           Product: clang
           Version: trunk
          Platform: Macintosh
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Static Analyzer
        AssignedTo: kremenek at apple.com
        ReportedBy: jediknil at belkadan.com
                CC: llvmbugs at cs.uiuc.edu


The following C++ code causes the analyzer to crash:

// RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks
-analyzer-check-objc-mem  -analyzer-experimental-checks -verify %s

struct test { int a[2]; };

void t2() {
  test p = {{1,2}};
  test q;
  q = p;
}

---

Assertion failed: (Name.isIdentifier() && "Name is not a simple identifier"),
function getName, file
/Users/jordy/programming/llvm/tools/clang/lib/Sema/../../include/clang/AST/Decl.h,
line 115.
0  clang             0x0000000101010740 PrintStackTrace(void*) + 38
1  clang             0x0000000101010c4e SignalHandler(int) + 254
2  libSystem.B.dylib 0x00007fff8451780a _sigtramp + 26
3  libSystem.B.dylib 0x00007fff844bc50a tiny_malloc_from_free_list + 1196
4  libSystem.B.dylib 0x00007fff84592ef0 __pthread_markcancel + 0
5  clang             0x0000000100351e66 clang::NamedDecl::getName() const + 82
6  clang             0x00000001004c3581 (anonymous
namespace)::PthreadLockChecker::PostVisitCallExpr(clang::CheckerContext&,
clang::CallExpr const*) + 135
7  clang             0x00000001004c3773 clang::CheckerVisitor<(anonymous
namespace)::PthreadLockChecker>::PostVisitCXXOperatorCallExpr(clang::CheckerContext&,
clang::CXXOperatorCallExpr const*) + 37
8  clang             0x00000001004c3920 clang::CheckerVisitor<(anonymous
namespace)::PthreadLockChecker>::PostVisit(clang::CheckerContext&, clang::Stmt
const*) + 426
9  clang             0x00000001004c395d clang::CheckerVisitor<(anonymous
namespace)::PthreadLockChecker>::_PostVisit(clang::CheckerContext&, clang::Stmt
const*) + 37
10 clang             0x00000001004a2491
clang::Checker::GR_Visit(clang::ExplodedNodeSet&, clang::GRStmtNodeBuilder&,
clang::GRExprEngine&, clang::Stmt const*, clang::ExplodedNode*, void*, bool) +
261
11 clang             0x0000000100488fb8
clang::GRExprEngine::CheckerVisit(clang::Stmt*, clang::ExplodedNodeSet&,
clang::ExplodedNodeSet&, bool) + 444
12 clang             0x0000000100493507
clang::GRExprEngine::VisitCall(clang::CallExpr*, clang::ExplodedNode*,
clang::ExprIterator, clang::ExprIterator, clang::ExplodedNodeSet&, bool) + 2041

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