summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2015-09-01 18:13:20 +0000
committerEric Christopher <echristo@gmail.com>2015-09-01 18:13:20 +0000
commite9cdcaee7be23e67121d8e940c0eb67e22a77635 (patch)
tree7e6e860be1b94621a7f2af7994371ae29951cd06 /clang/lib/Basic
parentdada1d20ba7ad2795793946d9f570eeb05e21f58 (diff)
downloadbcm5719-llvm-e9cdcaee7be23e67121d8e940c0eb67e22a77635.tar.gz
bcm5719-llvm-e9cdcaee7be23e67121d8e940c0eb67e22a77635.zip
Pull initFeatureMap out of line now that it's used in multiple places.
llvm-svn: 246565
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r--clang/lib/Basic/TargetInfo.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Basic/TargetInfo.cpp b/clang/lib/Basic/TargetInfo.cpp
index 30378a5a751..aa7385eb005 100644
--- a/clang/lib/Basic/TargetInfo.cpp
+++ b/clang/lib/Basic/TargetInfo.cpp
@@ -311,6 +311,18 @@ void TargetInfo::adjust(const LangOptions &Opts) {
}
}
+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;
+}
+
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud