Tag blocks with DW_AT_APPLE_block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71784 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
index bc83b8f..c77a753 100644
--- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
@@ -1811,6 +1811,13 @@
DIDerivedType(Element.getGV()));
Buffer.AddChild(ElemDie);
}
+
+ // FIXME: We'd like an API to register additional attributes for the
+ // frontend to use while synthesizing, and then we'd use that api in
+ // clang instead of this.
+ if (Name == "__block_literal_generic")
+ AddUInt(&Buffer, DW_AT_APPLE_block, DW_FORM_flag, 1);
+
unsigned RLang = CTy.getRunTimeLang();
if (RLang)
AddUInt(&Buffer, DW_AT_APPLE_runtime_class, DW_FORM_data1, RLang);