Remove include flags memoization.
This commit is contained in:
parent
97a5faa858
commit
7620932d82
|
@ -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 std::vector<std::string> &includes,
|
||||||
const char* lang, bool forResponseFile)
|
const char* lang, bool forResponseFile)
|
||||||
{
|
{
|
||||||
|
@ -1204,12 +1204,6 @@ const char* cmLocalGenerator::GetIncludeFlags(
|
||||||
{
|
{
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
std::string key = lang;
|
|
||||||
key += forResponseFile? "@" : "";
|
|
||||||
if(this->LanguageToIncludeFlags.count(key))
|
|
||||||
{
|
|
||||||
return this->LanguageToIncludeFlags[key].c_str();
|
|
||||||
}
|
|
||||||
|
|
||||||
cmOStringStream includeFlags;
|
cmOStringStream includeFlags;
|
||||||
|
|
||||||
|
@ -1314,12 +1308,7 @@ const char* cmLocalGenerator::GetIncludeFlags(
|
||||||
{
|
{
|
||||||
flags[flags.size()-1] = ' ';
|
flags[flags.size()-1] = ' ';
|
||||||
}
|
}
|
||||||
this->LanguageToIncludeFlags[key] = flags;
|
return 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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
|
@ -146,7 +146,7 @@ public:
|
||||||
///! Append flags to a string.
|
///! Append flags to a string.
|
||||||
virtual void AppendFlags(std::string& flags, const char* newFlags);
|
virtual void AppendFlags(std::string& flags, const char* newFlags);
|
||||||
///! Get the include flags for the current makefile and language
|
///! 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);
|
const char* lang, bool forResponseFile = false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -392,7 +392,6 @@ protected:
|
||||||
std::vector<std::string> StartOutputDirectoryComponents;
|
std::vector<std::string> StartOutputDirectoryComponents;
|
||||||
cmLocalGenerator* Parent;
|
cmLocalGenerator* Parent;
|
||||||
std::vector<cmLocalGenerator*> Children;
|
std::vector<cmLocalGenerator*> Children;
|
||||||
std::map<cmStdString, cmStdString> LanguageToIncludeFlags;
|
|
||||||
std::map<cmStdString, cmStdString> UniqueObjectNamesMap;
|
std::map<cmStdString, cmStdString> UniqueObjectNamesMap;
|
||||||
std::string::size_type ObjectPathMax;
|
std::string::size_type ObjectPathMax;
|
||||||
std::set<cmStdString> ObjectMaxPathViolations;
|
std::set<cmStdString> ObjectMaxPathViolations;
|
||||||
|
|
Loading…
Reference in New Issue