Issue 208825
Summary flang crashes with CHECK(IsNumericTypeCategory(dyType.category())) failure on procedure-pointer initialization to intrinsic LLT
Labels flang
Assignees
Reporter YuanchengJiang
    The following code:

```fortran
program main
  u => llt
end program main
```

Resulted in this output:
```
fatal internal error: CHECK(common::IsNumericTypeCategory(dyType.category())) failed at flang/lib/Semantics/resolve-names.cpp(7376)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0.	Program arguments: /usr/lib/llvm-22/bin/flang -fc1 -triple x86_64-pc-linux-gnu -S -ffree-form -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -vectorize-loops -vectorize-slp -resource-dir /usr/lib/llvm-22/lib/clang/22 -mframe-pointer=none -O2 -o /dev/null -x f95 /tmp/test.f90
 #0 0x00007f1212866d5f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-22/lib/libLLVM.so.22.1+0x4dc7d5f)
 #1 0x00007f12128645d7 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-22/lib/libLLVM.so.22.1+0x4dc55d7)
 #2 0x00007f1212867b2a (/usr/lib/llvm-22/lib/libLLVM.so.22.1+0x4dc8b2a)
 #3 0x00007f120d53b330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
 #4 0x00007f120d594b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
 #5 0x00007f120d53b27e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
 #6 0x00007f120d51e8ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
 #7 0x0000556f549a961c (/usr/lib/llvm-22/bin/flang+0x2b2061c)
 #8 0x0000556f53205d1a Fortran::semantics::DeclarationVisitor::HandleUnrestrictedSpecificIntrinsicFunction(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x137cd1a)
 #9 0x0000556f53200bdd Fortran::semantics::DeclarationVisitor::Pre(Fortran::parser::ProcPointerInit const&) (/usr/lib/llvm-22/bin/flang+0x1377bdd)
#10 0x0000556f5325171a (/usr/lib/llvm-22/bin/flang+0x13c871a)
#11 0x0000556f53251575 (/usr/lib/llvm-22/bin/flang+0x13c8575)
#12 0x0000556f53250702 (/usr/lib/llvm-22/bin/flang+0x13c7702)
#13 0x0000556f532502f3 (/usr/lib/llvm-22/bin/flang+0x13c72f3)
#14 0x0000556f53211318 Fortran::semantics::ResolveNamesVisitor::Pre(Fortran::parser::SpecificationPart const&) (/usr/lib/llvm-22/bin/flang+0x1388318)
#15 0x0000556f53214b14 Fortran::semantics::ResolveNamesVisitor::ResolveSpecificationParts(Fortran::semantics::ProgramTree&) (/usr/lib/llvm-22/bin/flang+0x138bb14)
#16 0x0000556f53214989 Fortran::semantics::ResolveNamesVisitor::Pre(Fortran::parser::ProgramUnit const&) (/usr/lib/llvm-22/bin/flang+0x138b989)
#17 0x0000556f53263dd8 (/usr/lib/llvm-22/bin/flang+0x13dadd8)
#18 0x0000556f53216b33 Fortran::semantics::ResolveNames(Fortran::semantics::SemanticsContext&, Fortran::parser::Program const&, Fortran::semantics::Scope&) (/usr/lib/llvm-22/bin/flang+0x138db33)
#19 0x0000556f5330400f Fortran::semantics::Semantics::Perform() (/usr/lib/llvm-22/bin/flang+0x147b00f)
#20 0x0000556f52a5391e Fortran::frontend::FrontendAction::runSemanticChecks() (/usr/lib/llvm-22/bin/flang+0xbca91e)
#21 0x0000556f52a587da Fortran::frontend::CodeGenAction::beginSourceFileAction() (/usr/lib/llvm-22/bin/flang+0xbcf7da)
#22 0x0000556f52a52f9e Fortran::frontend::FrontendAction::beginSourceFile(Fortran::frontend::CompilerInstance&, Fortran::frontend::FrontendInputFile const&) (/usr/lib/llvm-22/bin/flang+0xbc9f9e)
#23 0x0000556f52a3ae7f Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/usr/lib/llvm-22/bin/flang+0xbb1e7f)
#24 0x0000556f52a57ba0 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/usr/lib/llvm-22/bin/flang+0xbceba0)
#25 0x0000556f52a38d34 fc1_main(llvm::ArrayRef<char const*>, char const*) (/usr/lib/llvm-22/bin/flang+0xbafd34)
#26 0x0000556f52a37fa4 main (/usr/lib/llvm-22/bin/flang+0xbaefa4)
#27 0x00007f120d5201ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
#28 0x00007f120d52028b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
#29 0x0000556f52a36f45 _start (/usr/lib/llvm-22/bin/flang+0xbadf45)
flang-22: error: unable to execute command: Aborted (core dumped)
flang-22: error: flang frontend command failed due to signal (use -v to see invocation)
Ubuntu flang version 22.1.8 (++20260613092238+e80beda6e255-1~exp1~20260613092253.78)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-22/bin
flang-22: note: diagnostic msg: 
********************

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

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

To reproduce:
```
flang ./test.f90
```

Compiler version:
```
Ubuntu flang version 22.1.8 (++20260613092238+e80beda6e255-1~exp1~20260613092253.78)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-22/bin
```

*This bug was found by [fusion-fuzz](https://github.com/fusion-fuzz/fusion-fuzz)*
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to