[PATCH] D70524: Support DebugInfo generation for auto return type for C++ functions.

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 13 02:16:26 PST 2020


sammccall added a comment.

In D70524#1816492 <https://reviews.llvm.org/D70524#1816492>, @sammccall wrote:

> Following crashes for me with `clang++ -g2`:


This crashes at 6d6a4590c5d4 <https://reviews.llvm.org/rG6d6a4590c5d4c7fc7445d72fe685f966b0a8cafb> but not at c958639098a8 <https://reviews.llvm.org/rGc958639098a8702b831952b1a1a677ae19190a55>. Reverted in e45fcfc3aa57bb237fd4fd694d0c257be66d5482 <https://reviews.llvm.org/rGe45fcfc3aa57bb237fd4fd694d0c257be66d5482>, up to you whether the prev patch should be reverted too.

Stack trace:

  1.	<eof> parser at end of file
  2.	Code generation
   #0 0x000000000263ea84 PrintStackTrace /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/Support/Unix/Signals.inc:564:13
   #1 0x000000000263ea84 PrintStackTraceSignalHandler(void*) /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/Support/Unix/Signals.inc:624:0
   #2 0x000000000263c61e llvm::sys::RunSignalHandlers() /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/Support/Signals.cpp:69:18
   #3 0x000000000263ee9c SignalHandler(int) /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/Support/Unix/Signals.inc:396:3
   #4 0x00007fc9c4fad3a0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x123a0)
   #5 0x00007fc9c424ecfb raise (/lib/x86_64-linux-gnu/libc.so.6+0x36cfb)
   #6 0x00007fc9c42398ad abort (/lib/x86_64-linux-gnu/libc.so.6+0x218ad)
   #7 0x00007fc9c423977f (/lib/x86_64-linux-gnu/libc.so.6+0x2177f)
   #8 0x00007fc9c4247542 (/lib/x86_64-linux-gnu/libc.so.6+0x2f542)
   #9 0x00000000030c08a6 (/usr/local/google/home/sammccall/llvmbuild-mono/bin/clang-10+0x30c08a6)
  #10 0x00000000030c5b7e llvm::DwarfUnit::applySubprogramDefinitionAttributes(llvm::DISubprogram const*, llvm::DIE&) /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:1176:15
  #11 0x00000000030c4e46 llvm::DwarfUnit::applySubprogramAttributes(llvm::DISubprogram const*, llvm::DIE&, bool) /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:1221:9
  #12 0x0000000003106a0f getOperand /usr/local/google/home/sammccall/src/llvm-mono/llvm/include/llvm/IR/Metadata.h:1078:5
  #13 0x0000000003106a0f getOperandAs<llvm::MDString> /usr/local/google/home/sammccall/src/llvm-mono/llvm/include/llvm/IR/DebugInfoMetadata.h:132:0
  #14 0x0000000003106a0f getStringOperand /usr/local/google/home/sammccall/src/llvm-mono/llvm/include/llvm/IR/DebugInfoMetadata.h:136:0
  #15 0x0000000003106a0f getName /usr/local/google/home/sammccall/src/llvm-mono/llvm/include/llvm/IR/DebugInfoMetadata.h:1793:0
  #16 0x0000000003106a0f llvm::DwarfCompileUnit::applySubprogramAttributesToDefinition(llvm::DISubprogram const*, llvm::DIE&) /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1299:0
  #17 0x00000000030a01d2 getSkeleton /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h:116:12
  #18 0x00000000030a01d2 forBothCUs<(lambda at /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:1090:9)> /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:509:0
  #19 0x00000000030a01d2 llvm::DwarfDebug::finishSubprogramDefinitions() /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:1088:0
  #20 0x00000000030a029a llvm::DwarfDebug::finalizeModuleInfo() /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:1099:3
  #21 0x00000000030a0978 llvm::DwarfDebug::endModule() /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:1238:3
  #22 0x0000000003084da3 ~TimeRegion /usr/local/google/home/sammccall/src/llvm-mono/llvm/include/llvm/Support/Timer.h:152:9
  #23 0x0000000003084da3 llvm::AsmPrinter::doFinalization(llvm::Module&) /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1485:0
  #24 0x0000000001fc9fa5 llvm::FPPassManager::doFinalization(llvm::Module&) /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/IR/LegacyPassManager.cpp:1535:13
  #25 0x0000000001fca5f6 runOnModule /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/IR/LegacyPassManager.cpp:1611:41
  #26 0x0000000001fca5f6 llvm::legacy::PassManagerImpl::run(llvm::Module&) /usr/local/google/home/sammccall/src/llvm-mono/llvm/lib/IR/LegacyPassManager.cpp:1694:0
  #27 0x0000000002824eb9 ~TimeTraceScope /usr/local/google/home/sammccall/src/llvm-mono/llvm/include/llvm/Support/TimeProfiler.h:74:35
  #28 0x0000000002824eb9 EmitAssembly /usr/local/google/home/sammccall/src/llvm-mono/clang/lib/CodeGen/BackendUtil.cpp:912:0
  #29 0x0000000002824eb9 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) /usr/local/google/home/sammccall/src/llvm-mono/clang/lib/CodeGen/BackendUtil.cpp:1549:0
  #30 0x00000000033d5b45 ~unique_ptr /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/unique_ptr.h:273:6
  #31 0x00000000033d5b45 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /usr/local/google/home/sammccall/src/llvm-mono/clang/lib/CodeGen/CodeGenAction.cpp:312:0
  #32 0x0000000003cc13f3 __normal_iterator /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_iterator.h:784:20
  #33 0x0000000003cc13f3 begin /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_vector.h:699:0
  #34 0x0000000003cc13f3 finalize<std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> >, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> > > > > /usr/local/google/home/sammccall/src/llvm-mono/clang/include/clang/Sema/TemplateInstCallback.h:54:0
  #35 0x0000000003cc13f3 clang::ParseAST(clang::Sema&, bool, bool) /usr/local/google/home/sammccall/src/llvm-mono/clang/lib/Parse/ParseAST.cpp:178:0
  #36 0x0000000002dcdb50 clang::FrontendAction::Execute() /usr/local/google/home/sammccall/src/llvm-mono/clang/lib/Frontend/FrontendAction.cpp:940:10
  #37 0x0000000002d66974 getPtr /usr/local/google/home/sammccall/src/llvm-mono/llvm/include/llvm/Support/Error.h:273:42
  #38 0x0000000002d66974 operator bool /usr/local/google/home/sammccall/src/llvm-mono/llvm/include/llvm/Support/Error.h:236:0
  #39 0x0000000002d66974 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/local/google/home/sammccall/src/llvm-mono/clang/lib/Frontend/CompilerInstance.cpp:965:0
  #40 0x0000000002e7d21f clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/local/google/home/sammccall/src/llvm-mono/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:290:25
  #41 0x0000000000a353fb cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/local/google/home/sammccall/src/llvm-mono/clang/tools/driver/cc1_main.cpp:239:15
  #42 0x0000000000a33007 ExecuteCC1Tool /usr/local/google/home/sammccall/src/llvm-mono/clang/tools/driver/driver.cpp:309:12
  #43 0x0000000000a33007 main /usr/local/google/home/sammccall/src/llvm-mono/clang/tools/driver/driver.cpp:382:0
  #44 0x00007fc9c423b52b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2352b)
  #45 0x0000000000a3025a _start (/usr/local/google/home/sammccall/llvmbuild-mono/bin/clang-10+0xa3025a)
  clang-10: error: unable to execute command: Aborted
  clang-10: error: clang frontend command failed due to signal (use -v to see invocation)
  clang version 10.0.0 (git at github.com:llvm/llvm-project.git 6d6a4590c5d4c7fc7445d72fe685f966b0a8cafb)
  Target: x86_64-unknown-linux-gnu
  Thread model: posix


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70524





More information about the cfe-commits mailing list