[LLVMbugs] [Bug 8234] New: Assertion when instantiating template

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Sep 26 06:22:18 PDT 2010


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

           Summary: Assertion when instantiating template
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: steve at secomputing.co.uk
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


Created an attachment (id=5529)
 --> (http://llvm.org/bugs/attachment.cgi?id=5529)
Code snippet that asserts clang

Code & Output cached in http://gist.github.com/597890. With r114794 the
attached file causes:
stephen at hanuman:~/ise/production$ ~/dev/bin/clang test.cpp 
clang: SemaTemplateInstantiate.cpp:962: clang::TypeSourceInfo*
clang::Sema::SubstType(clang::TypeSourceInfo*, const
clang::MultiLevelTemplateArgumentList&, clang::SourceLocation,
clang::DeclarationName): Assertion `!ActiveTemplateInstantiations.empty() &&
"Cannot perform an instantiation without some context on the " "instantiation
stack"' failed.
0  clang           0x000000000214fe41
1  clang           0x000000000214fc34
2  libpthread.so.0 0x00007f341098d8f0
3  libc.so.6       0x00007f340fc7ca75 gsignal + 53
4  libc.so.6       0x00007f340fc805c0 abort + 384
5  libc.so.6       0x00007f340fc75941 __assert_fail + 241
6  clang           0x000000000138b086
clang::Sema::SubstType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName) + 132
7  clang           0x000000000138b587
clang::Sema::SubstParmVarDecl(clang::ParmVarDecl*,
clang::MultiLevelTemplateArgumentList const&) + 127
8  clang           0x000000000138aca4
9  clang           0x000000000139160d
10 clang           0x000000000138de9a
11 clang           0x000000000138ac5d
12 clang           0x000000000138e7fa
13 clang           0x000000000138e268
14 clang           0x0000000001390c35
15 clang           0x000000000138d2e7
clang::Sema::Subst(clang::TemplateArgumentLoc const&,
clang::TemplateArgumentLoc&, clang::MultiLevelTemplateArgumentList const&) +
105
16 clang           0x0000000001380e50
17 clang           0x0000000001384d4e
clang::Sema::getMoreSpecializedPartialSpecialization(clang::ClassTemplatePartialSpecializationDecl*,
clang::ClassTemplatePartialSpecializationDecl*, clang::SourceLocation) + 348
18 clang           0x000000000138c4dd
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) + 889
19 clang           0x00000000013bb1a5
clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType,
clang::PartialDiagnostic const&, std::pair<clang::SourceLocation,
clang::PartialDiagnostic>) + 317
20 clang           0x00000000013bb623
clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType,
unsigned int) + 167
21 clang           0x0000000001243bb6
clang::Sema::ActOnUninitializedDecl(clang::Decl*, bool) + 1344
22 clang           0x00000000011aaec5
clang::Parser::ParseDeclarationAfterDeclarator(clang::Declarator&,
clang::Parser::ParsedTemplateInfo const&) + 2363
23 clang           0x00000000011aa2bd
clang::Parser::ParseDeclGroup(clang::Parser::ParsingDeclSpec&, unsigned int,
bool, clang::SourceLocation*) + 741
24 clang           0x00000000011a9fb7
clang::Parser::ParseSimpleDeclaration(unsigned int, clang::SourceLocation&,
clang::AttributeList*, bool) + 399
25 clang           0x00000000011a9dec clang::Parser::ParseDeclaration(unsigned
int, clang::SourceLocation&, clang::CXX0XAttributeList) + 896
26 clang           0x0000000001199419
clang::Parser::ParseStatementOrDeclaration(bool) + 737
27 clang           0x000000000119a4d6
clang::Parser::ParseCompoundStatementBody(bool) + 248
28 clang           0x000000000119de0d
clang::Parser::ParseFunctionStatementBody(clang::Decl*) + 115
29 clang           0x00000000011a40ab
clang::Parser::ParseFunctionDefinition(clang::Parser::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&) + 1069
30 clang           0x00000000011aa1d6
clang::Parser::ParseDeclGroup(clang::Parser::ParsingDeclSpec&, unsigned int,
bool, clang::SourceLocation*) + 510
31 clang           0x00000000011a3bf4
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsingDeclSpec&,
clang::AttributeList*, clang::AccessSpecifier) + 1058
32 clang           0x00000000011a3c5f
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::AttributeList*,
clang::AccessSpecifier) + 95
33 clang           0x00000000011a35bf
clang::Parser::ParseExternalDeclaration(clang::CXX0XAttributeList,
clang::Parser::ParsingDeclSpec*) + 1681
34 clang           0x00000000011a2e9f
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 267
35 clang           0x000000000118cc88 clang::ParseAST(clang::Sema&, bool) + 328
36 clang           0x0000000000f0b020 clang::ASTFrontendAction::ExecuteAction()
+ 264
37 clang           0x000000000102b114 clang::CodeGenAction::ExecuteAction() +
988
38 clang           0x0000000000f0ac6a clang::FrontendAction::Execute() + 320
39 clang           0x0000000000ef4e68
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 752
40 clang           0x0000000000ea8aec
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 856
41 clang           0x0000000000e9bf5f cc1_main(char const**, char const**, char
const*, void*) + 958
42 clang           0x0000000000ea48fa main + 499
43 libc.so.6       0x00007f340fc67c4d __libc_start_main + 253
44 clang           0x0000000000e9b619
Stack dump:
0.    Program arguments: /home/stephen/dev/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -S -disable-free -main-file-name test.cpp
-mrelocation-model static -mdisable-fp-elim -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -target-linker-version 2.20.1 -resource-dir
/home/stephen/dev/lib/clang/2.9 -ferror-limit 19 -fmessage-length 179
-fexceptions -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o
/tmp/cc-tl45qE.s -x c++ test.cpp 
1.    test.cpp:22:34: current parser token ';'
2.    test.cpp:21:1: parsing function body 'main'
3.    test.cpp:21:1: in compound statement ('{}')
clang: error: clang frontend command failed due to signal 6 (use -v to see
invocation)

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