Do not write empty METADATA_ATTACHMENT record.
authorDevang Patel <dpatel@apple.com>
Tue, 13 Oct 2009 18:51:28 +0000 (18:51 +0000)
committerDevang Patel <dpatel@apple.com>
Tue, 13 Oct 2009 18:51:28 +0000 (18:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84006 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bitcode/Writer/BitcodeWriter.cpp

index ae269dfbcce67e4cc9ab6a443f26887b45409079..2c45b342e54a1c76ff0340e7a4cf1218a47bc966 100644 (file)
@@ -580,12 +580,14 @@ static void WriteMetadataAttachment(const Function &F,
           Record.push_back(VE.getValueID(ND));
         }
       }
-      if (!StartedMetadataBlock)  {
-        Stream.EnterSubblock(bitc::METADATA_ATTACHMENT_ID, 3);
-        StartedMetadataBlock = true;
+      if (!Record.empty()) {
+        if (!StartedMetadataBlock)  {
+          Stream.EnterSubblock(bitc::METADATA_ATTACHMENT_ID, 3);
+          StartedMetadataBlock = true;
+        }
+        Stream.EmitRecord(bitc::METADATA_ATTACHMENT, Record, 0);
+        Record.clear();
       }
-      Stream.EmitRecord(bitc::METADATA_ATTACHMENT, Record, 0);
-      Record.clear();
     }
 
   if (StartedMetadataBlock)