werat

LLDB crash expression evaluation on "1+2"

Oct 4th, 2022
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.60 KB | None | 0 0
  1.  
  2. ❯ ~/src/llvm-project/build_optdebug/bin/lldb --version
  3. lldb version 16.0.0git (https://github.com/llvm/llvm-project.git revision b7dae832e61da1f8b48cce1715514cbd5809eb3f)
  4. clang revision b7dae832e61da1f8b48cce1715514cbd5809eb3f
  5. llvm revision b7dae832e61da1f8b48cce1715514cbd5809eb3f
  6.  
  7. ❯ ~/src/llvm-project/build_optdebug/bin/lldb ~/src/llvm-project/build_optdebug/bin/clang-16 -- -cc1 -x c++ ~/tmp/main.cc
  8. (lldb) target create "/home/werat/src/llvm-project/build_optdebug/bin/clang-16"
  9. Current executable set to '/home/werat/src/llvm-project/build_optdebug/bin/clang-16' (x86_64).
  10. (lldb) settings set -- target.run-args "-cc1" "-x" "c++" "/home/werat/tmp/main.cc"
  11. (lldb) b main
  12. Breakpoint 1: where = clang-16`main at clang-driver.cpp:11:42, address = 0x00000000029ec7f0
  13. (lldb) r
  14. Process 3996301 launched: '/home/werat/src/llvm-project/build_optdebug/bin/clang-16' (x86_64)
  15. Process 3996301 stopped
  16. * thread #1, name = 'clang-16', stop reason = breakpoint 1.1
  17. frame #0: 0x0000555557f407f0 clang-16`main(argc=5, argv=0x00007fffffffe0b8) at clang-driver.cpp:11:42
  18. 8
  19. 9 int clang_main(int argc, char **argv);
  20. 10
  21. -> 11 int main(int argc, char **argv) { return clang_main(argc, argv); }
  22. (lldb) p 1+2
  23. (int) $0 = 3
  24. (lldb) b SemaExpr.cpp:1528
  25. Breakpoint 2: where = clang-16`clang::Sema::UsualArithmeticConversions(clang::ActionResult<clang::Expr*, true>&, clang::ActionResult<clang::Expr*, true>&, clang::SourceLocation, clang::Sema::ArithConvKind) + 390 at SemaExpr.cpp:1530:7, address = 0x000055555b2987a6
  26. (lldb) c
  27. Process 3996301 resuming
  28. Process 3996301 stopped
  29. * thread #1, name = 'clang-16', stop reason = breakpoint 2.1
  30. frame #0: 0x000055555b2987a6 clang-16`clang::Sema::UsualArithmeticConversions(this=0x000055555c6d3570, LHS=0x00007fffffff7170, RHS=0x00007fffffff7178, Loc=(ID = 86), ACK=ACK_Arithmetic) at SemaExpr.cpp:1530:7
  31. 1527 ArithConvKind ACK) {
  32. 1528 checkEnumArithmeticConversions(*this, LHS.get(), RHS.get(), Loc, ACK);
  33. 1529
  34. -> 1530 if (ACK != ACK_CompAssign) {
  35. 1531 LHS = UsualUnaryConversions(LHS.get());
  36. 1532 if (LHS.isInvalid())
  37. 1533 return QualType();
  38. (lldb) p 1+2
  39. lldb: /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:742: void (anonymous namespace)::CGRecordLowering::clipTailPadding(): Assertion `Prior->Kind == MemberInfo::Field && "Only storage fields have tail padding!"' failed.
  40. PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
  41. Stack dump:
  42. 0. Program arguments: /home/werat/src/llvm-project/build_optdebug/bin/lldb /home/werat/src/llvm-project/build_optdebug/bin/clang-16 -- -cc1 -x c++ /home/werat/tmp/main.cc
  43. #0 0x0000556de81b6a03 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/werat/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:569:13
  44. #1 0x0000556de81b5030 llvm::sys::RunSignalHandlers() /home/werat/src/llvm-project/llvm/lib/Support/Signals.cpp:104:18
  45. #2 0x0000556de81b700a SignalHandler(int) /home/werat/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:407:1
  46. #3 0x00007faf877d8200 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12200)
  47. #4 0x00007faf817d08c1 raise ./signal/../sysdeps/unix/sysv/linux/raise.c:50:1
  48. #5 0x00007faf817ba546 abort ./stdlib/abort.c:81:7
  49. #6 0x00007faf817ba42f get_sysdep_segment_value ./intl/loadmsgcat.c:509:8
  50. #7 0x00007faf817ba42f _nl_load_domain ./intl/loadmsgcat.c:970:34
  51. #8 0x00007faf817c9242 (/lib/x86_64-linux-gnu/libc.so.6+0x31242)
  52. #9 0x00007faf852fa2dc llvm::isa_impl_cl<llvm::IntegerType, llvm::Type const*>::doit(llvm::Type const*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:109:5
  53. #10 0x00007faf852fa2dc llvm::isa_impl_wrap<llvm::IntegerType, llvm::Type const*, llvm::Type const*>::doit(llvm::Type const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
  54. #11 0x00007faf852fa2dc llvm::isa_impl_wrap<llvm::IntegerType, llvm::Type const* const, llvm::Type const*>::doit(llvm::Type const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
  55. #12 0x00007faf852fa2dc llvm::CastIsPossible<llvm::IntegerType, llvm::Type const*, void>::isPossible(llvm::Type const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
  56. #13 0x00007faf852fa2dc llvm::CastInfo<llvm::IntegerType, llvm::Type* const, void>::isPossible(llvm::Type* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:510:12
  57. #14 0x00007faf852fa2dc bool llvm::isa<llvm::IntegerType, llvm::Type*>(llvm::Type* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:549:10
  58. #15 0x00007faf852fa2dc decltype(auto) llvm::cast<llvm::IntegerType, llvm::Type>(llvm::Type*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:578:3
  59. #16 0x00007faf852fa2dc (anonymous namespace)::CGRecordLowering::clipTailPadding() /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:745:13
  60. #17 0x00007faf852fa2dc (anonymous namespace)::CGRecordLowering::lower(bool) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:302:3
  61. #18 0x00007faf852f73c2 clang::Decl::getKind() const /home/werat/src/llvm-project/clang/include/clang/AST/DeclBase.h:435:51
  62. #19 0x00007faf852f73c2 clang::CXXRecordDecl::classof(clang::Decl const*) /home/werat/src/llvm-project/clang/include/clang/AST/DeclCXX.h:1821:62
  63. #20 0x00007faf852f73c2 llvm::isa_impl<clang::CXXRecordDecl, clang::RecordDecl, void>::doit(clang::RecordDecl const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:64:53
  64. #21 0x00007faf852f73c2 llvm::isa_impl_cl<clang::CXXRecordDecl, clang::RecordDecl const*>::doit(clang::RecordDecl const*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:110:12
  65. #22 0x00007faf852f73c2 llvm::isa_impl_wrap<clang::CXXRecordDecl, clang::RecordDecl const*, clang::RecordDecl const*>::doit(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
  66. #23 0x00007faf852f73c2 llvm::isa_impl_wrap<clang::CXXRecordDecl, clang::RecordDecl const* const, clang::RecordDecl const*>::doit(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
  67. #24 0x00007faf852f73c2 llvm::CastIsPossible<clang::CXXRecordDecl, clang::RecordDecl const*, void>::isPossible(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
  68. #25 0x00007faf852f73c2 llvm::CastInfo<clang::CXXRecordDecl, clang::RecordDecl const* const, void>::isPossible(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:510:12
  69. #26 0x00007faf852f73c2 bool llvm::isa<clang::CXXRecordDecl, clang::RecordDecl const*>(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:549:10
  70. #27 0x00007faf852f73c2 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:885:7
  71. #28 0x00007faf85075784 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:885:3
  72. #29 0x00007faf8507576f clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:0:7
  73. #30 0x00007faf850741ba clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:99:19
  74. #31 0x00007faf852fb5a2 (anonymous namespace)::CGRecordLowering::getStorageType(clang::FieldDecl const*) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:148:30
  75. #32 0x00007faf852f8a70 clang::Decl::getKind() const /home/werat/src/llvm-project/clang/include/clang/AST/DeclBase.h:435:51
  76. #33 0x00007faf852f8a70 clang::FieldDecl::classof(clang::Decl const*) /home/werat/src/llvm-project/clang/include/clang/AST/Decl.h:3085:62
  77. #34 0x00007faf852f8a70 llvm::isa_impl<clang::FieldDecl, clang::Decl, void>::doit(clang::Decl const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:64:53
  78. #35 0x00007faf852f8a70 llvm::isa_impl_cl<clang::FieldDecl, clang::Decl const*>::doit(clang::Decl const*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:110:12
  79. #36 0x00007faf852f8a70 llvm::isa_impl_wrap<clang::FieldDecl, clang::Decl const*, clang::Decl const*>::doit(clang::Decl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
  80. #37 0x00007faf852f8a70 llvm::isa_impl_wrap<clang::FieldDecl, clang::Decl const* const, clang::Decl const*>::doit(clang::Decl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
  81. #38 0x00007faf852f8a70 llvm::CastIsPossible<clang::FieldDecl, clang::Decl const*, void>::isPossible(clang::Decl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
  82. #39 0x00007faf852f8a70 llvm::CastInfo<clang::FieldDecl, clang::Decl* const, void>::isPossible(clang::Decl* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:510:12
  83. #40 0x00007faf852f8a70 bool llvm::isa<clang::FieldDecl, clang::Decl*>(clang::Decl* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:549:10
  84. #41 0x00007faf852f8a70 decltype(auto) llvm::cast<clang::FieldDecl, clang::Decl>(clang::Decl*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:578:3
  85. #42 0x00007faf852f8a70 clang::DeclContext::specific_decl_iterator<clang::FieldDecl>::operator*() const /home/werat/src/llvm-project/clang/include/clang/AST/DeclBase.h:2225:43
  86. #43 0x00007faf852f8a70 (anonymous namespace)::CGRecordLowering::accumulateFields() /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:384:35
  87. #44 0x00007faf852f8a70 (anonymous namespace)::CGRecordLowering::lower(bool) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:287:3
  88. #45 0x00007faf852f73c2 clang::Decl::getKind() const /home/werat/src/llvm-project/clang/include/clang/AST/DeclBase.h:435:51
  89. #46 0x00007faf852f73c2 clang::CXXRecordDecl::classof(clang::Decl const*) /home/werat/src/llvm-project/clang/include/clang/AST/DeclCXX.h:1821:62
  90. #47 0x00007faf852f73c2 llvm::isa_impl<clang::CXXRecordDecl, clang::RecordDecl, void>::doit(clang::RecordDecl const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:64:53
  91. #48 0x00007faf852f73c2 llvm::isa_impl_cl<clang::CXXRecordDecl, clang::RecordDecl const*>::doit(clang::RecordDecl const*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:110:12
  92. #49 0x00007faf852f73c2 llvm::isa_impl_wrap<clang::CXXRecordDecl, clang::RecordDecl const*, clang::RecordDecl const*>::doit(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
  93. #50 0x00007faf852f73c2 llvm::isa_impl_wrap<clang::CXXRecordDecl, clang::RecordDecl const* const, clang::RecordDecl const*>::doit(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
  94. #51 0x00007faf852f73c2 llvm::CastIsPossible<clang::CXXRecordDecl, clang::RecordDecl const*, void>::isPossible(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
  95. #52 0x00007faf852f73c2 llvm::CastInfo<clang::CXXRecordDecl, clang::RecordDecl const* const, void>::isPossible(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:510:12
  96. #53 0x00007faf852f73c2 bool llvm::isa<clang::CXXRecordDecl, clang::RecordDecl const*>(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:549:10
  97. #54 0x00007faf852f73c2 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:885:7
  98. #55 0x00007faf85075784 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:885:3
  99. #56 0x00007faf8507576f clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:0:7
  100. #57 0x00007faf850741ba clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:99:19
  101. #58 0x00007faf852fb5a2 (anonymous namespace)::CGRecordLowering::getStorageType(clang::FieldDecl const*) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:148:30
  102. #59 0x00007faf852f8a70 clang::Decl::getKind() const /home/werat/src/llvm-project/clang/include/clang/AST/DeclBase.h:435:51
  103. #60 0x00007faf852f8a70 clang::FieldDecl::classof(clang::Decl const*) /home/werat/src/llvm-project/clang/include/clang/AST/Decl.h:3085:62
  104. #61 0x00007faf852f8a70 llvm::isa_impl<clang::FieldDecl, clang::Decl, void>::doit(clang::Decl const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:64:53
  105. #62 0x00007faf852f8a70 llvm::isa_impl_cl<clang::FieldDecl, clang::Decl const*>::doit(clang::Decl const*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:110:12
  106. #63 0x00007faf852f8a70 llvm::isa_impl_wrap<clang::FieldDecl, clang::Decl const*, clang::Decl const*>::doit(clang::Decl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
  107. #64 0x00007faf852f8a70 llvm::isa_impl_wrap<clang::FieldDecl, clang::Decl const* const, clang::Decl const*>::doit(clang::Decl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
  108. #65 0x00007faf852f8a70 llvm::CastIsPossible<clang::FieldDecl, clang::Decl const*, void>::isPossible(clang::Decl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
  109. #66 0x00007faf852f8a70 llvm::CastInfo<clang::FieldDecl, clang::Decl* const, void>::isPossible(clang::Decl* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:510:12
  110. #67 0x00007faf852f8a70 bool llvm::isa<clang::FieldDecl, clang::Decl*>(clang::Decl* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:549:10
  111. #68 0x00007faf852f8a70 decltype(auto) llvm::cast<clang::FieldDecl, clang::Decl>(clang::Decl*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:578:3
  112. #69 0x00007faf852f8a70 clang::DeclContext::specific_decl_iterator<clang::FieldDecl>::operator*() const /home/werat/src/llvm-project/clang/include/clang/AST/DeclBase.h:2225:43
  113. #70 0x00007faf852f8a70 (anonymous namespace)::CGRecordLowering::accumulateFields() /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:384:35
  114. #71 0x00007faf852f8a70 (anonymous namespace)::CGRecordLowering::lower(bool) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:287:3
  115. #72 0x00007faf852f73c2 clang::Decl::getKind() const /home/werat/src/llvm-project/clang/include/clang/AST/DeclBase.h:435:51
  116. #73 0x00007faf852f73c2 clang::CXXRecordDecl::classof(clang::Decl const*) /home/werat/src/llvm-project/clang/include/clang/AST/DeclCXX.h:1821:62
  117. #74 0x00007faf852f73c2 llvm::isa_impl<clang::CXXRecordDecl, clang::RecordDecl, void>::doit(clang::RecordDecl const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:64:53
  118. #75 0x00007faf852f73c2 llvm::isa_impl_cl<clang::CXXRecordDecl, clang::RecordDecl const*>::doit(clang::RecordDecl const*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:110:12
  119. #76 0x00007faf852f73c2 llvm::isa_impl_wrap<clang::CXXRecordDecl, clang::RecordDecl const*, clang::RecordDecl const*>::doit(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
  120. #77 0x00007faf852f73c2 llvm::isa_impl_wrap<clang::CXXRecordDecl, clang::RecordDecl const* const, clang::RecordDecl const*>::doit(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
  121. #78 0x00007faf852f73c2 llvm::CastIsPossible<clang::CXXRecordDecl, clang::RecordDecl const*, void>::isPossible(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
  122. #79 0x00007faf852f73c2 llvm::CastInfo<clang::CXXRecordDecl, clang::RecordDecl const* const, void>::isPossible(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:510:12
  123. #80 0x00007faf852f73c2 bool llvm::isa<clang::CXXRecordDecl, clang::RecordDecl const*>(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:549:10
  124. #81 0x00007faf852f73c2 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:885:7
  125. #82 0x00007faf85075784 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:885:3
  126. #83 0x00007faf850741ba clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:99:19
  127. #84 0x00007faf852fb5a2 (anonymous namespace)::CGRecordLowering::getStorageType(clang::FieldDecl const*) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:148:30
  128. #85 0x00007faf852f8a70 clang::Decl::getKind() const /home/werat/src/llvm-project/clang/include/clang/AST/DeclBase.h:435:51
  129. #86 0x00007faf852f8a70 clang::FieldDecl::classof(clang::Decl const*) /home/werat/src/llvm-project/clang/include/clang/AST/Decl.h:3085:62
  130. #87 0x00007faf852f8a70 llvm::isa_impl<clang::FieldDecl, clang::Decl, void>::doit(clang::Decl const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:64:53
  131. #88 0x00007faf852f8a70 llvm::isa_impl_cl<clang::FieldDecl, clang::Decl const*>::doit(clang::Decl const*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:110:12
  132. #89 0x00007faf852f8a70 llvm::isa_impl_wrap<clang::FieldDecl, clang::Decl const*, clang::Decl const*>::doit(clang::Decl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
  133. #90 0x00007faf852f8a70 llvm::isa_impl_wrap<clang::FieldDecl, clang::Decl const* const, clang::Decl const*>::doit(clang::Decl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
  134. #91 0x00007faf852f8a70 llvm::CastIsPossible<clang::FieldDecl, clang::Decl const*, void>::isPossible(clang::Decl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
  135. #92 0x00007faf852f8a70 llvm::CastInfo<clang::FieldDecl, clang::Decl* const, void>::isPossible(clang::Decl* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:510:12
  136. #93 0x00007faf852f8a70 bool llvm::isa<clang::FieldDecl, clang::Decl*>(clang::Decl* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:549:10
  137. #94 0x00007faf852f8a70 decltype(auto) llvm::cast<clang::FieldDecl, clang::Decl>(clang::Decl*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:578:3
  138. #95 0x00007faf852f8a70 clang::DeclContext::specific_decl_iterator<clang::FieldDecl>::operator*() const /home/werat/src/llvm-project/clang/include/clang/AST/DeclBase.h:2225:43
  139. #96 0x00007faf852f8a70 (anonymous namespace)::CGRecordLowering::accumulateFields() /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:384:35
  140. #97 0x00007faf852f8a70 (anonymous namespace)::CGRecordLowering::lower(bool) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:287:3
  141. #98 0x00007faf852f73c2 clang::Decl::getKind() const /home/werat/src/llvm-project/clang/include/clang/AST/DeclBase.h:435:51
  142. #99 0x00007faf852f73c2 clang::CXXRecordDecl::classof(clang::Decl const*) /home/werat/src/llvm-project/clang/include/clang/AST/DeclCXX.h:1821:62
  143. #100 0x00007faf852f73c2 llvm::isa_impl<clang::CXXRecordDecl, clang::RecordDecl, void>::doit(clang::RecordDecl const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:64:53
  144. #101 0x00007faf852f73c2 llvm::isa_impl_cl<clang::CXXRecordDecl, clang::RecordDecl const*>::doit(clang::RecordDecl const*) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:110:12
  145. #102 0x00007faf852f73c2 llvm::isa_impl_wrap<clang::CXXRecordDecl, clang::RecordDecl const*, clang::RecordDecl const*>::doit(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
  146. #103 0x00007faf852f73c2 llvm::isa_impl_wrap<clang::CXXRecordDecl, clang::RecordDecl const* const, clang::RecordDecl const*>::doit(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
  147. #104 0x00007faf852f73c2 llvm::CastIsPossible<clang::CXXRecordDecl, clang::RecordDecl const*, void>::isPossible(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
  148. #105 0x00007faf852f73c2 llvm::CastInfo<clang::CXXRecordDecl, clang::RecordDecl const* const, void>::isPossible(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:510:12
  149. #106 0x00007faf852f73c2 bool llvm::isa<clang::CXXRecordDecl, clang::RecordDecl const*>(clang::RecordDecl const* const&) /home/werat/src/llvm-project/llvm/include/llvm/Support/Casting.h:549:10
  150. #107 0x00007faf852f73c2 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) /home/werat/src/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:885:7
  151. #108 0x00007faf85075784 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:885:3
  152. #109 0x00007faf850741ba clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:99:19
  153. #110 0x00007faf8507491c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:665:31
  154. #111 0x00007faf85481c60 (anonymous namespace)::X86_64ABIInfo::classifyArgumentType(clang::QualType, unsigned int, unsigned int&, unsigned int&, bool, bool) const /home/werat/src/llvm-project/clang/lib/CodeGen/TargetInfo.cpp:3797:15
  155. #112 0x00007faf8547f8ab (anonymous namespace)::X86_64ABIInfo::computeInfo(clang::CodeGen::CGFunctionInfo&) const /home/werat/src/llvm-project/clang/lib/CodeGen/TargetInfo.cpp:4010:18
  156. #113 0x00007faf8504fb84 clang::CodeGen::ABIArgInfo::isDirect() const /home/werat/src/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h:296:34
  157. #114 0x00007faf8504fb84 clang::CodeGen::ABIArgInfo::canHaveCoerceToType() const /home/werat/src/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h:306:12
  158. #115 0x00007faf8504fb84 clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(clang::CanQual<clang::Type>, bool, bool, llvm::ArrayRef<clang::CanQual<clang::Type>>, clang::FunctionType::ExtInfo, llvm::ArrayRef<clang::FunctionType::ExtParameterInfo>, clang::CodeGen::RequiredArgs) /home/werat/src/llvm-project/clang/lib/CodeGen/CGCall.cpp:796:15
  159. #116 0x00007faf8504ff1f arrangeLLVMFunctionInfo(clang::CodeGen::CodeGenTypes&, bool, llvm::SmallVectorImpl<clang::CanQual<clang::Type>>&, clang::CanQual<clang::FunctionProtoType>) /home/werat/src/llvm-project/clang/lib/CodeGen/CGCall.cpp:191:14
  160. #117 0x00007faf850500b4 clang::CodeGen::CodeGenTypes::arrangeCXXMethodType(clang::CXXRecordDecl const*, clang::FunctionProtoType const*, clang::CXXMethodDecl const*) /home/werat/src/llvm-project/clang/lib/CodeGen/CGCall.cpp:272:10
  161. #118 0x00007faf84ff726c clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:5293:39
  162. #119 0x00007faf84ff056f clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:0:9
  163. #120 0x00007faf84ff45da clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:0:5
  164. #121 0x00007faf84fef286 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) /home/werat/src/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:6181:5
  165. #122 0x00007faf84fdcedf (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) /home/werat/src/llvm-project/clang/lib/CodeGen/ModuleBuilder.cpp:188:73
  166. #123 0x00007faf84f1cb86 lldb_private::ASTResultSynthesizer::HandleTopLevelDecl(clang::DeclGroupRef) /home/werat/src/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp:0:27
  167. #124 0x00007faf85b23c89 clang::ParseAST(clang::Sema&, bool, bool) /home/werat/src/llvm-project/clang/lib/Parse/ParseAST.cpp:166:11
  168. #125 0x00007faf84ee7d8b llvm::CrashRecoveryContextCleanupRegistrar<clang::Sema, llvm::CrashRecoveryContextDeleteCleanup<clang::Sema>>::unregister() /home/werat/src/llvm-project/llvm/include/llvm/Support/CrashRecoveryContext.h:265:9
  169. #126 0x00007faf84ee7d8b llvm::CrashRecoveryContextCleanupRegistrar<clang::Sema, llvm::CrashRecoveryContextDeleteCleanup<clang::Sema>>::~CrashRecoveryContextCleanupRegistrar() /home/werat/src/llvm-project/llvm/include/llvm/Support/CrashRecoveryContext.h:262:45
  170. #127 0x00007faf84ee7d8b lldb_private::ClangExpressionParser::ParseInternal(lldb_private::DiagnosticManager&, clang::CodeCompleteConsumer*, unsigned int, unsigned int) /home/werat/src/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp:1177:3
  171. #128 0x00007faf84f181b8 lldb_private::ClangUserExpression::TryParse(lldb_private::DiagnosticManager&, lldb_private::ExecutionContextScope*, lldb_private::ExecutionContext&, lldb_private::ExecutionPolicy, bool, bool) /home/werat/src/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp:584:7
  172. #129 0x00007faf84f188e8 lldb_private::ClangUserExpression::Parse(lldb_private::DiagnosticManager&, lldb_private::ExecutionContext&, lldb_private::ExecutionPolicy, bool, bool) /home/werat/src/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp:684:22
  173. #130 0x00007faf8419b937 lldb_private::UserExpression::Evaluate(lldb_private::ExecutionContext&, lldb_private::EvaluateExpressionOptions const&, llvm::StringRef, llvm::StringRef, std::shared_ptr<lldb_private::ValueObject>&, lldb_private::Status&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, lldb_private::ValueObject*) /home/werat/src/llvm-project/lldb/source/Expression/UserExpression.cpp:271:27
  174. #131 0x00007faf842c5759 lldb_private::Target::EvaluateExpression(llvm::StringRef, lldb_private::ExecutionContextScope*, std::shared_ptr<lldb_private::ValueObject>&, lldb_private::EvaluateExpressionOptions const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, lldb_private::ValueObject*) /home/werat/src/llvm-project/lldb/source/Target/Target.cpp:2521:25
  175. #132 0x00007faf84e024cf lldb_private::CommandObjectExpression::EvaluateExpression(llvm::StringRef, lldb_private::Stream&, lldb_private::Stream&, lldb_private::CommandReturnObject&) /home/werat/src/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:402:38
  176. #133 0x00007faf84e032c1 lldb_private::CommandObjectExpression::DoExecute(llvm::StringRef, lldb_private::CommandReturnObject&) /home/werat/src/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:626:7
  177. #134 0x00007faf841df8e4 lldb_private::CommandObjectRaw::Execute(char const*, lldb_private::CommandReturnObject&) /home/werat/src/llvm-project/lldb/source/Interpreter/CommandObject.cpp:769:17
  178. #135 0x00007faf841d19e6 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_data() const /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/basic_string.h:234:28
  179. #136 0x00007faf841d19e6 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_is_local() const /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/basic_string.h:274:16
  180. #137 0x00007faf841d19e6 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_dispose() /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/basic_string.h:285:7
  181. #138 0x00007faf841d19e6 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::~basic_string() /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/basic_string.h:795:9
  182. #139 0x00007faf841d19e6 lldb_private::CommandInterpreter::HandleCommand(char const*, lldb_private::LazyBool, lldb_private::CommandReturnObject&) /home/werat/src/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:1989:3
  183. #140 0x00007faf841d532d lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) /home/werat/src/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:3065:15
  184. #141 0x00007faf841234ca lldb_private::IOHandlerEditline::Run() /home/werat/src/llvm-project/lldb/source/Core/IOHandler.cpp:0:22
  185. #142 0x00007faf84103f34 __gthread_mutex_lock(pthread_mutex_t*) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/gthr-default.h:748:7
  186. #143 0x00007faf84103f34 __gthread_recursive_mutex_lock(pthread_mutex_t*) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/gthr-default.h:811:10
  187. #144 0x00007faf84103f34 std::recursive_mutex::lock() /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/mutex:108:17
  188. #145 0x00007faf84103f34 std::lock_guard<std::recursive_mutex>::lock_guard(std::recursive_mutex&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_mutex.h:229:19
  189. #146 0x00007faf84103f34 lldb_private::Debugger::RunIOHandlers() /home/werat/src/llvm-project/lldb/source/Core/Debugger.cpp:1026:45
  190. #147 0x00007faf841d6bbf lldb_private::CommandInterpreterRunOptions::DefaultToYes(lldb_private::LazyBool) /home/werat/src/llvm-project/lldb/include/lldb/Interpreter/CommandInterpreter.h:196:5
  191. #148 0x00007faf841d6bbf lldb_private::CommandInterpreterRunOptions::GetAutoHandleEvents() const /home/werat/src/llvm-project/lldb/include/lldb/Interpreter/CommandInterpreter.h:170:12
  192. #149 0x00007faf841d6bbf lldb_private::CommandInterpreter::RunCommandInterpreter(lldb_private::CommandInterpreterRunOptions&) /home/werat/src/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:3314:17
  193. #150 0x00007faf83f431c1 lldb::SBDebugger::RunCommandInterpreter(bool, bool) /home/werat/src/llvm-project/lldb/source/API/SBDebugger.cpp:0:42
  194. #151 0x0000556de819ac2a reset_stdin_termios() /home/werat/src/llvm-project/lldb/tools/driver/Driver.cpp:96:7
  195. #152 0x0000556de819ac2a Driver::MainLoop() /home/werat/src/llvm-project/lldb/tools/driver/Driver.cpp:638:3
  196. #153 0x0000556de819b953 main /home/werat/src/llvm-project/lldb/tools/driver/Driver.cpp:851:26
  197. #154 0x00007faf817bb81d __libc_start_main ./csu/../csu/libc-start.c:332:16
  198. #155 0x0000556de8197dea _start (/home/werat/src/llvm-project/build_optdebug/bin/lldb+0x15dea)
  199. zsh: IOT instruction ~/src/llvm-project/build_optdebug/bin/lldb -- -cc1 -x c++ ~/tmp/main.cc
Add Comment
Please, Sign In to add comment