[flang-commits] [flang] [flang] Initial debug info support for local variables. (PR #90905)

Steve Scalpone via flang-commits flang-commits at lists.llvm.org
Wed May 15 09:50:28 PDT 2024


sscalpone wrote:

@abidh @psteinfeld 

I am seeing an assertion that I believe is related to this commit.

File 90905.f90
```
module mm
private
public:: ff
contains
  subroutine ff()
  implicit none
    real(8):: x
    return
  end subroutine ff
end module
```
```
% flang-new -gline-tables-only -c 90905.f90
flang-new: /proj/build/llvm/Linux_x86_64/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:2303: virtual void llvm::DwarfDebug::endFunctionImpl(const llvm::MachineFunction*): Assertion `InfoHolder.getScopeVariables().empty()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new -fc1 -triple x86_64-unknown-linux-gnu -emit-obj -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -debug-info-kind=line-tables-only -resource-dir /proj/nv/llvm/Linux_x86_64/llvm-2887/bin/.. -mframe-pointer=all -o 90905.o -x f95-cpp-input 90905.f90
1.      Running pass 'Function Pass Manager' on module 'FIRModule'.
2.      Running pass 'X86 Assembly Printer' on function '@_QMmmPff'
 #0 0x0000556cf4b9d81b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x259d81b)
 #1 0x0000556cf4b9ad74 SignalHandler(int) Signals.cpp:0:0
 #2 0x000014ddbe054db0 __restore_rt (/lib64/libc.so.6+0x54db0)
 #3 0x000014ddbe0a154c __pthread_kill_implementation (/lib64/libc.so.6+0xa154c)
 #4 0x000014ddbe054d06 gsignal (/lib64/libc.so.6+0x54d06)
 #5 0x000014ddbe0287f3 abort (/lib64/libc.so.6+0x287f3)
 #6 0x000014ddbe02871b _nl_load_domain.cold (/lib64/libc.so.6+0x2871b)
 #7 0x000014ddbe04dca6 (/lib64/libc.so.6+0x4dca6)
 #8 0x0000556cf6cf8357 llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction const*) (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x46f8357)
 #9 0x0000556cf6d548a6 llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*) (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x47548a6)
#10 0x0000556cf6cbbe91 llvm::AsmPrinter::emitFunctionBody() (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x46bbe91)
#11 0x0000556cf46b6821 llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x20b6821)
#12 0x0000556cf7b9d931 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#13 0x0000556cf96f92ab llvm::FPPassManager::runOnFunction(llvm::Function&) (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x70f92ab)
#14 0x0000556cf96f94f1 llvm::FPPassManager::runOnModule(llvm::Module&) (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x70f94f1)
#15 0x0000556cf96f9d95 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x70f9d95)
#16 0x0000556cf4ffee13 Fortran::frontend::CodeGenAction::executeAction() (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x29fee13)
#17 0x0000556cf4bda07d Fortran::frontend::FrontendAction::execute() (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x25da07d)
#18 0x0000556cf4bc9deb Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x25c9deb)
#19 0x0000556cf4be0045 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x25e0045)
#20 0x0000556cf45ea828 fc1_main(llvm::ArrayRef<char const*>, char const*) (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x1fea828)
#21 0x0000556cf451ba8e main (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x1f1ba8e)
#22 0x000014ddbe03feb0 __libc_start_call_main (/lib64/libc.so.6+0x3feb0)
#23 0x000014ddbe03ff60 __libc_start_main at GLIBC_2.2.5 (/lib64/libc.so.6+0x3ff60)
#24 0x0000556cf45e954e _start (/proj/nv/llvm/Linux_x86_64/llvm-2887/bin/flang-new+0x1fe954e)
flang-new: error: unable to execute command: Aborted (core dumped)
flang-new: error: flang frontend command failed due to signal (use -v to see invocation)
flang-new version 19.0.0git (/proj/build/llvm/Linux_x86_64/clang dcf3102be8458fe7588f9d11315beddfca4323b0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /proj/nv/llvm/Linux_x86_64/llvm-2887/bin
Build config: +assertions
flang-new: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
flang-new: note: diagnostic msg: /tmp/90905-da4491
flang-new: note: diagnostic msg: /tmp/90905-da4491.sh
flang-new: note: diagnostic msg:

********************
```

https://github.com/llvm/llvm-project/pull/90905


More information about the flang-commits mailing list