Issue 208821
Summary [flang][Sema] Segfault in DeclRefExpr::getDecl via diagnoseUseOfInternalDeclInInlineFunction during instantiation of consteval function calling consteval lambda
Labels flang
Assignees
Reporter YuanchengJiang
    The following code:

```fortran
character(f1) function f1()
end
```

Resulted in this output:
```
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 0x00007f071bc78d5f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-22/lib/libLLVM.so.22.1+0x4dc7d5f)
  #1 0x00007f071bc765d7 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-22/lib/libLLVM.so.22.1+0x4dc55d7)
  #2 0x00007f071bc79b2a (/usr/lib/llvm-22/lib/libLLVM.so.22.1+0x4dc8b2a)
  #3 0x00007f071694d330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
  #4 0x0000558b076d14cc (/usr/lib/llvm-22/bin/flang+0x13af4cc)
  #5 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
  #6 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
  #7 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
  #8 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
  #9 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #10 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #11 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #12 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #13 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #14 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #15 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #16 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #17 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #18 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #19 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #20 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #21 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #22 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #23 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #24 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #25 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #26 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #27 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #28 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #29 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #30 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #31 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #32 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #33 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #34 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #35 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #36 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #37 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #38 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #39 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #40 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #41 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #42 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #43 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #44 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #45 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #46 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #47 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #48 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #49 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #50 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #51 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #52 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #53 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #54 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #55 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #56 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #57 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #58 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #59 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #60 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #61 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #62 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #63 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #64 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #65 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #66 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #67 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #68 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #69 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #70 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #71 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #72 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #73 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #74 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #75 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #76 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #77 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #78 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #79 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #80 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #81 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #82 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #83 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #84 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #85 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #86 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #87 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #88 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #89 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #90 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #91 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
 #92 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
 #93 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
 #94 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
 #95 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
 #96 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
 #97 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
 #98 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
 #99 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
#100 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
#101 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
#102 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
#103 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
#104 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
#105 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
#106 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
#107 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
#108 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
#109 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
#110 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
#111 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
#112 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
#113 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
#114 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
#115 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
#116 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+0x13af6c6)
#117 0x0000558b0767f96e Fortran::semantics::FuncResultStack::CompleteFunctionResultType() (/usr/lib/llvm-22/bin/flang+0x135d96e)
#118 0x0000558b07681759 Fortran::semantics::ScopeHandler::ApplyImplicitRules(Fortran::semantics::Symbol&, bool) (/usr/lib/llvm-22/bin/flang+0x135f759)
#119 0x0000558b076a7170 Fortran::semantics::DeclarationVisitor::CheckForHostAssociatedImplicit(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x1385170)
#120 0x0000558b076a67fe Fortran::semantics::DeclarationVisitor::ResolveName(Fortran::parser::Name const&) (/usr/lib/llvm-22/bin/flang+0x13847fe)
#121 0x0000558b076a659d Fortran::semantics::DeclarationVisitor::ResolveDesignator(Fortran::parser::Designator const&) (/usr/lib/llvm-22/bin/flang+0x138459d)
#122 0x0000558b076cf89f (/usr/lib/llvm-22/bin/flang+0x13ad89f)
#123 0x0000558b076d085b (/usr/lib/llvm-22/bin/flang+0x13ae85b)
#124 0x0000558b076d16c6 (/usr/lib/llvm-22/bin/flang+<truncated>Please see the issue for the entire body.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to