From: Eric Christopher Date: Fri, 9 Oct 2015 18:39:55 +0000 (+0000) Subject: constify the feature vector going into initFeatureMap as it shouldn't X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=515e85c9a4783cbadc7dcd8c9c5d53dc867ad552;p=clang constify the feature vector going into initFeatureMap as it shouldn't change the set of features. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249871 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/TargetInfo.h b/include/clang/Basic/TargetInfo.h index 638b6790f7..4e395fce32 100644 --- a/include/clang/Basic/TargetInfo.h +++ b/include/clang/Basic/TargetInfo.h @@ -753,7 +753,7 @@ public: /// \return False on error (invalid features). virtual bool initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, StringRef CPU, - std::vector &FeatureVec) const; + const std::vector &FeatureVec) const; /// \brief Get the ABI currently in use. virtual StringRef getABI() const { return StringRef(); } diff --git a/lib/Basic/TargetInfo.cpp b/lib/Basic/TargetInfo.cpp index 7b52eb0f08..2afcf1673b 100644 --- a/lib/Basic/TargetInfo.cpp +++ b/lib/Basic/TargetInfo.cpp @@ -312,9 +312,9 @@ void TargetInfo::adjust(const LangOptions &Opts) { } } -bool TargetInfo::initFeatureMap(llvm::StringMap &Features, - DiagnosticsEngine &Diags, StringRef CPU, - std::vector &FeatureVec) const { +bool TargetInfo::initFeatureMap( + llvm::StringMap &Features, DiagnosticsEngine &Diags, StringRef CPU, + const std::vector &FeatureVec) const { for (const auto &F : FeatureVec) { const char *Name = F.c_str(); // Apply the feature via the target. diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index e733fc5466..c66df0dc61 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -887,9 +887,10 @@ public: void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override; - bool initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, - StringRef CPU, - std::vector &FeaturesVec) const override; + bool + initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, + StringRef CPU, + const std::vector &FeaturesVec) const override; bool handleTargetFeatures(std::vector &Features, DiagnosticsEngine &Diags) override; @@ -1253,7 +1254,7 @@ void PPCTargetInfo::getTargetDefines(const LangOptions &Opts, // go ahead and error since the customer has expressed a somewhat incompatible // set of options. static bool ppcUserFeaturesCheck(DiagnosticsEngine &Diags, - std::vector &FeaturesVec) { + const std::vector &FeaturesVec) { if (std::find(FeaturesVec.begin(), FeaturesVec.end(), "-vsx") != FeaturesVec.end()) { @@ -1275,9 +1276,9 @@ static bool ppcUserFeaturesCheck(DiagnosticsEngine &Diags, return true; } -bool PPCTargetInfo::initFeatureMap(llvm::StringMap &Features, - DiagnosticsEngine &Diags, StringRef CPU, - std::vector &FeaturesVec) const { +bool PPCTargetInfo::initFeatureMap( + llvm::StringMap &Features, DiagnosticsEngine &Diags, StringRef CPU, + const std::vector &FeaturesVec) const { Features["altivec"] = llvm::StringSwitch(CPU) .Case("7400", true) .Case("g4", true) @@ -2400,9 +2401,10 @@ public: // initFeatureMap which calls this repeatedly. static void setFeatureEnabledImpl(llvm::StringMap &Features, StringRef Name, bool Enabled); - bool initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, - StringRef CPU, - std::vector &FeaturesVec) const override; + bool + initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, + StringRef CPU, + const std::vector &FeaturesVec) const override; bool hasFeature(StringRef Feature) const override; bool handleTargetFeatures(std::vector &Features, DiagnosticsEngine &Diags) override; @@ -2530,7 +2532,7 @@ bool X86TargetInfo::setFPMath(StringRef Name) { bool X86TargetInfo::initFeatureMap( llvm::StringMap &Features, DiagnosticsEngine &Diags, StringRef CPU, - std::vector &FeaturesVec) const { + const std::vector &FeaturesVec) const { // FIXME: This *really* should not be here. // X86_64 always has SSE2. if (getTriple().getArch() == llvm::Triple::x86_64) @@ -4427,10 +4429,11 @@ public: } // FIXME: This should be based on Arch attributes, not CPU names. - bool initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, - StringRef CPU, - std::vector &FeaturesVec) const override { - + bool + initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, + StringRef CPU, + const std::vector &FeaturesVec) const override { + std::vector TargetFeatures; // get default FPU features @@ -5936,9 +5939,10 @@ public: return CPUKnown; } - bool initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, - StringRef CPU, - std::vector &FeaturesVec) const override { + bool + initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, + StringRef CPU, + const std::vector &FeaturesVec) const override { if (CPU == "zEC12") Features["transactional-execution"] = true; if (CPU == "z13") { @@ -6305,9 +6309,10 @@ public: .Default(false); } const std::string& getCPU() const { return CPU; } - bool initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, - StringRef CPU, - std::vector &FeaturesVec) const override { + bool + initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, + StringRef CPU, + const std::vector &FeaturesVec) const override { if (CPU == "octeon") Features["mips64r2"] = Features["cnmips"] = true; else @@ -6985,9 +6990,10 @@ protected: } private: - bool initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, - StringRef CPU, - std::vector &FeaturesVec) const override { + bool + initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, + StringRef CPU, + const std::vector &FeaturesVec) const override { if (CPU == "bleeding-edge") Features["simd128"] = true; return TargetInfo::initFeatureMap(Features, Diags, CPU, FeaturesVec);