aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/value.hh
diff options
context:
space:
mode:
authorBen Burdette <bburdette@gmail.com>2020-05-11 14:35:30 -0600
committerBen Burdette <bburdette@gmail.com>2020-05-11 14:35:30 -0600
commit59b1f5c70150a81c7a6fa0dc3309a9d44e9621f8 (patch)
tree542fc01dfaffdf7acbc5c1a89fd41a0918396f4b /src/libexpr/value.hh
parent536bbf53e12c80f52c2679aec734d895b0058f5b (diff)
parent5bdb67c84308a8cc78ac633d27b94eca87ea4390 (diff)
Merge branch 'master' into errors-phase-2
Diffstat (limited to 'src/libexpr/value.hh')
-rw-r--r--src/libexpr/value.hh9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libexpr/value.hh b/src/libexpr/value.hh
index 689373873..71025824e 100644
--- a/src/libexpr/value.hh
+++ b/src/libexpr/value.hh
@@ -253,12 +253,17 @@ void mkPath(Value & v, const char * s);
#if HAVE_BOEHMGC
-typedef std::vector<Value *, gc_allocator<Value *> > ValueVector;
-typedef std::map<Symbol, Value *, std::less<Symbol>, gc_allocator<std::pair<const Symbol, Value *> > > ValueMap;
+typedef std::vector<Value *, traceable_allocator<Value *> > ValueVector;
+typedef std::map<Symbol, Value *, std::less<Symbol>, traceable_allocator<std::pair<const Symbol, Value *> > > ValueMap;
#else
typedef std::vector<Value *> ValueVector;
typedef std::map<Symbol, Value *> ValueMap;
#endif
+/* A value allocated in traceable memory. */
+typedef std::shared_ptr<Value *> RootValue;
+
+RootValue allocRootValue(Value * v);
+
}