summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorExpression.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-07-08 21:52:51 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-07-17 20:14:37 (GMT)
commitfc1c7cf85d045323a38c1de7ada213ecfee542a9 (patch)
treec5af2358b6ff05121e4cfed187ba58bf1a074681 /Source/cmGeneratorExpression.h
parent4dc4570734e70c47c8bb6d658c1014f29068e106 (diff)
downloadCMake-fc1c7cf85d045323a38c1de7ada213ecfee542a9.zip
CMake-fc1c7cf85d045323a38c1de7ada213ecfee542a9.tar.gz
CMake-fc1c7cf85d045323a38c1de7ada213ecfee542a9.tar.bz2
Genex: Store a backtrace, not a pointer to one.
The storage of a pointer means that the ownership and lifetime are externally determined, which is harder to reason about. It also imposes API constraints, requiring APIs to return references to backtraces. This pointer storage was introduced in commit v3.1.0-rc1~425^2~3 (genex: remove the need for backtraces, 2014-05-23). As backtraces are now cheap to copy around, just do that instead.
Diffstat (limited to 'Source/cmGeneratorExpression.h')
-rw-r--r--Source/cmGeneratorExpression.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/cmGeneratorExpression.h b/Source/cmGeneratorExpression.h
index 11c27fd..cd19bc0 100644
--- a/Source/cmGeneratorExpression.h
+++ b/Source/cmGeneratorExpression.h
@@ -42,7 +42,8 @@ class cmGeneratorExpression
{
public:
/** Construct. */
- cmGeneratorExpression(cmListFileBacktrace const* backtrace = NULL);
+ cmGeneratorExpression(
+ cmListFileBacktrace const& backtrace = cmListFileBacktrace());
~cmGeneratorExpression();
cmsys::auto_ptr<cmCompiledGeneratorExpression> Parse(
@@ -71,7 +72,7 @@ private:
cmGeneratorExpression(const cmGeneratorExpression &);
void operator=(const cmGeneratorExpression &);
- cmListFileBacktrace const* Backtrace;
+ cmListFileBacktrace Backtrace;
};
class cmCompiledGeneratorExpression