clang-16: /usr/local/google/home/usx/src/llvm-project/clang/lib/AST/Decl.cpp:4772: RecordDecl::field_iterator clang::RecordDecl::field_begin() const: Assertion `!isa(this) || getDefinition()' 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: /usr/local/google/home/usx/build/bin/clang-16 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -main-file-name encode.mm -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -fcoverage-compilation-dir=/usr/local/google/home/usx/build -resource-dir /usr/local/google/home/usx/build/lib/clang/16 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/backward -internal-isystem /usr/local/google/home/usx/build/lib/clang/16/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir=/usr/local/google/home/usx/build -ferror-limit 19 -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fobjc-encode-cxx-class-template-spec -fobjc-exceptions -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/encode-97282d.o -x objective-c++ /usr/local/google/home/usx/src/llvm-project/clang/test/CodeGenObjCXX/encode.mm 1. /usr/local/google/home/usx/src/llvm-project/clang/test/CodeGenObjCXX/encode.mm:340:36: current parser token ';' 2. /usr/local/google/home/usx/src/llvm-project/clang/test/CodeGenObjCXX/encode.mm:268:1: parsing namespace 'test_cxx_template_specialization' #0 0x000055f077babbad llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/local/google/home/usx/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:567:11 #1 0x000055f077bac03b PrintStackTraceSignalHandler(void*) /usr/local/google/home/usx/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:641:1 #2 0x000055f077baa3b6 llvm::sys::RunSignalHandlers() /usr/local/google/home/usx/src/llvm-project/llvm/lib/Support/Signals.cpp:104:5 #3 0x000055f077bac765 SignalHandler(int) /usr/local/google/home/usx/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:412:1 #4 0x00007fc62c25af90 (/lib/x86_64-linux-gnu/libc.so.6+0x3bf90) #5 0x00007fc62c2a9ccc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76 #6 0x00007fc62c25aef2 raise ./signal/../sysdeps/posix/raise.c:27:6 #7 0x00007fc62c245472 abort ./stdlib/abort.c:81:7 #8 0x00007fc62c245395 _nl_load_domain ./intl/loadmsgcat.c:1177:9 #9 0x00007fc62c253df2 (/lib/x86_64-linux-gnu/libc.so.6+0x34df2) #10 0x000055f07d580c51 clang::RecordDecl::field_begin() const /usr/local/google/home/usx/src/llvm-project/clang/lib/AST/Decl.cpp:0:3 #11 0x000055f0782b91e9 clang::RecordDecl::fields() const /usr/local/google/home/usx/src/llvm-project/clang/include/clang/AST/Decl.h:4222:51 #12 0x000055f07d2bac7c clang::ASTContext::getObjCEncodingForTypeImpl(clang::QualType, std::__cxx11::basic_string, std::allocator>&, clang::ASTContext::ObjCEncOptions, clang::FieldDecl const*, clang::QualType*) const /usr/local/google/home/usx/src/llvm-project/clang/lib/AST/ASTContext.cpp:8331:41 #13 0x000055f07d2ba818 clang::ASTContext::getObjCEncodingForTypeImpl(clang::QualType, std::__cxx11::basic_string, std::allocator>&, clang::ASTContext::ObjCEncOptions, clang::FieldDecl const*, clang::QualType*) const /usr/local/google/home/usx/src/llvm-project/clang/lib/AST/ASTContext.cpp:8270:5 #14 0x000055f07d2b9b9f clang::ASTContext::getObjCEncodingForType(clang::QualType, std::__cxx11::basic_string, std::allocator>&, clang::FieldDecl const*, clang::QualType*) const /usr/local/google/home/usx/src/llvm-project/clang/lib/AST/ASTContext.cpp:7947:1 #15 0x000055f07c49cec5 clang::Sema::BuildObjCEncodeExpression(clang::SourceLocation, clang::TypeSourceInfo*, clang::SourceLocation) /usr/local/google/home/usx/src/llvm-project/clang/lib/Sema/SemaExprObjC.cpp:1146:22 #16 0x000055f07c49d0bc clang::Sema::ParseObjCEncodeExpression(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::OpaquePtr, clang::SourceLocation) /usr/local/google/home/usx/src/llvm-project/clang/lib/Sema/SemaExprObjC.cpp:1170:10 #17 0x000055f07b9ef127 clang::Parser::ParseObjCEncodeExpression(clang::SourceLocation) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseObjc.cpp:3582:18 #18 0x000055f07b9edcee clang::Parser::ParseObjCAtExpression(clang::SourceLocation) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseObjc.cpp:2887:43 #19 0x000055f07b9bc95b clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseExpr.cpp:1747:12 #20 0x000055f07b9b4489 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseExpr.cpp:682:20 #21 0x000055f07b9b2978 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseExpr.cpp:174:20 #22 0x000055f07b979aaa clang::Parser::ParseInitializer() /usr/local/google/home/usx/src/llvm-project/clang/include/clang/Parse/Parser.h:2035:14 #23 0x000055f07b963d42 clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseDecl.cpp:2464:25 #24 0x000055f07b962396 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseDecl.cpp:2196:9 #25 0x000055f07b94000a clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/Parser.cpp:1207:10 #26 0x000055f07b93f54f clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/Parser.cpp:1222:12 #27 0x000055f07b93ee10 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/Parser.cpp:1037:14 #28 0x000055f07b9873a9 clang::Parser::ParseInnerNamespace(llvm::SmallVector const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:261:7 #29 0x000055f07b986d38 clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:241:18 #30 0x000055f07b960e8c clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseDecl.cpp:1807:12 #31 0x000055f07b93e8b3 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/Parser.cpp:953:14 #32 0x000055f07b93ccd6 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&, clang::Sema::ModuleImportState&) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/Parser.cpp:743:12 #33 0x000055f07b937887 clang::ParseAST(clang::Sema&, bool, bool) /usr/local/google/home/usx/src/llvm-project/clang/lib/Parse/ParseAST.cpp:162:16 #34 0x000055f078d8e4bc clang::ASTFrontendAction::ExecuteAction() /usr/local/google/home/usx/src/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1164:1 #35 0x000055f07986d544 clang::CodeGenAction::ExecuteAction() /usr/local/google/home/usx/src/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1172:5 #36 0x000055f078d8debc clang::FrontendAction::Execute() /usr/local/google/home/usx/src/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1059:7 #37 0x000055f078cbb26c clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/local/google/home/usx/src/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1046:23 #38 0x000055f078f53707 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/local/google/home/usx/src/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:264:8 #39 0x000055f074176af0 cc1_main(llvm::ArrayRef, char const*, void*) /usr/local/google/home/usx/src/llvm-project/clang/tools/driver/cc1_main.cpp:251:13 #40 0x000055f0741638b6 ExecuteCC1Tool(llvm::SmallVectorImpl&) /usr/local/google/home/usx/src/llvm-project/clang/tools/driver/driver.cpp:360:5 #41 0x000055f074162653 clang_main(int, char**) /usr/local/google/home/usx/src/llvm-project/clang/tools/driver/driver.cpp:435:5 #42 0x000055f0741984d2 main /usr/local/google/home/usx/build/tools/clang/tools/driver/clang-driver.cpp:11:35 #43 0x00007fc62c24618a __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3 #44 0x00007fc62c246245 call_init ./csu/../csu/libc-start.c:128:20 #45 0x00007fc62c246245 __libc_start_main ./csu/../csu/libc-start.c:368:5 #46 0x000055f074161e01 _start (/usr/local/google/home/usx/build/bin/clang-16+0x21d0e01) clang-16: error: unable to execute command: Aborted clang-16: error: clang frontend command failed due to signal (use -v to see invocation) clang version 16.0.0 (https://github.com/llvm/llvm-project.git f9ed3c9ccd21339fd5ae53b0325840484488e769) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/local/google/home/usx/build/bin clang-16: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang-16: note: diagnostic msg: /tmp/encode-70e736.mm clang-16: note: diagnostic msg: /tmp/encode-70e736.sh clang-16: note: diagnostic msg: ********************