balazske added a comment.

The test causes this assert if the fix is not applied:

  Unhandled type of friend class
  UNREACHABLE executed at 
/local/clang/llvm2/llvm-project/clang/lib/AST/ASTImporterLookupTable.cpp:71!
   #0 0x00007f4380b90e0a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
/local/clang/llvm2/llvm-project/llvm/lib/Support/Unix/Signals.inc:567:11
   #1 0x00007f4380b90fdb PrintStackTraceSignalHandler(void*) 
/local/clang/llvm2/llvm-project/llvm/lib/Support/Unix/Signals.inc:641:1
   #2 0x00007f4380b8f58b llvm::sys::RunSignalHandlers() 
/local/clang/llvm2/llvm-project/llvm/lib/Support/Signals.cpp:103:5
   #3 0x00007f4380b91751 SignalHandler(int) 
/local/clang/llvm2/llvm-project/llvm/lib/Support/Unix/Signals.inc:412:1
   #4 0x00007f43840b1980 __restore_rt 
(/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
   #5 0x00007f437fa40e87 raise 
/build/glibc-CVJwZb/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
   #6 0x00007f437fa427f1 abort 
/build/glibc-CVJwZb/glibc-2.27/stdlib/abort.c:81:0
   #7 0x00007f4380a132c4 
/local/clang/llvm2/llvm-project/llvm/lib/Support/ErrorHandling.cpp:212:3
   #8 0x00007f438265cc05 clang::(anonymous 
namespace)::Builder::VisitFriendDecl(clang::FriendDecl*) 
/local/clang/llvm2/llvm-project/clang/lib/AST/ASTImporterLookupTable.cpp:0:11
   #9 0x00007f438265ca40 clang::RecursiveASTVisitor<clang::(anonymous 
namespace)::Builder>::WalkUpFromFriendDecl(clang::FriendDecl*) 
/local/clang/llvm2/build/Debug/tools/clang/include/clang/AST/DeclNodes.inc:71:1
  #10 0x00007f43825e2505 clang::RecursiveASTVisitor<clang::(anonymous 
namespace)::Builder>::TraverseFriendDecl(clang::FriendDecl*) 
/local/clang/llvm2/llvm-project/clang/include/clang/AST/RecursiveASTVisitor.h:1550:1
  #11 0x00007f43825dfa49 clang::RecursiveASTVisitor<clang::(anonymous 
namespace)::Builder>::TraverseDecl(clang::Decl*) 
/local/clang/llvm2/build/Debug/tools/clang/include/clang/AST/DeclNodes.inc:71:1
  #12 0x00007f4382648488 clang::RecursiveASTVisitor<clang::(anonymous 
namespace)::Builder>::TraverseDeclContextHelper(clang::DeclContext*) 
/local/clang/llvm2/llvm-project/clang/include/clang/AST/RecursiveASTVisitor.h:1489:7
  #13 0x00007f43825e7038 clang::RecursiveASTVisitor<clang::(anonymous 
namespace)::Builder>::TraverseCXXRecordDecl(clang::CXXRecordDecl*) 
/local/clang/llvm2/llvm-project/clang/include/clang/AST/RecursiveASTVisitor.h:2015:1
  #14 0x00007f43825dff7f clang::RecursiveASTVisitor<clang::(anonymous 
namespace)::Builder>::TraverseDecl(clang::Decl*) 
/local/clang/llvm2/build/Debug/tools/clang/include/clang/AST/DeclNodes.inc:295:1
  #15 0x00007f4382648488 clang::RecursiveASTVisitor<clang::(anonymous 
namespace)::Builder>::TraverseDeclContextHelper(clang::DeclContext*) 
/local/clang/llvm2/llvm-project/clang/include/clang/AST/RecursiveASTVisitor.h:1489:7
  #16 0x00007f43825ee041 clang::RecursiveASTVisitor<clang::(anonymous 
namespace)::Builder>::TraverseTranslationUnitDecl(clang::TranslationUnitDecl*) 
/local/clang/llvm2/llvm-project/clang/include/clang/AST/RecursiveASTVisitor.h:1599:1
  #17 0x00007f43825e084d clang::RecursiveASTVisitor<clang::(anonymous 
namespace)::Builder>::TraverseDecl(clang::Decl*) 
/local/clang/llvm2/build/Debug/tools/clang/include/clang/AST/DeclNodes.inc:645:1
  #18 0x00007f43825df7d4 
clang::ASTImporterLookupTable::ASTImporterLookupTable(clang::TranslationUnitDecl&)
 /local/clang/llvm2/llvm-project/clang/lib/AST/ASTImporterLookupTable.cpp:88:1
  #19 0x0000000000655a44 
std::_MakeUniq<clang::ASTImporterLookupTable>::__single_object 
std::make_unique<clang::ASTImporterLookupTable, 
clang::TranslationUnitDecl&>(clang::TranslationUnitDecl&) 
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821:34
  #20 0x0000000000655933 
clang::ASTImporterSharedState::ASTImporterSharedState(clang::TranslationUnitDecl&)
 
/local/clang/llvm2/llvm-project/clang/include/clang/AST/ASTImporterSharedState.h:52:19
  #21 0x00000000006558d1 void 
__gnu_cxx::new_allocator<clang::ASTImporterSharedState>::construct<clang::ASTImporterSharedState,
 clang::TranslationUnitDecl&>(clang::ASTImporterSharedState*, 
clang::TranslationUnitDecl&) 
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:136:60
  #22 0x00000000006555ed void 
std::allocator_traits<std::allocator<clang::ASTImporterSharedState>>::construct<clang::ASTImporterSharedState,
 clang::TranslationUnitDecl&>(std::allocator<clang::ASTImporterSharedState>&, 
clang::ASTImporterSharedState*, clang::TranslationUnitDecl&) 
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:475:56
  #23 0x000000000065544b std::__shared_ptr<clang::ASTImporterSharedState, 
(__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<clang::ASTImporterSharedState>,
 clang::TranslationUnitDecl&>(std::_Sp_make_shared_tag, 
std::allocator<clang::ASTImporterSharedState> const&, 
clang::TranslationUnitDecl&) 
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr_base.h:1327:4
  #24 0x00000000006553ad 
std::shared_ptr<clang::ASTImporterSharedState>::shared_ptr<std::allocator<clang::ASTImporterSharedState>,
 clang::TranslationUnitDecl&>(std::_Sp_make_shared_tag, 
std::allocator<clang::ASTImporterSharedState> const&, 
clang::TranslationUnitDecl&) 
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr.h:345:4
  #25 0x0000000000655316 std::shared_ptr<clang::ASTImporterSharedState> 
std::allocate_shared<clang::ASTImporterSharedState, 
std::allocator<clang::ASTImporterSharedState>, 
clang::TranslationUnitDecl&>(std::allocator<clang::ASTImporterSharedState> 
const&, clang::TranslationUnitDecl&) 
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr.h:690:14
  #26 0x000000000064e6f3 std::shared_ptr<clang::ASTImporterSharedState> 
std::make_shared<clang::ASTImporterSharedState, 
clang::TranslationUnitDecl&>(clang::TranslationUnitDecl&) 
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr.h:706:7
  #27 0x000000000064bd3e 
clang::ast_matchers::ASTImporterTestBase::lazyInitSharedState(clang::TranslationUnitDecl*)
 
/local/clang/llvm2/llvm-project/clang/unittests/AST/ASTImporterFixtures.cpp:113:22
  #28 0x000000000064bf9f 
clang::ast_matchers::ASTImporterTestBase::lazyInitToAST(clang::TestLanguage, 
llvm::StringRef, llvm::StringRef) 
/local/clang/llvm2/llvm-project/clang/unittests/AST/ASTImporterFixtures.cpp:128:1
  #29 0x000000000064c77e 
clang::ast_matchers::ASTImporterTestBase::getToTuDecl(llvm::StringRef, 
clang::TestLanguage) 
/local/clang/llvm2/llvm-project/clang/unittests/AST/ASTImporterFixtures.cpp:191:3
  #30 0x00000000006a5a13 
clang::ast_matchers::ASTImporterLookupTableTest_LookupFindsFriendClassDeclWithUsingTypeDoesNotAssert_Test::TestBody()
 /local/clang/llvm2/llvm-project/clang/unittests/AST/ASTImporterTest.cpp:5165:24
  #31 0x00007f4380c959c4 void 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, 
void>(testing::Test*, void (testing::Test::*)(), char const*) 
/local/clang/llvm2/llvm-project/third-party/unittest/googletest/src/gtest.cc:2433:3
  #32 0x00007f4380c7b132 void 
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, 
void>(testing::Test*, void (testing::Test::*)(), char const*) 
/local/clang/llvm2/llvm-project/third-party/unittest/googletest/src/gtest.cc:2488:5
  #33 0x00007f4380c63173 testing::Test::Run() 
/local/clang/llvm2/llvm-project/third-party/unittest/googletest/src/gtest.cc:2515:3
  #34 0x00007f4380c63a4d testing::TestInfo::Run() 
/local/clang/llvm2/llvm-project/third-party/unittest/googletest/src/gtest.cc:2687:12
  #35 0x00007f4380c6401c testing::TestSuite::Run() 
/local/clang/llvm2/llvm-project/third-party/unittest/googletest/src/gtest.cc:2815:44
  #36 0x00007f4380c6cde1 testing::internal::UnitTestImpl::RunAllTests() 
/local/clang/llvm2/llvm-project/third-party/unittest/googletest/src/gtest.cc:5337:24
  #37 0x00007f4380c991e4 bool 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool>(testing::internal::UnitTestImpl*, bool 
(testing::internal::UnitTestImpl::*)(), char const*) 
/local/clang/llvm2/llvm-project/third-party/unittest/googletest/src/gtest.cc:2433:3
  #38 0x00007f4380c7d472 bool 
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool>(testing::internal::UnitTestImpl*, bool 
(testing::internal::UnitTestImpl::*)(), char const*) 
/local/clang/llvm2/llvm-project/third-party/unittest/googletest/src/gtest.cc:2488:5
  #39 0x00007f4380c6c9aa testing::UnitTest::Run() 
/local/clang/llvm2/llvm-project/third-party/unittest/googletest/src/gtest.cc:4925:10
  #40 0x00007f43844c4d01 RUN_ALL_TESTS() 
/local/clang/llvm2/llvm-project/third-party/unittest/googletest/include/gtest/gtest.h:2472:3
  #41 0x00007f43844c4c40 main 
/local/clang/llvm2/llvm-project/third-party/unittest/UnitTestMain/TestMain.cpp:55:3
  #42 0x00007f437fa23c87 __libc_start_main 
/build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:344:0
  #43 0x00000000005ee18a _start (./tools/clang/unittests/AST/ASTTests+0x5ee18a)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142607/new/

https://reviews.llvm.org/D142607

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to