From 2faa8b362050c716cc5626f9bb9d8a8612b97f95 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 15 Apr 2016 10:13:12 -0400 Subject: Add call stack to unused/uninitialized variable warnings In commit v2.8.4~32^2~14 (Use cmake::IssueMessage for warnings, 2010-12-07) these warnings became formatted. It is more informative to give the full call stack with such warnings. Also it is easier to implement warnings with a full call stack because we do not have to construct a custom backtrace with only the top. --- Source/cmCommandArgumentParserHelper.cxx | 9 +-------- Source/cmMakefile.cxx | 20 +++----------------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/Source/cmCommandArgumentParserHelper.cxx b/Source/cmCommandArgumentParserHelper.cxx index 14e9e56..15ab746 100644 --- a/Source/cmCommandArgumentParserHelper.cxx +++ b/Source/cmCommandArgumentParserHelper.cxx @@ -140,15 +140,8 @@ char* cmCommandArgumentParserHelper::ExpandVariable(const char* var) this->Makefile->GetHomeOutputDirectory())) { std::ostringstream msg; - cmListFileContext lfc; - cmOutputConverter converter(this->Makefile->GetStateSnapshot()); - lfc.FilePath = converter.Convert(this->FileName, - cmOutputConverter::HOME); - - lfc.Line = this->FileLine; msg << "uninitialized variable \'" << var << "\'"; - this->Makefile->GetCMakeInstance()->IssueMessage(cmake::AUTHOR_WARNING, - msg.str(), lfc); + this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, msg.str()); } } return 0; diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 162d3e7..13bcdac 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1961,21 +1961,15 @@ void cmMakefile::LogUnused(const char* reason, if (this->WarnUnused) { std::string path; - cmListFileContext lfc; if (!this->ExecutionStatusStack.empty()) { - lfc = this->GetExecutionContext(); - path = lfc.FilePath; + path = this->GetExecutionContext().FilePath; } else { path = this->GetCurrentSourceDirectory(); path += "/CMakeLists.txt"; - lfc.FilePath = path; - lfc.Line = 0; } - cmOutputConverter converter(this->StateSnapshot); - lfc.FilePath = converter.Convert(lfc.FilePath, cmOutputConverter::HOME); if (this->CheckSystemVars || cmSystemTools::IsSubDirectory(path, @@ -1987,9 +1981,7 @@ void cmMakefile::LogUnused(const char* reason, { std::ostringstream msg; msg << "unused variable (" << reason << ") \'" << name << "\'"; - this->GetCMakeInstance()->IssueMessage(cmake::AUTHOR_WARNING, - msg.str(), - lfc); + this->IssueMessage(cmake::AUTHOR_WARNING, msg.str()); } } } @@ -2919,14 +2911,8 @@ cmake::MessageType cmMakefile::ExpandVariablesInStringNew( this->GetHomeOutputDirectory())) { std::ostringstream msg; - cmListFileContext lfc; - cmOutputConverter converter(this->StateSnapshot); - lfc.FilePath = - converter.Convert(filename, cmOutputConverter::HOME); - lfc.Line = line; msg << "uninitialized variable \'" << lookup << "\'"; - this->GetCMakeInstance()->IssueMessage(cmake::AUTHOR_WARNING, - msg.str(), lfc); + this->IssueMessage(cmake::AUTHOR_WARNING, msg.str()); } } } -- cgit v0.12