Description
libc-x86_64-debian-dbg-bootstrap-build buildbot encountered a Clang crash in libc's type_traits_test.cpp
: https://lab.llvm.org/buildbot/#/builders/200/builds/5887
https://godbolt.org/z/zc56boPvn - Clang version with this regression didn't make it to Compiler Explorer as of time of writing.
Reduced by me and C-Reduce:
template < class T >
void test(int T::*);
template < class T >
struct is_class : decltype(test< T >(0)) {};
enum struct EnumClass;
static_assert(is_class< EnumClass >::value);
Clang 21.0 crash:
clang++: /home/user/endill/llvm-project/clang/include/clang/AST/ASTContext.h:1704:
QualType clang::ASTContext::getTypeDeclType(const TypeDecl *, const TypeDecl *) const:
Assertion `Decl && "Passed null for Decl param"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/user/endill/llvm-project/libc -isystem /home/user/endill/ramdisk/llvm-build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -ffixed-point -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -std=gnu++17 -c /home/user/endill/llvm-project/libc/test/src/__support/CPP/type_traits_test.cpp
1. /home/user/endill/llvm-project/libc/test/src/__support/CPP/type_traits_test.cpp:337:3 <Spelling=/home/user/endill/llvm-project/libc/test/src/__support/CPP/type_traits_test.cpp:337:38>: current parser token ')'
2. /home/user/endill/llvm-project/libc/test/src/__support/CPP/type_traits_test.cpp:15:1: parsing namespace '__llvm_libc_20_0_0_git'
3. /home/user/endill/llvm-project/libc/test/src/__support/CPP/type_traits_test.cpp:16:1: parsing namespace '__llvm_libc_20_0_0_git::cpp'
4. /home/user/endill/llvm-project/libc/test/src/__support/CPP/type_traits_test.cpp:326:40: parsing function body '__llvm_libc_20_0_0_git::cpp::LlvmLibcTypeTraitsTest_is_class::Run'
5. /home/user/endill/llvm-project/libc/test/src/__support/CPP/type_traits_test.cpp:326:40: in compound statement ('{}')
6. /home/user/endill/llvm-project/libc/src/__support/CPP/type_traits/is_class.h:27:32: instantiating variable definition '__llvm_libc_20_0_0_git::cpp::is_class_v<__llvm_libc_20_0_0_git::cpp::EnumClass>'
7. /home/user/endill/llvm-project/libc/src/__support/CPP/type_traits/is_class.h:25:27: instantiating class definition '__llvm_libc_20_0_0_git::cpp::is_class<__llvm_libc_20_0_0_git::cpp::EnumClass>'
#0 0x00007f01d7c18089 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/user/endill/llvm-project/llvm/lib/Support/Unix/Signals.inc:804:11
#1 0x00007f01d7c1853b PrintStackTraceSignalHandler(void*) /home/user/endill/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:1
#2 0x00007f01d7c1699f llvm::sys::RunSignalHandlers() /home/user/endill/llvm-project/llvm/lib/Support/Signals.cpp:105:5
#3 0x00007f01d7c17a69 llvm::sys::CleanupOnSignal(unsigned long) /home/user/endill/llvm-project/llvm/lib/Support/Unix/Signals.inc:370:1
#4 0x00007f01d7ab26b2 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) /home/user/endill/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:0:7
#5 0x00007f01d7ab2a16 CrashRecoverySignalHandler(int) /home/user/endill/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:391:1
#6 0x00007f01d39c6df0 (/lib/x86_64-linux-gnu/libc.so.6+0x3fdf0)
#7 0x00007f01d3a1b95c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#8 0x00007f01d39c6cc2 raise ./signal/../sysdeps/posix/raise.c:27:6
#9 0x00007f01d39af4ac abort ./stdlib/abort.c:81:3
#10 0x00007f01d39af420 __assert_perror_fail ./assert/assert-perr.c:31:1
#11 0x00007f01dfffe8d9 clang::ASTContext::getTypeDeclType(clang::TypeDecl const*, clang::TypeDecl const*) const /home/user/endill/llvm-project/clang/include/clang/AST/ASTContext.h:1705:9
#12 0x00007f01e2107312 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) /home/user/endill/llvm-project/clang/lib/Sema/SemaType.cpp:9259:28
#13 0x00007f01e2107193 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) /home/user/endill/llvm-project/clang/lib/Sema/SemaType.cpp:9073:7
#14 0x00007f01e129c18e clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) /home/user/endill/llvm-project/clang/include/clang/Sema/Sema.h:15144:5
#15 0x00007f01e12ab1c4 bool clang::Sema::RequireCompleteType<clang::Expr*>(clang::SourceLocation, clang::QualType, unsigned int, clang::Expr* const&) /home/user/endill/llvm-project/clang/include/clang/Sema/Sema.h:15154:12
#16 0x00007f01e15edfc8 clang::Sema::GatherArgumentsForCall(clang::SourceLocation, clang::FunctionDecl*, clang::FunctionProtoType const*, unsigned int, llvm::ArrayRef<clang::Expr*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::Sema::VariadicCallType, bool, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:6006:11
#17 0x00007f01e15ed825 clang::Sema::ConvertArgumentsForCall(clang::CallExpr*, clang::Expr*, clang::FunctionDecl*, clang::FunctionProtoType const*, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:5976:11
#18 0x00007f01e15f14b8 clang::Sema::BuildResolvedCallExpr(clang::Expr*, clang::NamedDecl*, clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, clang::CallExpr::ADLCallKind) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:6961:9
#19 0x00007f01e1c0eead 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) /home/user/endill/llvm-project/clang/lib/Sema/SemaOverload.cpp:14230:20
#20 0x00007f01e1c0eb9d clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaOverload.cpp:14388:10
#21 0x00007f01e15d6ff0 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:6596:16
#22 0x00007f01e15ef09f clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:6476:7
#23 0x00007f01e1ff8f02 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCallExpr(clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) /home/user/endill/llvm-project/clang/lib/Sema/TreeTransform.h:2878:22
#24 0x00007f01e1fe5661 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) /home/user/endill/llvm-project/clang/lib/Sema/TreeTransform.h:13381:23
#25 0x00007f01e1f6457e clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /home/user/endill/ramdisk/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:614:47
#26 0x00007f01e2000614 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) /home/user/endill/llvm-project/clang/lib/Sema/TreeTransform.h:6796:31
#27 0x00007f01e1f5a05c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) /home/user/endill/ramdisk/llvm-build/tools/clang/include/clang/AST/TypeNodes.inc:39:45
#28 0x00007f01e1f59678 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) /home/user/endill/llvm-project/clang/lib/Sema/TreeTransform.h:5168:34
#29 0x00007f01e1f59159 clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:2914:41
#30 0x00007f01e1f5da1c clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&) /home/user/endill/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:3591:19
#31 0x00007f01e1f5df64 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:3709:7
#32 0x00007f01e1f5f75a clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4221:3
#33 0x00007f01e2125f12 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*)::$_0::operator()() const /home/user/endill/llvm-project/clang/lib/Sema/SemaType.cpp:9348:23
#34 0x00007f01e2125e95 void llvm::function_ref<void ()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*)::$_0>(long) /home/user/endill/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:5
#35 0x00007f01dfb88979 llvm::function_ref<void ()>::operator()() const /home/user/endill/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
#36 0x00007f01dfb88b73 clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /home/user/endill/llvm-project/clang/include/clang/Basic/Stack.h:52:3
#37 0x00007f01dfb889e0 clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /home/user/endill/llvm-project/clang/lib/Basic/StackExhaustionHandler.cpp:21:1
#38 0x00007f01e11baf28 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /home/user/endill/llvm-project/clang/lib/Sema/Sema.cpp:567:1
#39 0x00007f01e2107857 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) /home/user/endill/llvm-project/clang/lib/Sema/SemaType.cpp:9352:22
#40 0x00007f01e2107193 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) /home/user/endill/llvm-project/clang/lib/Sema/SemaType.cpp:9073:7
#41 0x00007f01e129c18e clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) /home/user/endill/llvm-project/clang/include/clang/Sema/Sema.h:15144:5
#42 0x00007f01e129a744 bool clang::Sema::RequireCompleteType<clang::SourceRange>(clang::SourceLocation, clang::QualType, unsigned int, clang::SourceRange const&) /home/user/endill/llvm-project/clang/include/clang/Sema/Sema.h:15154:12
#43 0x00007f01e12962e3 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) /home/user/endill/llvm-project/clang/lib/Sema/SemaCXXScopeSpec.cpp:217:7
#44 0x00007f01e19812ae clang::Sema::LookupParsedName(clang::LookupResult&, clang::Scope*, clang::CXXScopeSpec*, clang::QualType, bool, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaLookup.cpp:2707:37
#45 0x00007f01e15df37c clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, bool, clang::TypeSourceInfo**) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:2921:9
#46 0x00007f01e1fec3e9 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDependentScopeDeclRefExpr(clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*, bool, clang::TypeSourceInfo**) /home/user/endill/llvm-project/clang/lib/Sema/TreeTransform.h:3528:22
#47 0x00007f01e1fec177 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*, bool, clang::TypeSourceInfo**) /home/user/endill/llvm-project/clang/lib/Sema/TreeTransform.h:15183:25
#48 0x00007f01e1fe4303 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*) /home/user/endill/llvm-project/clang/lib/Sema/TreeTransform.h:15152:10
#49 0x00007f01e1f641aa clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /home/user/endill/ramdisk/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:462:64
#50 0x00007f01e1f652e0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) /home/user/endill/llvm-project/clang/lib/Sema/TreeTransform.h:4378:25
#51 0x00007f01e1f5f3cc clang::Sema::SubstInitializer(clang::Expr*, clang::MultiLevelTemplateArgumentList const&, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4544:23
#52 0x00007f01e206d1a4 clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) /home/user/endill/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6017:14
#53 0x00007f01e2072b14 clang::Sema::CompleteVarTemplateSpecializationDecl(clang::VarTemplateSpecializationDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) /home/user/endill/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:5852:3
#54 0x00007f01e20737c6 clang::Sema::InstantiateVariableDefinition(clang::SourceLocation, clang::VarDecl*, bool, bool, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6265:9
#55 0x00007f01e16a0554 DoMarkVarDeclReferenced(clang::Sema&, clang::SourceLocation, clang::VarDecl*, clang::Expr*, llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang::VarDecl const*, void>, llvm::detail::DenseMapPair<clang::VarDecl const*, int>>&)::$_1::operator()() const /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:19851:9
#56 0x00007f01e16a0515 void llvm::function_ref<void ()>::callback_fn<DoMarkVarDeclReferenced(clang::Sema&, clang::SourceLocation, clang::VarDecl*, clang::Expr*, llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang::VarDecl const*, void>, llvm::detail::DenseMapPair<clang::VarDecl const*, int>>&)::$_1>(long) /home/user/endill/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:5
#57 0x00007f01dfb88979 llvm::function_ref<void ()>::operator()() const /home/user/endill/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
#58 0x00007f01dfb88b73 clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /home/user/endill/llvm-project/clang/include/clang/Basic/Stack.h:52:3
#59 0x00007f01dfb889e0 clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /home/user/endill/llvm-project/clang/lib/Basic/StackExhaustionHandler.cpp:21:1
#60 0x00007f01e11baf28 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /home/user/endill/llvm-project/clang/lib/Sema/Sema.cpp:567:1
#61 0x00007f01e1625cca DoMarkVarDeclReferenced(clang::Sema&, clang::SourceLocation, clang::VarDecl*, clang::Expr*, llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang::VarDecl const*, void>, llvm::detail::DenseMapPair<clang::VarDecl const*, int>>&) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:19855:55
#62 0x00007f01e162620b MarkExprReferenced(clang::Sema&, clang::SourceLocation, clang::Decl*, clang::Expr*, bool, llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang::VarDecl const*, void>, llvm::detail::DenseMapPair<clang::VarDecl const*, int>>&) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:20031:9
#63 0x00007f01e15dd51d clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:20088:1
#64 0x00007f01e15dcdb5 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:2325:25
#65 0x00007f01e15dcc17 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::CXXScopeSpec const*, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:2238:3
#66 0x00007f01e15e0e5d clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:3488:9
#67 0x00007f01e1d3f2d2 clang::Sema::CheckVarTemplateId(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::VarTemplateDecl*, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) /home/user/endill/llvm-project/clang/lib/Sema/SemaTemplate.cpp:4547:10
#68 0x00007f01e1d3fcaf clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, bool, clang::TemplateArgumentListInfo const*) /home/user/endill/llvm-project/clang/lib/Sema/SemaTemplate.cpp:4650:22
#69 0x00007f01e15d650b clang::Sema::ActOnIdExpression(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::UnqualifiedId&, bool, bool, clang::CorrectionCandidateCallback*, bool, clang::Token*) /home/user/endill/llvm-project/clang/lib/Sema/SemaExpr.cpp:2909:12
#70 0x00007f01dfeb5bec clang::Parser::tryParseCXXIdExpression(clang::CXXScopeSpec&, bool, clang::Token&) /home/user/endill/llvm-project/clang/lib/Parse/ParseExprCXX.cpp:671:17
#71 0x00007f01dfeb7482 clang::Parser::ParseCXXIdExpression(bool) /home/user/endill/llvm-project/clang/lib/Parse/ParseExprCXX.cpp:764:7
#72 0x00007f01dfea0ad3 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:1756:11
#73 0x00007f01dfe9a96c clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:729:20
#74 0x00007f01dfe98fd6 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:184:20
#75 0x00007f01dfe98e9f clang::Parser::ParseExpression(clang::Parser::TypeCastState) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:135:18
#76 0x00007f01dfea5379 clang::Parser::ParseParenExpression(clang::Parser::ParenParseOption&, bool, bool, clang::OpaquePtr<clang::QualType>&, clang::SourceLocation&) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:3374:14
#77 0x00007f01dfe9e1d8 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:1108:11
#78 0x00007f01dfe9a96c clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:729:20
#79 0x00007f01dfe98fd6 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:184:20
#80 0x00007f01dfea8d94 clang::Parser::ParseExpressionList(llvm::SmallVectorImpl<clang::Expr*>&, llvm::function_ref<void ()>, bool, bool, bool*) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:3704:14
#81 0x00007f01dfe9bf17 clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:2221:16
#82 0x00007f01dfea152c clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:1962:9
#83 0x00007f01dfe9a96c clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:729:20
#84 0x00007f01dfe98fd6 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:184:20
#85 0x00007f01dfe98e9f clang::Parser::ParseExpression(clang::Parser::TypeCastState) /home/user/endill/llvm-project/clang/lib/Parse/ParseExpr.cpp:135:18
#86 0x00007f01dfebe3d2 clang::Parser::ParseCXXCondition(clang::ActionResult<clang::Stmt*, true>*, clang::SourceLocation, clang::Sema::ConditionKind, bool, clang::Parser::ForRangeInfo*, bool)::$_1::operator()() const /home/user/endill/llvm-project/clang/lib/Parse/ParseExprCXX.cpp:2213:14
#87 0x00007f01dfebd873 clang::Parser::ParseCXXCondition(clang::ActionResult<clang::Stmt*, true>*, clang::SourceLocation, clang::Sema::ConditionKind, bool, clang::Parser::ForRangeInfo*, bool) /home/user/endill/llvm-project/clang/lib/Parse/ParseExprCXX.cpp:2206:23
#88 0x00007f01dff38e3b clang::Parser::ParseParenExprOrCondition(clang::ActionResult<clang::Stmt*, true>*, clang::Sema::ConditionResult&, clang::SourceLocation, clang::Sema::ConditionKind, clang::SourceLocation&, clang::SourceLocation&) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:1374:5
#89 0x00007f01dff32d0c clang::Parser::ParseIfStatement(clang::SourceLocation*) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:1590:9
#90 0x00007f01dff2ff11 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:319:12
#91 0x00007f01dff2f543 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:125:20
#92 0x00007f01dff2f3d2 clang::Parser::ParseStatement(clang::SourceLocation*, clang::Parser::ParsedStmtContext) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:49:11
#93 0x00007f01dff327bc clang::Parser::ParseDefaultStatement(clang::Parser::ParsedStmtContext) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:1006:15
#94 0x00007f01dff2fe86 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:309:12
#95 0x00007f01dff2f543 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:125:20
#96 0x00007f01dff2f3d2 clang::Parser::ParseStatement(clang::SourceLocation*, clang::Parser::ParsedStmtContext) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:49:11
#97 0x00007f01dff323a4 clang::Parser::ParseCaseStatement(clang::Parser::ParsedStmtContext, bool, clang::ActionResult<clang::Expr*, true>) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:952:15
#98 0x00007f01dff2fe6e clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:307:12
#99 0x00007f01dff2f543 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:125:20
#100 0x00007f01dff2f3d2 clang::Parser::ParseStatement(clang::SourceLocation*, clang::Parser::ParsedStmtContext) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:49:11
#101 0x00007f01dff339ac clang::Parser::ParseSwitchStatement(clang::SourceLocation*) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:1827:19
#102 0x00007f01dff2ff2a clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:321:12
#103 0x00007f01dff2f543 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:125:20
#104 0x00007f01dff387b2 clang::Parser::ParseCompoundStatementBody(bool) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:1265:11
#105 0x00007f01dff39a52 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) /home/user/endill/llvm-project/clang/lib/Parse/ParseStmt.cpp:2580:21
#106 0x00007f01dff5d073 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) /home/user/endill/llvm-project/clang/lib/Parse/Parser.cpp:1526:3
#107 0x00007f01dfe36e7d clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) /home/user/endill/llvm-project/clang/lib/Parse/ParseDecl.cpp:2459:21
#108 0x00007f01dff5bf54 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /home/user/endill/llvm-project/clang/lib/Parse/Parser.cpp:1250:10
#109 0x00007f01dff5b517 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /home/user/endill/llvm-project/clang/lib/Parse/Parser.cpp:1272:12
#110 0x00007f01dff5ae14 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /home/user/endill/llvm-project/clang/lib/Parse/Parser.cpp:1075:14
#111 0x00007f01dfe69267 clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) /home/user/endill/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:264:7
#112 0x00007f01dfe68b5f clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) /home/user/endill/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:244:18
#113 0x00007f01dfe35a6d clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) /home/user/endill/llvm-project/clang/lib/Parse/ParseDecl.cpp:2077:12
#114 0x00007f01dff5a8fc clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /home/user/endill/llvm-project/clang/lib/Parse/Parser.cpp:991:14
#115 0x00007f01dfe69267 clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) /home/user/endill/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:264:7
#116 0x00007f01dfe68b5f clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) /home/user/endill/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:244:18
#117 0x00007f01dfe35a6d clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) /home/user/endill/llvm-project/clang/lib/Parse/ParseDecl.cpp:2077:12
#118 0x00007f01dff5a8fc clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /home/user/endill/llvm-project/clang/lib/Parse/Parser.cpp:991:14
#119 0x00007f01dff58dac clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /home/user/endill/llvm-project/clang/lib/Parse/Parser.cpp:761:12
#120 0x00007f01dfe180dc clang::ParseAST(clang::Sema&, bool, bool) /home/user/endill/llvm-project/clang/lib/Parse/ParseAST.cpp:171:16
#121 0x00007f01e37c5017 clang::ASTFrontendAction::ExecuteAction() /home/user/endill/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1188:1
#122 0x00007f01e27a2a1d clang::CodeGenAction::ExecuteAction() /home/user/endill/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1102:5
#123 0x00007f01e37c4a76 clang::FrontendAction::Execute() /home/user/endill/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1076:7
#124 0x00007f01e36f0cde clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/user/endill/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1056:23
#125 0x00007f01e38bbf9a clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/user/endill/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:300:8
#126 0x000055e82a83f07e cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /home/user/endill/llvm-project/clang/tools/driver/cc1_main.cpp:294:13
#127 0x000055e82a8329be ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) /home/user/endill/llvm-project/clang/tools/driver/driver.cpp:218:5
#128 0x000055e82a8333c0 clang_main(int, char**, llvm::ToolContext const&)::$_0::operator()(llvm::SmallVectorImpl<char const*>&) const /home/user/endill/llvm-project/clang/tools/driver/driver.cpp:364:9
#129 0x000055e82a83338d int llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**, llvm::ToolContext const&)::$_0>(long, llvm::SmallVectorImpl<char const*>&) /home/user/endill/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:5
#130 0x00007f01e31cb221 llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::operator()(llvm::SmallVectorImpl<char const*>&) const /home/user/endill/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
#131 0x00007f01e31c7818 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const::$_0::operator()() const /home/user/endill/llvm-project/clang/lib/Driver/Job.cpp:437:34
#132 0x00007f01e31c77e5 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const::$_0>(long) /home/user/endill/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:5
#133 0x00007f01d7a9ba89 llvm::function_ref<void ()>::operator()() const /home/user/endill/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
#134 0x00007f01d7ab24cf llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /home/user/endill/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:427:3
#135 0x00007f01e31c7493 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const /home/user/endill/llvm-project/clang/lib/Driver/Job.cpp:437:7
#136 0x00007f01e3160532 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const /home/user/endill/llvm-project/clang/lib/Driver/Compilation.cpp:196:15
#137 0x00007f01e316070c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&, bool) const /home/user/endill/llvm-project/clang/lib/Driver/Compilation.cpp:251:13
#138 0x00007f01e317eaa1 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&) /home/user/endill/llvm-project/clang/lib/Driver/Driver.cpp:2223:7
#139 0x000055e82a8324dd clang_main(int, char**, llvm::ToolContext const&) /home/user/endill/llvm-project/clang/tools/driver/driver.cpp:402:9
#140 0x000055e82a862015 main /home/user/endill/ramdisk/llvm-build/tools/clang/tools/driver/clang-driver.cpp:17:3
#141 0x00007f01d39b0ca8 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#142 0x00007f01d39b0d65 call_init ./csu/../csu/libc-start.c:128:20
#143 0x00007f01d39b0d65 __libc_start_main ./csu/../csu/libc-start.c:347:5
#144 0x000055e82a831281 _start (bin/clang+++0x2b281)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)