make SwitchToSection accept null sections for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77976 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 0a81bd7..c2a89b2 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -132,9 +132,14 @@
 }
 
 /// SwitchToSection - Switch to the specified section of the executable if we
-/// are not already in it!
+/// are not already in it!  If "NS" is null, then this causes us to exit the
+/// current section and not reenter another one.  This is generally used for
+/// asmprinter hacks.
+///
+/// FIXME: Remove support for null sections.
+///
 void AsmPrinter::SwitchToSection(const MCSection *NS) {
-  const std::string &NewSection = NS->getName();
+  const std::string &NewSection = NS ? NS->getName() : "";
 
   // If we're already in this section, we're done.
   if (CurrentSection == NewSection) return;
@@ -165,7 +170,7 @@
     O << TAI->getDataSectionStartSuffix() << '\n';
   }
 
-  IsInTextSection = NS->getKind().isText();
+  IsInTextSection = NS ? NS->getKind().isText() : false;
 }
 
 void AsmPrinter::getAnalysisUsage(AnalysisUsage &AU) const {