Make the big switch: Change MCSectionMachO to represent a section *semantically*
instead of syntactically as a string.  This means that it keeps track of the 
segment, section, flags, etc directly and asmprints them in the right format.
This also includes parsing and validation support for llvm-mc and 
"attribute(section)", so we should now start getting errors about invalid 
section attributes from the compiler instead of the assembler on darwin.

Still todo: 
1) Uniquing of darwin mcsections
2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h]
3) there are a few FIXMEs, for example what is the syntax to get the
   S_GB_ZEROFILL segment type?



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78547 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp
index 0aed948..7dcca7b 100644
--- a/lib/MC/MCAsmStreamer.cpp
+++ b/lib/MC/MCAsmStreamer.cpp
@@ -222,7 +222,9 @@
   OS << ".zerofill ";
   
   // This is a mach-o specific directive.
-  OS << '"' << ((MCSectionMachO*)Section)->getName() << '"';
+  const MCSectionMachO *MOSection = ((const MCSectionMachO*)Section);
+  OS << '"' << MOSection->getSegmentName() << ","
+     << MOSection->getSectionName() << '"';
   
   
   if (Symbol != NULL) {