alexfh wrote:

> Ok, this wasn't too bad actually: #170090 fixes the reproducer, so fingers 
> crossed it also addresses the issue in the full-blown internal code 🤞 @alexfh 
> if you have more cycles available, could you test the two PRs together?

With both PRs I'm getting at least this Clang assertion error on some of our 
code. There's more, and I'll try to create a reproducer for this one, but maybe 
the stack trace is enough to figure out what's wrong:
```
assert.h assertion failed at clang/include/clang/AST/Redeclarable.h:262 in 
redecl_iterator 
&clang::Redeclarable<clang::TagDecl>::redecl_iterator::operator++() [de
cl_type = clang::TagDecl]: 0 && "Passed first decl twice, invalid redecl chain!"
    @     0x561251408044  __assert_fail
    @     0x56124c214b91  clang::ASTDeclMerger::MergeDefinitionData()
    @     0x56124c21722e  
clang::ASTDeclReader::VisitClassTemplateSpecializationDeclImpl()
    @     0x56124c207953  clang::declvisitor::Base<>::Visit()
    @     0x56124c207135  clang::ASTDeclReader::Visit()
    @     0x56124d69ddcf  
clang::StackExhaustionHandler::runWithSufficientStackSpace()
    @     0x56124c22e7f1  clang::ASTReader::ReadDeclRecord()
    @     0x56124c1aa595  clang::ASTReader::GetDecl()
    @     0x56124c237639  clang::ASTReader::ReadDeclAs<>()
    @     0x56124c20800b  clang::ASTDeclReader::VisitDecl()
    @     0x56124c209e52  clang::ASTDeclReader::VisitValueDecl()
    @     0x56124c20a175  clang::ASTDeclReader::VisitDeclaratorDecl()
    @     0x56124c20ae6a  clang::ASTDeclReader::VisitFunctionDecl()
    @     0x56124c2152b6  clang::ASTDeclReader::VisitCXXMethodDecl()
    @     0x56124c207135  clang::ASTDeclReader::Visit()
    @     0x56124d69ddcf  
clang::StackExhaustionHandler::runWithSufficientStackSpace()
    @     0x56124c22e7f1  clang::ASTReader::ReadDeclRecord()
    @     0x56124c1aa595  clang::ASTReader::GetDecl()
    @     0x56124c24af78  clang::ASTStmtReader::VisitMemberExpr()
    @     0x56124c25b2c1  clang::ASTReader::ReadStmtFromStream()
    @     0x56124c1b585d  clang::ASTReader::GetExternalDeclStmt()
    @     0x56124d1f8839  clang::FunctionDecl::getBody()
    @     0x56124d2053f1  clang::FunctionDecl::getBody()
    @     0x56124b52493d  clang::CodeGen::CodeGenFunction::GenerateCode()
    @     0x56124b55084c  
clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition()
    @     0x56124b547ea2  clang::CodeGen::CodeGenModule::EmitGlobalDefinition()
    @     0x56124b538856  clang::CodeGen::CodeGenModule::EmitDeferred()
    @     0x56124b538872  clang::CodeGen::CodeGenModule::EmitDeferred()
    @     0x56124b538872  clang::CodeGen::CodeGenModule::EmitDeferred()
    @     0x56124b538872  clang::CodeGen::CodeGenModule::EmitDeferred()
    @     0x56124b538872  clang::CodeGen::CodeGenModule::EmitDeferred()
    @     0x56124b538872  clang::CodeGen::CodeGenModule::EmitDeferred()
    @     0x56124b538872  clang::CodeGen::CodeGenModule::EmitDeferred()
    @     0x56124b538872  clang::CodeGen::CodeGenModule::EmitDeferred()
    @     0x56124b5351ee  clang::CodeGen::CodeGenModule::Release()
    @     0x56124b67acee  (anonymous 
namespace)::CodeGeneratorImpl::HandleTranslationUnit()
    @     0x56124b1d3b9a  clang::BackendConsumer::HandleTranslationUnit()
    @     0x56124c077788  clang::ParseAST()
    @     0x56124bdad5aa  clang::FrontendAction::Execute()
    @     0x56124bd2145d  clang::CompilerInstance::ExecuteAction()
    @     0x56124b1d316e  clang::ExecuteCompilerInvocation()
    @     0x56124b1c65ea  cc1_main()
    @     0x56124b1c3619  ExecuteCC1Tool()
    @     0x56124b1c5dcc  llvm::function_ref<>::callback_fn<>()
    @     0x56124bee291e  llvm::function_ref<>::callback_fn<>()
    @     0x56125108241c  llvm::CrashRecoveryContext::RunSafely()
    @     0x56124bee1e04  clang::driver::CC1Command::Execute()
    @     0x56124be9f453  clang::driver::Compilation::ExecuteCommand()
    @     0x56124be9f6df  clang::driver::Compilation::ExecuteJobs()
    @     0x56124beb9dc0  clang::driver::Driver::ExecuteCompilation()
    @     0x56124b1c2c1e  clang_main()
    @     0x56124b1c0f74  main
```

https://github.com/llvm/llvm-project/pull/133057
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to