Index: lib/Basic/Targets.cpp |
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp |
index 4cfd0cf62bb27ba115ca7ef0efd7e28cfe625760..3b14f4ecd227517317618f284ad6c0e23e389015 100644 |
--- a/lib/Basic/Targets.cpp |
+++ b/lib/Basic/Targets.cpp |
@@ -3520,19 +3520,16 @@ public: |
return X86TargetInfo::validateOperandSize(Constraint, Size); |
} |
+ |
// @LOCALMOD-START |
- bool handleTargetFeatures(std::vector<std::string> &Features, |
- DiagnosticsEngine &Diags) override { |
+ bool handleLLVMArgs(std::vector<std::string> &Args) override { |
HasAlignedDouble = false; |
- auto it = std::find(Features.begin(), Features.end(), "+align-double"); |
- if (it != Features.end()) { |
+ auto it = std::find(Args.begin(), Args.end(), "-malign-double"); |
+ if (it != Args.end()) { |
HasAlignedDouble = true; |
- Features.erase(it); |
} |
- |
setDescriptionString(); |
- |
- return X86TargetInfo::handleTargetFeatures(Features, Diags); |
+ return true; |
} |
// @LOCALMOD-END |
}; |
@@ -7305,5 +7302,8 @@ TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags, |
if (!Target->handleTargetFeatures(Opts->Features, Diags)) |
return nullptr; |
+ if (!Target->handleLLVMArgs(Opts->LLVMArgs)) |
Derek Schuff
2015/09/09 22:45:56
LOCALMOD
Petr Hosek
2015/09/09 23:00:23
Done.
|
+ return nullptr; |
+ |
return Target.release(); |
} |