about summary refs log tree commit diff
path: root/src/fix-ng/eval.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2003-11-03T20·30+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2003-11-03T20·30+0000
commit0690c1c9c01dd5889dbfccf2da6cb99f5c4e151b (patch)
treec388986ad9539ecf0a238fabfec07873e553021f /src/fix-ng/eval.hh
parentff3132427839888933c3779844bf35ca9e189cb9 (diff)
* Work around problems with the ATerm library.
  The ATerm library doesn't search the heap for pointers to ATerms
  when garbage collecting.  As a result, C++ containers such as
  `map<ATerm, ATerm>' will cause pointer to be hidden from the garbage
  collector, causing crashes.  Instead, we now use ATermTables.

Diffstat (limited to 'src/fix-ng/eval.hh')
-rw-r--r--src/fix-ng/eval.hh3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/fix-ng/eval.hh b/src/fix-ng/eval.hh
index 364f28471b79..9be3ae2da073 100644
--- a/src/fix-ng/eval.hh
+++ b/src/fix-ng/eval.hh
@@ -7,13 +7,12 @@
 #include "expr.hh"
 
 
-typedef map<Expr, Expr> NormalForms;
 typedef map<Path, PathSet> DrvPaths;
 typedef map<Path, Hash> DrvHashes;
 
 struct EvalState 
 {
-    NormalForms normalForms;
+    ATermMap normalForms;
     DrvPaths drvPaths;
     DrvHashes drvHashes; /* normalised derivation hashes */
     Expr blackHole;