summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-03-28 21:35:50 (GMT)
committerBrad King <brad.king@kitware.com>2022-04-01 14:18:46 (GMT)
commit912319375823ddd2b8ccf4f5e344cafeca73eb29 (patch)
treeaa4b0b80496e04d21a1ed165f3ebcb7011477a7e /Source
parent6e1be5dbefab3e7317502e3d0fe4b132d0162ae5 (diff)
downloadCMake-912319375823ddd2b8ccf4f5e344cafeca73eb29.zip
CMake-912319375823ddd2b8ccf4f5e344cafeca73eb29.tar.gz
CMake-912319375823ddd2b8ccf4f5e344cafeca73eb29.tar.bz2
cmListFileBacktrace: Clarify call sites that only push a file path
This removes the last part of the `cmListFileBacktrace` interface that needs to know the type of data in its stack.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmListFileCache.cxx11
-rw-r--r--Source/cmListFileCache.h14
-rw-r--r--Source/cmMakefile.cxx9
3 files changed, 17 insertions, 17 deletions
diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx
index b90af08..941d283 100644
--- a/Source/cmListFileCache.cxx
+++ b/Source/cmListFileCache.cxx
@@ -470,17 +470,6 @@ cmListFileBacktrace::cmListFileBacktrace(std::shared_ptr<Entry const> top)
{
}
-cmListFileBacktrace cmListFileBacktrace::Push(std::string const& file) const
-{
- // We are entering a file-level scope but have not yet reached
- // any specific line or command invocation within it. This context
- // is useful to print when it is at the top but otherwise can be
- // skipped during call stack printing.
- cmListFileContext lfc;
- lfc.FilePath = file;
- return this->Push(lfc);
-}
-
cmListFileBacktrace cmListFileBacktrace::Push(
cmListFileContext const& lfc) const
{
diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h
index c3da81b..7c19f24 100644
--- a/Source/cmListFileCache.h
+++ b/Source/cmListFileCache.h
@@ -128,6 +128,17 @@ public:
{
}
+ static cmListFileContext FromListFilePath(std::string const& filePath)
+ {
+ // We are entering a file-level scope but have not yet reached
+ // any specific line or command invocation within it. This context
+ // is useful to print when it is at the top but otherwise can be
+ // skipped during call stack printing.
+ cmListFileContext lfc;
+ lfc.FilePath = filePath;
+ return lfc;
+ }
+
static cmListFileContext FromListFileFunction(
cmListFileFunction const& lff, std::string const& fileName,
cm::optional<std::string> deferId = {})
@@ -154,9 +165,6 @@ public:
// Default-constructed backtrace is empty.
cmListFileBacktrace() = default;
- // Get a backtrace with the given file scope added to the top.
- cmListFileBacktrace Push(std::string const& file) const;
-
// Get a backtrace with the given call context added to the top.
cmListFileBacktrace Push(cmListFileContext const& lfc) const;
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index a781d59..91d7ac5 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -491,7 +491,8 @@ cmMakefile::IncludeScope::IncludeScope(cmMakefile* mf,
, CheckCMP0011(false)
, ReportError(true)
{
- this->Makefile->Backtrace = this->Makefile->Backtrace.Push(filenametoread);
+ this->Makefile->Backtrace = this->Makefile->Backtrace.Push(
+ cmListFileContext::FromListFilePath(filenametoread));
this->Makefile->PushFunctionBlockerBarrier();
@@ -624,7 +625,8 @@ public:
: Makefile(mf)
, ReportError(true)
{
- this->Makefile->Backtrace = this->Makefile->Backtrace.Push(filenametoread);
+ this->Makefile->Backtrace = this->Makefile->Backtrace.Push(
+ cmListFileContext::FromListFilePath(filenametoread));
this->Makefile->StateSnapshot =
this->Makefile->GetState()->CreateInlineListFileSnapshot(
@@ -1587,7 +1589,8 @@ void cmMakefile::Configure()
// Add the bottom of all backtraces within this directory.
// We will never pop this scope because it should be available
// for messages during the generate step too.
- this->Backtrace = this->Backtrace.Push(currentStart);
+ this->Backtrace =
+ this->Backtrace.Push(cmListFileContext::FromListFilePath(currentStart));
BuildsystemFileScope scope(this);