[llvm] [DebugInfo] Add support for emitting DW_AT_defaulted (PR #213187)

Michael Buch via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 13 01:21:08 PDT 2026


================
@@ -1513,6 +1533,19 @@ void DwarfUnit::applySubprogramAttributes(const DISubprogram *SP, DIE &SPDie,
     ContainingTypeMap.insert(std::make_pair(&SPDie, SP->getContainingType()));
   }
 
+  unsigned Defaulted = SP->getDefaulted();
+  if (DD->getDwarfVersion() >= 5 && Defaulted) {
+    if (Defaulted & DISubprogram::DISPFlags::SPFlagDefaultedNo)
+      addUInt(SPDie, dwarf::DW_AT_defaulted, dwarf::DW_FORM_data1,
+              dwarf::DW_DEFAULTED_no);
+    else if (Defaulted & DISubprogram::DISPFlags::SPFlagDefaultedInClass)
+      addUInt(SPDie, dwarf::DW_AT_defaulted, dwarf::DW_FORM_data1,
+              dwarf::DW_DEFAULTED_in_class);
+    else if (Defaulted & DISubprogram::DISPFlags::SPFlagDefaultedOutOfClass)
+      addUInt(SPDie, dwarf::DW_AT_defaulted, dwarf::DW_FORM_data1,
+              dwarf::DW_DEFAULTED_out_of_class);
+  }
----------------
Michael137 wrote:

Could extract into a helper an re-use?

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


More information about the llvm-commits mailing list