summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCMachOStreamer.cpp
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2017-12-14 03:59:24 +0000
committerMatthias Braun <matze@braunis.de>2017-12-14 03:59:24 +0000
commit5dd72adbecb3c52e1bba6b823fbc4db3f592c8f7 (patch)
treedce9ca2510f0ca71488ab953bbbf651f413a5f4c /llvm/lib/MC/MCMachOStreamer.cpp
parent123adb507380a9061f66f75420ce7943166ce83f (diff)
downloadbcm5719-llvm-5dd72adbecb3c52e1bba6b823fbc4db3f592c8f7.tar.gz
bcm5719-llvm-5dd72adbecb3c52e1bba6b823fbc4db3f592c8f7.zip
MC/AsmPrinter: Reduce code duplication.
Factor out duplicated code emitting mach-o version-min specifiers. This should be NFC but happens to fix a bug where the code in MCMachoStreamer didn't take the version skew between darwin and macos versions into account. llvm-svn: 320666
Diffstat (limited to 'llvm/lib/MC/MCMachOStreamer.cpp')
-rw-r--r--llvm/lib/MC/MCMachOStreamer.cpp22
1 files changed, 2 insertions, 20 deletions
diff --git a/llvm/lib/MC/MCMachOStreamer.cpp b/llvm/lib/MC/MCMachOStreamer.cpp
index 6e1dca82033..82b75afabb3 100644
--- a/llvm/lib/MC/MCMachOStreamer.cpp
+++ b/llvm/lib/MC/MCMachOStreamer.cpp
@@ -502,26 +502,8 @@ MCStreamer *llvm::createMachOStreamer(MCContext &Context,
MCMachOStreamer *S =
new MCMachOStreamer(Context, std::move(MAB), OS, std::move(CE),
DWARFMustBeAtTheEnd, LabelSections);
- const Triple &TT = Context.getObjectFileInfo()->getTargetTriple();
- if (TT.isOSDarwin()) {
- unsigned Major, Minor, Update;
- TT.getOSVersion(Major, Minor, Update);
- // If there is a version specified, Major will be non-zero.
- if (Major) {
- MCVersionMinType VersionType;
- if (TT.isWatchOS())
- VersionType = MCVM_WatchOSVersionMin;
- else if (TT.isTvOS())
- VersionType = MCVM_TvOSVersionMin;
- else if (TT.isMacOSX())
- VersionType = MCVM_OSXVersionMin;
- else {
- assert(TT.isiOS() && "Must only be iOS platform left");
- VersionType = MCVM_IOSVersionMin;
- }
- S->EmitVersionMin(VersionType, Major, Minor, Update);
- }
- }
+ const Triple &Target = Context.getObjectFileInfo()->getTargetTriple();
+ S->EmitVersionForTarget(Target);
if (RelaxAll)
S->getAssembler().setRelaxAll(true);
return S;
OpenPOWER on IntegriCloud