Pull initFeatureMap out of line now that it's used in multiple places.
llvm-svn: 246565
diff --git a/clang/lib/Basic/TargetInfo.cpp b/clang/lib/Basic/TargetInfo.cpp
index 30378a5..aa7385e 100644
--- a/clang/lib/Basic/TargetInfo.cpp
+++ b/clang/lib/Basic/TargetInfo.cpp
@@ -311,6 +311,18 @@
}
}
+bool TargetInfo::initFeatureMap(llvm::StringMap<bool> &Features,
+ DiagnosticsEngine &Diags, StringRef CPU,
+ std::vector<std::string> &FeatureVec) const {
+ for (const auto &F : FeatureVec) {
+ const char *Name = F.c_str();
+ // Apply the feature via the target.
+ bool Enabled = Name[0] == '+';
+ setFeatureEnabled(Features, Name + 1, Enabled);
+ }
+ return true;
+}
+
//===----------------------------------------------------------------------===//