[LLVMbugs] [Bug 7385] New: Assertion `T == LastTy && "type doesn't match last type pushed!"' on boost code
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue Jun 15 14:41:57 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=7385
Summary: Assertion `T == LastTy && "type doesn't match last
type pushed!"' on boost code
Product: clang
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: C++
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: chris at bubblescope.net
CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com
Created an attachment (id=5042)
--> (http://llvm.org/bugs/attachment.cgi?id=5042)
Reduced boost attachment
The following code is accepted by g++ but I believe invalid. It is however
reduced from a boost::mpl test case (has_xxx.cc).
/Dropbox$ clang++ t.cc
Assertion failed: (T == LastTy && "type doesn't match last type pushed!"),
function getTypeSourceInfo, file
/Users/caj/clang/llvm/tools/clang/lib/Sema/../../include/clang/AST/TypeLocBuilder.h,
line 101.
0 clang 0x0000000101083fb0 PrintStackTrace(void*) + 38
1 clang 0x00000001010844be SignalHandler(int) + 254
2 libSystem.B.dylib 0x00007fff8561280a _sigtramp + 26
3 libSystem.B.dylib 0x00007fff855b750a tiny_malloc_from_free_list + 1196
4 libSystem.B.dylib 0x00007fff8568def0 __pthread_markcancel + 0
5 clang 0x00000001003e4303
clang::TypeLocBuilder::getTypeSourceInfo(clang::ASTContext&, clang::QualType) +
95
6 clang 0x00000001003fa4be clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*,
clang::QualType) + 286
7 clang 0x000000010040b213 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc
const&, clang::TemplateArgumentLoc&) + 323
8 clang 0x000000010040e5a1 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::QualType) + 343
9 clang 0x0000000100415e47 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc, clang::QualType) + 1787
10 clang 0x00000001003fa485 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*,
clang::QualType) + 229
11 clang 0x0000000100414fef
clang::Sema::SubstType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName) + 279
12 clang 0x0000000100415050
clang::Sema::SubstParmVarDecl(clang::ParmVarDecl*,
clang::MultiLevelTemplateArgumentList const&) + 86
13 clang 0x0000000100415260 (anonymous
namespace)::TemplateInstantiator::TransformFunctionTypeParam(clang::ParmVarDecl*)
+ 40
14 clang 0x00000001004152d8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformFunctionTypeParams(clang::FunctionProtoTypeLoc,
llvm::SmallVectorImpl<clang::QualType>&,
llvm::SmallVectorImpl<clang::ParmVarDecl*>&) + 118
15 clang 0x000000010041540c clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformFunctionProtoType(clang::TypeLocBuilder&,
clang::FunctionProtoTypeLoc, clang::QualType) + 128
16 clang 0x0000000100415736 (anonymous
namespace)::TemplateInstantiator::TransformFunctionProtoType(clang::TypeLocBuilder&,
clang::FunctionProtoTypeLoc, clang::QualType) + 78
17 clang 0x0000000100415ba7 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc, clang::QualType) + 1115
18 clang 0x0000000100417fb2
clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName) + 340
19 clang 0x0000000100425c7c (anonymous
namespace)::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*,
llvm::SmallVectorImpl<clang::ParmVarDecl*>&) + 236
20 clang 0x0000000100426153 (anonymous
namespace)::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*,
clang::TemplateParameterList*) + 523
21 clang 0x000000010042b249 (anonymous
namespace)::TemplateDeclInstantiator::VisitFunctionTemplateDecl(clang::FunctionTemplateDecl*)
+ 151
22 clang 0x000000010042a636 clang::DeclVisitor<(anonymous
namespace)::TemplateDeclInstantiator, clang::Decl*>::Visit(clang::Decl*) + 694
23 clang 0x000000010042bcb1 clang::Sema::SubstDecl(clang::Decl*,
clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) + 81
24 clang 0x00000001003fcfe2
clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*,
clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool) + 1044
25 clang 0x0000000100419883
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) + 1723
26 clang 0x000000010042f2a0
clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType,
clang::PartialDiagnostic const&, std::pair<clang::SourceLocation,
clang::PartialDiagnostic>) + 288
27 clang 0x000000010042f6d8
clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType,
clang::PartialDiagnostic const&) + 94
28 clang 0x000000010027ec51
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) + 329
29 clang 0x0000000100346084
clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&,
clang::DeclarationName, clang::SourceLocation) + 236
30 clang 0x00000001003f7b52 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::RebuildDependentScopeDeclRefExpr(clang::NestedNameSpecifier*,
clang::SourceRange, clang::DeclarationName, clang::SourceLocation,
clang::TemplateArgumentListInfo const*) + 214
31 clang 0x000000010040d334 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
+ 742
32 clang 0x00000001003fee4a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) + 4462
33 clang 0x0000000100414ea4 clang::Sema::SubstExpr(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&) + 200
34 clang 0x0000000100428ce4 InstantiateInitializer(clang::Sema&,
clang::Expr*, clang::MultiLevelTemplateArgumentList const&,
clang::SourceLocation&, llvm::SmallVector<clang::SourceLocation, 4u>&,
clang::ASTOwningVector<&(clang::ActionBase::DeleteExpr(void*)), 8u>&,
clang::SourceLocation&) + 690
35 clang 0x00000001004296e0 (anonymous
namespace)::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*) + 1328
36 clang 0x000000010042a80e clang::DeclVisitor<(anonymous
namespace)::TemplateDeclInstantiator, clang::Decl*>::Visit(clang::Decl*) + 1166
37 clang 0x000000010042bcb1 clang::Sema::SubstDecl(clang::Decl*,
clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) + 81
38 clang 0x00000001003fcfe2
clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*,
clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool) + 1044
39 clang 0x0000000100419883
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) + 1723
40 clang 0x000000010042f2a0
clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType,
clang::PartialDiagnostic const&, std::pair<clang::SourceLocation,
clang::PartialDiagnostic>) + 288
41 clang 0x000000010042f6d8
clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType,
clang::PartialDiagnostic const&) + 94
42 clang 0x000000010027ec51
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) + 329
43 clang 0x00000001002c55ca
clang::Sema::getTypeName(clang::IdentifierInfo&, clang::SourceLocation,
clang::Scope*, clang::CXXScopeSpec*, bool, void*) + 456
44 clang 0x0000000100646f98
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext) + 2492
45 clang 0x000000010068758c
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsingDeclSpec&,
clang::AttributeList*, clang::AccessSpecifier) + 118
46 clang 0x00000001006879a5
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::AttributeList*,
clang::AccessSpecifier) + 83
47 clang 0x00000001006897a9
clang::Parser::ParseExternalDeclaration(clang::CXX0XAttributeList) + 2211
48 clang 0x00000001006898e7
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<1>&) + 247
49 clang 0x000000010026b7cd clang::ParseAST(clang::Preprocessor&,
clang::ASTConsumer*, clang::ASTContext&, bool, bool,
clang::CodeCompleteConsumer*) + 456
50 clang 0x000000010007d9da
clang::ASTFrontendAction::ExecuteAction() + 256
51 clang 0x000000010005d2a5 clang::CodeGenAction::ExecuteAction() +
803
52 clang 0x000000010007dad7 clang::FrontendAction::Execute() + 239
53 clang 0x000000010005fd2b
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 709
54 clang 0x00000001000278f5 cc1_main(char const**, char const**,
char const*, void*) + 1762
55 clang 0x000000010002eb5f main + 335
56 clang 0x0000000100026774 start + 52
Stack dump:
0. Program arguments: /usr/local/bin/clang -cc1 -triple
x86_64-apple-darwin10.0.0 -emit-obj -mrelax-all -disable-free -main-file-name
t.cc -pic-level 1 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu
core2 -resource-dir /usr/local/lib/clang/2.0 -ferror-limit 19 -fmessage-length
97 -stack-protector 1 -fblocks -fexceptions -fdiagnostics-show-option
-fcolor-diagnostics -o
/var/folders/M8/M86fCFVgGQ0r-V2oY5lLC++++TI/-Tmp-/cc-8lpkyu.o -x c++ t.cc
1. t.cc:13:1: at annotation token
clang: error: clang frontend command failed due to signal 6 (use -v to see
invocation)
~/Dropbox$
--
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