[LLVMbugs] [Bug 7694] New: crash in sema while trying to cast a member function pointer

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Jul 23 06:16:13 PDT 2010


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

           Summary: crash in sema while trying to cast a member function
                    pointer
           Product: clang
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: devlists at shadowlab.org
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


Created an attachment (id=5255)
 --> (http://llvm.org/bugs/attachment.cgi?id=5255)
File that crash clang++

clang++ crash on the following (and attached) code:

================

class SAISOBoxReader { };
typedef void (SAISOBoxReader::*SAISOBoxReadFunc)(int value);

static void SAISOBoxRead(SAISOBoxReader *reader, SAISOBoxReadFunc function);

class SAMovieReader : private SAISOBoxReader {  
public:
  bool read(const char *path);

private:
  void dispatch_root(int value);
};

bool SAMovieReader::read(const char *path) {
  SAISOBoxRead(this,
static_cast<SAISOBoxReadFunc>(&SAMovieReader::dispatch_root));
  return false;
}

===============

jddupas% clang++ --version
clang version 2.8 (trunk 109223) (this is a Release+Assert build)
Target: x86_64-apple-darwin10
Thread model: posix

jddupas% clang++ SAMovieReader.cpp 
0  clang             0x0000000100da7c62 PrintStackTrace(void*) + 34
1  clang             0x0000000100da8119 SignalHandler(int) + 793
2  libSystem.B.dylib 0x00007fff8642b35a _sigtramp + 26
3  libSystem.B.dylib 000000000000000000 _sigtramp + 2042449088
4  clang             0x0000000100213294 TryStaticCast(clang::Sema&,
clang::Expr*&, clang::QualType, bool, clang::SourceRange const&, unsigned int&,
clang::CastExpr::CastKind&, clang::UsuallyTinyPtrVector<clang::CXXBaseSpecifier
const>&) + 3732
5  clang             0x000000010021179a
clang::Sema::BuildCXXNamedCast(clang::SourceLocation, clang::tok::TokenKind,
clang::TypeSourceInfo*,
clang::ASTOwningResult<&(clang::ActionBase::DeleteExpr(void*))>,
clang::SourceRange, clang::SourceRange) + 6010
6  clang             0x000000010020ffa6
clang::Sema::ActOnCXXNamedCast(clang::SourceLocation, clang::tok::TokenKind,
clang::SourceLocation, void*, clang::SourceLocation, clang::SourceLocation,
clang::ASTOwningResult<&(clang::ActionBase::DeleteExpr(void*))>,
clang::SourceLocation) + 182
7  clang             0x000000010058cb07 clang::Parser::ParseCXXCasts() + 647
…

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