Remove include flags memoization.

This commit is contained in:
Stephen Kelly 2011-11-07 11:49:33 +01:00 committed by David Cole
parent 97a5faa858
commit 7620932d82
2 changed files with 3 additions and 15 deletions

View File

@ -1196,7 +1196,7 @@ cmLocalGenerator::ConvertToIncludeReference(std::string const& path)
}
//----------------------------------------------------------------------------
const char* cmLocalGenerator::GetIncludeFlags(
std::string cmLocalGenerator::GetIncludeFlags(
const std::vector<std::string> &includes,
const char* lang, bool forResponseFile)
{
@ -1204,12 +1204,6 @@ const char* cmLocalGenerator::GetIncludeFlags(
{
return "";
}
std::string key = lang;
key += forResponseFile? "@" : "";
if(this->LanguageToIncludeFlags.count(key))
{
return this->LanguageToIncludeFlags[key].c_str();
}
cmOStringStream includeFlags;
@ -1314,12 +1308,7 @@ const char* cmLocalGenerator::GetIncludeFlags(
{
flags[flags.size()-1] = ' ';
}
this->LanguageToIncludeFlags[key] = flags;
// Use this temorary variable for the return value to work-around a
// bogus GCC 2.95 warning.
const char* ret = this->LanguageToIncludeFlags[key].c_str();
return ret;
return flags;
}
//----------------------------------------------------------------------------

View File

@ -146,7 +146,7 @@ public:
///! Append flags to a string.
virtual void AppendFlags(std::string& flags, const char* newFlags);
///! Get the include flags for the current makefile and language
const char* GetIncludeFlags(const std::vector<std::string> &includes,
std::string GetIncludeFlags(const std::vector<std::string> &includes,
const char* lang, bool forResponseFile = false);
/**
@ -392,7 +392,6 @@ protected:
std::vector<std::string> StartOutputDirectoryComponents;
cmLocalGenerator* Parent;
std::vector<cmLocalGenerator*> Children;
std::map<cmStdString, cmStdString> LanguageToIncludeFlags;
std::map<cmStdString, cmStdString> UniqueObjectNamesMap;
std::string::size_type ObjectPathMax;
std::set<cmStdString> ObjectMaxPathViolations;