Revert r80305, I forgot a dependent change.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 27 Aug 2009 23:58:10 +0000 (23:58 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 27 Aug 2009 23:58:10 +0000 (23:58 +0000)
--- Reverse-merging r80305 into '.':
U    tools/llvm-mc/AsmParser.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80309 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-mc/AsmParser.cpp

index 9f219925b0f9d1cf26dde9cb56ce2b47fc43b2e4..2c855d950fd67e27a4db101fcfdcc65ea3dc10ea 100644 (file)
@@ -1287,10 +1287,15 @@ bool AsmParser::ParseDirectiveDarwinZerofill() {
   // If this is the end of the line all that was wanted was to create the
   // the section but with no symbol.
   if (Lexer.is(AsmToken::EndOfStatement)) {
+    // FIXME: CACHE THIS.
+    MCSection *S = 0; //Ctx.GetSection(Section);
+    if (S == 0)
+      S = MCSectionMachO::Create(Segment, Section,
+                                 MCSectionMachO::S_ZEROFILL, 0,
+                                 SectionKind(), Ctx);
+    
     // Create the zerofill section but no symbol
-    Out.EmitZerofill(getMachOSection(Segment, Section,
-                                     MCSectionMachO::S_ZEROFILL, 0,
-                                     SectionKind()));
+    Out.EmitZerofill(S);
     return false;
   }
 
@@ -1343,13 +1348,16 @@ bool AsmParser::ParseDirectiveDarwinZerofill() {
   if (!Sym->isUndefined())
     return Error(IDLoc, "invalid symbol redefinition");
 
-  // Create the zerofill Symbol with Size and Pow2Alignment
-  //
   // FIXME: Arch specific.
-  Out.EmitZerofill(getMachOSection(Segment, Section,
-                                 MCSectionMachO::S_ZEROFILL, 0,
-                                 SectionKind()),
-                   Sym, Size, Pow2Alignment);
+  // FIXME: CACHE.
+  MCSection *S = 0; //Ctx.GetSection(Section);
+  if (S == 0)
+    S = MCSectionMachO::Create(Segment, Section,
+                               MCSectionMachO::S_ZEROFILL, 0,
+                               SectionKind(), Ctx);
+  
+  // Create the zerofill Symbol with Size and Pow2Alignment
+  Out.EmitZerofill(S, Sym, Size, Pow2Alignment);
 
   return false;
 }