[LLVMbugs] [Bug 11595] New: Assertion failed: (E->isRValue() && E->getType()->isRecordType() && E->getType()->isLiteralType()), function EvaluateTemporary, file ExprConstant.cpp, line 2692.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Dec 16 04:30:54 PST 2011


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

             Bug #: 11595
           Summary: Assertion failed: (E->isRValue() &&
                    E->getType()->isRecordType() &&
                    E->getType()->isLiteralType()), function
                    EvaluateTemporary, file ExprConstant.cpp, line 2692.
           Product: clang
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: tm at ayena.de
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 7752
  --> http://llvm.org/bugs/attachment.cgi?id=7752
Reduced testcase.

In recent (r146734) LLVM/Clang clang crashes when building a project I'm
working on. It builds without issue with G++. I've reduced the relevant code
with delta. The reduced testcode is attached.

This is the trace clang outputs:


Assertion failed: (E->isRValue() && E->getType()->isRecordType() &&
E->getType()->isLiteralType()), function EvaluateTemporary, file
ExprConstant.cpp, line 2692.
0  clang             0x00000001015e90d2
llvm::SmallVectorImpl<llvm_regmatch_t>::resize(unsigned int) + 2050
1  clang             0x00000001015e9709
llvm::SmallVectorImpl<llvm_regmatch_t>::resize(unsigned int) + 3641
2  libSystem.B.dylib 0x00007fff874901ba _sigtramp + 26
3  libSystem.B.dylib 0x0000000102811600 _sigtramp + 2067272800
4  clang             0x00000001015e9306
llvm::SmallVectorImpl<llvm_regmatch_t>::resize(unsigned int) + 2614
5  clang             0x00000001015e92c8
llvm::SmallVectorImpl<llvm_regmatch_t>::resize(unsigned int) + 2552
6  clang             0x0000000100923d96
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 41574
7  clang             0x000000010092138a
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 30810
8  clang             0x000000010091c450
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 10528
9  clang             0x00000001009316c7
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 97175
10 clang             0x0000000100954b36
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 241670
11 clang             0x0000000100928914
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 60900
12 clang             0x000000010092a8ba
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 69002
13 clang             0x000000010092592c
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 48636
14 clang             0x0000000100955eec
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 246716
15 clang             0x0000000100927197
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 54887
16 clang             0x000000010092592c
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 48636
17 clang             0x000000010091b56e
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 6718
18 clang             0x000000010091b422
clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType,
clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int) + 6386
19 clang             0x00000001003277b6 clang::UnresolvedUsingTypeLoc
clang::TypeLocBuilder::push<clang::UnresolvedUsingTypeLoc>(clang::QualType) +
118646
20 clang             0x0000000100325f20 clang::UnresolvedUsingTypeLoc
clang::TypeLocBuilder::push<clang::UnresolvedUsingTypeLoc>(clang::QualType) +
112352
21 clang             0x0000000100320899 clang::UnresolvedUsingTypeLoc
clang::TypeLocBuilder::push<clang::UnresolvedUsingTypeLoc>(clang::QualType) +
90201
22 clang             0x0000000100320f24 clang::UnresolvedUsingTypeLoc
clang::TypeLocBuilder::push<clang::UnresolvedUsingTypeLoc>(clang::QualType) +
91876
23 clang             0x000000010032498d clang::UnresolvedUsingTypeLoc
clang::TypeLocBuilder::push<clang::UnresolvedUsingTypeLoc>(clang::QualType) +
106829
24 clang             0x000000010032087a clang::UnresolvedUsingTypeLoc
clang::TypeLocBuilder::push<clang::UnresolvedUsingTypeLoc>(clang::QualType) +
90170
25 clang             0x000000010045dbcc
clang::CXXDefaultArgExpr::CXXDefaultArgExpr(clang::Stmt::StmtClass,
clang::SourceLocation, clang::ParmVarDecl*) + 83356
26 clang             0x00000001002cac48
clang::PragmaFPContractHandler::~PragmaFPContractHandler() + 3752
27 clang             0x00000001002ca542
clang::PragmaFPContractHandler::~PragmaFPContractHandler() + 1954
28 clang             0x00000001002cf489
clang::PragmaFPContractHandler::~PragmaFPContractHandler() + 22249
29 clang             0x00000001002ca58d
clang::PragmaFPContractHandler::~PragmaFPContractHandler() + 2029
30 clang             0x00000001002cbd8b
clang::PragmaFPContractHandler::~PragmaFPContractHandler() + 8171
31 clang             0x00000001002ca612
clang::PragmaFPContractHandler::~PragmaFPContractHandler() + 2162
32 clang             0x00000001002cf489
clang::PragmaFPContractHandler::~PragmaFPContractHandler() + 22249
33 clang             0x00000001002d0811
clang::PragmaFPContractHandler::~PragmaFPContractHandler() + 27249
34 clang             0x000000010028b495
llvm::CrashRecoveryContextCleanupBase<llvm::CrashRecoveryContextDeleteCleanup<clang::Sema>,
clang::Sema>::~CrashRecoveryContextCleanupBase() + 7541
35 clang             0x000000010028ae25
llvm::CrashRecoveryContextCleanupBase<llvm::CrashRecoveryContextDeleteCleanup<clang::Sema>,
clang::Sema>::~CrashRecoveryContextCleanupBase() + 5893
36 clang             0x00000001002a4375
clang::Parser::LateParsedAttribute::~LateParsedAttribute() + 26165
37 clang             0x00000001002a312a
clang::Parser::LateParsedAttribute::~LateParsedAttribute() + 21482
38 clang             0x0000000100292158
clang::Parser::LateParsedMemberInitializer::~LateParsedMemberInitializer() +
24744
39 clang             0x00000001002dc1db
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 27707
40 clang             0x00000001002dc6b9
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 28953
41 clang             0x00000001002db77c
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 25052
42 clang             0x000000010029f0dc
clang::Parser::LateParsedAttribute::~LateParsedAttribute() + 5020
43 clang             0x000000010029ebd7
clang::Parser::LateParsedAttribute::~LateParsedAttribute() + 3735
44 clang             0x0000000100290844
clang::Parser::LateParsedMemberInitializer::~LateParsedMemberInitializer() +
18324
45 clang             0x00000001002db1cf
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 23599
46 clang             0x000000010029f0dc
clang::Parser::LateParsedAttribute::~LateParsedAttribute() + 5020
47 clang             0x000000010029ebd7
clang::Parser::LateParsedAttribute::~LateParsedAttribute() + 3735
48 clang             0x0000000100290844
clang::Parser::LateParsedMemberInitializer::~LateParsedMemberInitializer() +
18324
49 clang             0x00000001002db1cf
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 23599
50 clang             0x00000001002daaf5
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 21845
51 clang             0x0000000100289485 clang::CUDAGlobalAttr*
clang::Decl::getAttr<clang::CUDAGlobalAttr>() const + 773
52 clang             0x000000010025257e llvm::DenseMap<clang::CXXMethodDecl
const*, llvm::SmallVector<clang::ThunkInfo, 1u>,
llvm::DenseMapInfo<clang::CXXMethodDecl const*>,
llvm::DenseMapInfo<llvm::SmallVector<clang::ThunkInfo, 1u> >
>::find(clang::CXXMethodDecl const* const&) + 4430
53 clang             0x0000000100024c77 std::vector<clang::CompilerInstance*,
std::allocator<clang::CompilerInstance*>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::CompilerInstance**,
std::vector<clang::CompilerInstance*, std::allocator<clang::CompilerInstance*>
> >, clang::CompilerInstance* const&) + 14999
54 clang             0x000000010000a836 llvm::SmallVectorImpl<char
const*>::insert(char const**, char const* const&) + 3062
55 clang             0x0000000100002917
56 clang             0x0000000100006abd std::vector<std::string,
std::allocator<std::string>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::string*,
std::vector<std::string, std::allocator<std::string> > >, std::string const&) +
1453
57 clang             0x0000000100001234
Stack dump:
0.    Program arguments: /Users/tobias/llvm/bin/clang -cc1 -triple
x86_64-apple-macosx10.6.8 -emit-obj -mrelax-all -disable-free -main-file-name
clang_bug.ii.cpp -pic-level 1 -mdisable-fp-elim -masm-verbose -munwind-tables
-target-cpu core2 -target-linker-version 123.2 -coverage-file
clang_bug.ii.cpp.o -resource-dir /Users/tobias/llvm/bin/../lib/clang/3.1
-fmodule-cache-path
/var/folders/5m/5mk-kBbrGguxaR0NKdsAyE+++TI/-Tmp-/clang-module-cache
-fdeprecated-macro -fdebug-compilation-dir /Users/tobias/dev/clang_boost_bug
-ferror-limit 19 -fmessage-length 202 -stack-protector 1 -mstackrealign
-fblocks -fobjc-dispatch-method=mixed -fcxx-exceptions -fexceptions
-fdiagnostics-show-option -fcolor-diagnostics -o clang_bug.ii.cpp.o -x c++
clang_bug.ii.cpp 
1.    clang_bug.ii.cpp:103:21: current parser token '}'
2.    clang_bug.ii.cpp:76:1: parsing namespace 'boost'
3.    clang_bug.ii.cpp:91:5: parsing namespace 'exception_detail'
4.    clang_bug.ii.cpp:97:9: parsing struct/union/class body 'error_info_base'
5.    clang_bug.ii.cpp:98:108: parsing function body 'get'
6.    clang_bug.ii.cpp:98:108: in compound statement ('{}')
7.    clang_bug.ii.cpp:100:62: in compound statement ('{}')

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