make SectionKind be a first-class pod struct instead of just
an enum.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77096 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp
index e71cd70..39dfb00 100644
--- a/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -266,22 +266,12 @@
 }
 
 const char *X86COFFTargetAsmInfo::
-getSectionPrefixForUniqueGlobal(SectionKind::Kind Kind) const {
-  switch (Kind) {
-  default: llvm_unreachable("Unknown section kind");
-  case SectionKind::Text:             return ".text$linkonce";
-  case SectionKind::Data:
-  case SectionKind::DataRelLocal:
-  case SectionKind::DataRel:
-  case SectionKind::BSS:
-  case SectionKind::ThreadData:
-  case SectionKind::ThreadBSS:        return ".data$linkonce";
-  case SectionKind::ROData:
-  case SectionKind::DataRelRO:
-  case SectionKind::DataRelROLocal:
-  case SectionKind::RODataMergeConst:
-  case SectionKind::RODataMergeStr:   return ".rdata$linkonce";
-  }
+getSectionPrefixForUniqueGlobal(SectionKind Kind) const {
+  if (Kind.isCode())
+    return ".text$linkonce";
+  if (Kind.isWritable())
+    return ".data$linkonce";
+  return ".rdata$linkonce";
 }
 
 std::string X86COFFTargetAsmInfo::printSectionFlags(unsigned flags) const {