[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