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 {