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);