[flang-commits] [flang] [flang][debug] Supply missing subprogram attributes (PR #181425)
Abid Qadeer via flang-commits
flang-commits at lists.llvm.org
Mon Feb 16 08:41:23 PST 2026
================
@@ -511,6 +511,23 @@ void AddDebugInfoPass::handleFuncOp(mlir::func::FuncOp funcOp,
subprogramFlags =
subprogramFlags | mlir::LLVM::DISubprogramFlags::Definition;
}
+
+ // Check if the function has the pure, elemental, or recursive procedure
+ // attribute
+ if (fir::hasProcedureAttr<fir::FortranProcedureFlagsEnum::pure>(funcOp)) {
+ subprogramFlags = subprogramFlags | mlir::LLVM::DISubprogramFlags::Pure;
+ }
+ if (fir::hasProcedureAttr<fir::FortranProcedureFlagsEnum::elemental>(
+ funcOp)) {
+ subprogramFlags =
+ subprogramFlags | mlir::LLVM::DISubprogramFlags::Elemental;
+ }
+ if (fir::hasProcedureAttr<fir::FortranProcedureFlagsEnum::recursive>(
+ funcOp)) {
+ subprogramFlags =
+ subprogramFlags | mlir::LLVM::DISubprogramFlags::Recursive;
+ }
----------------
abidh wrote:
Same issue with braces here.
https://github.com/llvm/llvm-project/pull/181425
More information about the flang-commits
mailing list