[flang-commits] [flang] [flang][OpenMP] Add type-param-inquiry checks for non-list clauses (PR #203059)

Paul Osmialowski via flang-commits flang-commits at lists.llvm.org
Fri Jun 12 08:47:42 PDT 2026


pawosm-arm wrote:

```
 #0 0x0000ba762c66b3b4 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (product_build/bin/flang+0x540b3b4)
 #1 0x0000ba762c668718 llvm::sys::RunSignalHandlers() (product_build/bin/flang+0x5408718)
 #2 0x0000ba762c66c000 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x0000f1c7094de8f8 (linux-vdso.so.1+0x8f8)
 #4 0x0000ba762d4ca238 Fortran::semantics::OmpStructureChecker::Enter(Fortran::parser::OpenMPDepobjConstruct const&) (product_build/bin/flang+0x626a238)
 #5 0x0000ba762d398ecc void Fortran::common::log2visit::Log2VisitHelper<0ul, 6ul, void, void Fortran::parser::detail::ParseTreeVisitorLookupScope::Walk<Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>, Fortran::parser::OpenMPSimpleStandaloneConstruct, Fortran::parser::OpenMPFlushConstruct, Fortran::parser::OpenMPCancelConstruct, Fortran::parser::OpenMPCancellationPointConstruct, Fortran::parser::OpenMPDepobjConstruct, Fortran::parser::OmpMetadirectiveDirective, Fortran::parser::OpenMPInteropConstruct>(std::__1::variant<Fortran::parser::OpenMPSimpleStandaloneConstruct, Fortran::parser::OpenMPFlushConstruct, Fortran::parser::OpenMPCancelConstruct, Fortran::parser::OpenMPCancellationPointConstruct, Fortran::parser::OpenMPDepobjConstruct, Fortran::parser::OmpMetadirectiveDirective, Fortran::parser::OpenMPInteropConstruct> const&, Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>&)::'lambda'(Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker> const&), std::__1::variant<Fortran::parser::OpenMPSimpleStandaloneConstruct, Fortran::parser::OpenMPFlushConstruct, Fortran::parser::OpenMPCancelConstruct, Fortran::parser::OpenMPCancellationPointConstruct, Fortran::parser::OpenMPDepobjConstruct, Fortran::parser::OmpMetadirectiveDirective, Fortran::parser::OpenMPInteropConstruct> const&>(void Fortran::parser::detail::ParseTreeVisitorLookupScope::Walk<Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>, Fortran::parser::OpenMPSimpleStandaloneConstruct, Fortran::parser::OpenMPFlushConstruct, Fortran::parser::OpenMPCancelConstruct, Fortran::parser::OpenMPCancellationPointConstruct, Fortran::parser::OpenMPDepobjConstruct, Fortran::parser::OmpMetadirectiveDirective, Fortran::parser::OpenMPInteropConstruct>(std::__1::variant<Fortran::parser::OpenMPSimpleStandaloneConstruct, Fortran::parser::OpenMPFlushConstruct, Fortran::parser::OpenMPCancelConstruct, Fortran::parser::OpenMPCancellationPointConstruct, Fortran::parser::OpenMPDepobjConstruct, Fortran::parser::OmpMetadirectiveDirective, Fortran::parser::OpenMPInteropConstruct> const&, Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>&)::'lambda'(Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker> const&)&&, unsigned long, std::__1::variant<Fortran::parser::OpenMPSimpleStandaloneConstruct, Fortran::parser::OpenMPFlushConstruct, Fortran::parser::OpenMPCancelConstruct, Fortran::parser::OpenMPCancellationPointConstruct, Fortran::parser::OpenMPDepobjConstruct, Fortran::parser::OmpMetadirectiveDirective, Fortran::parser::OpenMPInteropConstruct> const&) semantics.cpp:0:0
 #6 0x0000ba762d39863c void Fortran::common::log2visit::Log2VisitHelper<0ul, 6ul, void, void Fortran::parser::detail::ParseTreeVisitorLookupScope::Walk<Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>, Fortran::parser::OpenMPStandaloneConstruct, Fortran::parser::OpenMPSectionsConstruct, Fortran::parser::OmpSectionDirective, Fortran::parser::OpenMPLoopConstruct, Fortran::parser::OmpBlockConstruct, Fortran::parser::OpenMPAtomicConstruct, Fortran::parser::OmpAllocateDirective, Fortran::parser::OpenMPDispatchConstruct, Fortran::parser::OmpUtilityDirective, Fortran::parser::OpenMPAllocatorsConstruct, Fortran::parser::OmpAssumeDirective, Fortran::parser::OpenMPCriticalConstruct, Fortran::parser::OmpDelimitedMetadirectiveDirective>(std::__1::variant<Fortran::parser::OpenMPStandaloneConstruct, Fortran::parser::OpenMPSectionsConstruct, Fortran::parser::OmpSectionDirective, Fortran::parser::OpenMPLoopConstruct, Fortran::parser::OmpBlockConstruct, Fortran::parser::OpenMPAtomicConstruct, Fortran::parser::OmpAllocateDirective, Fortran::parser::OpenMPDispatchConstruct, Fortran::parser::OmpUtilityDirective, Fortran::parser::OpenMPAllocatorsConstruct, Fortran::parser::OmpAssumeDirective, Fortran::parser::OpenMPCriticalConstruct, Fortran::parser::OmpDelimitedMetadirectiveDirective> const&, Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>&)::'lambda'(Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker> const&), std::__1::variant<Fortran::parser::OpenMPStandaloneConstruct, Fortran::parser::OpenMPSectionsConstruct, Fortran::parser::OmpSectionDirective, Fortran::parser::OpenMPLoopConstruct, Fortran::parser::OmpBlockConstruct, Fortran::parser::OpenMPAtomicConstruct, Fortran::parser::OmpAllocateDirective, Fortran::parser::OpenMPDispatchConstruct, Fortran::parser::OmpUtilityDirective, Fortran::parser::OpenMPAllocatorsConstruct, Fortran::parser::OmpAssumeDirective, Fortran::parser::OpenMPCriticalConstruct, Fortran::parser::OmpDelimitedMetadirectiveDirective> const&>(void Fortran::parser::detail::ParseTreeVisitorLookupScope::Walk<Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>, Fortran::parser::OpenMPStandaloneConstruct, Fortran::parser::OpenMPSectionsConstruct, Fortran::parser::OmpSectionDirective, Fortran::parser::OpenMPLoopConstruct, Fortran::parser::OmpBlockConstruct, Fortran::parser::OpenMPAtomicConstruct, Fortran::parser::OmpAllocateDirective, Fortran::parser::OpenMPDispatchConstruct, Fortran::parser::OmpUtilityDirective, Fortran::parser::OpenMPAllocatorsConstruct, Fortran::parser::OmpAssumeDirective, Fortran::parser::OpenMPCriticalConstruct, Fortran::parser::OmpDelimitedMetadirectiveDirective>(std::__1::variant<Fortran::parser::OpenMPStandaloneConstruct, Fortran::parser::OpenMPSectionsConstruct, Fortran::parser::OmpSectionDirective, Fortran::parser::OpenMPLoopConstruct, Fortran::parser::OmpBlockConstruct, Fortran::parser::OpenMPAtomicConstruct, Fortran::parser::OmpAllocateDirective, Fortran::parser::OpenMPDispatchConstruct, Fortran::parser::OmpUtilityDirective, Fortran::parser::OpenMPAllocatorsConstruct, Fortran::parser::OmpAssumeDirective, Fortran::parser::OpenMPCriticalConstruct, Fortran::parser::OmpDelimitedMetadirectiveDirective> const&, Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>&)::'lambda'(Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker> const&)&&, unsigned long, std::__1::variant<Fortran::parser::OpenMPStandaloneConstruct, Fortran::parser::OpenMPSectionsConstruct, Fortran::parser::OmpSectionDirective, Fortran::parser::OpenMPLoopConstruct, Fortran::parser::OmpBlockConstruct, Fortran::parser::OpenMPAtomicConstruct, Fortran::parser::OmpAllocateDirective, Fortran::parser::OpenMPDispatchConstruct, Fortran::parser::OmpUtilityDirective, Fortran::parser::OpenMPAllocatorsConstruct, Fortran::parser::OmpAssumeDirective, Fortran::parser::OpenMPCriticalConstruct, Fortran::parser::OmpDelimitedMetadirectiveDirective> const&) semantics.cpp:0:0
 #7 0x0000ba762d395270 void Fortran::common::log2visit::Log2VisitHelper<16ul, 20ul, void, void Fortran::parser::detail::ParseTreeVisitorLookupScope::Walk<Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>, Fortran::parser::Statement<Fortran::parser::ActionStmt>, Fortran::common::Indirection<Fortran::parser::AssociateConstruct, false>, Fortran::common::Indirection<Fortran::parser::BlockConstruct, false>, Fortran::common::Indirection<Fortran::parser::CaseConstruct, false>, Fortran::common::Indirection<Fortran::parser::ChangeTeamConstruct, false>, Fortran::common::Indirection<Fortran::parser::CriticalConstruct, false>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::LabelDoStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EndDoStmt, false>>, Fortran::common::Indirection<Fortran::parser::DoConstruct, false>, Fortran::common::Indirection<Fortran::parser::IfConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectRankConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectTypeConstruct, false>, Fortran::common::Indirection<Fortran::parser::WhereConstruct, false>, Fortran::common::Indirection<Fortran::parser::ForallConstruct, false>, Fortran::common::Indirection<Fortran::parser::CompilerDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenACCConstruct, false>, Fortran::common::Indirection<Fortran::parser::AccEndCombinedDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPConstruct, false>, Fortran::common::Indirection<Fortran::parser::OpenMPMisplacedEndDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPInvalidDirective, false>, Fortran::common::Indirection<Fortran::parser::CUFKernelDoConstruct, false>>(std::__1::variant<Fortran::parser::Statement<Fortran::parser::ActionStmt>, Fortran::common::Indirection<Fortran::parser::AssociateConstruct, false>, Fortran::common::Indirection<Fortran::parser::BlockConstruct, false>, Fortran::common::Indirection<Fortran::parser::CaseConstruct, false>, Fortran::common::Indirection<Fortran::parser::ChangeTeamConstruct, false>, Fortran::common::Indirection<Fortran::parser::CriticalConstruct, false>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::LabelDoStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EndDoStmt, false>>, Fortran::common::Indirection<Fortran::parser::DoConstruct, false>, Fortran::common::Indirection<Fortran::parser::IfConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectRankConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectTypeConstruct, false>, Fortran::common::Indirection<Fortran::parser::WhereConstruct, false>, Fortran::common::Indirection<Fortran::parser::ForallConstruct, false>, Fortran::common::Indirection<Fortran::parser::CompilerDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenACCConstruct, false>, Fortran::common::Indirection<Fortran::parser::AccEndCombinedDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPConstruct, false>, Fortran::common::Indirection<Fortran::parser::OpenMPMisplacedEndDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPInvalidDirective, false>, Fortran::common::Indirection<Fortran::parser::CUFKernelDoConstruct, false>> const&, Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>&)::'lambda'(Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker> const&), std::__1::variant<Fortran::parser::Statement<Fortran::parser::ActionStmt>, Fortran::common::Indirection<Fortran::parser::AssociateConstruct, false>, Fortran::common::Indirection<Fortran::parser::BlockConstruct, false>, Fortran::common::Indirection<Fortran::parser::CaseConstruct, false>, Fortran::common::Indirection<Fortran::parser::ChangeTeamConstruct, false>, Fortran::common::Indirection<Fortran::parser::CriticalConstruct, false>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::LabelDoStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EndDoStmt, false>>, Fortran::common::Indirection<Fortran::parser::DoConstruct, false>, Fortran::common::Indirection<Fortran::parser::IfConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectRankConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectTypeConstruct, false>, Fortran::common::Indirection<Fortran::parser::WhereConstruct, false>, Fortran::common::Indirection<Fortran::parser::ForallConstruct, false>, Fortran::common::Indirection<Fortran::parser::CompilerDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenACCConstruct, false>, Fortran::common::Indirection<Fortran::parser::AccEndCombinedDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPConstruct, false>, Fortran::common::Indirection<Fortran::parser::OpenMPMisplacedEndDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPInvalidDirective, false>, Fortran::common::Indirection<Fortran::parser::CUFKernelDoConstruct, false>> const&>(void Fortran::parser::detail::ParseTreeVisitorLookupScope::Walk<Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>, Fortran::parser::Statement<Fortran::parser::ActionStmt>, Fortran::common::Indirection<Fortran::parser::AssociateConstruct, false>, Fortran::common::Indirection<Fortran::parser::BlockConstruct, false>, Fortran::common::Indirection<Fortran::parser::CaseConstruct, false>, Fortran::common::Indirection<Fortran::parser::ChangeTeamConstruct, false>, Fortran::common::Indirection<Fortran::parser::CriticalConstruct, false>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::LabelDoStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EndDoStmt, false>>, Fortran::common::Indirection<Fortran::parser::DoConstruct, false>, Fortran::common::Indirection<Fortran::parser::IfConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectRankConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectTypeConstruct, false>, Fortran::common::Indirection<Fortran::parser::WhereConstruct, false>, Fortran::common::Indirection<Fortran::parser::ForallConstruct, false>, Fortran::common::Indirection<Fortran::parser::CompilerDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenACCConstruct, false>, Fortran::common::Indirection<Fortran::parser::AccEndCombinedDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPConstruct, false>, Fortran::common::Indirection<Fortran::parser::OpenMPMisplacedEndDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPInvalidDirective, false>, Fortran::common::Indirection<Fortran::parser::CUFKernelDoConstruct, false>>(std::__1::variant<Fortran::parser::Statement<Fortran::parser::ActionStmt>, Fortran::common::Indirection<Fortran::parser::AssociateConstruct, false>, Fortran::common::Indirection<Fortran::parser::BlockConstruct, false>, Fortran::common::Indirection<Fortran::parser::CaseConstruct, false>, Fortran::common::Indirection<Fortran::parser::ChangeTeamConstruct, false>, Fortran::common::Indirection<Fortran::parser::CriticalConstruct, false>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::LabelDoStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EndDoStmt, false>>, Fortran::common::Indirection<Fortran::parser::DoConstruct, false>, Fortran::common::Indirection<Fortran::parser::IfConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectRankConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectTypeConstruct, false>, Fortran::common::Indirection<Fortran::parser::WhereConstruct, false>, Fortran::common::Indirection<Fortran::parser::ForallConstruct, false>, Fortran::common::Indirection<Fortran::parser::CompilerDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenACCConstruct, false>, Fortran::common::Indirection<Fortran::parser::AccEndCombinedDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPConstruct, false>, Fortran::common::Indirection<Fortran::parser::OpenMPMisplacedEndDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPInvalidDirective, false>, Fortran::common::Indirection<Fortran::parser::CUFKernelDoConstruct, false>> const&, Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>&)::'lambda'(Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker> const&)&&, unsigned long, std::__1::variant<Fortran::parser::Statement<Fortran::parser::ActionStmt>, Fortran::common::Indirection<Fortran::parser::AssociateConstruct, false>, Fortran::common::Indirection<Fortran::parser::BlockConstruct, false>, Fortran::common::Indirection<Fortran::parser::CaseConstruct, false>, Fortran::common::Indirection<Fortran::parser::ChangeTeamConstruct, false>, Fortran::common::Indirection<Fortran::parser::CriticalConstruct, false>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::LabelDoStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EndDoStmt, false>>, Fortran::common::Indirection<Fortran::parser::DoConstruct, false>, Fortran::common::Indirection<Fortran::parser::IfConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectRankConstruct, false>, Fortran::common::Indirection<Fortran::parser::SelectTypeConstruct, false>, Fortran::common::Indirection<Fortran::parser::WhereConstruct, false>, Fortran::common::Indirection<Fortran::parser::ForallConstruct, false>, Fortran::common::Indirection<Fortran::parser::CompilerDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenACCConstruct, false>, Fortran::common::Indirection<Fortran::parser::AccEndCombinedDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPConstruct, false>, Fortran::common::Indirection<Fortran::parser::OpenMPMisplacedEndDirective, false>, Fortran::common::Indirection<Fortran::parser::OpenMPInvalidDirective, false>, Fortran::common::Indirection<Fortran::parser::CUFKernelDoConstruct, false>> const&) semantics.cpp:0:0
 #8 0x0000ba762d38e490 void Fortran::common::log2visit::Log2VisitHelper<0ul, 5ul, void, void Fortran::parser::detail::ParseTreeVisitorLookupScope::Walk<Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>, Fortran::parser::ExecutableConstruct, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::FormatStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EntryStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::DataStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::NamelistStmt, false>>, Fortran::parser::ErrorRecovery>(std::__1::variant<Fortran::parser::ExecutableConstruct, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::FormatStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EntryStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::DataStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::NamelistStmt, false>>, Fortran::parser::ErrorRecovery> const&, Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>&)::'lambda'(Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker> const&), std::__1::variant<Fortran::parser::ExecutableConstruct, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::FormatStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EntryStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::DataStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::NamelistStmt, false>>, Fortran::parser::ErrorRecovery> const&>(void Fortran::parser::detail::ParseTreeVisitorLookupScope::Walk<Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>, Fortran::parser::ExecutableConstruct, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::FormatStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EntryStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::DataStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::NamelistStmt, false>>, Fortran::parser::ErrorRecovery>(std::__1::variant<Fortran::parser::ExecutableConstruct, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::FormatStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EntryStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::DataStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::NamelistStmt, false>>, Fortran::parser::ErrorRecovery> const&, Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>&)::'lambda'(Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker> const&)&&, unsigned long, std::__1::variant<Fortran::parser::ExecutableConstruct, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::FormatStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::EntryStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::DataStmt, false>>, Fortran::parser::Statement<Fortran::common::Indirection<Fortran::parser::NamelistStmt, false>>, Fortran::parser::ErrorRecovery> const&) semantics.cpp:0:0
 #9 0x0000ba762d3a08f4 void Fortran::parser::detail::ParseTreeVisitorLookupScope::Walk<Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>, Fortran::parser::Statement<Fortran::parser::SubroutineStmt>, Fortran::parser::SpecificationPart, Fortran::parser::ExecutionPart, std::__1::optional<Fortran::parser::InternalSubprogramPart>, Fortran::parser::Statement<Fortran::parser::EndSubroutineStmt>>(std::__1::tuple<Fortran::parser::Statement<Fortran::parser::SubroutineStmt>, Fortran::parser::SpecificationPart, Fortran::parser::ExecutionPart, std::__1::optional<Fortran::parser::InternalSubprogramPart>, Fortran::parser::Statement<Fortran::parser::EndSubroutineStmt>> const&, Fortran::semantics::SemanticsVisitor<Fortran::semantics::OmpStructureChecker>&) semantics.cpp:0:0
#10 0x0000ba762d3565cc Fortran::semantics::Semantics::Perform() (product_build/bin/flang+0x60f65cc)
#11 0x0000ba762c6a8640 Fortran::frontend::FrontendAction::runSemanticChecks() (product_build/bin/flang+0x5448640)
#12 0x0000ba762c6adc2c Fortran::frontend::PrescanAndSemaAction::beginSourceFileAction() (product_build/bin/flang+0x544dc2c)
#13 0x0000ba762c6a7bc8 Fortran::frontend::FrontendAction::beginSourceFile(Fortran::frontend::CompilerInstance&, Fortran::frontend::FrontendInputFile const&) (product_build/bin/flang+0x5447bc8)
#14 0x0000ba762c68e844 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (product_build/bin/flang+0x542e844)
#15 0x0000ba762c6ac588 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (product_build/bin/flang+0x544c588)
#16 0x0000ba762c16f8ec fc1_main(llvm::ArrayRef<char const*>, char const*) (product_build/bin/flang+0x4f0f8ec)
#17 0x0000ba762c16d5c0 main (product_build/bin/flang+0x4f0d5c0)
#18 0x0000f1c7090784c4 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#19 0x0000f1c709078598 call_init ./csu/../csu/libc-start.c:128:20
#20 0x0000f1c709078598 __libc_start_main ./csu/../csu/libc-start.c:347:5
#21 0x0000ba762c16cf70 _start (product_build/bin/flang+0x4f0cf70)
Trace/breakpoint trap (core dumped)
```

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


More information about the flang-commits mailing list