Tag blocks with DW_AT_APPLE_block.
llvm-svn: 71784
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
index bc83b8f..c77a753 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
+++ b/llvm/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);