This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, next has been updated via cd91e99eeb02ec15a65deb5b2d840895f1032fad (commit) via 88962807c25a928065cb92d0dd3ccfae84569689 (commit) from 70459c917e6cfbe265d58dba229aa49b22eac74f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cd91e99eeb02ec15a65deb5b2d840895f1032fad commit cd91e99eeb02ec15a65deb5b2d840895f1032fad Merge: 70459c9 8896280 Author: Ben Boeckel <ben.boec...@kitware.com> AuthorDate: Tue May 27 14:32:24 2014 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue May 27 14:32:24 2014 -0400 Merge topic 'revert/old-backtrace-performance' into next 88962807 revert old backtrace-performance changes http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=88962807c25a928065cb92d0dd3ccfae84569689 commit 88962807c25a928065cb92d0dd3ccfae84569689 Author: Ben Boeckel <ben.boec...@kitware.com> AuthorDate: Tue May 27 14:31:22 2014 -0400 Commit: Ben Boeckel <ben.boec...@kitware.com> CommitDate: Tue May 27 14:31:29 2014 -0400 revert old backtrace-performance changes diff --git a/Source/cmComputeTargetDepends.cxx b/Source/cmComputeTargetDepends.cxx index 6f36940..eb62455 100644 --- a/Source/cmComputeTargetDepends.cxx +++ b/Source/cmComputeTargetDepends.cxx @@ -386,10 +386,15 @@ void cmComputeTargetDepends::AddTargetDepend(int depender_index, e << "The dependency target \"" << dependee_name << "\" of target \"" << depender->GetName() << "\" does not exist."; - cmListFileBacktrace backtrace = + cmListFileBacktrace nullBacktrace; + cmListFileBacktrace const* backtrace = depender->GetUtilityBacktrace(dependee_name); + if(!backtrace) + { + backtrace = &nullBacktrace; + } - cm->IssueMessage(messageType, e.str(), backtrace); + cm->IssueMessage(messageType, e.str(), *backtrace); } } diff --git a/Source/cmExportBuildFileGenerator.cxx b/Source/cmExportBuildFileGenerator.cxx index 647bbca..6c8ebb6 100644 --- a/Source/cmExportBuildFileGenerator.cxx +++ b/Source/cmExportBuildFileGenerator.cxx @@ -46,7 +46,6 @@ bool cmExportBuildFileGenerator::GenerateMainFile(std::ostream& os) { cmOStringStream e; e << "given target \"" << te->GetName() << "\" more than once."; - this->Backtrace.MakeRelative(); this->Makefile->GetCMakeInstance() ->IssueMessage(cmake::FATAL_ERROR, e.str(), this->Backtrace); return false; @@ -318,7 +317,6 @@ cmExportBuildFileGenerator e << "If the required target is not easy to reference in this call, " << "consider using the APPEND option with multiple separate calls."; - this->Backtrace.MakeRelative(); this->Makefile->GetCMakeInstance() ->IssueMessage(cmake::FATAL_ERROR, e.str(), this->Backtrace); } diff --git a/Source/cmGeneratorExpressionDAGChecker.cxx b/Source/cmGeneratorExpressionDAGChecker.cxx index 8882d5f..7f8e694 100644 --- a/Source/cmGeneratorExpressionDAGChecker.cxx +++ b/Source/cmGeneratorExpressionDAGChecker.cxx @@ -91,11 +91,9 @@ void cmGeneratorExpressionDAGChecker::ReportError( << " " << expr << "\n" << "Self reference on target \"" << context->HeadTarget->GetName() << "\".\n"; - cmListFileBacktrace backtrace = parent->Backtrace; - backtrace.MakeRelative(); context->Makefile->GetCMakeInstance() ->IssueMessage(cmake::FATAL_ERROR, e.str(), - backtrace); + parent->Backtrace); return; } @@ -104,7 +102,6 @@ void cmGeneratorExpressionDAGChecker::ReportError( e << "Error evaluating generator expression:\n" << " " << expr << "\n" << "Dependency loop found."; - context->Backtrace.MakeRelative(); context->Makefile->GetCMakeInstance() ->IssueMessage(cmake::FATAL_ERROR, e.str(), context->Backtrace); @@ -118,11 +115,9 @@ void cmGeneratorExpressionDAGChecker::ReportError( << " " << (parent->Content ? parent->Content->GetOriginalExpression() : expr) << "\n"; - cmListFileBacktrace backtrace = parent->Backtrace; - backtrace.MakeRelative(); context->Makefile->GetCMakeInstance() ->IssueMessage(cmake::FATAL_ERROR, e.str(), - backtrace); + parent->Backtrace); parent = parent->Parent; ++loopStep; } diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx index 33315c6..0b357f6 100644 --- a/Source/cmGeneratorExpressionEvaluator.cxx +++ b/Source/cmGeneratorExpressionEvaluator.cxx @@ -40,7 +40,6 @@ void reportError(cmGeneratorExpressionContext *context, e << "Error evaluating generator expression:\n" << " " << expr << "\n" << result; - context->Backtrace.MakeRelative(); context->Makefile->GetCMakeInstance() ->IssueMessage(cmake::FATAL_ERROR, e.str(), context->Backtrace); @@ -429,7 +428,6 @@ struct CompilerIdNode : public cmGeneratorExpressionNode cmOStringStream e; e << context->Makefile->GetPolicies() ->GetPolicyWarning(cmPolicies::CMP0044); - context->Backtrace.MakeRelative(); context->Makefile->GetCMakeInstance() ->IssueMessage(cmake::AUTHOR_WARNING, e.str(), context->Backtrace); diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx index 705666d..34781d3 100644 --- a/Source/cmListFileCache.cxx +++ b/Source/cmListFileCache.cxx @@ -12,7 +12,6 @@ #include "cmListFileCache.h" #include "cmListFileLexer.h" -#include "cmLocalGenerator.h" #include "cmSystemTools.h" #include "cmMakefile.h" #include "cmVersion.h" @@ -409,23 +408,6 @@ bool cmListFileParser::AddArgument(cmListFileLexer_Token* token, } //---------------------------------------------------------------------------- -void cmListFileBacktrace::MakeRelative() -{ - if (this->Relative) - { - return; - } - for (cmListFileBacktrace::iterator i = this->begin(); - i != this->end(); ++i) - { - i->FilePath = this->LocalGenerator->Convert(i->FilePath, - cmLocalGenerator::HOME); - } - this->Relative = true; -} - - -//---------------------------------------------------------------------------- std::ostream& operator<<(std::ostream& os, cmListFileContext const& lfc) { os << lfc.FilePath; diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h index 5807364..bede25e 100644 --- a/Source/cmListFileCache.h +++ b/Source/cmListFileCache.h @@ -14,8 +14,6 @@ #include "cmStandardIncludes.h" -class cmLocalGenerator; - /** \class cmListFileCache * \brief A class to cache list file contents. * @@ -68,27 +66,7 @@ struct cmListFileFunction: public cmListFileContext std::vector<cmListFileArgument> Arguments; }; -class cmListFileBacktrace: public std::vector<cmListFileContext> -{ - public: - cmListFileBacktrace() - : LocalGenerator(NULL) - , Relative(true) - { - } - - void MakeRelative(); - private: - friend class cmMakefile; - void SetLocalGenerator(cmLocalGenerator* generator) - { - this->LocalGenerator = generator; - this->Relative = false; - } - - cmLocalGenerator* LocalGenerator; - bool Relative; -}; +class cmListFileBacktrace: public std::vector<cmListFileContext> {}; struct cmListFile { diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 2abe34c..9f33b92 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -316,7 +316,6 @@ void cmMakefile::IssueMessage(cmake::MessageType t, this->CallStack.back().Status->SetNestedError(true); } this->GetBacktrace(backtrace); - backtrace.MakeRelative(); } else { @@ -334,12 +333,12 @@ void cmMakefile::IssueMessage(cmake::MessageType t, lfc.FilePath = this->ListFileStack.back(); } lfc.Line = 0; - backtrace.push_back(lfc); if(!this->GetCMakeInstance()->GetIsInTryCompile()) { - backtrace.SetLocalGenerator(this->LocalGenerator); - backtrace.MakeRelative(); + lfc.FilePath = this->LocalGenerator->Convert(lfc.FilePath, + cmLocalGenerator::HOME); } + backtrace.push_back(lfc); } // Issue the message. @@ -353,11 +352,13 @@ bool cmMakefile::GetBacktrace(cmListFileBacktrace& backtrace) const { return false; } - backtrace.SetLocalGenerator(this->LocalGenerator); for(CallStackType::const_reverse_iterator i = this->CallStack.rbegin(); i != this->CallStack.rend(); ++i) { - backtrace.push_back(*i->Context); + cmListFileContext lfc = *(*i).Context; + lfc.FilePath = this->LocalGenerator->Convert(lfc.FilePath, + cmLocalGenerator::HOME); + backtrace.push_back(lfc); } return true; } @@ -1946,7 +1947,6 @@ void cmMakefile::CheckForUnused(const char* reason, { cmOStringStream msg; msg << "unused variable (" << reason << ") \'" << name << "\'"; - bt.MakeRelative(); this->GetCMakeInstance()->IssueMessage(cmake::AUTHOR_WARNING, msg.str(), bt); diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 922b70d..15acfdd 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -448,16 +448,14 @@ void cmTarget::AddUtility(const std::string& u, cmMakefile *makefile) } //---------------------------------------------------------------------------- -cmListFileBacktrace cmTarget::GetUtilityBacktrace( +cmListFileBacktrace const* cmTarget::GetUtilityBacktrace( const std::string& u) const { std::map<std::string, cmListFileBacktrace>::const_iterator i = this->UtilityBacktraces.find(u); - if(i == this->UtilityBacktraces.end()) return cmListFileBacktrace(); + if(i == this->UtilityBacktraces.end()) return 0; - cmListFileBacktrace bt = i->second; - bt.MakeRelative(); - return bt; + return &i->second; } //---------------------------------------------------------------------------- @@ -492,7 +490,6 @@ void cmTarget::ClearLinkMaps() //---------------------------------------------------------------------------- cmListFileBacktrace const& cmTarget::GetBacktrace() const { - this->Internal->Backtrace.MakeRelative(); return this->Internal->Backtrace; } @@ -646,12 +643,10 @@ static bool processSources(cmTarget const* tgt, } if (!usedSources.empty()) { - cmListFileBacktrace bt = (*it)->ge->GetBacktrace(); - bt.MakeRelative(); mf->GetCMakeInstance()->IssueMessage(cmake::LOG, std::string("Used sources for target ") + tgt->GetName() + ":\n" - + usedSources, bt); + + usedSources, (*it)->ge->GetBacktrace()); } } return contextDependent; @@ -1338,10 +1333,9 @@ void cmTarget::GetTllSignatureTraces(cmOStringStream &s, : "plain"); s << "The uses of the " << sigString << " signature are here:\n"; std::set<std::string> emitted; - for(std::vector<cmListFileBacktrace>::iterator it = sigs.begin(); + for(std::vector<cmListFileBacktrace>::const_iterator it = sigs.begin(); it != sigs.end(); ++it) { - it->MakeRelative(); cmListFileBacktrace::const_iterator i = it->begin(); if(i != it->end()) { @@ -2230,12 +2224,10 @@ static void processIncludeDirectories(cmTarget const* tgt, } if (!usedIncludes.empty()) { - cmListFileBacktrace bt = (*it)->ge->GetBacktrace(); - bt.MakeRelative(); mf->GetCMakeInstance()->IssueMessage(cmake::LOG, std::string("Used includes for target ") + tgt->GetName() + ":\n" - + usedIncludes, bt); + + usedIncludes, (*it)->ge->GetBacktrace()); } } } @@ -2422,13 +2414,11 @@ static void processCompileOptionsInternal(cmTarget const* tgt, } if (!usedOptions.empty()) { - cmListFileBacktrace bt = (*it)->ge->GetBacktrace(); - bt.MakeRelative(); mf->GetCMakeInstance()->IssueMessage(cmake::LOG, std::string("Used compile ") + logName + std::string(" for target ") + tgt->GetName() + ":\n" - + usedOptions, bt); + + usedOptions, (*it)->ge->GetBacktrace()); } } } diff --git a/Source/cmTarget.h b/Source/cmTarget.h index 45f16ec..2d51835 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -221,7 +221,7 @@ public: void AddUtility(const std::string& u, cmMakefile *makefile = 0); ///! Get the utilities used by this target std::set<std::string>const& GetUtilities() const { return this->Utilities; } - cmListFileBacktrace GetUtilityBacktrace(const std::string& u) const; + cmListFileBacktrace const* GetUtilityBacktrace(const std::string& u) const; /** Finalize the target at the end of the Configure step. */ void FinishConfigure(); diff --git a/Source/cmTest.cxx b/Source/cmTest.cxx index 38c8e99..28a7bb1 100644 --- a/Source/cmTest.cxx +++ b/Source/cmTest.cxx @@ -34,7 +34,6 @@ cmTest::~cmTest() //---------------------------------------------------------------------------- cmListFileBacktrace const& cmTest::GetBacktrace() const { - this->Backtrace->MakeRelative(); return *this->Backtrace; } ----------------------------------------------------------------------- Summary of changes: Source/cmComputeTargetDepends.cxx | 9 +++++++-- Source/cmExportBuildFileGenerator.cxx | 2 -- Source/cmGeneratorExpressionDAGChecker.cxx | 9 ++------- Source/cmGeneratorExpressionEvaluator.cxx | 2 -- Source/cmListFileCache.cxx | 18 ------------------ Source/cmListFileCache.h | 24 +----------------------- Source/cmMakefile.cxx | 14 +++++++------- Source/cmTarget.cxx | 24 +++++++----------------- Source/cmTarget.h | 2 +- Source/cmTest.cxx | 1 - 10 files changed, 25 insertions(+), 80 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits