[llvm-bugs] [Bug 32071] New: Runaway compiler resource usage on machine-generated program with lots of tuples

via llvm-bugs llvm-bugs at lists.llvm.org
Sat Feb 25 13:27:28 PST 2017


https://bugs.llvm.org/show_bug.cgi?id=32071

            Bug ID: 32071
           Summary: Runaway compiler resource usage on machine-generated
                    program with lots of tuples
           Product: clang
           Version: trunk
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: arthur.j.odwyer at gmail.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 18026
  --> https://bugs.llvm.org/attachment.cgi?id=18026&action=edit
Preprocessed version of the reduced test case

This is just a bog-standard "segfault due to really big code". 
http://melpon.org/wandbox/permlink/9CB82pMNG3XtXR1s (original)
http://melpon.org/wandbox/permlink/bXh0PeCvTAJGlgVF (reduced)

Unfortunately I can't get the preprocessed source code out of Wandbox, but it
only depends on libc++ <tuple>, so I got it locally. (On my local machine
compilation just seems to hang forever. I suppose I allow the compiler to use
more RAM than Wandbox does.)

I do notice in passing that "AllowedContsructsKind" is misspelled. ;)


#0 0x00000000018f4d14 PrintStackTraceSignalHandler(void*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x18f4d14)
#1 0x00000000018f4fe6 SignalHandler(int)
(/opt/wandbox/clang-head/bin/clang-5.0+0x18f4fe6)
#2 0x00007fbf99332390 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
#3 0x0000000002ebf3c2 clang::ASTContext::CreateTypeSourceInfo(clang::QualType,
unsigned int) const (/opt/wandbox/clang-head/bin/clang-5.0+0x2ebf3c2)
#4 0x0000000002b69ed8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b69ed8)
#5 0x0000000002b83bfb clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc
const&, clang::TemplateArgumentLoc&, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b83bfb)
#6 0x0000000002b81c17 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b81c17)
#7 0x0000000002b6b77b clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) (/opt/wandbox/clang-head/bin/clang-5.0+0x2b6b77b)
#8 0x0000000002b69eb4 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b69eb4)
#9 0x0000000002b83bfb clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc
const&, clang::TemplateArgumentLoc&, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b83bfb)
#10 0x0000000002b81aa0 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b81aa0)
#11 0x0000000002b8103a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTSIInObjectScope(clang::TypeLoc,
clang::QualType, clang::NamedDecl*, clang::CXXScopeSpec&)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b8103a)
#12 0x0000000002b7606d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformNestedNameSpecifierLoc(clang::NestedNameSpecifierLoc,
clang::QualType, clang::NamedDecl*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b7606d)
#13 0x0000000002b873e7 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&,
clang::DependentNameTypeLoc, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b873e7)
#14 0x0000000002b6a1a9 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) (/opt/wandbox/clang-head/bin/clang-5.0+0x2b6a1a9)
#15 0x0000000002b882c2 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformReferenceType(clang::TypeLocBuilder&,
clang::ReferenceTypeLoc) (/opt/wandbox/clang-head/bin/clang-5.0+0x2b882c2)
#16 0x0000000002b6dd3e
clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName, clang::CXXRecordDecl*, unsigned int)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b6dd3e)
#17 0x0000000002b9d654
clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*,
llvm::SmallVectorImpl<clang::ParmVarDecl*>&)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b9d654)
#18 0x0000000002b9bb1f
clang::TemplateDeclInstantiator::VisitFunctionDecl(clang::FunctionDecl*,
clang::TemplateParameterList*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b9bb1f)
#19 0x0000000002ba20d8 clang::TemplateDeclInstantiator::VisitDecl(clang::Decl*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2ba20d8)
#20 0x0000000002b3b31c
clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*,
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int,
clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&,
llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool,
llvm::function_ref<bool ()>) (/opt/wandbox/clang-head/bin/clang-5.0+0x2b3b31c)
#21 0x0000000002b3cbe9
clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*,
clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>,
clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool,
llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b3cbe9)
#22 0x0000000002a7d6c2
clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*,
clang::DeclAccessPair, clang::TemplateArgumentListInfo*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2a7d6c2)
#23 0x0000000002a8ee8a
clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2a8ee8a)
#24 0x0000000002a8f06c clang::Sema::buildOverloadedCallSet(clang::Scope*,
clang::Expr*, clang::UnresolvedLookupExpr*,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation,
clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2a8f06c)
#25 0x0000000002a8f3aa clang::Sema::BuildOverloadedCallExpr(clang::Scope*,
clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool,
bool) (/opt/wandbox/clang-head/bin/clang-5.0+0x2a8f3aa)
#26 0x00000000028dbc8f clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x28dbc8f)
#27 0x0000000002b7b086 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b7b086)
#28 0x0000000002b75dc8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExprs(clang::Expr* const*, unsigned
int, bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b75dc8)
#29 0x0000000002b7b00e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b7b00e)
#30 0x0000000002b75dc8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExprs(clang::Expr* const*, unsigned
int, bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b75dc8)
#31 0x0000000002b7f16a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenListExpr(clang::ParenListExpr*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b7f16a)
#32 0x0000000002b72f3d clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b72f3d)
#33 0x0000000002ba3d1e
clang::Sema::InstantiateMemInitializers(clang::CXXConstructorDecl*,
clang::CXXConstructorDecl const*, clang::MultiLevelTemplateArgumentList const&)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2ba3d1e)
#34 0x0000000002ba32b0
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2ba32b0)
#35 0x0000000002917a20
clang::Sema::MarkFunctionReferenced(clang::SourceLocation,
clang::FunctionDecl*, bool) (/opt/wandbox/clang-head/bin/clang-5.0+0x2917a20)
#36 0x000000000287e421
clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType,
clang::NamedDecl*, clang::CXXConstructorDecl*, bool,
llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, bool, unsigned int,
clang::SourceRange) (/opt/wandbox/clang-head/bin/clang-5.0+0x287e421)
#37 0x000000000287e360
clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType,
clang::NamedDecl*, clang::CXXConstructorDecl*,
llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, bool, unsigned int,
clang::SourceRange) (/opt/wandbox/clang-head/bin/clang-5.0+0x287e360)
#38 0x00000000029ccf31 PerformConstructorInitialization(clang::Sema&,
clang::InitializedEntity const&, clang::InitializationKind const&,
llvm::MutableArrayRef<clang::Expr*>, clang::InitializationSequence::Step
const&, bool&, bool, bool, clang::SourceLocation, clang::SourceLocation)
(/opt/wandbox/clang-head/bin/clang-5.0+0x29ccf31)
#39 0x00000000029c54e4 clang::InitializationSequence::Perform(clang::Sema&,
clang::InitializedEntity const&, clang::InitializationKind const&,
llvm::MutableArrayRef<clang::Expr*>, clang::QualType*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x29c54e4)
#40 0x0000000002857720 clang::Sema::BuildMemberInitializer(clang::ValueDecl*,
clang::Expr*, clang::SourceLocation)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2857720)
#41 0x0000000002ba3c0b
clang::Sema::InstantiateMemInitializers(clang::CXXConstructorDecl*,
clang::CXXConstructorDecl const*, clang::MultiLevelTemplateArgumentList const&)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2ba3c0b)
#42 0x0000000002ba32b0
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2ba32b0)
#43 0x0000000002917a20
clang::Sema::MarkFunctionReferenced(clang::SourceLocation,
clang::FunctionDecl*, bool) (/opt/wandbox/clang-head/bin/clang-5.0+0x2917a20)
#44 0x000000000287e421
clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType,
clang::NamedDecl*, clang::CXXConstructorDecl*, bool,
llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, bool, unsigned int,
clang::SourceRange) (/opt/wandbox/clang-head/bin/clang-5.0+0x287e421)
#45 0x000000000287e360
clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType,
clang::NamedDecl*, clang::CXXConstructorDecl*,
llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, bool, unsigned int,
clang::SourceRange) (/opt/wandbox/clang-head/bin/clang-5.0+0x287e360)
#46 0x00000000029c52ad clang::InitializationSequence::Perform(clang::Sema&,
clang::InitializedEntity const&, clang::InitializationKind const&,
llvm::MutableArrayRef<clang::Expr*>, clang::QualType*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x29c52ad)
#47 0x00000000029cfa21
clang::Sema::PerformCopyInitialization(clang::InitializedEntity const&,
clang::SourceLocation, clang::ActionResult<clang::Expr*, true>, bool, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x29cfa21)
#48 0x0000000002aba1b5
clang::Sema::PerformMoveOrCopyInitialization(clang::InitializedEntity const&,
clang::VarDecl const*, clang::QualType, clang::Expr*, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2aba1b5)
#49 0x0000000002abc5cf clang::Sema::BuildReturnStmt(clang::SourceLocation,
clang::Expr*) (/opt/wandbox/clang-head/bin/clang-5.0+0x2abc5cf)
#50 0x0000000002b872c1 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) (/opt/wandbox/clang-head/bin/clang-5.0+0x2b872c1)
#51 0x0000000002b74081 clang::Sema::SubstStmt(clang::Stmt*,
clang::MultiLevelTemplateArgumentList const&)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b74081)
#52 0x0000000002ba33b2
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2ba33b2)
#53 0x0000000002917a20
clang::Sema::MarkFunctionReferenced(clang::SourceLocation,
clang::FunctionDecl*, bool) (/opt/wandbox/clang-head/bin/clang-5.0+0x2917a20)
#54 0x000000000291b1d5 MarkExprReferenced(clang::Sema&, clang::SourceLocation,
clang::Decl*, clang::Expr*, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x291b1d5)
#55 0x0000000002a8df15
clang::Sema::FixOverloadedFunctionReference(clang::Expr*,
clang::DeclAccessPair, clang::FunctionDecl*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2a8df15)
#56 0x0000000002a8f584 FinishOverloadedCallExpr(clang::Sema&, clang::Scope*,
clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*,
clang::OverloadCandidateSet*, clang::OverloadCandidate**,
clang::OverloadingResult, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2a8f584)
#57 0x0000000002a8f489 clang::Sema::BuildOverloadedCallExpr(clang::Scope*,
clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool,
bool) (/opt/wandbox/clang-head/bin/clang-5.0+0x2a8f489)
#58 0x00000000028dbc8f clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x28dbc8f)
#59 0x0000000002b7b086 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b7b086)
#60 0x0000000002b8d6af clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b8d6af)
#61 0x0000000002b872c1 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) (/opt/wandbox/clang-head/bin/clang-5.0+0x2b872c1)
#62 0x0000000002b74081 clang::Sema::SubstStmt(clang::Stmt*,
clang::MultiLevelTemplateArgumentList const&)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2b74081)
#63 0x0000000002ba33b2
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2ba33b2)
#64 0x0000000002b40dea clang::Sema::DeduceReturnType(clang::FunctionDecl*,
clang::SourceLocation, bool) (/opt/wandbox/clang-head/bin/clang-5.0+0x2b40dea)
#65 0x00000000028d49b8 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*,
clang::SourceLocation, clang::ObjCInterfaceDecl const*, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x28d49b8)
#66 0x0000000002a90d3c CreateFunctionRefExpr(clang::Sema&,
clang::FunctionDecl*, clang::NamedDecl*, bool, clang::SourceLocation,
clang::DeclarationNameLoc const&)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2a90d3c)
#67 0x0000000002a91df6
clang::Sema::CreateOverloadedBinOp(clang::SourceLocation,
clang::BinaryOperatorKind, clang::UnresolvedSetImpl const&, clang::Expr*,
clang::Expr*) (/opt/wandbox/clang-head/bin/clang-5.0+0x2a91df6)
#68 0x000000000290f4af clang::Sema::BuildBinOp(clang::Scope*,
clang::SourceLocation, clang::BinaryOperatorKind, clang::Expr*, clang::Expr*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x290f4af)
#69 0x00000000028dd4eb clang::Sema::ActOnBinOp(clang::Scope*,
clang::SourceLocation, clang::tok::TokenKind, clang::Expr*, clang::Expr*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x28dd4eb)
#70 0x0000000002516017
clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*,
true>, clang::prec::Level) (/opt/wandbox/clang-head/bin/clang-5.0+0x2516017)
#71 0x00000000025152d8
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState)
(/opt/wandbox/clang-head/bin/clang-5.0+0x25152d8)
#72 0x0000000002521b1a
clang::Parser::ParseExpressionList(llvm::SmallVectorImpl<clang::Expr*>&,
llvm::SmallVectorImpl<clang::SourceLocation>&, std::function<void ()>)
(/opt/wandbox/clang-head/bin/clang-5.0+0x2521b1a)
#73 0x000000000251772c
clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*,
true>) (/opt/wandbox/clang-head/bin/clang-5.0+0x251772c)
#74 0x000000000251c56b clang::Parser::ParseCastExpression(bool, bool, bool&,
clang::Parser::TypeCastState) (/opt/wandbox/clang-head/bin/clang-5.0+0x251c56b)
#75 0x000000000251526c
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState)
(/opt/wandbox/clang-head/bin/clang-5.0+0x251526c)
#76 0x00000000025151b9
clang::Parser::ParseExpression(clang::Parser::TypeCastState)
(/opt/wandbox/clang-head/bin/clang-5.0+0x25151b9)
#77 0x0000000002555796 clang::Parser::ParseExprStatement()
(/opt/wandbox/clang-head/bin/clang-5.0+0x2555796)
#78 0x00000000025548f9
clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*,
32u>&, clang::Parser::AllowedContsructsKind, clang::SourceLocation*,
clang::Parser::ParsedAttributesWithRange&)
(/opt/wandbox/clang-head/bin/clang-5.0+0x25548f9)
#79 0x000000000255447b
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*,
32u>&, clang::Parser::AllowedContsructsKind, clang::SourceLocation*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x255447b)
#80 0x000000000255b31a clang::Parser::ParseCompoundStatementBody(bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x255b31a)
#81 0x000000000255bc76 clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&) (/opt/wandbox/clang-head/bin/clang-5.0+0x255bc76)
#82 0x00000000024da2ee
clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x24da2ee)
#83 0x00000000024ef8d7 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x24ef8d7)
#84 0x00000000024d9243
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier)
(/opt/wandbox/clang-head/bin/clang-5.0+0x24d9243)
#85 0x00000000024d8ba9
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier)
(/opt/wandbox/clang-head/bin/clang-5.0+0x24d8ba9)
#86 0x00000000024d8101
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) (/opt/wandbox/clang-head/bin/clang-5.0+0x24d8101)
#87 0x00000000024d7259
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&)
(/opt/wandbox/clang-head/bin/clang-5.0+0x24d7259)
#88 0x00000000024d3557 clang::ParseAST(clang::Sema&, bool, bool)
(/opt/wandbox/clang-head/bin/clang-5.0+0x24d3557)
#89 0x0000000001dc18cf clang::FrontendAction::Execute()
(/opt/wandbox/clang-head/bin/clang-5.0+0x1dc18cf)
#90 0x0000000001d870f8
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/opt/wandbox/clang-head/bin/clang-5.0+0x1d870f8)
#91 0x0000000001e461df
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/opt/wandbox/clang-head/bin/clang-5.0+0x1e461df)
#92 0x0000000000825b85 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (/opt/wandbox/clang-head/bin/clang-5.0+0x825b85)
#93 0x0000000000824b80 main (/opt/wandbox/clang-head/bin/clang-5.0+0x824b80)
#94 0x00007fbf980a2830 __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x20830)
#95 0x0000000000821b49 _start (/opt/wandbox/clang-head/bin/clang-5.0+0x821b49)
Stack dump:
0.      Program arguments: /opt/wandbox/clang-head/bin/clang-5.0 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free
-disable-llvm-verifier -discard-value-names -main-file-name prog.cc
-mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno
-masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array
-target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -nostdinc++
-resource-dir /opt/wandbox/clang-head/bin/../lib/clang/5.0.0 -I
/opt/wandbox/clang-head/include/c++/v1 -I /opt/wandbox/boost-sml/include -I
/opt/wandbox/range-v3/include -D BOOST_NO_AUTO_PTR -I
/opt/wandbox/boost-1.63.0/clang-head/include -internal-isystem
/usr/local/include -internal-isystem
/opt/wandbox/clang-head/bin/../lib/clang/5.0.0/include
-internal-externc-isystem /usr/include/x86_64-linux-gnu
-internal-externc-isystem /include -internal-externc-isystem /usr/include -Wall
-Wextra -Wno-unused-parameter -std=gnu++1z -fdeprecated-macro
-fdebug-compilation-dir /home/jail -ferror-limit 19 -fmessage-length 0
-fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option
-fcolor-diagnostics -fansi-escape-codes -o /tmp/prog-fc81ba.o -x c++ prog.cc 
1.      prog.cc:113:29: current parser token 'and'
2.      prog.cc:60:1: parsing function body 'main'
3.      prog.cc:60:1: in compound statement ('{}')
4.      prog.cc:28:41: instantiating function definition 'operator&&<BOT, BOT,
BOT, BOT, BOT, BOT, BOT, OUTPUT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, VALUE, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, VALUE, BOT, BOT, OUTPUT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, VALUE, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT>'
5.      /opt/wandbox/clang-head/include/c++/v1/tuple:1335:1: instantiating
function definition 'std::__1::tuple_cat<std::__1::tuple<BOT, BOT, BOT, BOT,
BOT, BOT, BOT, OUTPUT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, VALUE, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, VALUE, BOT, BOT, OUTPUT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, VALUE, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT> &, std::__1::tuple<BOT, BOT, BOT> &>'
6.      /opt/wandbox/clang-head/include/c++/v1/tuple:827:9: instantiating
function definition 'std::__1::tuple<BOT, BOT, BOT, BOT, BOT, BOT, BOT, OUTPUT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, VALUE, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, VALUE,
BOT, BOT, OUTPUT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, VALUE, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT>::tuple<std::__1::tuple<BOT &, BOT &, BOT &, BOT &, BOT
&, BOT &, BOT &, OUTPUT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT
&, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
VALUE &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
VALUE &, BOT &, BOT &, OUTPUT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT
&, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, VALUE &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &>, false>'
7.      /opt/wandbox/clang-head/include/c++/v1/tuple:409:9: instantiating
function definition 'std::__1::__tuple_impl<std::__1::__tuple_indices<0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121>, BOT, BOT, BOT, BOT, BOT, BOT, BOT, OUTPUT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
VALUE, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, VALUE, BOT, BOT,
OUTPUT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, VALUE, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT, BOT,
BOT, BOT, BOT>::__tuple_impl<std::__1::tuple<BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, OUTPUT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
VALUE &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
VALUE &, BOT &, BOT &, OUTPUT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT
&, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, VALUE &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &,
BOT &, BOT &, BOT &, BOT &, BOT &, BOT &, BOT &>, void>'
clang-5.0: error: unable to execute command: Segmentation fault
clang-5.0: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 5.0.0 (https://github.com/llvm-mirror/clang.git
3afc831301895f710011dbd3c2f071b027e70514)
(https://github.com/llvm-mirror/llvm.git
de428a4c0b8316d10aa251a953efb46d7b4648d9)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/wandbox/clang-head/bin
clang-5.0: note: diagnostic msg: PLEASE submit a bug report to
http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and
associated run script.
clang-5.0: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-5.0: note: diagnostic msg: /tmp/prog-3984e0.cpp
clang-5.0: note: diagnostic msg: /tmp/prog-3984e0.sh
clang-5.0: note: diagnostic msg: 

********************

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170225/c94ffa77/attachment-0001.html>


More information about the llvm-bugs mailing list